Rational Unified Process
( Parte 1 )
Um Ponto de Mudança em Eng. de SW
Componentes de Software
Arquitetura
Processo
Ferramentas
2
Resumo
•
•
•
•
•
O que é o Rational Unified Process?
Arquitetura do Processo
Características chave do processo
Workflow do núcleo do processo
Implementando o processo
3
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;
4
Problemas Relacionados
• Descoberta tardia de defeitos sérios no projeto;
• Software que é difícil de manter e estender.
5
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.
Requisitos novos ou
mudados
Processo de Engenharia de
Software
Sistema novo ou
mudado
6
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
7
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.
8
Histórico do Processo
Teste de Desempenho
Engenharia de Negócios
Gerenciamento de
Configuração e
de Mudança
Engenharia de
Requisitos
OMT
Booch
Rational
Approach
Rational Unified
Process 5.0
Objectory
UI design
1998
Engenharia de Dados
Rational Objectory
Process 4.1
Rational Objectory
Process 4.0
UML 0.8
UML 1.1
10/1997
12/1996
Processo de
SQA
Objectory 1995
Process 3.8
9
RUP
+
Processo Online
Treinamento
Consultoria e
Mentoring
10
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
11
Duas Dimensões
Estrutura Estática
Estrutura Dinâmica
12
Fases no Ciclo de Vida
tempo
Concepção
Elaboração
Construção
Transição
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.
13
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
14
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
15
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”
16
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
17
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.
18
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.
19
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
20
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.
21
Iterações no Ciclo de Vida do
Software
Concepção
Elaboração
Iteração
da Arquit.
Construção
Iteração
Iteração
da Arquit. de Desenv.
Iteração
Iteração
de Desenv. de Desenv.
Transição
Iteração
Transição
Iteração
Transiçã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).
22
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
23
Uma Iteração
Em uma iteração você
caminha através de todos
workflows
24
Fases e Iteração
Pontos Planejados de Decisão (Negócios)
Estabelecer recursos para Estabelecer recursos para Produtos maduros o suficiente Aceitação ou
a fase de elaboração
a construção
para os consumidores usarem final da vida
(Entender a solução)
(Ter a solução)
(Entender o problema)
Concepção
Iteração
Preliminar
Elaboração
Iteração
da Arquit.
Construção
Iteração
Iteração
da Arquit. de Desenv.
Iteração
Iteração
de Desenv. de Desenv.
Transição
Iteração
Transição
Iteração
Transição
Pontos Planejados de Visibilidade (Técnico)
25
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
26
Estrutura Estática
27
Trabalhadores, Atividades, Artefatos
Trabalhador
Atividades
Projetista de
Use-Case
Artefato
Encontrar Distribuir comportamento
classes de projeto
responsável por
Use Case
Em termos de UML:
•Trabalhador:objeto ativo
•Atividade: operação sobre um trabalhador
•Artefato: parâmetro de uma atividade
28
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.
29
Exemplos de Trabalhadores
•
•
•
•
•
Analista de sistema;
Gerente de projeto;
Projetista de Use-Case;
Projetista de teste;
Instrutor de curso.
30
Trabalhadores e Pessoas
Recurso
Trabalhador
Paulo
Maria
João
Atividades
Projetista
Especificador
de Use-case
Projetista de Use-case
Revisor de Projeto
Sílvia
Arquiteto
Daniel
Cada indivíduo no projeto
é associado a um ou vários
trabalhadores
Definir Operações
Descrever um Use Case
Distribuir comportamento
Revisar o modelo de
use-cases
Definir uma visão de use-case
Definir uma visão lógica
31
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.
32
Exemplos de Atividades
•
•
•
•
Planejar uma iteração;
Encontrar use cases e atores;
Revisar o projeto;
Executar o teste de desempenho.
33
Passos
• Atividades são decompostas em passos
• Tipos de passos
– Passos de pensamento;
– Passos de realização;
– Passos de revisão.
34
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;
35
– Passo 7: Avaliar seus resultados.
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
36
Exemplo de Workflow
37
Nove Workflows Núcleo
38
Exemplo: Workflow de Modelagem de
Negócios
Captura um
Encontra atores e
Analista do Processo vocabulário comum UC do negócio
do Negócio
Descreve um
UC de Negócios
Projetista de
Negócio
Estrutura o modelo Revisor do
de UC do negócio modelo de
negócios
Revisa o modelo
de UC do negócio
Descreve um
trabalhador do negócio
Encontra trabalhadores
e entidades do negócio
Descreve uma
entidade do negócio
Revisa o modelo
de objetos do negócio
39
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.
40
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.
41
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.
42
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,...
43
Evolução dos Conjuntos nas Fases
Conjuntos “crescem” ao longo do ciclo de vida.
Fase
Concepção
M
R
D
I
Elaboração
D
M
R D
I
D
Construção
M
R
D
I
D
Transição
M
R D
I
M : Conjunto de Gerenciamento
R : Conjunto de Requisitos
D : Conjunto de Projeto
I : Conjunto de Implementação
D : Conjunto de Entrega
44
D
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)
45
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.
46
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
47
Guidelines
• Usados também para avaliar a qualidade dos
artefatos
• Feitos sob medida para a organização
48
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.
49
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.
50
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
51
Guidelines, Mentores, Templates
Rational Rose 98
Guideline de Projeto
Trabalhador
Mentor da ferramenta Rose
Atividades
Projetista
Encontrar classes de projeto
Distribuir comportamento
responsável por
Artefato
Realização de Use Case
Template de Use Case
52
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
53
Download

Apresentação RUP