Este documento fornece uma visão geral dos principais processos e fases da engenharia de software, incluindo a definição, desenvolvimento e manutenção de software. Discute os fatores internos e externos da qualidade do software.
Visão geral da engenharia de software qualidade de software
1. Visão geral da
Engenharia de
Software
Jordana Vilela Martins
Sistemas de Processamento de Dados III 1
2. Em geral pode-se
organizar o processo de
desenvolvimento de um
software a partir de três
grandes fases:
DDM
Sistemas de Processamento de Dados III 2
3. •Fase de Definição
•Fase de
Desenvolvimento
•Fase de Manutenção
Sistemas de Processamento de Dados III 3
4. 1-Fase de Definição
Identificar as informações que
deverão ser manipuladas, as funções
a serem processadas, qual o nível de
desempenho desejado, que interfaces
devem ser oferecidas, as restrições
do projeto e os critérios de validação.
Sistemas de Processamento de Dados III 4
5. 1-Fase de Definição
• Análise ou definição do Sistema
• Planejamento do Projeto de Software
• Análise de Requisitos
Sistemas de Processamento de Dados III 5
6. 1-Fase de Definição
• Análise ou definição do Sistema
Permite determinar o papel de cada
elemento
(hardware, software, equipamentos, pesso
as) no sistema, cujo objetivo é determinar
as funções atribuídas do software.
Sistemas de Processamento de Dados III 6
7. 1-Fase de Definição
• Planejamento do Projeto de Software
A partir da definição do escopo do
software, será feita uma análise de riscos
e a definição dos recursos, custos e a
programação de processo de
desenvolvimento.
Sistemas de Processamento de Dados III 7
8. 1-Fase de Definição
• Análise de Requisitos
Permite determinar o conjunto das
funções a serem realizadas, assim como as
principais estruturas de informação a
serem processadas.
Sistemas de Processamento de Dados III 8
9. Fase de Desenvolvimento
• Nesta fase será determinado como
realizar as funções do software.
Sistemas de Processamento de Dados III 9
10. Fase de Desenvolvimento
• Arquitetura do software, estruturas de
dados, procedimentos, a forma como o
projeto será transformado em linguagem
de programação, a geração do código e
os procedimentos de teste são
procedimentos que pertencem a esta
fase.
Sistemas de Processamento de Dados III 10
11. 2-
Fase de Desenvolvimento
• Projeto de software
• Codificação
• Testes de software
Sistemas de Processamento de Dados III 11
12. 2-
Fase de Desenvolvimento
• Projeto de software
Representações gráficas, tabulares ou
textuais.
Permite definir aspectos como a
arquitetura, os dados, lógicas de
comportamento (algoritmos) e
características da interface.
Sistemas de Processamento de Dados III 12
13. 2-
Fase de Desenvolvimento
• Codificação
As representações são mapeadas em
um ou em várias linguagens de
programação.
- Geração de um código de
implementação (obtido por
compiladores)
Sistemas de Processamento de Dados III 13
14. 2-
Fase de Desenvolvimento
• Testes
O programa é submetido a uma bateria
de testes para verificar e corrigir
defeitos relativos às funções, lógica de
execução, interfaces, etc.
Sistemas de Processamento de Dados III 14
15. 3-Fase de Manutenção
Se inicia a partir da entrega do software.
Realização de alterações de naturezas as
mais diversas, seja para corrigir erros
residuais da fase anterior, para incluir
novas funções exigidas pelo cliente, ou
para adaptar o software a novas
configurações de hardware.
Sistemas de Processamento de Dados III 15
16. 3-Fase de Manutenção
Se inicia a partir da entrega do
software.
Realização de alterações seja para
corrigir erros, incluir novas funções
exigidas pelo cliente ou adaptar o
software a novas configurações de
hardware.
Sistemas de Processamento de Dados III 16
17. 3-Fase de Manutenção
– 3 fases:
• Correção ou Manutenção Corretiva
• Adaptação ou Manutenção Adaptativa
• O melhoramento Funcional ou
Manutenção Perfectiva
Sistemas de Processamento de Dados III 17
18. 3-Fase de Manutenção
• Correção ou Manutenção Corretiva
Correção de erros observados durante a
operação do sistema.
Sistemas de Processamento de Dados III 18
19. 3-Fase de Manutenção
• Adaptação ou Manutenção
Adaptativa
Realiza alterações no software
para que ele possa ser executado
sobre um novo ambiente.
Sistemas de Processamento de Dados III 19
20. 3-Fase de Manutenção
• O melhoramento Funcional ou
Manutenção Perfectiva
Desempenho, interface, introdução a
novas fuções
Sistemas de Processamento de Dados III 20
21. 3-Fase de Manutenção
Pergunta 1:
“Esta fase é complexa e de alto custo.”
Por quê?
Pergunta 2:
Qual o impacto da Engenharia Reversa na
fase de Manutenção?
Sistemas de Processamento de Dados III 21
23. Qualidade de software
É necessário que se tenha uma
definição precisa do que é um
software de qualidade ou, pelo
menos, quais são as propriedades que
devem caracterizar em software
desenvolvido segundo os princípios da
Engenharia de Software.
Sistemas de Processamento de Dados III 23
24. Qualidade de software
•A avaliação e o aprimoramento de
processo de desenvolvimento de software
de uma organização
• SEI (Software Engineering Institute) –
parâmetros para análise
– CMM (Capability and Maturity Model)
• Definição de parâmetros
Sistemas de Processamento de Dados III 24
25. Definição de Qualidade do
Software
Verificação: Será que o produto foi
construído corretamente
Validação: Será que este é o produto que o
cliente solicitou?
Sistemas de Processamento de Dados III 25
26. Fatores de qualidade
Externos e Internos
Sistemas de Processamento de Dados III 26
27. Fatores de qualidade
Externos e Internos
• Externos:
Podem ser detectados pelos clientes e
usuários:
Desempenho
Facilidade de uso
Confiabilidade...
Sistemas de Processamento de Dados III 27
28. Fatores de qualidade
Externos e Internos
• Internos:
Relacionados á visão do programador:
Modularidade
Legibilidade
Portabilidade...
Sistemas de Processamento de Dados III 28
29. Fatores de qualidade
Externos e Internos
Pergunta 3:
Por que os fatores mais
considerados, quanto ao desenvolvimentos
do software, são os Externos?
Sistemas de Processamento de Dados III 29
30. Fatores de Qualidade
• Correção
• Robustez
• Extensibilidade
• Reusabilidade
• Compatibilidade
• Eficiência
• Portabilidade
Sistemas de Processamento de Dados III 30
33. Fatores de Qualidade
• Robustez:
É a capacidade do sistema de funcionar
em condições anormais.
Apresentar sinalização de situação
anormal.
Confiabilidade
Sistemas de Processamento de Dados III 33
34. Fatores de Qualidade
• Extensibilidade:
-Facilidade de introduzir modificações
-Simplicidade do projeto
-Descentralização, autonomia.
Sistemas de Processamento de Dados III 34
35. Fatores de Qualidade
• Reusabilidade
– Uma parte ou todo o software
– Padrão
Sistemas de Processamento de Dados III 35
36. Fatores de Qualidade
• Compatibilidade:
Facilidade de ser combinado
Sistemas de Processamento de Dados III 36
37. Fatores de Qualidade
• Eficiência
Utilização racional dos recursos de
hardware e S.O.
Sistemas de Processamento de Dados III 37
38. Fatores de Qualidade
• Portabilidade
Capacidade de um software ser instalado
em diversos ambientes de
hardware e software.
Sistemas de Processamento de Dados III 38
39. Fatores de Qualidade
Pergunta 4:
Por que a Portabilidade não é uma
característica facilmente atingida?
Sistemas de Processamento de Dados III 39
40. Visão geral da Engenharia de
Software
Qualidade de software
• Fazer os exercícios das páginas
301, 305 e 306 da apostila
Sistemas de Processamento de Dados III 40