Cascata
Estabelecer os requisitos básicos para todos elementos que envolvem o software, como hardware, pessoas e banco de dados.
Envolve a coleta dos requisitos em nível do sistema com uma pequena quantidade de projeto e analise de alto nível.
Exige uma intensa comunicação entre cliente e analista.
Análise
Intensifica-se o processo de coleta de requisitos.
Identificar as funções necessárias, o desempenho e interfaces exigidos (funcionalidades e restrições).
Os requisitos para o sistema e para o software são documentados e revistos com o cliente.
Produz a especificação dos requisitos.
Projeto
Traduz os requisitos em um conjunto de representações que podem ser avaliadas quando à qualidade.
Estrutura de dados;
Arquitetura de software;
Detalhes procedimentais;
Caracterização da interface;
É avaliado antes de começar a ser implementado.
Junto com as etapas anteriores torna-se parte da documentação do sistema
Implementação
Esta é a etapa em que são criados os programas. Se o projeto possui um nível de detalhe elevado, a etapa de codificação pode implementar-se automaticamente. A princípio, sugere-se incluir um teste unitário dos módulos nesta etapa; nesse caso, as unidades de código produzidas são testadas individualmente antes de passar a etapa de integração e teste global.
Projeto traduzido para a linguagem de computador (C, Delphi, Java).
Teste
Concentra-se nos aspectos funcionai s externos e lógicos internos do software.
Garante que “todas as instruções” tenham sido testadas.
Implantação
É feito o treinamento dos usuários.
Manutenção
Software embutido nem sempre tem esta parte;
Provavelmente o software devera sofrer mudanças depois que for entregue ao cliente.
Tipos de manutenção
Corretiva – diagnósticos e correção de erros
Adaptivas – adaptação do software para acomodar mudanças seu ambiente externo.
Perfectiva – exigência do cliente para acréscimos funcionais e de desempenho
Preventiva – melhorar a confiabilidade e