O termo modelo do ciclo de vida é utilizado para descrever um modelo que visa descrever um grupo de
atividades e a forma como elas se relacionam. Os modelos mais sofisticados incluem ainda uma descrição de
quando e como se deve mover de uma actividade para a próxima e os deliverables que devem ser produzidos
em cada etapa. A razão pela qual estes modelos são tão conhecidos é o fato de ajudarem as equipes de
desenvolvimento, e em particular os gestores, a obter uma visão geral do projecto de forma a ser possível
segui-lo passo a passo, saber que deliverables foram especificados, o alocamento de recursos e os objectivos
propostos. Estes “modelos de ciclo de vida” ou “modelos de processos” são tipicamente produzidos a partir de
uma perspectiva de que poderão existir vários modelos para o mesmo processo. Nenhum modelo é capaz de
dar uma visão completa de um determinado processo.
Cascata
É composto por uma sequência de atividades, onde a próxima atividade só inicia quando a atual é finalizada,
ou seja, o resultado de uma etapa é utilizado na etapa seguinte. Esse processo tem uma característica por ser
guiado por documentos, sendo assim, cada etapa gera uma documentação.
Modelo Cascata
Vantagens:
Modelo Iterativo
Neste modelo é criado um protótipo do software, geralmente sem um processo formal de desenvolvimento,
utilizada para elucidar ou validar os requisitos do produto. Seria basicamente vários ciclos de cascatas em
miniatura. Assim você consegue ter um feedback do cliente de forma mais rápida.
1. Evolutivos – Onde produtos de cada etapa de desenvolvimento são aproveitados em cada nova etapa;
2. Descartáveis – Produtos das etapas de desenvolvimento são descartados e cada novo protótipo é
construído no início;
3. Operacional – Requisitos são elucidados através de protótipos e o produto final é construído paralelamente
a construção dos protótipos;
Vantagens:
Espiral
O modelo original em espiral organiza o desenvolvimento como um processo iterativo em que vários
conjuntos de fases se sucedem até se obter o sistema final. Um ciclo se inicia com a determinação de objetivos,
alternativas e restrições (primeira tarefa) onde ocorre o comprometimento dos envolvidos e o estabelecimento
de uma estratégia para alcançar os objetivos. Na segunda tarefa, análise e avaliação de alternativas,
identificação e solução de riscos, executa-se uma análise de risco. Prototipação é uma boa ferramenta para
tratar riscos. Se o risco for considerado inaceitável, pode parar o projeto. Na terceira tarefa ocorre o
desenvolvimento do produto. Neste quadrante pode-se considerar o modelo cascata. Na quarta tarefa o produto
é avaliado e se prepara para iniciar um novo ciclo.
Modelo Espiral
O modelo espiral é, atualmente a abordagem mais realística para desenvolvimento de software em grande
escala, e usa uma abordagem que capacita a empresa que presta o serviço, e o cliente a entender e reagir aos
riscos em cada etapa evolutiva. Este tipo de modelo exige considerável experiência na determinação de riscos e
depende dessa experiência para ter sucesso.
Cada ciclo da espiral envolve alguns passos para que o mesmo seja concluído, dentre os quais:
RAD
Rapid application development (RAD), também conhecido como Desenvolvimento Rápido de Aplicação, é um
modelo de processo de desenvolvimento de software iterativo e incremental que enfatiza um ciclo de
desenvolvimento extremamente curto (entre 60 e 90 dias). O termo foi registrado por James Martin em 1991 e
tem substituído gradativamente o termo de prototipação rápida que já foi muito utilizada no passado.
Não é exatamente um modelo e se baseia em que um modelo de ciclo de vida formal é ineficiente e muitas
revisões e documentações geradas pelos modelos em cascata e em espiral são perda de tempo, a formalidade
dificulta a comunicação com o cliente, não há um modelo de ciclo de vida bem definido: há uma seqüência de
integrações evolucionárias ou protótipos que são revisados com o cliente (os requisitos são levantados a partir
destas iterações).
Abrange as seguintes fases:
Desenvolvimento em Componentes
O desenvolvimento baseado em componentes incorpora características de tecnologias orientadas a objetos no
modelo espiral. A atividade de engenharia começa com a identificação de classes candidatas. Se a classe
existe, ela será reutilizada. Se a classe não existe, ela será desenvolvida nos moldes do paradigma de
orientação a objetos.
Modelo de Prototipagem
O paradigma de prototipagem começa com a definição dos requisitos. Um projeto rápido é realizado e
concentra-se na representação daqueles aspectos que ficarão visíveis pelo cliente. O protótipo é criado e
avaliado e é ajustado para satisfazer as necessidades do cliente.
Prototipagem
Idealmente, o protótipo serve como um mecanismo para identificação dos requisitos do software. A
prototipagem pode ser problemática, pois o cliente vê o que parece ser uma versão executável do software,
ignorando que o protótipo apenas consegue funcionar precariamente.
O modelo pode assumir três formas: – Um protótipo em papel ou sistema, apresentando apenas a interação
usuário-sistema (prototipagem descartável); – Um protótipo que implementa algumas funções exigidas pelo
sistema; – Um protótipo que executa superficialmente todas as funções desejadas pelo sistema, sendo que
sofrerá sucessivos refinamentos (prototipagem evolucionária).