O documento fornece uma visão geral da metodologia RUP (Rational Unified Process), descrevendo suas principais características como um processo iterativo e incremental, guiado por casos de uso e baseado na arquitetura do sistema, com fases, iterações e atividades bem definidas.
2. Visão Geral do RUP
Objetivo
Depois desta aula você terá uma visão geral do
RUP (uma metodologia para desenvolvimento
de software), incluindo suas características e
seus componentes principais.
2/22
3. O que é o RUP?
O nome é uma abreviação de Rational Unified
Process
mas na verdade é
Processo + Métodos + Linguagem (UML)
e os autores argumentam que é
Framework para gerar processos
3/22
4. O que é o RUP?
Conjunto de atividades
bem definidas
com responsáveis
com artefatos de entrada e saída
com dependências entre as mesmas e ordem de
execução
com modelo de ciclo de vida
descrição sistemática de como devem ser realizadas
guias (de ferramentas ou não), templates
utilizando diagramas de UML
4/22
5. Características Principais do RUP
O desenvolvimento de sistemas seguindo o
RUP é
Iterativo e incremental
Guiado por casos de uso (use cases)
Baseado na arquitetura do sistema
5/22
6. O RUP é iterativo e incremental
O ciclo de vida de um sistema consiste de
quatro fases:
concepção
elaboração
construção
transição
tempo
Concepção (define o escopo do projeto)
Elaboração (detalha os requisitos e a arquitetura)
Construção (desenvolve o sistema)
Transição (implanta o sistema)
6/22
7. O RUP é iterativo e incremental
Cada fase é dividida em iterações:
Inception
Preliminary
iteration
Elaboration
Architect. Architect. Devel..
iteration iteration iteration
Construction
Devel..
iteration
Devel..
iteration
Transition
Transition
iteration
Transition
iteration
Minor Milestones: Releases
7/22
8. O RUP é iterativo e incremental
Cada iteração
é planejada
realiza uma seqüência de atividades (de
elicitação de requisitos, análise e projeto,
implementação, etc.) distintas
geralmente resulta em uma versão executável
do sistema
é avaliada segundo critérios de sucesso
previamente definidos
8/22
10. O RUP é guiado por casos de uso
Os casos de uso não servem apenas para
definir os requisitos do sistema
Várias atividades do RUP são guiadas pelos
casos de uso:
planejamento das iterações
criação e validação do modelo de projeto
planejamento da integração do sistema
definição dos casos de teste
10/22
11. O RUP é baseado na arquitetura do
sistema
Arquitetura
visão geral do sistema em termos dos seus
subsistemas e como estes se relacionam
A arquitetura é prototipada e definida logo nas
primeiras iterações
O desenvolvimento consiste em complementar
a arquitetura
A arquitetura serve para definir a organização
da equipe de desenvolvimento e identificar
oportunidades de reuso
11/22
12. O RUP é baseado na arquitetura do
sistema
Idealmente, tem-se 5 visões da arquitetura
Logical
View
Analysts/
Designers
Structure
End-user
Functionality
Process
View
System integrators
Performance Scalability
Throughput
Implementation
View
Programmers
Software management
Deployment
View
System Engineering
System topology
Delivery,installation
Communication
12/22
13. Organização do RUP
Fluxos de atividades
Atividades
passos
entradas e saídas
guias (de ferramentas ou não), templates
Responsáveis (papel e perfil, não pessoa)
Artefatos
13/22
15. Elicitação de Requisitos
Analista de
Sistema
Desenvolver
Elicitar
Documento de
necessidades
Visão
dos Stakeholders
Gerenciar
Dependências
Encontrar Atores e
Capturar um Casos de Uso
vocabulário comum
Detalhar UC
Especificador
de UC
Revisor de
Requisitos
Revisar os
Requisitos
Prototipar a
Modelar a
Interface com o Usuário
Interface com o Usuário
Projetista da
Interface com o Usuário
Arquiteto
Estruturar o
Modelo de UC
Priorizar UC
15/22
16. Análise e Projeto (Simplificado)
Projetar
arquitetura
Arquiteto
Revisor do
projeto
Projetar
subsistema
Projetista
Projetista de
banco de
dados
Analisar
caso de
uso
Projetar
caso de
uso
Projetar
classes
Revisar
projeto
Projetar
base de
dados
16/22
17. Implementação
Integrar Sistema
e Subsistemas
Planejar Integração
Integrador do
Sistema e
Subsistemas
Corrigir
Defeitos
Programador
Estruturar Modelo de Implementar Realizar Testes
Implementação
Componentes de Unidade
Revisor de Código
Revisar
Código Fonte
17/22
18. Testes
Projetista de Testes Elaborar PlanoProjetar Testes
de Testes
Testador de Integração
Testador de Sistema
Programador
Avaliar Testes
Executar Testes
de Integração
Executar Testes de
Sistema
Implementar Testes
18/22
19. Resumo
O RUP é:
iterativo e incremental
guiado por casos de uso
baseado na arquitetura do sistema
organizado em fases, iterações, fluxos,
atividades e passos
19/22
20. Referências
Ivar Jacobson, Grady Booch e James
Rumbaugh. The Unified Software Development
Process. Capítulos 1 a 5.
Philippe Kruchten. The Rational Unified
Process – an Introduction.
20/22