You are on page 1of 32

1

Introdu
Introdu

o ao RUP
o ao RUP
Rational Unified Process
Rational Unified Process
por por Denize Denize Terra Pimenta Terra Pimenta
Outubro/2004 Outubro/2004
2
Contexto
No suficiente apenas a presena de
desenvolvedores altamente treinados:
Precisamos de uma linguagem para a equipe poder se
comunicar entre si e com os clientes (UML), alm disso
necessitamos de um guia organizacional: Um processo
(RUP).
Team-Based
Development
Modeling
Language
Unified
Process
3
O que UML (Unified Modeling Language) ?
A UML (Unified Modeling Language) o sucessor de um conjunto de mtodos de anlise e
projeto orientados a objeto (OOA&D).
A UML um modelo de linguagem, no um mtodo. Um mtodo pressupe um modelo de
linguagem e um processo. O modelo de linguagem a notao que o mtodo usa para
descrever o projeto. O processo so os passos que devem ser seguidos para se construir o
projeto.
O modelo de linguagem corresponde ao ponto principal da comunicao. Se uma pessoa quer
conversar sobre o projeto, como outra pessoa, atravs do modelo de linguagem que elas se
entendem. Nessa hora, o processo no utilizado.
A UML define uma notao e um meta-modelo. A notao so todos os elementos de
representao grfica vistos no modelo (retngulo, setas, o texto, etc.), a sintaxe do modelo
de linguagem. Um meta-modelo um diagrama de classe que define de maneira mais rigorosa a
notao.
A UML (Unified Modeling Language) uma linguagem-padro para a elaborao da estrutura de
projetos de software.
Pode ser empregada para a visualizao, especificao, construo e documentao de artefatos
que faam uso de sistemas complexos de software.
UML uma linguagem de modelagem, no uma metodologia.
4
O que RUP (Rational Unified Process) ?
um processo configurvel de
Engenharia de Software.
O RUP um guia para como usar
efetivamente a UML
5
RUP e CMM (Capability Maturity Model)
O objetivo do RUP assegurar uma produo
de alta qualidade de software, que realiza a
necessidade do usurio seguindo prazos e o
oramento.
Com o advento do CMM as organizaes
focalizam a qualidade em primeiro plano e o
RUP pode ser bastante til quando se quer
atingir nveis maiores.
6
Utilidade
O RUP, como processo de
desenvolvimento de software, tem 4
regras:
servir de guia;
especificar quais artefatos devem ser desenvolvidos e
quando devem ser desenvolvidos;
dirigir as tarefas individuais e do time como um todo;
oferecer critrios para monitorar e medir os produtos
e atividades do projeto.
7
Histrico RUP
Rational
Approach
Objectory
Process 3.8
Rational Objectory
Process 4.0
Rational Objectory
Process 4.1
Rational Unified
Process 5.0
Rational Unified
Process 5.5
Rational Unified
Process 2000
Rational Unified
Process 2002
UML 0.8
1995
1996
1997
1998
1999
2000
2002
UML 1.1
UML 1.2
UML 1.3
OMT + Mtodo Booch
SQA Process + Requirements College
Business Engineering
Web Based Development
Plug-ins - .NET, J2EE, ...
8
Processo Unificado
Dirigido por casos de uso
Baseado em componentes
Centrado em arquitetura
Iterativo e Incremental
Framework genrico de um processo de
desenvolvimento
9
Dirigido por casos de uso
Os casos de uso so utilizados como o
principal recurso para o estabelecimento
do comportamento desejado do sistema
(especificao) e para sua verificao e
validao (testes).
10
Baseado em componentes
A caracterstica principal do RUP ser
baseado em componente (parte fsica e
atualizvel do sistema), ou seja, o
software desenvolvido formado por
componentes de software que se
comunicam atravs de interfaces bem
definidas.
11
Centrado na arquitetura
No RUP os use cases e a arquitetura vo sendo
desenvolvidos em paralelo. O conceito de
arquitetura engloba os aspectos mais
relevantes, tanto estticos, como dinmicos, do
sistema.
12
Iterativo e Incremental
O RUP utiliza pequenos ciclos de projeto (mini-
projetos) que correspondem uma iterao e
que resultam em um incremento no software.
Iteraes referem-se a passos e incrementos a
evolues do produto.
UP repete vrios ciclos at o trmino do sistema
Cada ciclo de vida possui 4 fases:
Concepo,
Elaborao,
Construo, e
Transio.
13
Fases do Ciclo de Vida
tempo
Concepo Elaborao Construo Transio
Concepo Define o escopo do projeto e sua viabilidade
Elaborao Plano do Projeto, especificao de
caractersticas e definio de baseline da arquitetura
Construo Construo do produto
Transio Substituio do antigo sistema e implantao
do novo
14
Ciclo de Vida - Concepo
Fase de compreenso do problema e da tecnologia
atravs da definio dos use cases mais crticos. No final
desta fase deve-se ter definido o escopo do produto e
ter demonstrado que o projeto vivel do ponto de
vista do negcio da organizao.
Aps essa fase temos noo de quanto o sistema
custar e quanto ele trar de retorno. Teremos tambm
o plano de negcios definido.
O que o sistema deve fazer ?
Qual poderia ser a sua arquitetura ?
Qual o prazo e custo do desenvolvimento ?
15
Ciclo de Vida - Elaborao
Fase de descrio da arquitetura do software na
qual os requisitos que mais impactam na
arquitetura so capturados em forma de use
cases.
Identificao dos riscos do projeto (requisitos,
tecnolgicos, especializao e polticos)
No final da fase de elaborao deve ser possvel
estimar custos, elaborar o cronograma e o plano
de construo do sistema.
16
Ciclo de Vida - Construo
Fase na qual o software construdo e
preparado para a transio para os usurios.
Alm do cdigo, propriamente dito, tambm so
produzidos os casos de teste e a documentao.
17
Ciclo de Vida - Transio
a transio entre o sistema antigo e o novo.
Fase de treinamento dos usurios e transio do
produto para utilizao.
Ao final desta fase devemos ter:
Manuais revisados
Sistema de Informao implantado e monitorado
18
Iterativo e Incremental
Cada fase possui iteraes
Cada iterao gera um artefato ou um
conjunto deles (release)
Concepo Elaborao Construo Transio
Itera-
o1
Itera-
o n
...
Itera-
o n
Itera-
o n
Iterao n Itera-
o n
Itera-
o n
Itera-
o n
release release release release release release release produto
Qualquer tipo de
informao criada, modificada
ou usada por um processo.
19
Iterao e Workflow
Core Workflows
Requisito
Anlise
Desenho
Implemen-
tao
Teste
Fases
iter.
#1
iter.
# 2
iter.
#n
iter.
#n+1
ite r.
#n +2
it er.
#m
iter.
#m +1
Iterao
Preliminar
Uma iterao na
fase de Elaborao
Concepo Elaborao Transio Construo
Passos dentro de
uma iterao
20
Iterativo e Incremental
No to eficaz entender todo o
problema, desenhar toda a soluo, e
construir o sistema e ento testar o
produto em separado.
Um processo iterativo requerido para permitir um
entendimento crescente de todo o problema atravs de
sucessivos refinamentos.
21
Framework
O UP desenhado para ser flexvel e
extensvel
No existe Processo Universal
22
Modelos e Workflow
Requisito
Anlise
Desenho
Implemen-
tao
Teste
Modelo de
Use Case
Modelo de
Anlise
Modelo
Projeto
Modelo de
Implementao
Modelo de
Teste
Modelo de
Implantao
23
Atividades ou Workflows
So atividades conduzidas em todas as fases de
um ciclo, variando de intensidade conforme a
fase.
Do origem aos artefatos do projeto.
Em cada fase so desenvolvidas vrias
atividades do processo
modelagem de negcio
levantamento de requisitos
anlise e projeto
implementao
testes...
24
Modelo de negcio, que estabelece o contexto do
sistema.
Primeira verso simplificada do Modelo de Caso de Usos,
Modelo de Anlise e Modelo de Design; opcionalmente
um esboo rudimentar dos Modelos de Implementao e
Teste.
Proposta inicial de uma descrio de arquitetura com
base nas vises dos modelos descritos acima.
Prottipo de prova-de-conceito, ou storyboards.
Lista de riscos
Concepo - Produtos
25
Concepo - Workflows
Requisitos: capturar os requisitos mais crticos (na forma de
casos de uso) e definir o escopo do sistema.
Anlise: analisar os requisitos e montar uma proposta para o
modelo de classes e objetos, com foco nas classes de
negcio, mais o glossrio.
Desenho: preparar o Modelo de Design ou storyboard,
apresentando um rascunho preliminar da arquitetura do
sistema: identificar os primeiros componentes, interfaces e
subsistemas, assim como o Modelo de Implantao.
Implementao: pode ser necessrio criar um prottipo
descartvel para demonstrar o caminho escolhido.
Testes: criar primeiros esboos de teste com base nas
informaes j adquiridas.
26
Elaborao - Produtos
Modelo de negcio completo descrevendo todo
o contexto do sistema.
Novas verses dos modelos: Casos de Uso,
Anlise, Design, Implementao e Implantao.
Verso preliminar do manual de usurio
(opcional).
Previso do custo de implementao.
Cronograma de implementao.
27
Elaborao - Workflows
Requisitos: encontrar, priorizar, detalhar e estruturar os Casos de
Uso, capturando aproximadamente 80% dos requisitos.
Anlise: detalhar as classes de negcio, fazer o particionamento em
pacotes, atualizar o glossrio e refinar os Casos de Uso.
Design: fazer o design dos Casos de Uso, classes e subsistemas
para estabelecer uma estrutura bsica do sistema. Pacotes de
anlise e subsistemas de design, so importantes. So
considerados: sistema operacional, linguagem, banco de dados,
distribuio de objetos, etc..
Implementao: implementar e testar os componentes
arquiteturalmente significantes. Eventualmente criar prottipos para
testar alguma nova tecnologia.
Testes: planejar e especificar os testes, definindo casos de teste e
rotinas de teste.
28
Construo - Produtos
Primeira verso do manual de usurio,
juntamente com o help, manual de
operao e instalao devero ser
esboados. Material para curso e
treinamento.
Verso beta do sistema disponibilizada.
29
Construo - Workflows
Requisitos: capturar os requisitos remanescentes, refinando
Casos de Uso e cenrios
Anlise: capturar algum detalhe que passou despercebido nas
classes pertinentes ao negcio.
Design: refinar os casos de uso e cenrios remanescentes
com base na tecnologia utilizada.
Implementao: codificar e integrar componentes,
priorizando os casos de uso mais importantes.
Testes: testar funcionalidades e performance do sistema. Se
necessrio testar novos casos e rotinas de teste.
30
Distribuio - Objetivos
Verificar se os requisitos foram implementados
corretamente
Corrigir os problemas identificados pelos
usurios na verso beta e tomar as aes
necessrias para colocar o sistema em
produo.
Produzir e/ou atualizar:
Programas executveis
Documentao legal (contrato, garantia...)
Especificao tcnica
Manual do sistema, de administrao do sistema e material de
treinamento
31
Distribuio - Workflow
Requisitos: eventual correo da documentao
devido a bugs encontrados no sistema.
Anlise: eventual correo do modelo de anlise
devido a bugs encontrados no sistema.
Design: eventual correo do modelo de design
devido a bugs encontrados no sistema.
Implementao: eventual correo do cdigo
devido a bugs encontrados no sistema.
Testes: eventual correo do modelo de teste
devido a bugs encontrados no sistema.
32
RUP
RUP
Rational Unified Process
Rational Unified Process
por por Denize Denize Terra Pimenta Terra Pimenta
FIM

You might also like