Modelos de Processo de Software - LF21-O-souza/Soft-Hello-Wolrd GitHub Wiki

Definição:

Modelos de processo de softwares é uma representação abstrata de um processo de software. Cada modelo representa um processo a partir de uma perspectiva particular. Não são descrições definitivas de processo de software, mas sim abstrações úteis, que podem ser usadas para explicar diferentes abordagens de desenvolvimento de software.

Tipos de modelos:

Modelo em Cascata


Fonte

O modelo em cascata foi o primeiro modelo publicado para o processo de desenvolvimento de software. O modelo em cascata representa o desenvolvimento gradual com uma sequência ordenada de passos que devem ser seguidos rigorosamente.

As fases do modelo em cascata são executadas em sequência, ou seja, uma fase só executada quando a anterior termina sua execução. Nesse modelo os resultados não podem ser alterados após a fase terminar sua execução. Essa característica faz com que esse modelo não seja muito utilizado pela falta de flexibilidade.

O modelo em cascata possui três problemas que devem levados em consideração e que são mostrados abaixo de acordo com Oliveira (2013):

  • Projetos reais raramente seguem a estrutura de fluxos em sequência ordenados como no modelo em cascata. E por não possuir muita flexibilidade as modificações podem causar confusão à medida que a equipe do projeto prossegue;
  • O cliente sente um pouco de dificuldade de estabelecer todos os requisitos no início do projeto como o modelo em casca exige;
  • O cliente precisa ter paciência, pois uma versão executável fica disponível quase no final do desenvolvimento do projeto. Os erros podem ser desastrosos se não forem detectados até a entrega desse executável.

Modelo de Desenvolvimento Evolucionário


Fonte

O modelo de desenvolvimento evolucionário representa o desenvolvimento do software desde o protótipo inicial. Neste modelo o cliente participa de todas as fases do desenvolvimento do software.

Esse modelo possui algumas vantagens de acordo com Oliveira (2013):

  • O executável final pode ser mostrado antes do término do projeto para o cliente;
  • Neste modelo há uma melhor comunicação entre os desenvolvedores e usuários para melhor tratamento de erros;

Modelo Espiral


Fonte

O modelo em espiral é um modelo que trabalha o tempo todo com riscos e dividi o projeto em outros menores. O movimento em espiral possui uma estrutura que dá base para se tentar chegar ao fim do projeto com todos, ou quase todos, os riscos eliminados.

O modelo em espiral procura sempre dar as bases para que todos os requisitos do projeto estejam bem definidos e entendidos por todos da equipe inclusive pelo cliente. Com essa estrutura o produto vai sendo desenvolvido e com o tempo surgem versões do software para averiguação e reconhecimento de problemas.

De acordo com Oliveira (2013), o modelo em espiral foi desenvolvido para resolver os seguintes problemas:

  • Atender a realidade dos projetos. Atender uma sequência mais real que o projeto segue, pois nem todo projeto segue o fluxo sequencial que o modelo em cascata propõe;
  • Atender à necessidade que o cliente não tem noção no início do projeto de todos os requisitos para o desenvolvimento do mesmo. Esse modelo em espiral atende a flexibilidade de receber novos requisitos do cliente com o passar do tempo;
  • Atender à necessidade do cliente de ver um protótipo de uma versão executável do software, mesmo que essa não esteja funcionando completamente.

Modelo Incremental

O modelo incremental possui uma estrutura que permite que os documentos de uma fase possam ser mexidos para melhorias, mesmo se esses documentos estiverem em uma fase que foi completada, o que não acontece no modelo em cascata. No modelo incremental, diferentemente do modelo em cascata, a mudança de fase pode ocorrer mesmo se a anterior não tenha sido completada.

O modelo incremental é formado por ciclos que por sua vez são formados por fases de análise, projeto, implementação e teste. Nesse modelo os requisitos são divididos em grupos e esses são usados em cada clico. Nesse modelo pode notar que o objetivo é minimizar os riscos do projeto e maximizar a importância nos requisitos.

Modelo RAD

RAD (Rapid Application Development) representa modelo de desenvolvimento rápido. O modelo de desenvolvimento rápido é usado em projetos que necessita de uma velocidade maior de desenvolvimento que o normal. Esse modelo é usado em projeto com prazos muito curtos para entrega.

Modelo de Desenvolvimento Orientado a Reuso

O modelo de desenvolvimento orientado a reuso é usado no desenvolvimento de projeto para incorporar elementos novos no produto. Tais elementos podem ser citados abaixo de acordo com Oliveira (2013):

  • Código;
  • Plano de teste;
  • Conhecimento geral;
  • Especificações de requisitos e projetos.

Thalisson Dias

⚠️ **GitHub.com Fallback** ⚠️