Please enable JavaScript.
Coggle requires JavaScript to display documents.
Software Development Life Cycle Models and Methodologies - Coggle Diagram
Software Development Life Cycle Models and Methodologies
Modelo Cascata
É visto como fluindo constantemente para baixo (como uma cachoeira) através das fases de implementação de software
Vantagens
Ajuda a planejar e programar o projeto
Cada fase tem entregas específicas
Etapas e atividades são bem definidas
Desvantagens
Pressupõe que os requisitos de um sistema podem ser congelados
Caro e exige mais tempo, além do plano detalhado
Difícil voltar a qualquer estágio depois de terminado
Método Espiral
Combina elementos do Modelo Cascata e da Prototipação Evolucionária, visando reduzir os riscos associados ao desenvolvimento de software
Vantagens
Gerencia riscos e desenvolve o sistema em fases
Promove uma boa comunicação entre as partes interessadas do projeto, podendo levar a melhores decisões e maior colaboração
Envolvimento precoce dos desenvolvedores
Desvantagens
Necessita de habilidades especiais para avaliar os riscos e suposições
É mais complexo do que outros modelos de desenvolvimento de software, podendo tornar sua implementação mais difícil
Alto custo e tempo para chegar ao produto final
Modelo em Forma de V
Extensão do
Modelo Cascata
, onde as etapas do processo são dobradas para cima após a fase de implementação e codificação, para formar a forma típica de V
Vantagens
Cada fase tem entregas específicas
Verificação e validação do produto nos estágios iniciais de desenvolvimento do produto
Simples e fácil de usar
Desvantagens
Bastante inflexível, assim como o Modelo Cascata
Caro e exige mais tempo, além de um plano detalhado
Pode ser difícil incorporar mudanças no meio do projeto
Modelo de Prototipação Evolucionária
Atividade de criação de protótipos de aplicativos de software, como versões incompletas do programa de software que está sendo desenvolvido
Vantagens
Tempo e custos reduzidos, porém, pode ser uma desvantagem se o desenvolvedor perder tempo no desenvolvimento dos protótipos
É mais flexível do que outros modelos de desenvolvimento de software
Melhoria e aumento do envolvimento do usuário
Desvantagens
Tempo excessivo de desenvolvimento do protótipo
É caro implementar os protótipos
A criação de protótipos adicionais pode aumentar a complexidade do software e torná-lo mais difícil de manter
Método Iterativo e Incremental
Divide o projeto em iterações, cada uma com entregas incrementais de funcionalidades
Vantagens
O projeto sendo dividido em iterações, os riscos são reduzidos a cada entrega
Permite um melhor controle de custos, pois o custo de cada iteração é conhecido com antecedência
Diminui o tempo necessário para aproveitar recursos do sistema
Desvantagens
Reduz a usabilidade dos componentes
Necessita de habilidades especiais para a equipe
A documentação é feita em fases posteriores
Desenvolvimento Ágil
Enfatiza a colaboração, a comunicação e a entrega rápida de funcionalidades
Baseia-se no iterativo e incremental, os requisitos e as soluções evoluem através da colaboração entre equipes multifuncionais
Vantagens
Diminui o tempo necessário para aproveitar alguns recursos do sistema
A comunicação face a face e as entradas contínuas dos representantes dos clientes não deixam espaço para adivinhações
O resultado final é um software de alta qualidade na menor duração de tempo possível e clientes satisfeitos
Coloca o cliente no centro do processo de desenvolvimento, permitindo que o cliente forneça feedback sobre o produto em desenvolvimento
Desvantagens
Menor ênfase na documentação
Escalabilidade
Reduz a usabilidade dos componentes
Exige uma equipe de desenvolvimento altamente qualificada e experiente
Métodos Ágeis
Kanban
Se concentra na visualização do fluxo de trabalho e no controle de tarefas em andamento
Lean Software Development
Maximiza o valor entregue ao cliente, minimizando o desperdício de recursos e reduzindo o tempo de ciclo do processo de desenvolvimento de software
Extreme Programming (XP)
Se concentra em entregar software de alta qualidade com rapidez e eficiência
Crystal
Se concentra em equilibrar a adaptabilidade e a disciplina no processo de desenvolvimento de software
Scrum
Se concentra em maximizar a entrega de valor de um projeto de software em um curto período de tempo