Modelos : Cascata , Iterativo e Incremental.


Breve apresentação sobre os modelos Cascata e Iterativo e Incremental:


Modelo Cascata

O modelo cascata é utilizado principalmente quando os requisitos de um determinado problema são bem compreendidos.  O modelo cascata utilizado por exemplo,  quando precisamos fazer adaptações ou aperfeiçoamentos em um sistema que já existe,por motivos, de adaptação de novas normas governamentais, então é necessário a atualização. 
Outro caso em que podemos utilizar o modelo cascata é quando o software necessita de uma nova funcionalidade e os requisitos estão bem definidos e são estáveis..
O  Modelo Cascata, é um modelo de desenvolvimento continuo do software  no qual o processo é visto como algo que flui  constantemente  para frente (como uma cascata) através das suas etapas.

O modelo cascata também possui algumas variações como o “modelo v”. Este modelo pode ser visto na Figura 2.





Este modelo descreve  relações entre ações da garantia da qualidade e as ações associadas à comunicação, modelagem e atividades de construção. 

As diferentes etapas de desenvolvimento:

Modelo Cascata: O que é e como funciona?

Análise e definição dos requisitos
Nesta etapa, estabelecem-se os requisitos do produto que se deseja desenvolver, o que consiste usualmente nos serviços que se devem fornecer, limitações e objetivos do software.
Projeto do sistema
Engenharia de Programação O projeto do sistema é um processo de vários passos que se centraliza em quatro atributos diferentes do sistema: estrutura de dados, arquitetura do software, detalhes procedais e caracterização das interfaces.
Implementação:
Esta é a etapa em que são criados os programas. Se o projeto possui um nível de detalhe elevado, a etapa de codificação pode implementar-se automaticamente.
Teste do sistema
Esta fase decide se foram solucionados erros de “comportamento” do software e assegura que as entradas definidas produzam resultados reais que coincidam com os requisitos especificados.
Manutenção
Essa etapa consiste na correção de erros que não foram previamente detectados, em melhorias funcionais e de preferência e outros tipos de suporte.

Vantagens do modelo cascata:
·Torna o processo de desenvolvimento estruturado. Tem uma ordem sequencial de fases. Cada fase cai em cascata na próxima e cada fase deve estar terminada antes do início da seguinte;
·Todas as atividades identificadas nas fases do modelo são fundamentais e estão na ordem certa;
·Esta abordagem é atualmente a norma e provavelmente permanecerá como tal nos próximos tempos.
Desvantagens do modelo cascata:
·Não fornece feedback entre as fases e não permite a atualização ou redefinição das fases anteriores;
·Não suporta modificações nos requisitos;
·Não prevê a manutenção;
·Não permite a reutilização;
·É excessivamente sincronizado;
·Se ocorrer um atraso todo o processo é afetado;
·Faz aparecer o software muito tarde.


Modelo iterativo e incremental

O desenvolvimento iterativo e incremental foi criado para solucionar os erros de um  modelo cascata.

O modelo de processo incremental entrega um produto operacional a cada incremento, ou seja, um produto sem erros e pronto para o usuário utilizar(como dito anteriormente,ele visa solucionar os erros do modelo cascata,por isso, a necessidade de estudo desses modelos,um ajuda o outro em seu desenvolvimento).
Por exemplo, se uma determinada versão de um software utilitário fornecido por terceiros que será integrado ao nosso projeto estiver disponível apenas numa data mais posterior, poderíamos deixar para desenvolver um determinado complemento do software que use essa versão mais atual numa data posterior quando esse utilitário já estiver disponível para uso.

Desenvolvimento iterativo

Esse processo iterativo é aquele que faz melhorias através de tentativas contínuas de refinamento. Por exemplo,uma equipe que está desenvolvendo um software,realiza sua primeira tentativa,porém existem pontos falhos, com informações incompletas em algumas partes. A equipe de forma iterativa  aprimora essas partes até que o produto atinja o ponto de forma satisfatória. Com cada iteração, o software é melhorado ,a partir de novos testes,novas aplicações




