Valéria Maria LauandeMarç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.
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
PRINCIPAIS CARACTERÍSTICAS
•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
FASES DO CICLO DE VIDA
Concepção
Elaboração
Construção
Transição
tempo
ARQUITETURA DO RUP
MODELOS E DISCIPLINAS
Modelo de Use Case
Modelo de Análise
Modelo Projeto
Modelo Implantação
Modelo de Implementação
Modelo de Teste
Requisitos
Análise
Design
Implementação
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
ATIVIDADES
ARTEFATOS
FLUXO DE TRABALHO
define o comportamento e as responsabilidades assumidas por uma pessoa ou um conjunto de pessoas trabalhando em equipe.
tarefa que um indivíduo executa quando está exercendo um determinado papel e produz um resultado importante para o contexto do projeto.
seqüências de atividades que são executadas para a produção de um resultado valioso para o projeto.
pedaço de informação que é produzido, modificado ou utilizado em um processo.
EXEMPLOS
• Artefatos
• Papéis
• Atividades
Analista de sistemaProjetista
Projetista de testes
Planejar uma iteraçãoEncontrar casos de uso e atoresRever o projetoExecutar um teste de performance
Modelo de caso de usoCódigo fonte
DocumentosExecutáveis
Diagrama de SeqüênciaDiagrama de colaboração
• Fluxo de trabalho
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 esubsistemas, 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, operação e manutenção de software;
• 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-
de-Software-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