Gerenciamento de Projetos OO
-
Upload
elliando-dias -
Category
Technology
-
view
2.297 -
download
2
description
Transcript of Gerenciamento de Projetos OO
11
ProcessoProcessoGerenciamento de Projetos OOGerenciamento de Projetos OO
22
ObjetivosObjetivos
w Examinar o ambiente de projetow Examinar o processo RUP (Rational Unified Process)w Ciclo de vida e o paradigma OOw Gerenciamento dirigido por análise de risco
33
Ambiente de Desenvolvimento de SoftwareAmbiente 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.
44
Características de um bom ambienteCaracterísticas de um bom ambiente
w Processo de desenvolvimento definidow Capacidade de configuração
do processo para um projeto específicow Integração entre processo e
ferramentasw Integração entre ferramentasw Gerenciamento de
configuraçãow Gerenciamento de mudançasw Gerenciamento de requisitos
w Desenvolvimento componentizadow Automação de testes
funcionais & desempenhow Gerenciamento de projetosw Automação de
documentaçãow Interface com o legadow Modelagem visualw Linguagem comum: UML
55
w Unified Modeling Language é a linguagem para:• Especificar• Visualizar• Construir• Documentar
os artefatos de software de um sistema
O Que é a UML?O Que é a UML?
66
Contribuições à UMLContribuições à UML
Fusion
Operation descriptions,Message numbering
Meyer
Before and after conditions
Harel
State charts
Wirfs-Brock
Responsibilities
Embley
Singleton classes, High-level view
Odell
Classification
Shlaer - Mellor
Object Lifecycles
Gamma, et.al
Frameworks, patterns,notes
BoochJacobsonRumbaugh
77
História da UMLHistória da UML
88
A UML Fornece Diagramas e ModelosA UML Fornece Diagramas e Modelos
DeploymentDiagrams
DeploymentDiagrams
Use CaseDiagramsUse CaseDiagramsUse Case
Diagrams
Use CaseDiagramsUse Case
DiagramsUse CaseDiagrams
ScenarioDiagramsScenarioDiagramsScenario
Diagrams
ScenarioDiagramsSequence
DiagramsSequenceDiagrams
StateDiagrams
StateDiagramsState
Diagrams
StateDiagramsState
DiagramsState
Diagrams
ComponentDiagrams
ComponentDiagramsComponent
Diagrams
ComponentDiagramsComponent
DiagramsComponentDiagrams
Modelos
StateDiagrams
StateDiagramsState
Diagrams
StateDiagramsObject
DiagramsObject
Diagrams
ScenarioDiagramsScenarioDiagramsScenario
DiagramsScenario
DiagramsCollaborationDiagrams
CollaborationDiagrams
Use CaseDiagrams
Use CaseDiagramsUse Case
DiagramsUse CaseDiagramsActivity
Diagrams
ActivityDiagrams
StateDiagrams
StateDiagramsState
DiagramsState
DiagramsClassDiagrams
ClassDiagrams
99
Exemplo de um Diagrama de ClassesExemplo de um Diagrama de Classes
Course
CourseOffering IndependentStudy
0..*
0..*
1
1..*
+ Pre-requisite
“One Course in the role of a pre-requisite is related to
zero to many Courses.”
“One Course is related to zero to many Courses
playing the role of a pre-requisite.”
1010
Linguagem deModelagem
ProcessoUnificado
Trabalho em Equipe
Modelos e Linguagem não são suficientes!Modelos e Linguagem não são suficientes!
1111
Requisitos novos
ou modificadosSistema novo
ou modificado
Processo de EngenhariaProcesso de Engenhariade Softwarede Software
O Que é um Processo?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.
1212
Requisitos novos
ou alteradosSistema novo
ou alteradoProcessoProcesso
Características de um bom processoCaracterísticas de um bom processo
w Configurável para diferentes organizaçõesw 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
1313
Objectory Process 3.8
RationalApproach
Rational Objectory Process 4.0
Rational Objectory Process 4.1
SQAProcess
RequirementsCollege
UML 0.8
Rational Unified Process 5.1
Configuration& change Mgmt
1995
BusinessEngineering
Data Engineering
ObjectoryUI design
Performancetesting
UML 1.1
OMT,Booch
Rational Unified Process 5.5
SPC / PMIProject ManagementPMBOK
Contribuições ao Rational Unified ProcessContribuições ao Rational Unified Process
1414
w Orientações dee-development
w Orientações dee-business
w Capacidade depersonalizaçãoe pequenos projetos
w IBM e Microsoft
w Orientações dee-development
w Orientações dee-business
w Capacidade depersonalizaçãoe pequenos projetos
w IBM e Microsoft
História do RUPHistória do RUP
Versão 4.1
Versão 4.1
19971997w Processode
Teste SQAw Requirements
College
w ProcessodeTeste SQA
w RequirementsCollege
Versão 5.1
Versão 5.1
19981998w Modelagem
do Negóciow Gerenc. de
configuraçãoe mudanças
w Modelagemdo Negócio
w Gerenc. de configuraçãoe mudanças
Versão5.5
Versão5.5
19991999w Gerenc. de
Projetosw ROOM em
Tempo Real
w Gerenc. deProjetos
w ROOM emTempo Real
20002000
Versão 4.0
Versão 4.0
19961996w Abordagem
Rationalw Processo por
Objetivosw OMT
Booch
w AbordagemRational
w Processo porObjetivos
w OMT Booch
Versão 2000.03Versão 2000.03
Versão 2001A.04Versão
2001A.04
20012001w Opcionais de
processo:w J2EE w BEA
WebLogic Server
w Rational Unified Partner Program
w Opcionais deprocesso:w J2EE w BEA
WebLogic Server
w Rational Unified Partner Program
1515
Notação do processoNotação do processo
Role
Activity
Artifact
Describe a Use Case
Use-Case Package
Use Case
responsible for
Use-Case Specifier
Unidade de trabalho que o papel deve desempenhar
Informação produzida, documento ou modelo do processo
Papel que descreve a função que deve ser desempenhada por um ou mais indivíduos no processo de desenvolvimento
1616
Exemplo de uma atividade no processoExemplo de uma atividade no processo
Architect
Designer
ArchitecturalAnalysis
ArchitectureReviewer
Review theDesign
Review theArchitecture
Use-CaseAnalysis
ArchitecturalDesign
DescribeConcurrency
DescribeDistribution
DatabaseDesigner
ClassDesign
SubsystemDesign
Use-Case Design
DatabaseDesign
DesignReviewer
Activity:Class Design
“Collection of methods,
techniques, heuristics and
experience organized to
produce a design.”
1717
Disciplinas agrupam atividadesDisciplinas agrupam atividades
Analysis & Analysis & DesignDesign
RequirementsRequirements
ImplementationImplementation
TestTest
BusinessBusinessModelingModeling Modelagem dos processos de negócio
Especificação de requisitos de software
Modelagem da aplicação
Codificação da aplicação
Testes de qualidade e homologação
1818
Fluxos de trabalho nas Disciplinas criam modelosFluxos de trabalho nas Disciplinas criam modelos
Analysis & Analysis & DesignDesign
ImplementationModel
TestModel
Realizado por…
Implementado por…
Verificado por…
RequirementsRequirements
ImplementationImplementation
TestTest
Use-CaseModel
DesignModel
BusinessBusinessModelingModeling Business
Use-Case Model Automatizado por…Business
Object Model
1919
Exemplo de documentação do processoExemplo de documentação do processo
Purpose:
Analysis & Design Artifacts
Steps:
Input Artifacts: Resulting Artifacts:
Role:
Tool Mentor:
Activity: Class Design Quem, o que, quando e como...
2020
O Modelo de ciclo-de-vidaO Modelo de ciclo-de-vida
Code and unit test
Design
Subsystem integration
Requirements analysis
System test
Processo Waterfall Processo Iterativo
• Dirigido-por-requisitos eorientado somente ao cliente
• Resolve riscos tardiamente• Deseconomia de escala
• Dirigido-por-Arquitetura ebaseado em componentes
• Resolve riscos mais cedo• Economia de escala
2121
InceptionInception ElaborationElaboration ConstructionConstruction TransitionTransition
Fases do ciclo-de-vidaFases do ciclo-de-vida
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
tempo
2222
InceptionInception ElaborationElaboration ConstructionConstruction TransitionTransition
Fronteiras das fases são Marcos de ProjetoFronteiras das fases são Marcos de Projeto
LCO LCA IOC PR
tempo
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
2323
Uma Fase pode ter várias IteraçõesUma Fase pode ter várias Iterações
Uma Uma iteração é uma sequência definida de atividades com é uma sequência definida de atividades com um plano e critérios estabelecidos, resultando em uma um plano e critérios estabelecidos, resultando em uma versão de executável (interno ou externo)versão de executável (interno ou externo)
IteraçãoIteraçãopreliminarpreliminar
IteraçãoIteraçãoArquit.Arquit.
IteraçãoIteraçãoArquit.Arquit.
IteraçãoIteraçãoDesen.Desen.
IteraçãoIteraçãoDesen.Desen.
IteraçãoIteraçãoDesen.Desen.
IteraçãoIteraçãoLiberaçãoLiberação
IteraçãoIteraçãoLiberaçãoLiberação
InceptionInception ElaborationElaboration ConstructionConstruction TransitionTransition
Marcos menores: Releases
2424
Uma Iteração é um Ciclo de Geração de Release Uma Iteração é um Ciclo de Geração de Release
IteraçãoIteraçãopreliminarpreliminar
IteraçãoIteraçãoArquit.Arquit.
IteraçãoIteraçãoArquit.Arquit.
IteraçãoIteraçãoDesen.Desen.
IteraçãoIteraçãoDesen.Desen.
IteraçãoIteraçãoDesen.Desen.
IteraçãoIteraçãoLiberaçãoLiberação
IteraçãoIteraçãoLiberaçãoLiberação
InceptionInception ElaborationElaboration ConstructionConstruction TransitionTransition
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.
Codificação e testeDesign Integração de subsistema Teste de sistemaAnálise de requisitos Avaliação
2525
TEMPO
Teste de Subsistema
Teste deSistema
Codificação& Teste
Análise &Design
Análise deRequisitos
Desenvolvimento tradicional (Waterfall)Desenvolvimento tradicional (Waterfall)
2626
Teste deSistema
O Ciclo de vida iterativo é Espiral, não WaterfallO Ciclo de vida iterativo é Espiral, não Waterfall
InceptionInception ElaborationElaboration ConstructionConstruction TransitionTransition
Teste de Subsistema
Codificação& Teste
Análise &Design
Análise deRequisitos
IC
DR
T IC
DR
TI
CDR
TI
CDR
TI
CDR
T
2727
Características do desenvolvimento waterfallCaracterísticas do desenvolvimento waterfallw Atrasa a confirmação de uma
possível solução dos riscos críticos
w Mede o progresso diagnosticando os produtos de trabalho, que são previsores muito pobres do tempo para completar o projeto (ou do estado do projeto)
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
Codificação e teste
Design
Integração de subsistema
Teste de sistema
Processo em Cascata
Análise derequisitos
2828
Resultados do desenvolvimento waterfallResultados do desenvolvimento waterfall
Início da IntegraçãoBum!
Ajuste tardio de DesignPerda de Controle
100%
Tempo de Projecto
Prog
ress
o do
des
envo
lvim
ento
em %
de c
odifi
caçã
o)
OriginalData de Entrega
Atividades sequenciais:Requisitos Design Codificação Integração Teste
2929
Características do desenvolvimento iterativoCaracterísticas do desenvolvimento iterativo
w Resolve os maiores riscos antes dos maiores investimentosw Capacita o feedback de usuário mais cedow Torna o teste e a integração contínuosw Focaliza objetivos de curto prazow Torna possível a entrega de implementações parciais
Tempo
Iteration 1 Iteration 2 Iteration 3
IC
DR
TI
CD
R
TI
CD
R
T
3030
RISCO
T E M P O
Teste deSubsistema
Teste de sistema
Codificação & Teste
Análise &Design
Análise de Requisitos
O waterfall atrasa a redução do riscoO waterfall atrasa a redução do risco
3131
“Waterfall”Iterativo-controlado
RISCO
T E M P O
Iteração Iteração Iteração Iteração Iteração Iteração Iteração
O iterativo-controlado acelera a redução de riscoO iterativo-controlado acelera a redução de risco
3232
Exp
osiç
ão d
e R
isco
s do
Pro
jeto
Ciclo de Vida do ProjetoBaixo
Alto
dos RiscosExploraçãoPeríodo de
Riscos ControladosPeríodo de
Convencional (Waterfall)
Perfil de risco doprojeto
Inception Elaboration Construction Transition
Iterativo-Controlado
Perfil de risco doprojeto
Perfil da redução de riscoPerfil da redução de risco
dos RiscosResoluçãoPeríodo de
3333
Iterações iniciais abordam os maiores riscosCada iteração produz uma versão executável, um incremento adicional ao sistemaCada iteração inclue integração e testes acumulativos
TC
DR
T E M P O
TC
DR
TC
DR
Aplicamos o waterfall iterativamente, em incrementosAplicamos o waterfall iterativamente, em incrementos
Elaboração
Iteração 1 Iteração 2 Iteração 3
3434
Um ciclo do processo iterativoUm ciclo do processo iterativo
Planejamento Inicial
Planejamento
Requisitos
Análise e Design
Implementação
Implantação
Teste
Avaliação
Ambiente de Gerenciamento
Sobre este ambiente a disciplina de Project Management irá atuar
3535
Project ManagementEnvironment
Business Modeling
Implementation
Test
Analysis & Design
Iteraçõespreliminares
Iter.#1
FasesDisciplinas de Processos
Iterações
Disciplinas de Suporte
Iter.#2
Iter.#n
Iter.#n+1
Iter.#n+2
Iter.#m
Iter.#m+1
Deployment
Configuration & Change Mgmt
Requirements
Elaboration TransitionInception Construction
Gráfico Modelo de Iteração (“humpback whale chart”)Gráfico Modelo de Iteração (“humpback whale chart”)
Project Management
3636
O RUP é integrado com ferramentas RationalO RUP é integrado com ferramentas Rational
RoseRose• Mentores de
ferramentas• Scripts degeração de
relatórios• Íconesde estereótipos
• Mentores deferramentas
• Scripts degeração derelatórios
• Íconesde estereótipos
TestManagerTestManager• Mentores de
ferramentas• Modelos de teste
• Mentores deferramentas
• Modelos de teste
RobotRobot• Mentores de
ferramentas• Modelos de teste
• Mentores deferramentas
• Modelos de teste
ClearQuestClearQuest• Diretrizes de
Rastreamento de Defeitos• Mentores de ferramentas
• Diretrizes deRastreamento de Defeitos
• Mentores de ferramentas
ClearCaseClearCase• Mentores de
ferramentas• Diretrizes de
GM
• Mentores deferramentas
• Diretrizes de GM
RequisiteProRequisitePro• Mentores de
ferramentas • Modelos de
requisitos
• Mentores deferramentas
• Modelos derequisitos
SoDASoDA• Mentores de
ferramentas• Modelos de
documento
• Mentores deferramentas
• Modelos dedocumento
PurifyQuantify
PureCoverage
PurifyQuantify
PureCoverage• Mentores de
ferramentas• Mentores de
ferramentas