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
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;
5
Problemas Relacionados
• Descoberta tardia de defeitos sérios no projeto;• Software que é difícil de manter e estender.
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
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
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.
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
10
RUP
Processo Online
Treinamento
Consultoria eMentoring
+ Ferramentas de Suporte+
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
12
Duas DimensõesEstrutura Dinâmica
Est
rutu
ra E
stát
ica
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.
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
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
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”
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
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.
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.
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
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.
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).
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
24
Uma IteraçãoEm uma iteração você
caminha através de todosworkflows
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)
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
27
Estrutura Estática
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
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.
30
Exemplos de Trabalhadores
• Analista de sistema;• Gerente de projeto;• Projetista de Use-Case;• Projetista de teste;• Instrutor de curso.
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
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.
33
Exemplos de Atividades
• Planejar uma iteração;• Encontrar use cases e atores;• Revisar o projeto;• Executar o teste de desempenho.
34
Passos
• Atividades são decompostas em passos• Tipos de passos
– Passos de pensamento;
– Passos de realização;
– Passos de revisão.
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.
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
37
Exemplo de Workflow
38
Nove Workflows Núcleo
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
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.
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.
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.
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,...
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
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)
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.
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
48
Guidelines
• Usados também para avaliar a qualidade dos artefatos
• Feitos sob medida para a organização
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.
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.
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
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
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