Anda di halaman 1dari 36

Gerenciamento de Projetos OO

Processo

11

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 anlise de risco

22

Ambiente de Desenvolvimento de Software


w Todo projeto tem um ambiente de desenvolvimento
Consiste nas ferramentas , Cdigos existentes, Documentos , Modelos , Procedimentos , algum tipo de suporte interno.

w Apresenta algumas virtudes mas tambm deficincias


O ambiente pode ser um fator de sucesso ou de caos.

33

Caractersticas de um bom ambiente


w Processo de desenvolvimento definido w Capacidade de configurao do processo para um projeto especfico w Integrao entre processo e ferramentas w Integrao entre ferramentas w Gerenciamento de configurao w Gerenciamento de mudanas w Gerenciamento de requisitos w Desenvolvimento componentizado w Automao de testes funcionais & desempenho w Gerenciamento de projetos w Automao de documentao w Interface com o legado w Modelagem visual w Linguagem comum: UML

44

O Que a UML?
w Unified Modeling Language a linguagem para:
Especificar Visualizar Construir Documentar

os artefatos de software de um sistema

55

Contribuies UML
Booch Rumbaugh Jacobson
Meyer
Before and after conditions

Fusion
Operation descriptions, Message numbering

Harel
State charts

Embley
Singleton classes, High-level view

Gamma, et.al
Frameworks, patterns, notes Shlaer - Mellor Object Lifecycles

Wirfs-Brock Odell
Classification Responsibilities

66

Histria da UML

77

A UML Fornece Diagramas e Modelos


Use Case Use Case Use Case Use Case Diagrams Use Case Diagrams Use Case Diagrams Diagrams Diagrams Diagrams State State State Diagrams State Class Diagrams Class Diagrams Diagrams Diagrams Diagrams

Use Case Use Case Use Case Use Case Diagrams Activity Diagrams Activity Diagrams Diagrams Diagrams Diagrams

State State State State Diagrams Object Diagrams Object Diagrams Diagrams Diagrams Diagrams

Scenario Scenario Scenario Scenario Diagrams Sequence Diagrams Sequence Diagrams Diagrams Diagrams Diagrams

Modelos

State State State State Diagrams State Diagrams State Diagrams Diagrams Diagrams Diagrams

Scenario Scenario Scenario Diagrams Scenario Collaboration Diagrams Collaboration Diagrams Diagrams Diagrams Diagrams

Deployment Deployment Diagrams Diagrams

Component Component Component Diagrams Component Diagrams Component Diagrams Component Diagrams

Diagrams Diagrams

88

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

0..*

One Course is related to zero to many Courses playing the role of a prerequisite.

1..*

CourseOffering

IndependentStudy

99

Modelos e Linguagem no so suficientes!

Trabalho em Equipe

Linguagem de Modelagem

Processo Unificado

10 10

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 ou modificados

Processo de Engenharia de Software

Sistema novo ou modificado

11 11

Caractersticas de um bom processo


Requisitos novos ou alterados

Processo

Sistema novo ou alterado

w Configurvel para diferentes organizaes w Adaptvel para diferentes tamanhos e tipos de projeto
Mantendo a mesma capacidade de coleta de mtricas

w Bem definido, gerencivel e repetvel


Com nomenclatura universal, heurscas e mtricas para planejamento e gerenciamento de projeto

w Integrado com ferramentas que o suportem

12 12

Contribuies ao Rational Unified Process


SPC / PMI Project Management PMBOK Performance testing Business Engineering Configuration & change Mgmt

Rational Unified Process 5.5


Objectory UI design Data Engineering

Rational Unified Process 5.1

Rational Objectory Process 4.1

UML 1.1

Requirements College

Rational Objectory Process 4.0

SQA Process

OMT, Booch

Rational Approach

UML 0.8

Objectory 1995 Process 3.8

13 13

Histria do RUP
Verso 4.0 Verso 4.1 Verso 5.1 Verso 5.5 Verso 2000.03 Verso 2001A.04

