Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de...

53
Rational Unified Process ( Parte 1 )

Transcript of Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de...

Page 1: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

Rational Unified Process( Parte 1 )

Page 2: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

2

Um Ponto de Mudança em Eng. de SW

Processo

Componentes de Software

Ferramentas

Arquitetura

Page 3: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

3

Resumo

• O que é o Rational Unified Process?• Arquitetura do Processo• Características chave do processo• Workflow do núcleo do processo• Implementando o processo

Page 4: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

4

Problemas Relacionados

• Processo não repetível - resultados imprevisíveis, e altamente dependentes de programadores heróicos;

• Software que preenche pobremente as necessidades dos usuários;

• Inabilidade para contar com mudanças nos requisitos;

• Procedimentos de teste caros e tediosos;

Page 5: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

5

Problemas Relacionados

• Descoberta tardia de defeitos sérios no projeto;• Software que é difícil de manter e estender.

Page 6: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

6

Processo de Desenvolv. de SW

• Processo - Um conjunto de passos parcialmente ordenados para alcançar um objetivo. Em Eng. SW, o objetivo é construir um produto de software ou melhorar um já existente.

Processo de Engenharia de Software

Requisitos novos ou mudados

Sistema novo ou mudado

Page 7: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

7

Rational Unified Process

• Fornece guias para o desenvolvimento eficiente de software de qualidade;

• Reduz riscos e aumenta a previsibilidade;• Captura e apresenta as melhores práticas• Promove uma cultura e visão comum;• Roadmap para usar ferramentas CASE com

sucesso

Page 8: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

8

Processo como um Produto

• Não apenas um livro texto, não apenas um outro método OOAD;

• Disponibilizado como um web site;• Melhorado continuamente através de atualizações

regulares.

Page 9: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

9

Histórico do ProcessoRational Unified

Process 5.0

Rational Objectory Process 4.1

Rational Objectory Process 4.0

UML 0.8

Teste de DesempenhoEngenharia de NegóciosGerenciamento deConfiguração e de Mudança

Engenharia deRequisitos

Processo deSQA

RationalApproach

Objectory Process 3.8

12/1996OMTBooch

10/1997UML 1.1

Engenharia de Dados

ObjectoryUI design1998

1995

Page 10: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

10

RUP

Processo Online

Treinamento

Consultoria eMentoring

+ Ferramentas de Suporte+

Page 11: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

11

Arquitetura do Processo

• Duas estruturas ortogonais:– Estrutura estática

• Trabalhadores, artefatos, atividades, workflows

• Configuração e autoria do processo

– Estrutura dinâmica• Estrutura do ciclo de vida: fases, iterações

• Realização do processo: planejamento, execução

Page 12: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

12

Duas DimensõesEstrutura Dinâmica

Est

rutu

ra E

stát

ica

Page 13: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

13

Fases no Ciclo de Vida

Concepção Elaboração Construção Transição

tempo

Concepção - Definir o escopo do projeto;Elaboração - Planejar o projeto, especificar as características e a baseline (linha base) da arquitetura;Construção - Construir o produto;Transição - Disponibilizar o produto para a comunidade de usuários.

Page 14: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

14

Fase de Concepção

• Critério de entrada– visão original, sistemas legados, necessidades

• Critério de saída– caso de negócio inicial

– formulação da visão do produto

– critério de sucesso

– avaliação do risco inicial

– estimativa de recursos para fase de elaboração

Page 15: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

15

Fase de Concepção

• Critério de saída (cont.)– Modelo de requisitos inicial, 10-20% completo

• 20% dos use cases dirigidos à concepção da arquitetura

– Protótipo da arquitetura inicial (opcional)

• Milestone: Objetivos do Ciclo de Vida

Page 16: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

16

Fase de Elaboração

• Critério de saída– Visão da baseline

– Modelos de requisitos, 80% completo• suficiente para chamar a arquitetura de “completa’

– Baseline executável da arquitetura

– Maiores riscos técnicos foram “eliminados”

Page 17: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

17

Fase de Elaboração

• Critério de saída (cont.)– Plano de desenvolvimento de software detalhado

• Riscos, plano de gerenciamento, alocação da equipe

• Planejamento das fases, mostrando suas iterações e conteúdos.

– Critério objetivo de avaliação mensurável das próximas iterações

• Milestone: Arquitetura do Ciclo de Vida

Page 18: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

18

Fase de Construção

• Para cada iteração:– Critério de entrada

• Plano de iteração;

• Use case, cenários;

• Riscos a tratar;

• Defeitos a consertar;

• Critérios objetivos e mensuráveis para avaliar os resultados.

Page 19: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

19

Fase de Construção

– Critério de saída• Produtos e artefatos, atualizados;

• Descrição do release;

• Casos de teste baseados em cenários, e resultados de testes;

• Plano de iteração para a próxima iteração.

Page 20: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

20

Fase de Construção

– Para iterações seguintes nesta fase• Plano de entrega

• empacotamento

• preço

• saídas planejadas

• suporte

• treinamento

• produção

• estratégia de transição

