Introdução à Engenharia de Software
Cronograma
Requisitos de Software
Modelos de Processo de Software
Cascata
V-Model
Espiral
Ágil
Metodologias, Métodos e Ferramentas
Scrum
Kanban
Programação Extrema (XP)
Rational Unified Process (RUP)
O que são requisito?
Requisitos são condições ou capacidades que o software deve possuir para que o usuário/cliente possa atingir seu objetivo.
Requisitos de Negócio: Expressa "por que" estamos fazendo esse sistema.
Requisitos de Usuário: Expressa "quem" faz "o que" no sistema.
Requisitos Funcionais: Expressa "como" o sistema atende aos requisitos de usuário. Requisitos Não-Funcionais: Expressa expectativas quanto a funcionalidade do sistema(performance, amigabilidade, escalabilidade, portabilidade, etc.)
Modelo Cascata
Vantagens:
Processo estruturado de desenvolvimento; Avança etapa somente após validação do cliente;
Desvantagens:
Não suporta modificações nos requisitos;
Não prevê a manutenção;
Não permite a reutilização;
Pressupõe que o cliente participa do projeto e sabe MUITO BEM o que quer V-Model
Evolução do modelo Cascata
Modelo com ênfase na qualidade do software. Modelo Espiral
Composta por 4 estágios, que se repetem:
Devem ser determinados objetivos, soluções alternativas e restrições.
Devem ser analisados os riscos das decisões do estágio anterior. Nesta fase podem ser construídos alguns protótipos ou realizar simulações.
Fase de desenvolvimento, incluindo design, especificação, codificação e verificação.
Fase de revisão das etapas anteriores e o planejamento da próxima fase.
Agile
O Manifesto Ágil
Colaboração com o cliente mais que negociação de contratos
Indivíduos e interação entre eles mais que processos e ferramentas
Responder a mudanças mais que seguir um plano Software em funcionamento mais que documentação abrangente
Metodologias e Ferramentas
O Scrum