1996

1997

1998
w Modelagem do Negcio w Gerenc. de configurao e mudanas

1999
w Gerenc. de Projetos w ROOM em Tempo Real

2000

2001

w Abordagem w Processo de Rational Teste SQA w Processo por w Requirements Objetivos College w OMT Booch

w Orientaes de w Opcionais de e-development processo: w J2EE w Orientaes de e-business w BEA WebLogic w Capacidade de Server personalizao w Rational e pequenos Unified projetos Partner w IBM e Program Microsoft

14 14

Notao do processo
Papel que descreve a funo que deve ser desempenhada por um ou mais indivduos no processo de desenvolvimento Unidade de trabalho que o papel deve desempenhar

Activity

Role
Use-Case Specifier
responsible for
Describe a Use Case

Artifact

Informao produzida, documento ou modelo do processo

Use Case

Use-Case Package

15 15

Exemplo de uma atividade no processo


Architectural Analysis

Collection of methods, techniques, heuristics and experience organized to produce a design.

Architect

Architectural Describe Design Concurrency

Describe Distribution

Review the Architecture Architecture Reviewer

Use-Case Analysis Designer

SubsystemDesign Use-Case Design Review the Design Design Reviewer

Class Design

Activity: Class Design


Database Designer Database Design

16 16

Disciplinas agrupam atividades


Business Modeling
Modelagem dos processos de negcio

Requirements

Especificao de requisitos de software

Analysis & Design

Modelagem da aplicao

Implementation

Codificao da aplicao

Test

Testes de qualidade e homologao

17 17

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

Exemplo de documentao do processo


Activity: Class Design
Purpose: Analysis & Design Artifacts

Quem, o que, quando e como...

Steps:

Input Artifacts:

Resulting Artifacts:

Role:

Tool Mentor:

19 19

O Modelo de ciclo-de-vida
Processo Waterfall
Requirements analysis Design Code and unit test Subsystem integration System test

Processo Iterativo

Dirigido-por-requisitos e orientado somente ao cliente Resolve riscos tardiamente Deseconomia de escala

Dirigido-por-Arquitetura e baseado em componentes Resolve riscos mais cedo Economia de escala

20 20

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 caractersticas, experimenta a arquitetura Construction - Construo do produto Transition - Implanta o produto para a comunidade de usurios finais

21 21

Fronteiras das fases so Marcos de Projeto


Inception Elaboration Construction Transition

tempo LCO LCA IOC PR

O RUP tem 4 grandes marcos de projeto:


Lifecycle objetive - Caracteriza uma concepo inicial Lifecycle architecture - Define a obteno de uma arquitetura Initial operational capability - Caracteriza final de construo Product release - liberao geral do produto

22 22

Uma Fase pode ter vrias Iteraes


Inception Elaboration Construction Transition

Iterao preliminar

Iterao Arquit.

Iterao Arquit.

Iterao Desen.

Iterao Desen.

Iterao Desen.

Iterao Iterao Liberao Liberao

Marcos menores: Releases

Uma iterao uma sequncia definida de atividades com um plano e critrios estabelecidos, resultando em uma verso de executvel (interno ou externo)

23 23

Uma Iterao um Ciclo de Gerao de Release


Inception Elaboration Construction Transition

Iterao preliminar

Iterao Arquit.

Iterao Arquit.

Iterao Desen.

Iterao Desen.

Iterao Desen.

Iterao Iterao Liberao Liberao

Anlise de requisitos

Design

Codificao e teste

Integrao de subsistema

Teste de sistema

Avaliao

A Iterao executa o ciclo completo de criao de uma parte do sistema, gerando o executvel correspondente. Esta parte do sistema definida pelos Casos-de-Uso escolhidos para essa iterao.

24 24

Desenvolvimento tradicional (Waterfall)


Anlise de Requisitos Anlise & Design Codificao & Teste Teste de Subsistema Teste de Sistema TEMPO

25 25

O Ciclo de vida iterativo Espiral, no Waterfall


