O Modelo em Espiral de Boehm

Ricardo Dias
Contexto Delimitado
4 min readAug 23, 2019

Criado por Barry Boehm em 1988, o Modelo em Espiral é uma melhoria do Modelo Incremental e possui esse nome por causa de sua representação, onde cada volta no espiral percorre todas as fases do processo de software. As voltas devem ser repetidas quantas vezes forem necessárias até que o software possa ser completamente entregue.

O modelo em espiral e as fases do processo

É um processo evolucionário, ou seja, adequado para softwares que precisam passar por inúmeras evoluções na medida que o desenvolvimento acontece.

Diferente do Modelo Incremental, que entrega partes prontas uma de cada vez, o Modelo Espiral é mais iterativo e tenta fazer sucessivos refinamentos. Outras novidades são os novos conceitos de Prototipagem e Gerenciamento de Riscos.

Segundo SOMMERVILLE (2011), o Modelo em Espiralcombina prevenção e tolerância a mudanças, assume que mudanças são um resultado de riscos de projeto e inclui atividades explícitas de gerenciamento de riscos para sua redução”.

PRESSMAN (2006) também diz que o modelo é “uma abordagem realista do desenvolvimento de sistemas e softwares de grande porte … usando a prototipagem como mecanismo de redução de riscos”.

No espiral que representa o modelo, a volta mais interna pode preocupar-se com a viabilidade do sistema; o ciclo seguinte, com definição de requisitos; o seguinte, com o projeto do sistema, e assim por diante (SOMMERVILLE, 2011).

O modelo em espiral contendo o processo inteiro

Na representação o desenvolvimento é dividido em quatro setores (SOMMERVILLE, 2011):

  1. Definição de objetivos: onde são definidos os objetivos para essa fase do projeto, identificando as restrições e preparando um plano de gerenciamento detalhado que inclui todos os possíveis riscos do projeto;
  2. Avaliação e redução de riscos: para cada risco identificado é feita uma “Análise de Risco” detalhada com o objetivo de identificar estratégias para reduzi-lo ou evitá-lo. Por exemplo, caso exista uma dificuldade em especificar claramente um requisito, isso significa que existe um “risco de requisitos inadequados” e para amenizá-lo será preciso desenvolver um protótipo para apresentar ao cliente a fim de colher sugestões para refinar os requisitos. (Um protótipo é uma simulação do sistema, podendo ser desenhado em papel ou programado de forma simples e não funcional para que o cliente tenha uma ideia melhor do que o engenheiro entendeu de seus requisitos. Mais informações sobre prototipagem será fornecida em um artigo exclusivo sobre Interface Humano-Computador);
  3. Implementação e validação: com as estratégias definidas, é escolhido um modelo de desenvolvimento, como por exemplo, o “Modelo em Cascata”, “Modelo Incremental”, etc. Pode-se utilizar modelos diferentes em cada volta de implementação, conforme a necessidade;
  4. Planejamento e Especificação: o projeto todo é analisado para verificar o que foi realizado e planejar quais serão os próximos passos para iniciar novas voltas do espiral ou concluir o sistema.

Vantagens

  • Como o modelo exige a consideração dos riscos técnicos em todos os estágios de evolução, se for aplicado adequadamente, reduzirá os riscos antes que se tornem problemáticos;
  • As estimativas se tornam mais realistas e o tempo de implementação é reduzido;
  • Mais versátil para testar e lidar com mudanças;
  • Não faz distinção entre desenvolvimento e manutenção.

Desvantagens

  • Segundo PRESSMAN (2006), pode ser difícil convencer os clientes que o processo de evolução é controlável, pois ele exige competência considerável na avaliação dos riscos e depende dessa competência para ser bem sucedido;
  • Se um risco importante não for descoberto e gerenciado corretamente, fatalmente ocorrerão problemas;
  • A avaliação dos riscos exige um analista com experiência;
  • Aplica-se melhor a sistemas de grande porte;
  • Erros na avaliação de riscos podem impactar o projeto.

Espero que o conteúdo tenha sido útil até agora. Novos processos serão abordados em artigos posteriores. Um grande abraço e até a próxima!

Leia também o próximo artigo sobre o assunto:

Leia todos os artigos desta série:

Referências para aprofundamento

PRESSMAN, Roger. S. Engenharia de Software, 6ª Edição. McGrawHill, Nova York, EUA, 2006

SOMMERVILLE, Ian. Engenharia de Software, 9ª Edição. Pearson. São Paulo, Brasil, 2011.

--

--

Ricardo Dias
Contexto Delimitado

Apaixonado por padrões, programação clara, elegante e principalmente manutenível. Trabalha como desenvolvedor deste 2000, incrementando a cada ano este loop…