Valéria Maria Lauande
Março/2010
SUMÁRIO
• DEFINIÇÃO
• OBJETIVOS
• PRINCIPAIS CARACTERÍSTICAS
• FASES DO CICLO DE VIDA
• ARQUITETURA DO RUP
• CONCLUSÃO
• REFERÊNCIAS
DEFINIÇÃO
• O RUP(Rational Unified Process) é um processo de
desenvolvimento de software que possui um conjunto
completo de atividades que define quem faz o que,
quando e como.
• Ele usa uma abordagem de orientação a objetos em sua
concepção e é projetado e documentado utilizando a
notação UML para ilustrar os processos em ação.
• Suas características principais: Iterativo e Incremental
• Inicialmente desenvolvido e comercializado pela Rational,
e desde 2003 pertence a IBM.
OBJETIVOS
•O objetivo do RUP é assegurar uma
produção de alta qualidade de software,
que realiza a necessidade do usuário
seguindo prazos e orçamento.
PRINCIPAIS CARACTERÍSTICAS
Iterativo e Incremental
• O RUP utiliza pequenos ciclos de projeto (mini-projetos)
que correspondem à uma iteração e que resultam em um
incremento no software. Iterações referem-se a passos e
incrementos à evolução do produto.
• O UP repete vários ciclos de vida até o término do sistema.
• Cada ciclo de vida possui 4(quatro) fases.
– Concepção;
– Elaboração;
– Construção e
– Transição
FASES DO CICLO DE VIDA
Concepção
Elaboração
Construção
Transição
tempo
• Concepção: Define o objetivo do projeto e sua
viabilidade
• Elaboração: Plano do Projeto, especificação de
características e definição da linha de base da
arquitetura
• Construção: Construção do produto
• Transição: Substituição do antigo sistema e
implantação
ARQUITETURA DO RUP
MODELOS E DISCIPLINAS
Requisitos
Análise
Design
Implementação
Teste
Modelo de
Use Case
Modelo de
Análise
Modelo
Projeto
Modelo
Implantação
Modelo de
Implementação
Modelo de
Teste
ESTRUTURA ESTÁTICA
• A parte estática do RUP, é descrita através dos conceitos de
papéis, atividades, artefatos e fluxos de trabalho.
PAPÉIS
define o comportamento e as responsabilidades assumidas por uma
pessoa ou um conjunto de pessoas trabalhando em equipe.
ATIVIDADES
ARTEFATOS
tarefa que um indivíduo executa quando está exercendo um
determinado papel e produz um resultado importante para o
contexto do projeto.
pedaço de informação que é produzido, modificado ou
utilizado em um processo.
FLUXO DE TRABALHO
seqüências de atividades que são executadas para a
produção de um resultado valioso para o projeto.
EXEMPLOS
• Papéis
• Artefatos
Analista de sistema
Modelo de caso de uso
Projetista
Código fonte
Projetista de testes
Documentos
• Atividades
Planejar uma iteração
Encontrar casos de uso e atores
Rever o projeto
Executar um teste de performance
Executáveis
• Fluxo de trabalho
Diagrama de Seqüência
Diagrama de colaboração
PAPÉIS E ATIVIDADES
CONCEPÇÃO E WORKFLOWS
• Requisitos: capturar os requisitos mais críticos (na forma de
casos de uso) e definir o escopo do sistema.
• Análise: analisar os requisitos e montar uma proposta para o
modelo de classes e objetos, com foco nas classes de negócio,
mais o glossário.
• Design: 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 Implantação.
• Implementação: pode ser necessário criar um protótipo
descartável para demonstrar o caminho escolhido.
• Testes: criar primeiros esboços de teste com base nas
informações já adquiridas.
ELABORAÇÃO E WORKFLOWS
• Requisitos: encontrar, priorizar, detalhar e estruturar os Casos de
Uso, obtendo aproximadamente 80% dos requisitos.
• Análise: detalhar as classes de negócio, fazer o particionamento
em pacotes, atualizar o glossário e refinar os Casos de Uso.
• Design: fazer o design dos Casos de Uso, classes e subsistemas
para estabelecer uma estrutura básica do sistema. Pacotes de
análise e subsistemas de design, são importantes. São
considerados: sistema operacional, linguagem, banco de dados,
distribuição de objetos, etc..
• Implementação: implementar e testar os componentes
arquiteturalmente significantes. Eventualmente criar protótipos
para testar alguma nova tecnologia.
• Testes: planejar e especificar os testes, definindo casos de teste e
rotinas de teste.
CONSTRUÇÃO E WORKFLOWS
• Requisitos: capturar os requisitos remanescentes, refinando
Casos de Uso e cenários.
• Análise: capturar algum detalhe que passou despercebido
nas classes pertinentes ao negócio.
• Design: refinar os casos de uso e cenários remanescentes
com base na tecnologia utilizada.
• Implementação: codificar e integrar componentes,
priorizando os casos de uso mais importantes.
• Testes: testar funcionalidades e performance do sistema. Se
necessário testar novos casos e rotinas de teste.
TRANSIÇÃO E WORKSFLOWS
• Requisitos: eventual correção da documentação devido
a bugs encontrados no sistema.
• Análise: eventual correção do modelo de análise
devido a bugs encontrados no sistema.
• Design: eventual correção do modelo de design devido
a bugs encontrados no sistema.
• Implementação: eventual correção do código devido a
bugs encontrados no sistema.
• Testes: eventual correção do modelo de teste devido a
bugs encontrados no sistema.
CONCLUSÃO
Com a utilização de uma metodologia de
desenvolvimento de software como o RUP, é possível
obter:
• Qualidade de software;
• Produtividade no desenvolvimento,
manutenção de software;
operação
e
• Controle sobre desenvolvimento dentro de custos,
prazos e níveis de qualidade desejados;
• Estimativa de prazos e custos com maior precisão.
REFERÊNCIAS
• Sites na internet
– http://javafree.uol.com.br/artigo/871455/Obtendo-Qualidade-deSoftware-com-o-RUP.html
– http://www.wthreex.com/rup/portugues/index.htm
• Publicações sobre o assunto
– Apostila de RUP, disponível em:
http://www.analisetotal.com.br/Material/RUP/AulaRUP.pdf
– Processo Unificado RUP.pdf, disponível em:
http://www.laps.ufpa.br/yomara/paginav2/aps/processo%20unificado
%20rup.pdf
Download

RUP