Inception Elaboration Construction Transition

R I T

R C I T

R C I T

R C I T

Anlise de Requisitos Anlise & Design Codificao & Teste Teste de Subsistema Teste de Sistema

26 26

Caractersticas do desenvolvimento waterfall


w Atrasa a confirmao de uma possvel soluo dos riscos crticos w Mede o progresso diagnosticando os produtos de trabalho, que so previsores muito pobres do tempo para completar o projeto (ou do estado do projeto) w Atrasa e aglutina os testes com a integrao w Dificulta ou impede a liberao intermediria w Resulta frequentemente em iteraes no planejadas

Processo em Cascata
Anlise de requisitos Design Codificao e teste Integrao de subsistema Teste de sistema

27 27

Resultados do desenvolvimento waterfall


Atividades sequenciais:
Requisitos Design Codificao Integrao Teste

100%

Progresso do desenvolvimento

Incio da Integrao Bum!

em % de codificao)

Ajuste tardio de Design Perda de Controle

Data de Entrega Original

Tempo de Projecto

28 28

Caractersticas do desenvolvimento iterativo


w w w w w Resolve os maiores riscos antes dos maiores investimentos Capacita o feedback de usurio mais cedo Torna o teste e a integrao contnuos Focaliza objetivos de curto prazo Torna possvel a entrega de implementaes parciais
Iteration 1
R D C I T

Iteration 2
R D C I

Iteration 3
R D C I T T

Tempo

29 29

O waterfall atrasa a reduo do risco

R I S C O

Anlise de Requisitos Anlise & Design Codificao & Teste Teste de Subsistema Teste de sistema

TEMPO

30 30

O iterativo-controlado acelera a reduo de risco

R I S C O

Iterativo-controlado

Waterfall

Iterao

Iterao

Iterao

Iterao

Iterao

Iterao

Iterao

TEMPO

31 31

Perfil da reduo de risco


Inception
Alto Exposio de Riscos do Projeto

Elaboration

Construction

Transition

Perodo de Riscos Controlados

Perfil de risco do projeto Iterativo-Controlado Perodo de Explorao dos Riscos

Perfil de risco do projeto Convencional (Waterfall)

Perodo de Resoluo dos Riscos Ciclo de Vida do Projeto

Baixo

32 32

Aplicamos o waterfall iterativamente, em incrementos


Elaborao Iterao 1 Iterao 2 Iterao 3

R D C T

R D C T TEMPO

R D C T

Iteraes iniciais abordam os maiores riscos Cada iterao produz uma verso executvel, um incremento adicional ao sistema Cada iterao inclue integrao e testes acumulativos

33 33

Um ciclo do processo iterativo


Requisitos Anlise e Design Planejamento Implementao Planejamento Inicial Ambiente de Gerenciamento Teste Avaliao Implantao
Sobre este ambiente a disciplina de Project Management ir atuar

34 34

Grfico Modelo de Iterao (humpback whale chart)


Disciplinas de Processos
Business Modeling Requirements Analysis & Design Implementation Test Deployment

Fases
Inception Elaboration Construction Transition

Disciplinas de Suporte
Configuration & Change Mgmt Project Management Environment
Iteraes preliminares Iter. #1 Iter. #2 Iter. #n Iter. Iter. #n+1 #n+2 Iter. #m Iter. #m+1

Iteraes

35 35

O RUP integrado com ferramentas Rational


SoDA
Mentores de ferramentas Modelos de documento

TestManager
Mentores de ferramentas Modelos de teste

Robot
Mentores de ferramentas Modelos de teste

Rose
Mentores de ferramentas Scripts degerao de relatrios conesde esteretipos

ClearCase
Mentores de ferramentas Diretrizes de GM

ClearQuest
Diretrizes de Rastreamento de Defeitos Mentores de ferramentas Mentores de ferramentas Modelos de requisitos

RequisitePro

Purify Quantify PureCoverage


Mentores de ferramentas

36 36

Anda mungkin juga menyukai