Modelagem de software
No modelo cascata, o desenvolvimento de um software se dá de forma seqüencial, a partir da atividade de verificação da viabilidade do desenvolvimento. Para cada etapa cumprida, segue-se a etapa imediatamente posterior, daí a idéia de uma cascata (Figura 3).
Este modelo tornou-se incompatível com a realidade atual porque a busca de requisitos não deve ocorrer somente no momento inicial do projeto, pois na maioria das vezes é praticamente impossível obter-se a totalidade de requisitos de maneira antecipada e em uma única etapa de um ciclo. Faz-se importante possibilitar o retorno para esta etapa sempre que for necessário. Outra característica refere-se especialmente aos testes que somente ocorrerão ao final de todo processo, onde um erro sutil pode vir a exigir semanas de verificação para que se possa elimina-lo, e com isso atrasar eventuais cronogramas.
O Modelo Iterativo e Incremental
Iteração é um miniprojeto que resulta em uma versão do sistema, que contém funcionalidade adicionada ou melhorada em comparação com a versão anterior (incremento) (SCOTT, 2003; SOMMERVILLE, 2003; AMBLER, 2004). Em um processo de desenvolvimento incremental, a equipe, juntamente com o cliente, identifica as funções mais importantes e quais são menos importantes (AMBLER, 2004). Em seguida são definidas as iterações e as funções são alocadas em cada iteração de acordo com sua prioridade (AMBLER, 2004). CANTOR(1998) apresenta as disciplinas do modelo iterativo e incremental distribuídas em quatro fases: concepção, elaboração, construção e transição.
O modelo iterativo e incremental proporciona vários benefícios, dentre os quais se podem destacar (MARTINS, 1999):
• Redução dos riscos envolvendo custos a um único incremento;
• Redução do risco de lançar o produto no mercado fora do cronograma previsto;
• Aceleração do tempo de desenvolvimento do projeto como um todo;
• Reconhecimento de