18C7 ES II 01 Engenharia de Software
18C7 ES II 01 Engenharia de Software
18C7 ES II 01 Engenharia de Software
Engenharia de
Software
Prof. Peter Jandl Jr
Engenharia de Software II
ADS | UNIP
Roteiro
A crise do software
Engenharia de Software
22/03/2024 (C) 2019-2024, PJandl. 2
+
Computadores e Software
• Hardware é um requisito simples, pois:
• É uma commodity, de custo relativo baixo, sendo o custo do projeto diluído
pelo volume de produção.
• Componentizado, produzido em série, manufatura altamente automatizada.
• Requer software.
• Software é um requisito complexo, pois:
• É um determinante, de custo relativo alto, baixo volume não permite diluir
custo do projeto.
• Desenvolvimento não é (completamente) sistematizado, nem seu processo de
produção (muito) automatizado.
• Requer mão de obra altamente especializada.
22/03/2024 (C) 2019-2024, PJandl. 3
+
Software::uma definição
• Software é o programa, mas também inclui sua documentação
e sua configuração, cuja associação é necessária para que o
programa opere corretamente.
• Assim, um sistema de software consiste de um conjunto de
programas separados; de arquivos de configuração; da
documentação do sistema, que descreve sua estrutura; e da a
documentação do usuário, que explica como usar o sistema.
• (SOMMERVILLE, 2011)
Desenvolvimento rápido
Interoperabilidade
Robustez
Segurança
22/03/2024 (C) 2019-2024, PJandl. 6
Desenvolvimento clássico de software
• Resolução de problemas baseadas na divisão em partes mais
simples
• Funções
• Módulos e bibliotecas
• Sub-programas.
• Técnicas de programação voltadas para estruturação da
solução em tais partes.
• Linguagens de programação voltadas para o modo de
funcionamento do computador.
22/03/2024 (C) 2019-2024, PJandl. 7
Software::características
1. É desenvolvido ou projetado por engenharia, não é
manufaturado no sentido clássico.
2. Software não se “desgasta”, mas se torna obsoleto.
3. Maioria é feita “sob medida” ao invés de ser
montado a partir de componentes.
4. Requer mão de obra altamente especializada para
sua produção.
Entregue
atrasado
software
(10-100x)
Custo de Alteração do
Projeto na
Fase da Implementação
(2-10x)
Custo de Alteração
do Projeto na
Fase de Projeto
(1x)
Engenharia de Software
22/03/2024 (C) 2019-2024, PJANDL. 30
+ 31
Engenharia de Software
• The phrase ‘software engineering’ was
deliberately chosen as being provocative,
in implying the need for software
manufacture to be based on the types of
theoretical foundations and practical
disciplines, that are traditional in the
established branches of engineering.
NATO Science Committee,
Garmisch, Alemanha, 7-11/Outubro/1968.
Cap. 1
Cap. 6
Cap. 2
Cap. 7
Cap. 3
Cap. 8
Cap. 4
Cap. 9
Cap. 5
Cap. 10
22/03/2024 (C) 2019-2024, PJandl. 41
SWBOK::KA::Requisitos de Software
• Esta área (KA) está preocupada com a elicitação, análise,
especificação e validação da requisitos de software.