SDLC - Modelo Iterativo
No modelo Iterativo, o processo iterativo começa com uma implementação simples de um pequeno conjunto de requisitos de software e aprimora iterativamente as versões em evolução até que o sistema completo seja implementado e esteja pronto para ser implantado.
Um modelo de ciclo de vida iterativo não tenta começar com uma especificação completa de requisitos. Em vez disso, o desenvolvimento começa especificando e implementando apenas parte do software, que é então revisado para identificar outros requisitos. Esse processo é então repetido, produzindo uma nova versão do software ao final de cada iteração do modelo.
Modelo Iterativo - Design
O processo iterativo começa com uma implementação simples de um subconjunto dos requisitos de software e aprimora iterativamente as versões em evolução até que o sistema completo seja implementado. A cada iteração, modificações de design são feitas e novos recursos funcionais são adicionados. A ideia básica por trás desse método é desenvolver um sistema por meio de ciclos repetidos (iterativos) e em porções menores de cada vez (incrementais).
A ilustração a seguir é uma representação do modelo Iterativo e Incremental -
O desenvolvimento iterativo e incremental é uma combinação de design iterativo ou método iterativo e modelo de construção incremental para desenvolvimento. "Durante o desenvolvimento de software, mais de uma iteração do ciclo de desenvolvimento de software pode estar em andamento ao mesmo tempo." Este processo pode ser descrito como uma abordagem de "aquisição evolutiva" ou "construção incremental". "
Nesse modelo incremental, todo o requisito é dividido em vários builds. Durante cada iteração, o módulo de desenvolvimento passa pelas fases de requisitos, design, implementação e teste. Cada versão subsequente do módulo adiciona função à versão anterior. O processo continua até que o sistema completo esteja pronto de acordo com o requisito.
A chave para o uso bem-sucedido de um ciclo de vida de desenvolvimento de software iterativo é a validação rigorosa dos requisitos e a verificação e teste de cada versão do software em relação a esses requisitos em cada ciclo do modelo. Conforme o software evolui por ciclos sucessivos, os testes devem ser repetidos e estendidos para verificar cada versão do software.
Modelo Iterativo - Aplicativo
Como outros modelos SDLC, o desenvolvimento iterativo e incremental tem algumas aplicações específicas na indústria de software. Este modelo é usado com mais frequência nos seguintes cenários -
Os requisitos do sistema completo são claramente definidos e compreendidos.
Os requisitos principais devem ser definidos; entretanto, algumas funcionalidades ou aprimoramentos solicitados podem evoluir com o tempo.
Há um tempo para a restrição do mercado.
Uma nova tecnologia está sendo usada e aprendida pela equipe de desenvolvimento enquanto trabalha no projeto.
Os recursos com os conjuntos de habilidades necessários não estão disponíveis e são planejados para serem usados com base em contrato para iterações específicas.
Existem alguns recursos e metas de alto risco que podem mudar no futuro.
Modelo iterativo - prós e contras
A vantagem desse modelo é que existe um modelo funcional do sistema em um estágio muito inicial de desenvolvimento, o que torna mais fácil encontrar falhas funcionais ou de design. Encontrar problemas em um estágio inicial de desenvolvimento permite tomar medidas corretivas em um orçamento limitado.
A desvantagem desse modelo SDLC é que ele é aplicável apenas a projetos de desenvolvimento de software grandes e volumosos. Isso ocorre porque é difícil quebrar um pequeno sistema de software em outros pequenos incrementos / módulos que podem ser reparados.
As vantagens do Modelo SDLC Iterativo e Incremental são as seguintes -
Algumas funcionalidades de trabalho podem ser desenvolvidas rapidamente e no início do ciclo de vida.
Os resultados são obtidos antecipadamente e periodicamente.
O desenvolvimento paralelo pode ser planejado.
O progresso pode ser medido.
Menos dispendioso para alterar o escopo / requisitos.
Testar e depurar durante iterações menores é fácil.
Os riscos são identificados e resolvidos durante a iteração; e cada iteração é um marco facilmente gerenciado.
Mais fácil de gerenciar o risco - a parte de alto risco é feita primeiro.
A cada incremento, o produto operacional é entregue.
Problemas, desafios e riscos identificados de cada incremento podem ser utilizados / aplicados ao próximo incremento.
A análise de risco é melhor.
Suporta mudanças de requisitos.
O tempo de operação inicial é menor.
Mais adequado para projetos grandes e de missão crítica.
Durante o ciclo de vida, o software é produzido precocemente, o que facilita a avaliação e o feedback do cliente.
As desvantagens do Modelo SDLC Iterativo e Incremental são as seguintes -
Mais recursos podem ser necessários.
Embora o custo da mudança seja menor, não é muito adequado para mudanças de requisitos.
É necessária mais atenção da administração.
Podem surgir problemas de arquitetura ou design do sistema porque nem todos os requisitos são reunidos no início de todo o ciclo de vida.
A definição de incrementos pode exigir a definição do sistema completo.
Não é adequado para projetos menores.
A complexidade do gerenciamento é mais.
O fim do projeto pode não ser conhecido, o que é um risco.
Recursos altamente qualificados são necessários para a análise de risco.
O progresso dos projetos é altamente dependente da fase de análise de risco.