História do modelo em espiral, características, estágios, exemplo

História do modelo em espiral, características, estágios, exemplo

Ele Modelo em espiral É um arquétipo do processo de desenvolvimento de aplicativos. É baseado na hipótese de que o desenvolvimento de software é um ciclo iterativo que é repetido até alcançar os objetivos estabelecidos. Tem a capacidade de lidar com a grande quantidade de riscos que podem ocorrer ao desenvolver qualquer software.

É um dos modelos mais importantes para apoiar o gerenciamento de riscos. Como o nome indica, esse modelo é mostrado como forma espiral, onde os diferentes estágios do modelo são distribuídos em diferentes ciclos. O número de ciclos no modelo não é fixo e pode variar de um projeto para outro.

Análise, avaliação, planejamento e desenvolvimento. Software de desenvolvimento Sippiral Fonte: Beao [Domain Público] Commons.Wikimedia.Org [TOC]

História

Criação

O modelo espiral foi definido pelo matemático e professor de engenharia de software americano Barry Boehm. Depois de apresentar seu conceito em 1986 para o desenvolvimento de aplicativos complexos, ele publicou seu modelo em 1988 em uma estrutura mais completa em seu artigo "Um modelo em espiral de desenvolvimento e melhoria de software".

Parte desta publicação de 1988 representou graficamente o modelo em espiral, mostrando na íntegra como o processo de desenvolvimento de software é visto na forma de uma espiral e apoiado por ciclos.

A Boehm é conhecida por suas numerosas contribuições para a engenharia de software, como o modelo de custo construtivo (Cocomo), o modelo espiral do processo de software, a abordagem da teoria G (ganha-ganha) para a determinação dos requisitos e gerenciamento do software.

Alternativa ao modelo em cascata

Em sua publicação, a Boehm descreveu o modelo em espiral como uma possível alternativa ao modelo de cascata anteriormente estabelecido, que também serviu de base para sua prática.

O modelo espiral não foi o primeiro a aumentar o desenvolvimento cíclico, mas foi o primeiro modelo a explicar por que a iteração é importante. Como foi planejado originalmente, ele foi alocado a projetos grandes e complexos cujas iterações são tipicamente de 6 meses a 2 anos.

Este modelo não assume que as tarefas de desenvolvimento de software são projetadas linearmente, ao contrário do modelo de cascata, mas que as vê como tarefas iterativas.

Esse modelo cíclico influenciou a arquitetura de engenharia de software baseada em modelos (MBASE) e a programação extrema.

Características do modelo em espiral

Controle de risco

O que diferencia muito esse modelo dos outros modelos de processo de software é que ele reconhece explicitamente os riscos. Portanto, reduz consideravelmente que grandes projetos de software falham, pois avalia repetidamente os riscos e verifica o produto de desenvolvimento sempre que.

Este modelo de computador contém componentes de quase qualquer outro modelo de ciclo de vida do software, como o modelo de cascata, o modelo de criação de protótipos, o modelo iterativo, o modelo evolutivo etc.

Pode atendê -lo: TIC (tecnologias de informação e comunicação)

Por causa disso, é capaz de lidar com quase qualquer tipo de risco que os outros modelos geralmente não lidam. No entanto, devido a ter tantos componentes, esse modelo é muito mais complexo do que os outros modelos de desenvolvimento de software.

Descrição da espiral

Cada turno espiral representa um ciclo completo, onde os quatro quadrantes sempre passam, que representam os quatro estágios do modelo.

À medida que o tamanho em espiral aumenta, também o progresso executado. Portanto, os estágios não são executados apenas uma vez, mas várias vezes, espiral.

Embora essa repetição cíclica faça com que o projeto se aproxime lentamente dos objetivos estabelecidos, o risco do processo de desenvolvimento falha é fortemente minimizado.

Genérico

Os quatro estágios apenas implantam os objetivos básicos de um ciclo, mas não precisam se manifestar em cada ciclo.

A ordem de cada ciclo também não é estritamente determinada. Portanto, o modelo pode ser combinado a qualquer momento com outros modelos.

Flexível

É bastante flexível, ao executar separadamente para cada fase do projeto os processos de definição de objetivos, análise de risco, desenvolvimento e planejamento.

Metamodelo

Metamodel é considerado para incluir outros modelos. Por exemplo, se a espiral fora de um único ciclo representaria o modelo em cascata, pois incorpora a abordagem gradual deste modelo clássico.

Ele também usa a abordagem do modelo de criação de protótipo, pois no início de cada ciclo um protótipo para lidar com riscos.

Além disso, é compatível com o modelo evolutivo, porque as iterações espirais podem ser consideradas níveis evolutivos, através dos quais o sistema final é construído.

Estágios

Determinar objetivos, alternativas e restrições

Os requisitos do sistema são definidos com os maiores detalhes possíveis, incluindo desempenho, interfaces de hardware/software, indicadores de sucesso, etc. e são considerados quais objetivos devem estar associados ao atual ciclo de desenvolvimento.

Além disso, diferentes alternativas são examinadas quanto à sua implementação, como construção vs. Compre, reutilize componentes ou subcontratos existentes, etc.

Da mesma forma, restrições como custo, cronograma e interfaces, consumo de tempo, etc.

avaliação de risco

Todas as alternativas propostas são avaliadas. Os objetivos e restrições servem como determinando referências para selecionar a melhor solução.

Além disso, os riscos que podem dificultar o sucesso do projeto, como falta de experiência, novas tecnologias, horários apertados, processos deficientes etc., implementando as estratégias de risco mais lucrativas e de menor.

