Você está na página 1de 72

RUP - Rational Unified

Process


Gensio Gomes Neto
Objetivos
Introduo
Caractersticas Principais do RUP
Fases & Ciclo de Vida
Disciplinas Bsicas e de Apoio
Framework
Descrio de Atividades
Artefatos
Guias

Introduo ao RUP


Tendncias...
Necessidade de sistemas cada vez
maiores e mais complexos.
Necessidade por Sofisticao
Sistemas cada vez mais adaptados s
necessidades dos usurios
Incluso de melhoramento substanciais
a cada verso
Exigncia de rapidez no
desenvolvimento
Competitividade de mercado.

Necessidades
Um processo integrado que:
Provenha guias
Direcione as tarefas
Especifique os artefatos
Oferea ferramentas e mtodos
Apresente critrios para
monitorar e medir o produto e
processo

A presena de um bem definido e bem
gerenciado processo o elemento que
diferencia os projetos produtivos dos
projetos mal sucedidos (Booch et al, 1999)

Processo Unificado
Framework genrico e adaptvel
uma grande classe de sistemas
Baseado em componentes
interconectados por interfaces
bem definidas.
Integrado a linguagem UML
Aspectos Diferenciais:
Direcionado por Casos de Uso
Centrado em Arquitetura
Iterativo e Incremental
Histrico do RUP
Abordagem da Ericsson
Objectory Process 1.0 - 3.8
1987-1995
UML
Abordagem da
Rational
IBM - Rational Unified Process
Rational Objectory Process 4.1
1996-1997
Rational Unified Process 5.0
Outras fontes
Prticas e Conceitos Chaves


Modelagem Visual
Iterativo e Incremental
Dirigido do Casos de Uso
Centrado em Arquitetura
Modelagem Visual
Porque Modelar ?
Um modelo uma viso simplificada do
sistema. Mostra a essncia do sistema
sobre uma perspectiva particular e
esconde detalhes no essenciais.
Serve para
Aumentar o entendimento de sistemas
complexos
Explorar e comparar diferentes projetos
Formar uma base para implementao
Capturar os requisitos precisamente
Comunicar as decises de forma no-
ambgua.
Modelagem Visual
UML
Uso de notaes grficas e textuais
semanticamente ricas para capturar elementos
do projeto de software
Permite o nvel de abstrao ser aumentado,
preservando uma sintaxe e semntica rigorosa
11
Iterativo-Incremental
R1
R2
R5
R3
R4
R7
R6
R1
R2
R5
R3
R4
R7
R6
It.1
It.2
It.3
Definio inicial
de requisitos
Planejamento de
iteraes
Desenvolvimento
de iterao N
Validao com
usurio da it. N
Plano iterao N
O desenvolvimento ocorre em vrias iteraes, cada uma
resultando em incrementos de funcionalidades do sistema.
Iterativo e Incremental
Benefcios
Anlise antecipada de riscos com a
integrao progressiva do sistema
Melhor acomodao de solicitaes de
mudanas
Maior qualidade devido ao
refinamento contnuo do produto
Melhor facilidade de aprendizagem e
amadurecimento do processo
Aumento da reusabilidade

Iterativo x cascata
Disciplinas das Iteraes
Bsicas
Requisitos (requirements)
Anlise & Projeto (analysis &
design)
Implementao (implementation)
Teste (tests)
Implantao (deployment)

Disciplinas das Iteraes
De Apoio
Ger. Projeto (Project management)
Ger. de Ambiente (Environment)
Ger. de Configurao e Mudana
(Configuration and change
management)
Integrao entre as Disciplinas
Fonte: Rational
Iteraes no RUP
Fonte: Rational
Processo
Dirigido por Casos de
Uso
Casos de Uso so utilizados para
conduzir todo o processo de
software.

Serve de base para a gerao e
integrao dos diversos modelos e
artefatos produzidos em todas as
etapas do processo

