Introdução à
Engenharia de Requisitos e
Rational Unified Process (RUP)

Prof. Vagner Figueredo de Santana
Visão geral do conteúdo
• Engenharia de Requisitos
 Requisitos
 Estrutura

• Rational Unified Process (RUP)
 Objetivos
 Estrutura
 Artefatos
2
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
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
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
Engenharia de Requisitos

Fonte: Sommerville (2004)
6
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
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
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
Engenharia de Requisitos

10

Fonte: Sommerville (2004)
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
Engenharia de Requisitos
4. Gerenciamento de requisitos
• Gerenciar mudanças de requisitos

Fonte: Sommerville (2004)

12
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
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
RUP
• Encoraja
 Controle de qualidade
 Gerenciamento de riscos

• Desenvolvimento centrado na arquitetura
 Facilita o desenvolvimento em paralelo
 Minimiza retrabalho
 Aumenta o reúso
15
RUP

Ciclo de desenvolvimento

Tempo

16
RUP
Divisão em 4 fases

Concepção

Elaboração

Construção

Transição

Tempo

17
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)
RUP

Foto: Pete Reed
www.flickr.com/photos/petereed/
4735819706/
19
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
RUP
• Fase 3: Construção
 Desenvolvimento iterativo e incremental
 Requer descrição
• Requisitos restantes
• Critérios de aceitação

21
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
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
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
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
RUP
Divisão em 4 fases
Concepção

Elaboração

Construção

Iter. #1 .. #2

Iter. #n .. #m

Transição

Fluxos

26

Iterações
preliminares

Iter. #m+1 .. #m+2
RUP

27

Fonte: Rational (2001)
RUP
• Cada fluxo conta com diversas atividades
• Cada atividade possui
 Tarefas
 Artefatos

• Artefato pode ser




28

Documento
Relatório
Executável
Modelo
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

Introdução à Engenharia de Requisitos e RUP

  • 1.
    Introdução à Engenharia deRequisitos e Rational Unified Process (RUP) Prof. Vagner Figueredo de Santana
  • 2.
    Visão geral doconteú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
  • 6.
    Engenharia de Requisitos Fonte:Sommerville (2004) 6
  • 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
  • 10.
  • 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êmfoco 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  Controlede qualidade  Gerenciamento de riscos • Desenvolvimento centrado na arquitetura  Facilita o desenvolvimento em paralelo  Minimiza retrabalho  Aumenta o reúso 15
  • 16.
  • 17.
    RUP Divisão em 4fases 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)
  • 19.
  • 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çosde 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 4fases 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
  • 26.
    RUP Divisão em 4fases Concepção Elaboração Construção Iter. #1 .. #2 Iter. #n .. #m Transição Fluxos 26 Iterações preliminares Iter. #m+1 .. #m+2
  • 27.
  • 28.
    RUP • Cada fluxoconta com diversas atividades • Cada atividade possui  Tarefas  Artefatos • Artefato pode ser     28 Documento Relatório Executável Modelo
  • 29.
    Referências • Booch etal. (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