É uma estratégia de planejamento de retrabalho em que o tempo de revisão e melhorias de partes do sistema é pré-definido. Isto não pressupõe desenvolvimento incremental, mas funciona muito bem com ele.
A ideia básica por trás da abordagem iterativa é desenvolver um sistema de software incremental.O aprendizado ocorre simultaneamente tanto para o desenvolvedor, quanto para o usuário do sistema.

Vantagens do Modelo Iterativo
  • Ambas as partes ( desenvolvedores e usuários) tem uma grande  participação e comunicação entre si. 
  • Grande envolvimento do utilizador e do cliente. 
  • Os resultados mostrados permitirão que os usuários tenham confiança em um bom resultado, já que se trata de uma evolução;
  • A cada ciclo do sistema os usuários e cliente poderão utilizar o sistema diretamente, pois também eles são os “testadores” do sistema, durante o processo;
  • Os riscos podem ser melhores administradas em pequenos pedaços do sistema desenvolvidos em pequenos espaços de tempo;
  • Sistemas complexos ficam mais claros e menos complexos pois a implementação é aos poucos, (não é feita do zero);
  • Ao fim de cada iteração pode-se ter feedback para ter noção de como está o projeto, mesmo havendo desacordo há tempo para mudanças (o contrário do modelo Cascata).
  • Alterações nos requisitos podem ser rapidamente incorporada ao desenvolvimento.
Desvantagens do Modelo Iterativo
  • Como durante o processo de desenvolvimento o sistema é adaptado e refinado, o final pode ser totalmente diferente do inicial;
  • Aumento de escopo; com aparição de requisitos novos, o sistema pode nunca terminar.
  • Gerentes acostumados com modelo cascata pode ter problemas ao migrar para esse modelo mais flexível;
  • É necessário certo conhecimento para começar a usar esse modelo; inexperiência com a forma de trabalhar no modelo Iterativo pode levar a problemas posteriores;

Desenvolvimento incremental

O processo incremental é aquele em que o software é construído e entregue por partes. Cada parte ou incremento representa um agrupamento de funcionalidades completas. O incremento pode ser pequeno ou grande, ou seja, ele pode variar apenas de uma tela de relatórios simples, para um conjunto altamente flexível de telas de gerenciamento de dados. Cada incremento é codificado e testado, e a expectativa geral é que o trabalho tenha a conclusão mais completa possível.




É uma estratégia de planejamento estagiado em que várias partes do sistema são desenvolvidas em paralelo, e integradas quando completas.A alternativa ao desenvolvimento incremental é desenvolver todo o sistema com uma integração única.


Vantagens do Modelo Incremental
  • As versões são fornecidos após cada iteração do modelo incremental;
  • O Modelo Incremental inclui o uso do software pelo usuário para que as mudanças sejam feitas de acordo com o mesmo;
  • Não afeta o lado financeiro, porque ele provê o “core”/essência do software que o cliente precisa, o que vai ajudar o cliente a manter o negócio da mesma forma, sem alterações no lado financeiro;
  • É flexível, facilita gerenciar processos;
  • Faz um software melhor com uma melhor estrutura;
  • Melhor gerenciamento de riscos; você pode (a) confirmar o resultado com o cliente depois de cada versão do sistema e (b) sempre verificar se estão fazendo o que está de acordo com o plano ou não, e corrigi-los na próxima versão do software;
  • Os testes são simples;
Desvantagens do Modelo Incremental
  • Cada fase de uma iteração é rígida e não se sobrepõem uns aos outros;
  • Podem surgir problemas relativos à arquitetura do sistema, porque nem todos os requisitos estão reunidos na frente de todo o ciclo de vida do software.
  • O modelo Incremental precisa ser relativamente pequeno.









Comentários

Postar um comentário

Postagens mais visitadas deste blog

Análise dos dados do IBGE da minha cidade Jaguarari Bahia