Diagrama de Casos de Uso
Casos de Uso
Especificao (Pro.Net)
Nome do requisito [RFXX001]
Prioridade: (Essencial, Importante, Desejvel)
Ator(es)
Requisitos associados
Descrio:
Explicao do propsito do caso de uso
Desenhos ou rascunhos das telas da aplicao,
ou captura das telas dos prottipos
Pr-condies:
Estado em que a aplicao deve estar ou um
fator externo necessrio para que o caso de
uso possa ser realizado
Ps-condies:
Lista de possveis estados em que a aplicao
pode ficar imediatamente aps o trmino da
execuo do caso de uso, ou alterao de um
fator externo aplicao.



Casos de Uso
Especificao (Pro.Net)
Fluxo principal
Descreve passo a passo o que os atores e a
aplicao fazem.
Especifica se este Caso de Uso inclui ou estende
outro.
Faz referncia a um fluxo alternativo ou de erro
caso haja necessidade devido a alguma
condio.
Fluxos alternativos
[FA 001] <Descreve uma seqncia que foge ao
fluxo principal descrito, mas que no um
erro.>
Fluxos de erro
[FE 001] <Descreve os passos a serem
seguidos para cada situao de erro identificada
(ex: consulta a dados que deveriam estar no
banco, falha na comunicao via rede etc.)>


Casos de Uso
so usados para ...
Modelar o processo do negcio
Especificar requisitos
Planejar iteraes
Realizar os modelo de projeto
Implementar os componentes e seus
casos de teste
Descrio dos manuais e/ou
procedimentos de uso e instalao
Arquitetura de
Software
Proporciona uma perspectiva mais
clara do sistema.
Melhor compreenso e organizao do
sistema
Base slida para o desenvolvimento
Descreve a estrutura de como os
requisitos devem ser implementados

Uma arquitetura de software (em
algum ponto no tempo) uma
organizao ou estrutura de
componentes que interagem entre si
atravs de interfaces.
IEEE
Estrutura de
Camadas
Componentes
Parte encapsulada do sistema.
no trivial, com certa independncia e
passvel de substituo que satisfaz
uma clara funcionalidade
Oferecem interfaces bem-definidas
que permitem prover e esconder
servios e informaes.
Diferentes Vises de
uma Arquitetura
Viso da estrutura do sistema sobre
o ngulo de stakeholders especficos
usurios, analistas,
desenvolvedores, etc.
Vises Tpicas
Viso de Casos de Uso
Viso Lgica
Viso de Implementao
Viso de Processo
Viso de Implantao
Viso de Casos de Uso
Conjunto de Casos de Uso que englobam
comportamentos e riscos que devem ser
levados em considerao pela arquitetura.
Viso Lgica
Classes de projeto mais importantes e
sua organizao em pacotes e
subsistemas, que por sua vez so
estruturados em camadas.
Demais Vises Tpicas
Viso de Implementao:
organizao dos mdulos em pacotes e
camadas.
Viso de Processos:
descrio das threads (linhas de
execuo) e suas interaes e
configuraes.
Necessria quando existe alto grau de
concorrncia.
Viso de Implantao:
descrio dos ns fsicos (hardwares)
para as configuraes de plataforma
RUP: Um Processo Centrado em
Arquitetura de Software
RUP oferece uma forma metodolgica de
projetar, desenvolver e validar uma arquitetura
Arquitetura construda atravs de refinamentos
sucessivos
Inicia-se com um prottipo de
arquitetura executvel e gradualmente se
torna um sistema.
Serve para demonstrar funes especficas
Em particular aquelas que satisfazem
requisitos no funcionais.
Serve para analisar riscos
Relacionados a desempenho, capacidade,
confiabilidade, entre outros.
Importncia de uma
Arquitetura
Auxilia no gerenciamento da
complexidade do projeto e na
manuteno de sua integridade
Garante manutenabilidade e aderncia
a requisitos no funcionais
Base efetiva para o reuso em larga-
escala
Guia para a gerncia de projeto
Disciplinas Bsicas
e de Apoio
Modelagem do Negcio
Entender a estrutura e dinmica
da organizao (contexto)
Especificao de
Casos de Uso de negcio
Modelo de anlise de negcio
Requisitos
Especificao de Requisitos
descrever o qu o sistema deve fazer, em
acordo com o cliente e usurios
Especificao do detalhamento dos
Requisitos atravs de Casos de Uso
Delimitar o escopo do sistema e prover
uma base para o planejamento das
iteraes
Definir prottipos de interface com o
usurio

