Modelos de Processos
Clássicos
Cascata
Conceitos
Etapas
“O resultado de uma fase é a entrada da próxima”
Comunicação
Planejamento
Modelagem
Construção
Emprego
Problemas
Abordagem sequencial e sistemática para o desenvolvimento de software
Dificuldade de estabelecer todos os requisitos
Versão executável disponível apenas em fase avançada do desenvolvimento
Espiral
Conceitos
Natureza iterativa da prototipação com aspectos sistemáticos e controlados do modelo cascata
Potencial para o rápido desenvolvimento de versões cada vez mais completas do software
Etapas
Foto das etapas na esquematização do processo (https://bit.ly/2Qie07G)
Problemas
Dificuldade de convencer os clientes que é uma abordagem controlável
É preciso especialização na avaliação de riscos
Prototipação
Conceitos
Cliente define objetivos gerais, mas não detalha requisitos para funções e recursos
O projeto rápido leva à construção de um protótipo, que é empregado e avaliado pelos envolvidos que fornecerão feedback para aprimorar os requisitos
Etapas
Comunicação
Projeto rápido
Modelagem de projeto rápido
Construção de protótipo
Emprego (entrega e retroalimentação)
Problemas
Interessados veem protótipos como versão final do software
O engenheiro de software assume compromissos que não pode cumprir e implantar SOs e linguagens de programação inapropriados
RUP
Conceitos
Processo de software dirigido a casos de uso, centrado na arquitetura, iterativo e incremental
Proporciona a sensação evolucionária que é essencial no desenvolvimento de software moderno
Etapas
Concepção (comunicação e planejamento)
Elaboração (modelagem)
Construção
Transição (últimos estágios de construção générica e primeira parte de emprego)
Produção (emprego e monitoramento)
Metodologias ágeis
Manifesto ágil
Conceitos
Defende a satisfação do cliente e a entrega de incremental prévio
Equipes de projeto pequenas e altamente motivadas
Métodos informais, artefato de ES mínimos e simplicidade no desenvolvimento geral
Etapas
ES flexível: Metodologias básicas permanecem: comunicação, planejamento, modelagem, construção e emprego. Entretanto, como conjunto de tarefas mínimas que impulsiona a equipe para o desenvolvimento e entrega do software
Scrum
Conceito
Conjunto de padrões e processos enfatizando propriedades de projeto, unidades de trabalho compartimentalizados, comunicação e feedback frequente por parte dos clientes
Etapas
Padrões de processos
Registro pendente de trabalhos (backlog)
Urgências (corridas de curta distância) sprints
Reuniões Scrum
Demos
XP (Programação Extrema)
Valores
Comunicação
Simplicidade
Feedback
Coragem (disciplina)
Respeito
Conceitos
"Qual é o mínimo possível que se pode realizar e mesmo assim desenvolver um software grandioso?"
Abordagem orientada a objetos como seu paradigma de desenvolvimento preferido
Etapas
Planejamento
Projeto
Codificação
Testes
Industrial XP
Conceito
Evolucão orgânica da XP. Difere por maior inclusão de gerenciamento, papel expandido para os clientes e práticas atualizadas
Etapas
Avaliação imediata
Comunidade de projeto
Mapeamento do projeto
Gerenciamento orientado a testes
Retrospectivas
Aprendizagem contínua
Problemas (Debate XP)
Volatilidade de requisitos
Necessidades conflitantes de clientes
Informalidade do levantamento de requisitos
Falta de projeto formal