Resumo capítulo “Modelagem do Processo e Ciclo de Vida” - PFLEEGER, Shari Lawrence. Engenharia de software: teoria e prática. 2 ed. São Paulo: Pearson/Prentice Hall, 2004
Para o bom entendimento do capítulo, primeiramente define-se um processo: uma série de etapas que envolvem atividades, restrições e recursos para alcançar a saída desejada. Quando o processo envolve a elaboração de um produto, algumas vezes nos referimos a ele como ciclo de vida. Assim, o processo de desenvolvimento de software pode ser chamado de ciclo de vida do software.
A criação de um modelo de processo ajuda a equipe de desenvolvimento a encontrar inconsistências, redundâncias e omissões no processo e em suas partes constituintes, já que ele descreve seu entendimento sobre as atividades, os recursos e restrições envolvidos no desenvolvimento do software. À medida que esses problemas são percebidos e corrigidos, o processo se torna mais efetivo e concentrado na construção do produto final. A seguir, vamos examinar os modelos mais populares para entender as diferenças e o que eles têm em comum.
Modelo Cascata: um dos primeiros modelos propostos, em que os estágios são apresentados em sequência, como em uma cascata (Royce, 1970). Neste modelo, o desenvolvimento de um estágio deve terminar antes do próximo começar. Este modelo apresenta uma visão de muito alto nível do que acontece durante o desenvolvimento, sua simplicidade o torna fácil de explicar aos clientes não familiarizados com o desenvolvimento de software.
Porém ele também tem desvantagens significantes como: não refletir, efetivamente, o modo como o código é desenvolvido, exceto para problemas bem entendidos, o software é geralmente desenvolvido com muita iteração, já que normalmente é utilizado na solução de um problema nunca antes resolvido, ou cuja solução precisa ser atualizada para refletir alguma mudança nos negócios ou no ambiente de operação. O modelo não fornece orientações para os gerentes e desenvolvedores de como tratar