Pressman
Parte 01
Definição de engenharia de software
Disciplina que abrange métodos, ferramentas e procedimentos voltados para a construção de software com qualidade.
Métodos: detalhes de como fazer.
Ferramentas: apoio automatizado ou semi-automatizado aos métodos.
Procedimentos: elo de ligação entre métodos e ferramentas. Define:
1. Sequência em que os métodos serão aplicados.
2. Os produtos que se exigem que sejam entregues.
3. Controles que ajudam a assegurar a qualidade e coordenar as mudanças.
4. Os marcos de referência que permitem aos gerentes de software avaliar o progresso.
Paradigmas da Engenharia de Softwares (modelos de ciclo de vida / processo de desenvolvimento)
O ciclo de vida clássico (modelo cascata)
Abordagem seqüencial e sistemática.
Análise
Projeto
Codificação
Teste
Manutenção
Prototipação
Normalmente serve como mecanismo para identificar os requisitos do software.
Início: coleta e refinamento de requisitos
Projeto rápido
Construção do protótipo
Avaliação do protótipo pelo cliente
Refinamento do protótipo: aqui ocorre uma iteração caso esta etapa ocorra.
Engenharia do produto: construção efetivamente do sistema após a versão inicial prototipada ter sido devidamente refinada e aprovada.
Espiral
Abrange o que há de melhor do ciclo de clássico e da prototipação. Diferencial: inclui análise de riscos.
Planejamento: planejamento do projeto (determinação dos objetivos, alternativas e restrições) e coleta inicial de requisitos.
Análise dos riscos: sempre baseada nos requisitos (iniciais ou refinados).
Engenharia: pode-se usar a prototipação para gerar uma versão inicial ou até mesmo o modelo clássico dentro desta fase.
Avaliação do cliente: avalia os resultados da engenharia.
Visão genérica da engenharia
Três fases genéricas
1. Definição:
a. Planejamento do projeto de software
b. Análise de requisitos
c. Análise do sistema
2. Desenvolvimento
a. Projeto
b. Codificação
3. Manutenção
a.