Pode atendê -lo: o que é o periscópio e para que é?

Finalmente, métodos como criação de protótipos, simulações, modelos analíticos e pesquisas de usuário são usados.

Desenvolvimento e teste

Todo o desenvolvimento necessário é feito, usando a tecnologia e solução selecionadas. Com cada iteração, uma versão melhor do aplicativo é criada.

O código real é escrito e testado várias vezes até que o resultado desejado seja alcançado, o que servirá como base para as etapas futuras de desenvolvimento.

Planejamento do próximo ciclo

Ao concluir um ciclo, o planejamento seguinte começa. Esse planejamento poderia estar normalmente com o projeto se o objetivo do ciclo fosse alcançado, levantando a definição do próximo objetivo.

Também poderia ser encontrar outras soluções, se o estágio de desenvolvimento anterior estivesse com defeito. A estratégia existente pode ser substituída por uma das alternativas definidas anteriormente ou um novo. Com isso, uma nova tentativa começaria a alcançar o objetivo.

Exemplo

O Exército dos Estados Unidos adotou o modelo em espiral para o desenvolvimento e atualização do programa de modernização para futuros sistemas de combate (SCF).

Oficialmente lançado em 2003, esperava -se que o SCF equiparasse as tropas com veículos conectados a tempo real a uma rede de campos de batalha extraordinariamente rápidos e flexíveis.

O projeto foi dividido em quatro espirais de desenvolvimento de cerca de dois anos cada. A Spiral 1 estava programada para começar para 2008 e entregar protótipos para uso e avaliação.

Depois de terminar a Spiral 1, estava programado para iniciar a Spiral 2 para 2010. O desenvolvimento final do produto foi planejado para entregar para 2015.

Em agosto de 2005, a Boeing anunciou a conclusão do primeiro marco importante do projeto, que foi a revisão funcional dos sistemas. A Boeing and Science Applications International Corporation foram as colegas de projeto.

No entanto, em outubro de 2005, o Pentágono recomendou adiar o projeto devido ao alto impacto nos custos da Guerra do Iraque e do Hurricane Katrina Aid.

O projeto foi cancelado em 2009 após surgiram cortes no orçamento, sem poder provar os benefícios do modelo em espiral nesta missão

Vantagens

Estrutura cíclica

Devido a esse tipo de estrutura, os problemas entre o design e os requisitos técnicos do software são eliminados tacitamente, graças às verificações periódicas.

Gestão de riscos

Os riscos são analisados ​​em cada um dos estágios do produto antes de avançar. Isso ajuda a superar ou mitigar possíveis riscos.

Todos os colaboradores se beneficiam da grande importância da análise de risco neste modelo, possivelmente representando sua maior vantagem sobre outros modelos de processo.

Pode servir a você: porta paralela: características, tipos e funções

A avaliação periódica dos riscos se torna valor quando ambientes técnicos inovadores, que geralmente estão associados a um determinado potencial de risco devido à ausência de valores empíricos.

Participação e feedback do cliente

Em cada estágio do projeto, os clientes estão envolvidos, até que o projeto seja concluído. Portanto, diferentes feedbacks podem ser coletados para melhorar a próxima versão do projeto.

Além disso, o feedback pode ser obtido a qualquer momento devido ao formulário espiral. Assim, clientes e usuários podem ser integrados desde o início no processo de desenvolvimento.

Ideal para grandes projetos

É particularmente popular e proeminente para projetos grandes e complexos, onde o controle do orçamento é uma prioridade para clientes e desenvolvedores. Existe um controle máximo sobre os custos, recursos e qualidade do projeto de software.

Desvantagens

Caro

Pode ser bastante caro, pois requer um alto nível de experiência para análise de risco. Além disso, os projetos precisam de muito tempo para se desenvolver, o que pode aumentar as despesas gerais.

Bem complexo

É necessário um gerenciamento anterior muito ativo e complexo do projeto, onde cada ciclo é controlado e cuidadosamente.

É comparativamente mais complexo do que outros modelos, porque existem muitos ciclos, cada um passando pelos diferentes estágios, aumentando assim o esforço do processo de documentação.

É essencial ter conhecimento em análise de risco e gerenciamento, que geralmente não estão disponíveis.

Gerenciamento de tempo

É difícil gerenciar o tempo, já que o número de ciclos é desconhecido. Além disso, a qualquer momento, o processo de desenvolvimento pode ser adiado se dentro de um ciclo decisões importantes ou ações adicionais forem tomadas ao planejar o seguinte ciclo.

Muitos passos

Nem sempre é favorável tomar muitas medidas no desenvolvimento de software devido ao fato de que, apesar da versatilidade dos testes, eles podem alcançar o sistema sem fim sem terminar o programa.

Como conseqüência, sempre há perigo de que qualquer conceito ou inconsistência conceitual afete o produto final.

Referências

  1. Victor Font Jr (2019). O modelo em espiral. O Guia Ultimate para o SDLC. Retirado de: ultimatesdlc.com.
  2. Ionos (2019). Modelo em espiral: o modelo de processo de desenvolvimento de software orientado por risco. Retirado de: ionos.com.
  3. Techuz (2018). O que é modelo espiral? Para explicação simples do ciclo de vida em desenvolvimento de software em espiral (SDLC). Retirado de: Techuz.com.
  4. Um para o teste de parada (2020). Modelo em espiral. Retirado de: oonetoptesting.com.
  5. Geeks para geeks (2020). Software de engenharia - modelo em espiral. Retirado de: geeksforgeeks.org.
  6. Chandu (2019). Modelo em espiral em engenharia de software. Tirado de: médio.com.