Formato de Instruções Pentium 4
Um modelo para um processo de desenvolvimento de software é uma proposta teórica que junto com o planejamento deve determinar quais atividades devem ser realizadas, quando, como e por quem. Os mais conhecidos modelos do processo de desenvolvimento Eles são o modelo Cascata, o modelo Evolutivo ou Incremental, o modelo Espiral e o modelo Transformação.
O Modelo Cascata
O modelo cascata tornou-se conhecido na década de 70 e é referenciado na maioria dos livros de engenharia de software ou manuais de padrões de software. Nele as atividades do processo de desenvolvimento são estruturadas numa cascata onde a saída de uma é a entrada para a próxima. As suas principais atividades são:
Estudo de viabilidade
Análise e especificação de requisitos
Design e especificação
Codificação e testes de componentes
Teste do sistema e integração
Entrega e instalação
Manutenção
Existem muitas variantes deste modelo propostas por diferentes pesquisadores ou empresas de desenvolvimento e adaptadas a diferentes tipos de software. A característica comum é um fluxo linear e seqüencial de atividades semelhantes a descritas anteriormente. A figura a seguir, mostra uma variante do modelo em cascata.
Este modelo, quando proposto, introduziu importantes qualidades ao desenvolvimento. A primeira chama a atenção de que o processo de desenvolvimento deve ser conduzido de forma disciplinada, com atividades claramente definidas, determinada a partir de um planejamento e sujeitas a gerenciamento durante a realização. Outra qualidade define de maneira clara quais são estas atividades e quais os requisitos para desempenhá-las. Por fim, o modelo introduz a separação das atividades da definição e design da atividade de programação que era o centro das atenções no desenvolvimento de software.
O modelo Cascata também é criticado por ser linear, rígido e monolítico. Inspirados em modelos de outras atividades de engenharia, este modelo