Requisitos
Artefatos Gerados
Software
Requirement
Specification
Use Case
Model
Glossary
Stakeholder
Request
Storyboard
Suplementary
Specification
Casos de Uso
Vision
escopo
Requisitos no
funcionais
Anlise e Projeto
Transformar os requisitos em um
modelo para implementao do
sistema
Encontrar uma arquitetura robusta
para o sistema
Anlise e Projeto
Fonte: Rational
Anlise
Casos de Uso so refinados e
estruturados do ponto de vista dos
desenvolvedores.
Desenvolvimento do modelo de
objetos
Diagrama de Classes,
Diagrama de colaborao,
descrio arquitetural

Projeto
Redefine e Cria Classes de
implementao
Aprofundamento dos nveis de detalhes
dos Casos de Uso e descries de
classes.
Diagramas de Sequncia
Agrupamento da classes em
Subsistemas.
Viso arquitetural completa.
Implementao
Implementar os componentes
necessrios.
Testar os componentes
implementados como unidades
Integrar os componentes
implementados em um sistema
executvel
Testes
Verificar a interao e integrao
dos componentes
Verificar se todos os requisitos
foram corretamente
implementados
Identificar defeitos e assegurar as
correes de acordo com as
prioridades de entrega de cada
componente
Implantao
Produzir o (que falta do) software
scripts de instalao, documentao para o
usurio, programas para converso de
dados, etc.
Embalar e distribuir o software
Instalar o software
Realizar migrao
troca de sistema antigo pelo novo,
converso de dados
Treinamento do usurio
Aceitao formal pelo cliente
Gerncia de Projeto
Prover um framework para
gerenciar projetos e riscos
Prover orientaes para o
planejamento de atividades,
definio da equipe, execuo e
monitorao de projetos
Planejamento e monitorao das iteraes!
Gerncia de Configurao
e Mudanas
Identificar, definir e manipular itens de
software
Controlar modificaes e verses destes
itens
Reportar e armazenar a situao dos
itens e as solicitaes de mudanas
Garantir a completude, consistncia e
corretude dos itens
Controlar o armazenamento,
manipulao e entrega destes itens
Configurao do Ambiente
Prover o processo e as ferramentas
necessrias ao desenvolvimento
Possveis Atividades:
configurar o RUP
desenvolver guidelines
selecionar e adquirir ferramentas
adaptar ou desenvolver ferramentas
suportar o ambiente de desenvolvimento
(backups, administrao de contas, etc.)
treinamento
implantao do RUP na organizao
Fases do RUP
Fases do RUP
O ciclo de vida de todo o projeto (no
de cada iterao) subdividido em
quatro fases:
Concepo, Elaborao, Construo e
Transio.
Cada fase pode possuir N iteraes.
Fases e Iteraes
Cada fase pode comportar diversas iteraes
Concepo Elaborao Construo Transio
tempo
Iterao
preliminar
1 2 i i+2 i+3 ... j j+1 ...
grandes marcos
Fases do RUP
Concepo Elaborao Construo Transio
Estabelecer o
escopo e
viabilidade
econmica do
projeto





Eliminar
principais
riscos e definir
arquitetura
estvel




Desenvolver o
produto at
que ele esteja
pronto para
beta testes





Entrar no
ambiente do
usurio







