O documento discute o gerenciamento de projetos orientado a objetos, apresentando o processo RUP e seu ciclo de vida iterativo. O RUP define atividades, papéis e artefatos para cada fase do projeto, promovendo o desenvolvimento incremental por meio de iterações que geram releases parciais a cada ciclo. O processo é configurável e adaptável a diferentes projetos e organizações.
2. Objetivos
w Examinar o ambiente de projeto
w Examinar o processo RUP (Rational Unified Process)
w Ciclo de vida e o paradigma OO
w Gerenciamento dirigido por análise de risco
22
3. Ambiente de Desenvolvimento de Software
w Todo projeto tem um ambiente de desenvolvimento
• Consiste nas ferramentas ,
• Códigos existentes,
• Documentos ,
• Modelos ,
• Procedimentos ,
• algum tipo de suporte interno.
w Apresenta algumas virtudes mas também deficiências
• O ambiente pode ser um fator de sucesso ou de caos.
33
4. Características de um bom ambiente
w Processo de w Desenvolvimento
desenvolvimento definido componentizado
w Capacidade de configuração w Automação de testes
do processo para um projeto funcionais & desempenho
específico
w Integração entre processo e w Gerenciamento de projetos
ferramentas w Automação de
w Integração entre ferramentas documentação
w Gerenciamento de w Interface com o legado
configuração w Modelagem visual
w Gerenciamento de mudanças
w Linguagem comum: UML
w Gerenciamento de requisitos
44
5. O Que é a UML?
w Unified Modeling Language é a linguagem para:
• Especificar
• Visualizar
• Construir
• Documentar
os artefatos de software de um sistema
55
6. Contribuições à UML
Booch
Rumbaugh Jacobson
Fusion
Meyer
Operation descriptions,
Before and after
Message numbering
conditions
Embley
Harel
Singleton classes,
State charts High-level view
Gamma, et.al
Wirfs-Brock
Frameworks, patterns,
Responsibilities
notes Shlaer - Mellor Odell
Object Lifecycles Classification
66
8. A UML Fornece Diagramas e Modelos
State
State
State
Diagrams
State
Class
Diagrams
Class
Diagrams
Use Case
Use Case Diagrams
Diagrams
Use Case
Use Case Diagrams State
Use Case Diagrams
Use Case
Diagrams State
State
Use Case Use Case
Diagrams
Diagrams State
Diagrams
Object
Diagrams
Use Case
Use Case
Diagrams Diagrams Object
Diagrams
Activity
Diagrams
Activity Diagrams Diagrams
Diagrams
Diagrams
Diagrams Diagrams
Diagrams
Diagrams
Scenario
Scenario State
State
Scenario
Scenario
Diagrams State
State
Diagrams
Sequence
Diagrams
Sequence
Diagrams State
Diagrams
State
Diagrams
Diagrams
Diagrams Modelos Diagrams
Diagrams
Diagrams Diagrams
Scenario Component
Component
Scenario
Scenario Component
Diagrams
Component
Diagrams
Scenario
Collaboration
Diagrams Deployment Diagrams
Component
Diagrams
Component
Collaboration
Diagrams
Diagrams Deployment Diagrams
Diagrams Diagrams Diagrams
Diagrams
Diagrams Diagrams
88
9. Exemplo de um Diagrama de Classes
“One Course in the role of
a pre-requisite is related to
zero to many Courses.”
+ Pre-requisite
0..*
Course
“One Course is related to
zero to many Courses
0..* playing the role of a pre-
requisite.”
1
1..*
CourseOffering IndependentStudy
99
10. Modelos e Linguagem não são suficientes!
Trabalho em Equipe
Linguagem de Processo
Modelagem Unificado
10
10
11. O Que é um Processo?
Um processo define Quem está fazendo O Que,
Quando e Como para atingir um certo objetivo.
Na Engenharia de Software o objetivo é construir ou
melhorar um produto de software.
Requisitos novos Processo de Engenharia Sistema novo
ou modificados de Software ou modificado
11
11
12. Características de um bom processo
Requisitos novos Sistema novo
Processo
ou alterados ou alterado
w Configurável para diferentes organizações
w Adaptável para diferentes tamanhos e tipos de projeto
§ Mantendo a mesma capacidade de coleta de métricas
w Bem definido, gerenciável e repetível
§ Com nomenclatura universal, heuríscas e métricas para planejamento
e gerenciamento de projeto
w Integrado com ferramentas que o suportem
12
12
13. Contribuições ao Rational Unified Process
SPC / PMI Rational Unified Process
Project Management 5.5
PMBOK
Performance Objectory
Rational Unified Process UI design
testing
5.1
Business Data Engineering
Engineering
Configuration Rational Objectory UML 1.1
& change Mgmt Process 4.1
Requirements
College Rational Objectory
Process 4.0 SQA
Process
OMT,
Booch Rational Objectory 1995
Approach UML 0.8
Process 3.8
13
13
14. História do RUP
Versão Versão Versão Versão Versão Versão
4.0 4.1 5.1 5.5 2000.03 2001A.04
1996 1997 1998 1999 2000 2001
w Abordagem w Processo de w Modelagem w Gerenc. de w Orientações de w Opcionais de
Rational Teste SQA do Negócio Projetos e-development processo:
w Processo por w Requirements w Gerenc. de w ROOM em w Orientações de w J2EE
Objetivos College configuração Tempo Real e-business w BEA
w OMT e mudanças w Capacidade de WebLogic
Booch personalização Server
e pequenos w Rational
projetos Unified
w IBM e Partner
Microsoft Program
14
14
15. Notação do processo
Unidade de trabalho
Papel que descreve a que o papel deve
função que deve ser desempenhar
desempenhada por um
ou mais indivíduos no
processo de Activity
desenvolvimento
Role
Describe a
Use-Case Use Case
Specifier
responsible for
Artifact Informação produzida,
documento ou modelo do
processo
Use Case Use-Case
Package
15
15
16. Exemplo de uma atividade no processo
Architectural
Analysis
“Collection of Review the Architecture
Architectural Describe Describe
methods, Architect Design Concurrency Distribution Architecture Reviewer
techniques,
heuristics and
experience
organized to
produce a design.”
Use-Case SubsystemDesign
Analysis
Use-Case Review the
Design Design Design
Designer Reviewer
Class
Design
Activity:
Class Design
Database
Database Design
Designer
16
16
17. Disciplinas agrupam atividades
Business
Modeling Modelagem dos processos de negócio
Requirements Especificação de requisitos de software
Analysis &
Modelagem da aplicação
Design
Implementation Codificação da aplicação
Test Testes de qualidade e homologação
17
17
18. Fluxos de trabalho nas Disciplinas criam modelos
Business
Modeling Business Business
Use-Case Model Object Model Automatizado por…
Requirements
Use-Case Realizado por…
Model
Analysis &
Design Design Implementado por…
Model
Implementation
Implementation Verificado por…
Model
Test
Test
Model
18
18
19. Exemplo de documentação do processo
Activity: Class Design Quem, o que, quando e como...
Purpose:
Analysis & Design Artifacts
Steps:
Input Artifacts: Resulting Artifacts:
Role:
Tool Mentor:
19
19
20. O Modelo de ciclo-de-vida
Processo Waterfall Processo Iterativo
Requirements
analysis
Design
Code and unit test
Subsystem integration
System test
• Dirigido-por-requisitos e • Dirigido-por-Arquitetura e
orientado somente ao cliente baseado em componentes
• Resolve riscos tardiamente • Resolve riscos mais cedo
• Deseconomia de escala • Economia de escala
20
20
21. Fases do ciclo-de-vida
Inception Elaboration Construction Transition
tempo
O RUP - Rational Unified Process tem 4 fases:
§ Inception - Define escopo e planos iniciais
§ Elaboration - Planeja o projeto, especifica
características, experimenta a arquitetura
§ Construction - Construção do produto
§ Transition - Implanta o produto para a comunidade de
usuários finais
21
21
22. Fronteiras das fases são Marcos de Projeto
Inception Elaboration Construction Transition
tempo
LCO LCA IOC PR
O RUP tem 4 grandes marcos de projeto:
§ Lifecycle objetive - Caracteriza uma concepção inicial
§ Lifecycle architecture - Define a obtenção de uma arquitetura
§ Initial operational capability - Caracteriza final de construção
§ Product release - liberação geral do produto
22
22
23. Uma Fase pode ter várias Iterações
Inception Elaboration Construction Transition
Iteração Iteração Iteração Iteração Iteração Iteração Iteração Iteração
preliminar Arquit. Arquit. Desen. Desen. Desen. Liberação Liberação
Marcos menores: Releases
Uma iteração é uma sequência definida de atividades com
um plano e critérios estabelecidos, resultando em uma
versão de executável (interno ou externo)
23
23
24. Uma Iteração é um Ciclo de Geração de Release
Inception Elaboration Construction Transition
Iteração Iteração Iteração Iteração Iteração Iteração Iteração Iteração
preliminar Arquit. Arquit. Desen. Desen. Desen. Liberação Liberação
Análise de requisitos Design Codificação e teste Integração de subsistema Teste de sistema Avaliação
A Iteração executa o ciclo completo de
criação de uma parte do sistema,
gerando o executável correspondente.
Esta “parte do sistema” é definida pelos
Casos-de-Uso escolhidos para essa
iteração.
24
24
26. O Ciclo de vida iterativo é Espiral, não Waterfall
Inception Elaboration Construction Transition
R R R R R
D D D D D
C C C C C
I I I I I
T T T T T
Análise de
Requisitos
Análise &
Design
Codificação
& Teste
Teste de
Subsistema
Teste de
Sistema
26
26
27. Características do desenvolvimento waterfall
w Atrasa a confirmação de uma
possível solução dos riscos
críticos
Processo em Cascata w Mede o progresso
diagnosticando os produtos de
trabalho, que são previsores
Análise de
requisitos
Design muito pobres do tempo para
Codificação e teste completar o projeto (ou do
Integração de subsistema
estado do projeto)
Teste de sistema w Atrasa e aglutina os testes com
a integração
w Dificulta ou impede a liberação
intermediária
w Resulta frequentemente em
iterações não planejadas
27
27
28. Resultados do desenvolvimento waterfall
Atividades sequenciais:
Requisitos Design Codificação Integração Teste
100% Início da Integração
Bum!
Progresso do desenvolvimento
Ajuste tardio de Design
em % de codificação)
Perda de Controle
Data de Entrega
Original
Tempo de Projecto
28
28
29. Características do desenvolvimento iterativo
w Resolve os maiores riscos antes dos maiores investimentos
w Capacita o feedback de usuário mais cedo
w Torna o teste e a integração contínuos
w Focaliza objetivos de curto prazo
w Torna possível a entrega de implementações parciais
Iteration 1 Iteration 2 Iteration 3
R R R
D D D
C C C
I I I
T T T
Tempo
29
29
30. O waterfall atrasa a redução do risco
Análise de
R Requisitos
I Análise &
S Design
C Codificação
O & Teste
Teste de
Subsistema
Teste de
sistema
TEMPO
30
30
31. O iterativo-controlado acelera a redução de risco
R
I
S
C
O
Iterativo-controlado “Waterfall”
Iteração Iteração Iteração Iteração Iteração Iteração Iteração
TEMPO
31
31
32. Perfil da redução de risco
Inception Elaboration Construction Transition
Alto
Período de
Exposição de Riscos do Projeto
Riscos Controlados
Perfil de risco do Perfil de risco do
projeto projeto
Iterativo-Controlado Convencional (Waterfall)
Período de Período de
Exploração
Resolução
dos Riscos
dos Riscos
Baixo
Ciclo de Vida do Projeto
32
32
33. Aplicamos o waterfall iterativamente, em incrementos
Elaboração
Iteração 1 Iteração 2 Iteração 3
R R R
D D D
C C C
T T T
TEMPO
Iterações iniciais abordam os maiores riscos
Cada iteração produz uma versão executável, um incremento
adicional ao sistema
Cada iteração inclue integração e testes acumulativos
33
33
34. Um ciclo do processo iterativo
Requisitos
Análise e Design
Planejamento
Implementação
Ambiente de
Planejamento Gerenciamento
Inicial
Teste
Avaliação
Implantação
Sobre este ambiente a disciplina
de Project Management irá atuar
34
34
35. Gráfico Modelo de Iteração (“humpback whale chart”)
Disciplinas de Processos Fases
Inception Elaboration Construction Transition
Business Modeling
Requirements
Analysis & Design
Implementation
Test
Deployment
Disciplinas de Suporte
Configuration & Change Mgmt
Project Management
Environment
Iterações Iter. Iter. Iter. Iter. Iter. Iter. Iter.
preliminares #1 #2 #n #n+1 #n+2 #m #m+1
Iterações
35
35
36. O RUP é integrado com ferramentas Rational
SoDA TestManager Robot
• Mentores de • Mentores de
• Mentores de ferramentas
ferramentas ferramentas
• Modelos de teste • Modelos de teste
• Modelos de
documento
Rose ClearCase
• Mentores de • Mentores de
ferramentas ferramentas
• Scripts degeração de • Diretrizes de
relatórios GM
• Íconesde estereótipos
Purify
ClearQuest Quantify
• Diretrizes de RequisitePro PureCoverage
Rastreamento de Defeitos • Mentores de • Mentores de
• Mentores de ferramentas ferramentas ferramentas
• Modelos de
requisitos
36
36