2. Visão geral do conteúdo
• Engenharia de Requisitos
Requisitos
Estrutura
• Rational Unified Process (RUP)
Objetivos
Estrutura
Artefatos
2
3. Engenharia de Requisitos
• Processo usado para
Descobrir requisitos
Analisar requisitos
Validar requisitos
• Estabelece
O que o cliente quer
Restrições sob as quais o sistema opera
3
4. Engenharia de Requisitos
• Requisitos
Descrições de funcionalidades
Restrições obtidas durante o processo
• Requisitos podem ser
Funcionais
Não funcionais
De domínio
4
5. Engenharia de Requisitos
• Estrutura do processo
1.
2.
3.
4.
5
Estudo de viabilidade
Levantamento e análise de requisitos
Validação de requisitos
Gerenciamento de requisitos
7. Engenharia de Requisitos
1. Estudo de viabilidade
Decide se o sistema proposto
•
•
•
•
•
7
É viável
Contribui para os objetivos da organização
Pode ser construído usando tecnologias atuais
Está dentro do orçamento previsto
Pode ser integrado com outros sistemas
8. Engenharia de Requisitos
2. Levantamento e análise de requisitos
Envolve stakeholders nas tarefas
•
•
•
8
Entender o domínio da aplicação
Entender os serviços do sistema
Entender as restrições operacionais do sistema
9. Engenharia de Requisitos
• Dificuldades?
Stakeholders
• Podem não saber o que realmente desejam
• Expressam requisitos de maneiras diferentes
• Requisitos podem ser conflitantes
Requisitos mudam ao longo do tempo
9
11. Engenharia de Requisitos
3. Validação de requisitos
• Demonstrar se os requisitos são o que o
cliente realmente quer
• Corrigir requisitos com erros
• Técnicas
•
•
•
11
Revisão de requisitos
Prototipação
Análise de consistência automática
12. Engenharia de Requisitos
4. Gerenciamento de requisitos
• Gerenciar mudanças de requisitos
Fonte: Sommerville (2004)
12
13. Rational Unified Process (RUP)
• Processo iterativo
Compreensão crescente do problema
Flexibilidade para acomodação de novos
requisitos
• Processo configurável
• Conta com
Ciclos
Fases
Iterações
13
14. RUP
• Atividades têm foco em
Modelos em vez de documentos
• Minimiza a sobrecarga
• Atividades são orientadas por
Casos de uso
• Compreensão completa
• Alinhar o fluxo do processo a partir de requisitos
obtidos em testes/análises
14
15. RUP
• Encoraja
Controle de qualidade
Gerenciamento de riscos
• Desenvolvimento centrado na arquitetura
Facilita o desenvolvimento em paralelo
Minimiza retrabalho
Aumenta o reúso
15
17. RUP
Divisão em 4 fases
Concepção
Elaboração
Construção
Transição
Tempo
17
18. RUP
• Fase 1: Concepção
Delimita o escopo do projeto
Estabelece o caso de negócio
•
•
•
•
18
Critérios de sucesso
Avaliação de riscos
Estimativa de recursos
Determinação de marcos de progresso
(milestones)
20. RUP
• Fase 2: Elaboração
20
Análise do domínio do problema
Estabelecimento de uma arquitetura sólida
Desenvolvimento do plano do projeto
Eliminação de elementos de alto risco do
projeto
21. RUP
• Fase 3: Construção
Desenvolvimento iterativo e incremental
Requer descrição
• Requisitos restantes
• Critérios de aceitação
21
22. RUP
• Fase 4: Transição
Disponibilizar sistema aos usuários
Levantamento de lições aprendidas
Analisar se os objetivos foram alcançados e
se outro ciclo de desenvolvimento deverá
ser iniciado
22
23. RUP
• Iteração
Marca avanços de cada fase
Concepção: Levantamento de requisitos
Elaboração: Análise e projeto
Construção e transição: Implementação
• Versão executável / nova funcionalidade
23
24. RUP
Divisão em 4 fases
Concepção
Elaboração
Construção
Transição
Tempo
Iterações
preliminares
24
Iter. #1 .. #2
Iter. #n .. #m
Iter. #m+1 .. #m+2
25. RUP
• Ciclo é composto por nove fluxos paralelos
25
1.
2.
3.
4.
5.
6.
7.
8.
9.
Modelagem de negócio
Requisitos
Análise de projeto
Implementação
Teste
Entrega
Gerenciamento de configuração
Gerenciamento de projeto
Ambiente
28. RUP
• Cada fluxo conta com diversas atividades
• Cada atividade possui
Tarefas
Artefatos
• Artefato pode ser
28
Documento
Relatório
Executável
Modelo
29. Referências
• Booch et al. (2000) UML: Guia do Usuário
• IBM (2008) IBM Rational Unified Process
ftp://public.dhe.ibm.com//software/pdf/br/RUP_DS.pdf
• Rational (2001) Rational Unified Process:
Best Practices for Software Development
Teams
http://www.ibm.com/developerworks/rational/library/content/03Ju
ly/1000/1251/1251_bestpractices_TP026B.pdf
• Sommerville (2004) Software Engineering
29