Escolar Documentos
Profissional Documentos
Cultura Documentos
Software Engineering
Apresenta pelo:
Compreender que o
Compreender o que é a desenvolvimento de diferentes Compreender as questões Ter sido apresentado a quatro
engenharia de software e tipos de sistemas de software éticas e profissionais que sistemas, de diferentes tipos,
porque é importante; podem exigir diferentes técnicas são importantes para os que são utilizados como
de engenharia de software; engenheiros de software; exemplos ao longo do livro.
A engenharia de software é essencial para o funcionamento do governo, da sociedade e das empresas e instituições
nacionais e internacionais.
As infra-estruturas e os serviços públicos nacionais são controlados por sistemas informáticos e a maioria dos
produtos eléctricos inclui um computador e software de controlo.
A indústria transformadora e a distribuição estão completamente informatizadas, tal como o sistema financeiro.
Mais de 75% da população mundial tem um telemóvel controlado por software e, até 2016, quase todos eles estarão
equipados com Internet
Este facto simplifica a engenharia de software, uma vez que não existem limites naturais para o potencial do software.
No entanto, devido à falta de restrições físicas, os sistemas de software podem rapidamente tornar-se extremamente complexos,
difíceis de compreender e dispendiosos de alterar.
Existem muitos tipos diferentes de sistemas de software, desde sistemas simples incorporados até sistemas de informação
complexos e mundiais. Não existem noções, métodos ou técnicas universais para a engenharia de software porque diferentes tipos
de software requerem abordagens diferentes.
1. A noção de engenharia de software foi proposta pela primeira vez em 1968, numa
conferência realizada para discutir aquilo a que se chamou a crise do software (Naur e
Randell 1969). Tornou-se claro que as abordagens individuais ao desenvolvimento de
programas não se adaptavam a sistemas de software grandes e complexos. Estes não eram
fiáveis, custavam mais do que o previsto e eram entregues com atraso.
2. Ao longo das décadas de 1970 e 1980, uma variedade de novas técnicas e métodos de
engenharia de software foi desenvolvida, como programação estruturada, ocultação de
informações e desenvolvimento orientado a objetos. Foram desenvolvidas ferramentas e
notações normalizadas que constituem a base da atual engenharia de software
http://software-engineering-book.com/web/history/
A CIÊNCIA DA COMPUTAÇÃO OCUPA-SE DAS TEORIAS E DOS MÉTODOS SUBJACENTES AOS A ENGENHARIA DE SISTEMAS ESTÁ, POR CONSEGUINTE, RELACIONADA COM O
COMPUTADORES E AOS SISTEMAS DE SOFTWARE, ENQUANTO A ENGENHARIA DE SOFTWARE DESENVOLVIMENTO DE HARDWARE, A CONCEÇÃO DE POLÍTICAS E PROCESSOS E A
SE OCUPA DOS PROBLEMAS PRÁTICOS DA PRODUÇÃO DE SOFTWARE. IMPLANTAÇÃO DE SISTEMAS, BEM COMO A ENGENHARIA DE SOFTWARE
HETEROGENEIDADE CADA VEZ MAIS, É MUDANÇA EMPRESARIAL E SOCIAL, AS SEGURANÇA E CONFIANÇA, COMO O ESCALA, O SOFTWARE TEM DE SER
NECESSÁRIO QUE OS SISTEMAS EMPRESAS E A SOCIEDADE ESTÃO A SOFTWARE ESTÁ LIGADO A TODOS OS DESENVOLVIDO NUMA GAMA MUITO
FUNCIONEM COMO SISTEMAS MUDAR DE FORMA INCRIVELMENTE ASPECTOS DA NOSSA VIDA, É ESSENCIAL VASTA DE ESCALAS, DESDE SISTEMAS
DISTRIBUÍDOS EM REDES QUE INCLUEM RÁPIDA À MEDIDA QUE AS ECONOMIAS QUE POSSAMOS CONFIAR NELE. INCORPORADOS MUITO PEQUENOS EM
DIFERENTES TIPOS DE COMPUTADORES E EMERGENTES SE DESENVOLVEM E AS DISPOSITIVOS PORTÁTEIS OU PORTÁTEIS
DISPOSITIVOS MÓVEIS. NOVAS TECNOLOGIAS SE TORNAM ATÉ SISTEMAS BASEADOS NA NUVEM À
DISPONÍVEIS. ESCALA DA INTERNET QUE SERVEM UMA
COMUNIDADE GLOBAL.
Interactive
Stand-alone Embedded control Batch processing
transaction-based
applications systems systems
applications
A reutilização de software tornou-se a Atualmente, é geralmente reconhecido O software pode ser implementado Surgiram tecnologias de
abordagem dominante para a construção que é impraticável especificar utilizando engenharia de software desenvolvimento de interfaces como o
de sistemas baseados na Web. antecipadamente todos os requisitos orientada para os serviços, em que os AJAX (Holdener 2008) e o HTML5
para esses sistemas. Os sistemas componentes de software são serviços (Freeman 2011) que suportam a criação
baseados na Web são sempre Web autónomos de interfaces ricas num um navegador
desenvolvidos e fornecidos de forma Web.
progressiva
1. Tal como outras disciplinas de engenharia, a engenharia de software é efectuada num quadro
social e jurídico que limita a liberdade das pessoas que trabalham nessa área. Como
engenheiro de software, deve aceitar que o seu trabalho envolve responsabilidades mais
vastas do que a simples aplicação de competências técnicas. Deve também comportar-se de
uma forma ética e moralmente responsável se quiser ser respeitado como engenheiro
profissional.
2. É evidente que os candidatos devem respeitar os padrões normais de honestidade e
integridade. Não deve usar as suas competências e capacidades para se comportar de uma
forma desonesta ou de uma forma que traga descrédito à profissão de engenheiro de software.
MANAGEMENT — Os gestores e
PROFESSION — Os engenheiros de
JUDGMENT — Os engenheiros de líderes da engenharia de software
software devem promover a
software devem manter a integridade devem subscrever e promover uma
integridade e a reputação da
e a independência no seu julgamento abordagem ética à gestão do
profissão de acordo com o interesse
profissional. desenvolvimento e manutenção de
público.
software.
An information system
Os tipos de sistemas que
utilizo como estudos de
caso são
A sensor-based data collection system
A support environment
O sistema deve funcionar de forma fiável e administrar a quantidade correcta de insulina para
contrariar o nível atual de açúcar no sangue.
tem dois
objectivos Fornecer ao pessoal médico
informações atempadas para apoiar o
tratamento dos doentes.
Gerir a energia do sistema, assegurando que as baterias são carregadas sempre que as
condições ambientais o permitam, mas também que os geradores sejam desligados em
condições climatéricas potencialmente prejudiciais, como o vento forte.
Serviços de configuração que são usados para adaptar o ambiente com um conjunto
específico de serviços de aplicativos e definir como os serviços são compartilhados
entre os alunos, professores e seus pais.
1. Serviços integrados são serviços que oferecem uma API (programação de aplicativos interface) e que pode ser
acessado por outros serviços através dessa API. Direto a comunicação serviço a serviço é, portanto, possível. Um
serviço de autenticação é um exemplo de serviço integrado. Em vez de usar os seus próprios mecanismos de
autenticação, um serviço de autenticação pode ser chamado por outros serviços para autenticar usuários. Se os
usuários já estiverem autenticados, então a autenticação serviço pode passar informações de autenticação
diretamente para outro serviço, através de um API, sem necessidade de os usuários se autenticarem novamente.
2. Serviços independentes são serviços que são simplesmente acessados através de um navegador interface e que
operam independentemente de outros serviços. A informação só pode ser compartilhado com outros serviços por
meio de ações explícitas do usuário, como copiar e colar; a reautenticação pode ser necessária para cada serviço
independente.
Software não é apenas um programa ou programas, mas também inclui toda a documentação eletrônica que é necessário para usuários do sistema,
equipe de garantia de qualidade e desenvolvedores. Produto de software essencial atributos são manutenibilidade, confiabilidade e segurança, eficiência
e aceitabilidade.
O processo de software inclui todas as atividades envolvidas no desenvolvimento de software. O alto nível atividades de especificação, desenvolvimento,
validação e evolução fazem parte de todos os processos de software.
Existem muitos tipos diferentes de sistema e cada um requer engenharia de software apropriada ferramentas e técnicas para o seu desenvolvimento.
Poucos, ou nenhum, design e implementação específicos técnicas são aplicáveis a todos os tipos de sistema.
As ideias fundamentais da engenharia de software são aplicáveis a todos os tipos de sistemas de software. Esses fundamentos incluem processos de
software gerenciados, confiabilidade e segurança de software, engenharia de requisitos e reutilização de software.
Os engenheiros de software têm responsabilidades perante a profissão de engenharia e a sociedade. Eles deviam não se preocupar apenas com
questões técnicas, mas deve estar ciente das questões éticas que afetar seu trabalho.
As sociedades profissionais publicam códigos de conduta que incorporam padrões éticos e profissionais. Estes estabelecem os padrões de
comportamento esperados de seus membros.