• documentação do usuário

– Milestone: Versão “beta” do software

Page 21: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

21

Fase de Transição

• Critério de saída– Artefatos e produtos anteriores, atualizados quando

necessário

– Análise post-mortem do desempenho da organização; produtos adicionais; evolução potencial.

• Milestone: “Release” do produto.

Page 22: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

22

Iterações no Ciclo de Vida do Software

Concepção Elaboração Construção Transição

Iteraçãoda Arquit.

Iteraçãoda Arquit.

Iteraçãode Desenv.

Iteraçãode Desenv.

Iteraçãode Desenv.

IteraçãoTransição

IteraçãoTransição

Milestones

Uma iteração é uma seqüência distinta de atividades com um plano de linha base (baseline) e critério de avaliação resultando em um release (interno ou externo).

Page 23: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

23

Uma Iteração como uma “Mini-Cascata”

Planejamento da Iteração

Requisitos

Análise e Projeto

Implementação

Teste

Preparação do Release

Iteração 3 Iteração 4 Iteração 5

Page 24: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

24

Uma IteraçãoEm uma iteração você

caminha através de todosworkflows

Page 25: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

25

Fases e IteraçãoPontos Planejados de Decisão (Negócios)

Estabelecer recursos para a fase de elaboração

Estabelecer recursos para a construção

Produtos maduros o suficiente para os consumidores usarem

Aceitação ou final da vida

Concepção Elaboração Construção Transição

Iteraçãoda Arquit.

Iteraçãoda Arquit.

Iteraçãode Desenv.

Iteraçãode Desenv.

Iteraçãode Desenv.

IteraçãoTransição

IteraçãoTransição

IteraçãoPreliminar

(Entender o problema) (Entender a solução) (Ter a solução)

Pontos Planejados de Visibilidade (Técnico)

Page 26: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

26

Iteração: Número e Duração

• Duração dirigida por+ tamanho da organização

+tamanho do projeto

- familiaridade com o projeto, maturidade

- simplicidade técnica

• 6 mais ou menos 3– Concepção: 0..1– Elaboração: 1..3– Construção: 1..3– Transição: 1..2

Page 27: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

27

Estrutura Estática

Page 28: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

28

Trabalhadores, Atividades, Artefatos

Projetista deUse-Case

Encontrarclasses de projeto

Distribuir comportamento

Trabalhador Atividades

Artefato

Use Case

Em termos de UML:•Trabalhador:objeto ativo•Atividade: operação sobre um trabalhador•Artefato: parâmetro de uma atividade

responsável por

Page 29: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

29

Conceito Chave: Trabalhador

• Um trabalhador (Worker) define o comportamento e responsabilidades de um indivíduo, ou um conjunto de indivíduos, trabalhando juntos como uma equipe.

• Comportamento: um conjunto de atividades coesivas.• Responsabilidade: usualmente definida relativa para

certos artefatos.• Um trabalhador é um ‘chapéu’ usado por

um indivíduo.• Em termos de OO: é um objeto ativo.

Page 30: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

30

Exemplos de Trabalhadores

• Analista de sistema;• Gerente de projeto;• Projetista de Use-Case;• Projetista de teste;• Instrutor de curso.

Page 31: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

31

Trabalhadores e Pessoas

Cada indivíduo no projetoé associado a um ou vários

trabalhadores

Recurso

Paulo

Maria

João

Sílvia

Daniel

Projetista Definir Operações

Especificador Descrever um Use Casede Use-case

Projetista de Use-case Distribuir comportamento

Revisor de Projeto Revisar o modelo de use-cases

Arquiteto Definir uma visão de use-case Definir uma visão lógica

Trabalhador Atividades

Page 32: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

32

Conceito Chave: Atividade

• Um trabalho que um trabalhador é convidado a executar;

• Granularidade: de poucas horas a poucos dias• Unidade de planejamento;• Repetido, quando necessário, em cada iteração;• Em termos de OO: uma operação sobre um

trabalhador.

Page 33: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

33

Exemplos de Atividades

• Planejar uma iteração;• Encontrar use cases e atores;• Revisar o projeto;• Executar o teste de desempenho.

Page 34: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

34

Passos

• Atividades são decompostas em passos• Tipos de passos

– Passos de pensamento;

– Passos de realização;

– Passos de revisão.

Page 35: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

35

Exemplo de Atividade• Atividade: Encontrar use-case e atores

– Passo 1: Encontrar atores;– Passo 2: Encontrar use cases;– Passo 3: Descrever como atores e use cases interagem;– Passo 4: Empacotar use cases e atores;– Passo 5: Apresentar o Modelo de Use Case em

Diagramas de Use Case;– Passo 6: Desenvolver um detalhamento do modelo de use

cases;– Passo 7: Avaliar seus resultados.

Page 36: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

36

Conceito Chave: Workflow

• Seqüências de atividades que produzem um resultado observável;

• Diferentes workflows– Workflows núcleo

– Workflows de iteração

• Em termos de OO: diagramas de interação ou diagramas de atividades

Page 37: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

37

