Você está na página 1de 32

Introduo ao RUP Rational Unified Process

por Denize Terra Pimenta


Outubro/2004

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

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.

O que RUP

(Rational Unified Process)

um processo configurvel de Engenharia de Software. O RUP um guia para como usar efetivamente a UML

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.

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.

Histrico RUP
2002 Rational Unified Process 2002 Rational Unified Process 2000 Rational Unified Process 5.5 Rational Unified Process 5.0 Rational Objectory Process 4.1 Rational Objectory Process 4.0 Web Based Development UML 1.3 Business Engineering UML 1.2 SQA Process + Requirements College UML 1.1 OMT + Mtodo Booch UML 0.8 Plug-ins - .NET, J2EE, ...

2000 1999

1998

1997

1996

1995

Rational Approach

Objectory Process 3.8

Processo Unificado
Dirigido por casos de uso Baseado em componentes Centrado em arquitetura Iterativo e Incremental Framework genrico de um processo de desenvolvimento

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).

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.

10

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.

11

Iterativo e Incremental
O RUP utiliza pequenos ciclos de projeto (miniprojetos) 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.

12

Fases do Ciclo de Vida


Concepo
tempo

Elaborao

Construo

Transio

Concepo Elaborao caractersticas Construo Transio do novo

Define o escopo do projeto e sua viabilidade Plano do Projeto, especificao de e definio de baseline da arquitetura Construo do produto Substituio do antigo sistema e implantao

13

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 ?

14

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.

15

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.

16

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

17

Iterativo e Incremental
Cada fase possui iteraes
Concepo
Iterao1 ...

Elaborao
Iterao n

Construo
Iterao n Iterao n

Transio
Iterao n Iterao n

Itera- Iterao n o n

release

release

release

release

release release release

produto

Cada iterao gera um artefato ou um conjunto deles (release)

Qualquer tipo de informao criada, modificada ou usada por um processo.

18

Iterao e Workflow
Core Workflows
Requisito

Passos dentro de uma iterao

Fases
Concepo Elaborao Construo Transio

Anlise

Uma iterao na fase de Elaborao

Desenho Implementao Teste

Iterao Preliminar

ite r. #1

ite r. #2

ite r. #n

ite r. #n+1

ite r. #n +2

ite r. #m

ite r. #m +1

19

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.

20

Framework

O UP desenhado para ser flexvel e extensvel


No existe Processo Universal

21

Modelos e Workflow
Requisito
Modelo de Use Case Modelo de Anlise Modelo Projeto Modelo de Implantao
Modelo de Implementao

Anlise

Desenho Implementao Teste

Modelo de Teste

22

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...

23

Concepo - Produtos
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

24

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.

25

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.

26

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.

27

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.

28

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.

29

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

30

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.

31

FIM

RUP Rational Unified Process

por Denize Terra Pimenta

32

Você também pode gostar