O objetivo do modelo espiral é prover um metamodelo que pode acomodar diversos processos específicos. Isto significa que podemos encaixar nele as principais características dos outros modelos de desenvolvimento de software, adaptando-os a necessidades específicas de desenvolvedores ou às particularidades do software a ser desenvolvido. Em um esforço para combinar as vantagens dos conceitos de top-down e bottom-up, acrescentando um novo elemento, a análise de riscos que falta a essas conservas.

História O modelo em espiral foi definido por Barry Boehm em seu artigo de 1988 A Spiral Model of Software Development and Enhancement. Este modelo não foi o primeiro a discutir o Desenvolvimento iterativo e incremental, mas ele foi o primeiro modelo a explicar o porquê do modo iterativo. Como originalmente antevisto, as iterações têm uma duração típica de 6 meses a dois anos. Cada ciclo do modelo em espiral possui quatro atividades principais, onde se elaboram os objetivos (Planejamento), avaliam-se as alternativas (Análise de riscos), definem-se as entidades de software em um projeto (Engenharia) e planeja-se o próximo ciclo (Atualização).

Aplicação Para uma típica aplicação, o modelo em espiral deverá significar que se tem uma visão grosseira dos elementos como uma aplicação utilizável, adicionando características nas fases e, a determinado ponto, o gráfico final.

O modelo espiral é usado com mais freqüência em grandes projetos. Para pequenos projetos, os conceitos de desenvolvimento de software ágil torna-se uma alternativa mais viável. O Exército dos Estados Unidos tem adotado o modelo em espiral para seus programas dos Sistemas de combate do futuro.

Vantagens Suporta mecanismos de redução de risco Inclui interações Reflete as práticas reais da engenharia atual Apresenta uma abordagem sistemática Estimativas (por exemplo: cronogramas) tornam-se mais realísticas com o progresso do trabalho, porque problemas importantes são descobertos mais cedo. É mais versátil para lidar com mudanças (sempre inevitáveis) que desenvolvimento de software geralmente exigem. Engenheiros de software (que sempre estão impacientes com alongamento da fase de projeto) podem começar o trabalho no sistema mais cedo.

Desvantagens Risco de não cumprir o cronograma ou orçamento O desenvolvimento em espiral funciona melhor apenas para grandes projetos e também exige experiência em avaliação de riscos Para seu bom funcionamento, o protocolo do modelo espiral precisa ser seguido rigorosamente A documentação é maior porque tem fases intermediárias O desenvolvimento de software em espiral não é aconselhável para projetos menores, pois pode custar muito caro

Ver também Barry Bohem Engenharia de software Modelo em cascata Modelo Balbúrdia MBASE

Referências

Ligações externas

- Artigo original de Barry Bohem - Artigo original de Lucas Bennett

Categoria:Engenharia de software Categoria:Desenho de software