Exemplo de Workflow

Page 38: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

38

Nove Workflows Núcleo

Page 39: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

39

Exemplo: Workflow de Modelagem de Negócios

Analista do Processodo Negócio

Captura um vocabulário comum

Encontra atores e UC do negócio

Estrutura o modelo

de UC do negócio

Revisor domodelo denegócios

Projetista deNegócio

Descreve um UC de Negócios

Encontra trabalhadorese entidades do negócio

Descreve um trabalhador do negócio

Descreve uma entidade do negócio

Revisa o modelode UC do negócio

Revisa o modelode objetos do negócio

Page 40: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

40

Conceito Chave: Artefato• Alguma informação que é produzida, modificada, ou

apenas utilizada por um processo.• Define uma área de responsabilidade.• Provavelmente é passível de controle de configuração.• Tipos de artefatos:

– Modelos;

– Documentos;

– Planos.

• Artefatos podem conter outros artefatos.

Page 41: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

41

Exemplo de Artefatos

• Modelo de projeto;• Classe;• Use Case;• Caso de teste;• Plano de desenvolvimento de software;• Release;• Documento de avaliação de status;• Lista de risco.

Page 42: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

42

Conjuntos: Agrupamento de Artefatos

• Conjunto de gerenciamento– Casos de negócio, plano de desenvolvimento de software,

documento de avaliação de status.

• Conjunto de requisitos– documento de visão, modelo de use cases, especificações

suplementares.

• Conjunto de projeto– modelo de projeto, modelo de teste, descrição da arquitetura.

Page 43: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

43

Conjuntos: Agrupamento de Artefatos

• Conjunto de implementação– Código fonte, executáveis,...

• Conjunto de entrega – Baseline do produto, manual do usuário, manual de

instalação,...

Page 44: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

44

Evolução dos Conjuntos nas FasesConjuntos “crescem” ao longo do ciclo de vida.

Fase

M R D I D M R D I D M R D I D M R D I D

Concepção Elaboração Construção Transição

R : Conjunto de Requisitos

M : Conjunto de Gerenciamento

D : Conjunto de Projeto

I : Conjunto de Implementação

D : Conjunto de Entrega

Page 45: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

45

Artefatos, Documentos, Relatórios

• Não é um “processo dirigido a documentos”;• Produz somente artefatos que serão usados;• Mantém o artefato na ferramenta mais apropriada, em

formato eletrônico (Rose, Excel, ReqPro, etc.);• Somente poucos artefatos são documentos;• Quando necessário extrai relatórios a partir das

ferramentas (ex: para revisão)

Page 46: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

46

Conceitos Adicionais

• Conceitos– Introduzem definições principais, idéias chave.

• Guidelines– Técnicas, regras, heurísticas, listas de checagem...

• Mentores de ferramentas– Ligação do processo com ferramentas específicas

• Templates– Para os principais artefatos.

Page 47: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

47

Guidelines

• Guidelines são regras, recomendações, heurísticas que suportam atividades e passos.– Atividades e passos devem ser bastante concisos e enxutos

– Guidelines descrevem artefatos bem-formados, focando na qualidade.

– Guidelines descrevem técnicas específicas• transformações de um artefato em outro

• uso de UML

Page 48: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

48

Guidelines

• Usados também para avaliar a qualidade dos artefatos

• Feitos sob medida para a organização

Page 49: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

49

Guidelines: exemplos

• Guidelines de modelagem– Artefatos bem-formados: classes, use cases, pacotes,

modelos

• Guidelines de programação– Programas bem-formados

• Guidelines de projeto de interface com o usuário– Interfaces fáceis de usar

• Checklists– Para revisão.

Page 50: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

50

Mentores de Ferramentas

• Similares a guidelines• Explicam como usar uma ferramenta específica para

executar uma atividade ou passos em uma atividade• Exemplos:

– RequisitePro: gerenciamento de requisitos

– Rational Rose: modelagem visual, usando UML

– SoDA: geração de documentação

– ClearQuest: gerenciamento de mudança, trilhagem de defeitos

– ... e mais.

Page 51: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

51

Templates

• Artefatos pré-definidos, protótipos– Templates para documentos do MS Word

– Templates de planos do MS Project

– Templates para páginas html do processo

• Conectados à atividade que cria o artefato correspondente• Feitos sob medida para a organização

Page 52: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

52

Guidelines, Mentores, Templates

Trabalhador

Artefato

Realização de Use CaseTemplate de Use Case

responsável por

Projetista Encontrar classes de projeto Distribuir comportamento

Atividades

Mentor da ferramenta RoseGuideline de Projeto

Rational Rose 98

Page 53: Rational Unified Process ( Parte 1 ). 2 Um Ponto de Mudança em Eng. de SW Processo Componentes de Software Ferramentas Arquitetura.

53

Resumo

• Estrutura estática– Trabalhador, Atividade+Passo, Artefato

– Workflow

– Guideline, Template, mentor de ferramenta, conceito

• Estrutura dinâmica– Fase

• Milestone principal

– Iteração• Milestone secundário, release