Marcos
Transio Elaborao Construo Concepo
Entendimento
do sistema
Arquitetura
estvel
Produto
operacional
Produto
implantado
Fases x Disciplinas do RUP
Fonte: Rational
Concepo (inspetion)
Estabelecer o escopo e os limites do
projeto
Identificar Casos de Uso principais
Realizar Planejamento Inicial
Analisar riscos crticos
Definir custos e cronogramas
Gerar Plano de Negcio (Business
Case)
Verificar viabilidade do projeto
Avaliar alguma arquitetura candidata
Preparar ambiente do projeto
Elaborao (Elaboration)
Garantir que a arquitetura, os requisitos
e os planos so estveis
Analisar riscos de forma que seja
possvel determinar o custo e o
cronograma do projeto
Estabelecer uma baseline para
arquitetura.
Produzir prottipos dos componentes
para analisar riscos, tais como
Balanceamentos entre requisitos
e projeto
Reuso de componentes
Analisar a viabilidade do produto
Construo (Construction)
Minimizar custos atravs da otimizao dos
recursos e evitando re-trabalho.
Alcanar qualidade de forma rpida e prtica
Concluir a anlise, projeto, implementao e
teste de todas as funcionalidades requeridas
Desenvolver de forma iterativa e
incremental um produto completo pronto
para ser instalado.
Alcanar um degrau de paralelismo no
trabalho dos times de desenvolvimento
Decidir se o software e os usurios esto
prontos para implantao.
Transio (Transition)
Beta testes para validao do sistema.
Treinamento dos usurios e mantenedores.
Estratgias de marketing, distribuio e
venda.
Avaliao da baseline de implantao com
relao a viso do sistema e o critrio de
aceitao do produto.
Alcanar a concordncia do usurio
Elementos Bsicos


Elementos Bsicos do RUP
Fonte: Rational
Atividade
Atividade uma unidade de
trabalho que um indivduo (ou
grupo) no papel de um trabalhador
deve executar
Uma atividade geralmente tem o
objetivo de criar / alterar artefatos
Atividades so divididas em passos
Atividades possuem guidelines
Capturar
Vocabulrio
Comum
Trabalhador
Representa o comportamento e
responsabilidades de um indivduo
ou de um grupo
As responsabilidades so
expressas em termos de atividades
Representa um papel
Analista de
Sistemas
Artefato
Um artefato um conjunto de
informaes que produzido,
modificado e usado pelo processo
Artefatos so utilizados como
entrada para os trabalhadores
executarem as atividades, que por
sua vez produzem artefatos de
sada
Glossrio
Fonte: Rational
Artefatos
do RUP
Workflows
Os fluxos de atividades do RUP so
descritos atravs de responsveis,
atividades e artefatos
Fonte: Rational
Modelagem do Negcio
Glossrio

Modelo de Casos de
Uso do Negcio

Modelo de Objetos
do Negcio
Fonte: Rational
Requisitos
Glossrio

Documento de Viso

Especificaes
Suplementares

Modelo de Casos de
Uso

Prottipo da
Interface
Fonte: Rational
Anlise e Projeto
Fonte: Rational
Anlise e Projeto
Fonte: Rational
Implementao
Modelo de
Implementao

Componentes
implementados

Subsistemas
implementados
Fonte: Rational
Testes
Plano de Teste

Modelo de Teste

Casos de Teste

Procedimentos de Teste

Lista de defeitos

Avaliao dos Testes
Fonte: Rational
Gerncia de Projeto
Plano de Negcios

Plano do Desenv. do
Software:
plano de mtricas
lista de riscos
plano do projeto
plano da iterao
Fonte: Rational
Gerncia de
Configurao e
Mudanas
Plano de gerncia
de configurao
Fonte: Rational
Concluses


RUP
Os 10s Atributos Essenciais
1. Desenvolver Viso
2. Planejamento
3. Analisar Riscos
4. Examinar Plano de Negcio (Business
Case)
5. Projetar Arquitetura de Componentes
6. Desenvolver de forma iterativa e
incremental
7. Avaliar regularmente os resultados
8. Gerenciar e controlar mudanas
9. Implantar produtos usveis
10.Adotar Processo que se adapte ao projeto