O modelo cascata foi
projetado para aplicação em desenvolvimento de software. As etapas do modelo
cascata seguem uma sequencia, onde uma etapa só começa quando a outra termina.
Das fases do processo em cascata temos: Análise e definição dos requisitos,
projeto do sistema, implementação, teste do sistema e manutenção.
A análise e definição
dos requisitos consiste na definição dos serviços que devem ser fornecidos,
limitações e objetivos de forma que esses requisitos sejam úteis nas próximas
fases. Logo após temos projeto de sistema, que por sua vez se subdivide em:
estrutura de dados, arquitetura de software, detalhes procedais e caracterização
das interfaces. A fase de implementação é onde ocorro a criação dos programas,
e estes serão testados individualmente para depois passar pelo teste global.
Terminada a codificação dá-se inicio a fase de testes onde é observado se todos
os erros foram solucionados e se os resultados obtidos são satisfatórios, e finalmente chega-se a
fase de manutenção que consiste na correção de erros que não foram previamente
detectados. Todas as fases ao serem concluídas são documentadas, como se pode
observar no esquema abaixo:
Vantagens:
·
Torna o processo de desenvolvimento
estruturado.
·
Tem uma ordem sequencial de fases;
·
Todas as atividades identificadas nas
fases do modelo são fundamentais e estão
na ordem certa.
Desvantagens:
·
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;
·
Atraso na entrega do software.
Modelo
de Prototipação
O processo de desenvolvimento prototipado procura entender e organizar as limitações do Modelo de Cascata, para melhor definição dos requisitos do sistema tendo como ideia eliminar a política de “congelamento” de requisitos antes do projeto do sistema, com base no conhecimento dos requisitos do sistema, através de um protótipo.
Vantagens:
Conhecimento prévio do sistema;
Conhecimento prévio do sistema;
Possibilidade de
correção mais cedo;
Rápida entrega do
sistema;
Especificação,
desempenho e implementação integrada.
Desvantagens:
Alguns de seus requisitos não aparecem na espeficicação;
Alguns de seus requisitos não aparecem na espeficicação;
Requisitos onde não ser
testados de forma adequada.
Modelo
Espiral
Baseado em 1988, um
modelo formado por ciclos, uma organização de atividades em espiral. Sua
dimensão vertical representa o custo acumulado na realização das etapas e a
dimensão angular representa o avanço do desenvolvimento ao longo das etapas.
A cada ciclo inicia com
a identificação dos objetivos e as diferentes alternativas para atingir seus
objetivos, assim como as restrições impostas. O próximo passo no ciclo é a
avaliação das diferentes alternativas com base nos objetivos fixados, definindo
também incertezas e riscos. A seguir o desenvolvimento de estratégias permite
resolver ou eliminar incertezas levantadas anteriormente (podendo envolver
atividades de prototipação, simulação, avaliação de desempenho entre outros). Por
fim, o software é desenvolvido e o começa o planejamento dos próximos passos e
assim resolvidos.
Uma das principais características deste modelo
é que cada ciclo é encerrado por uma atividade de revisão, onde tos os produtos
do ciclo são avaliados ,incluindo o plano para o próximo ciclo.
Modelo Incremental
O Modelo Incremental é uma estratégia de
planejamento em que várias partes do sistema são desenvolvidas em paralelo e
integradas quando completas. Não implica, requer ou pressupõe desenvolvimento
iterativo ou em cascata. A alternativa ao desenvolvimento incremental é
desenvolver todo o sistema com uma integração única.
Vantagens:
·
As
versões são fornecidas 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;
·
É
flexível e fácil de gerenciar processos mais administráveis e fazer um software
melhor com uma melhor estrutura;
·
Os testes
são simples, entre outros.
Desvantagens:
·
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.
Modelo
iterativo
Uma iteração representa um ciclo completo de
desenvolvimento, em cada fase podem ocorrer várias iterações. Cada fase e iteração objetiva
redução de riscos e funcionam como
um marco do progresso. Esse marco define um ponto para avaliar o alcance das
metas e se o projeto deve ser reestruturado por algum motivo para o
prosseguimento.
Vantagens:
·
Baseia-se
fortemente na participação e uma boa comunicação entre desenvolvedores e
usuários.
·
Há um
grande envolvimento do utilizador e do cliente.
·
Os
resultados mostrados permitirá que os usuários tenham confiança em um bom
resultado;
·
Os riscos
podem ser melhor administrados por pequenos pedaços do sistema a serem desenvolvidos
em pequenos espaços de tempo;
·
Alterações
nos requisitos podem ser rapidamente incorporadas no processo de
desenvolvimento, entre outros.
Desvantagens:
·
Durante o
processo de desenvolvimento necessita-se adaptar e refinar o sistema, com isso pode
ser que no final saia totalmente diferente da ideia original;
Pode acontecer a continuação do sistema e
aparição de muitos requisitos novos, dessa forma o sistema nunca irá terminar.
Isso é chamado de aumento de escopo, entre outras.
Modelo Formal
O modelo formal requer Clientes tecnicamente
bem preparados, engenheiros de software com conhecimento profundo do negócio em
questão. E as especificações devem ser bem consistentes, claras sem qualquer
ambigüidade. Utiliza fortemente os modelos matemáticos nas especificações.
Portanto recomendado para aplicação extremamente crítica. Os métodos formais
têm um potencial tremendo para melhorar a clareza e a precisão da especificação
dos requisitos e de encontrar erros importantes e sutis. O método formal tem
uma sólida base matemática, dada tipicamente por uma linguagem formal de
especificação. Essa base fornece um meio para definir precisamente noções como
consistência e completeza, e mais relevantemente, especificação, implementação
e correção.
Modelo de Desenvolvimento Orientado a Reuso
Nenhum comentário:
Postar um comentário