Processo Unificado - RUP
O Rational Unified Process (RUP) é um framework de desenvolvimento de software iterativo e incremental, criado para apoiar o paradigma de orientação a objetos. Ele combina boas práticas de engenharia de software com a UML (Unified Modeling Language) para garantir qualidade, gerenciamento de riscos e entrega de valor contínua ao cliente.
Origem e Princípios
- Criado por: Jim Rumbaugh, Grady Booch e Ivar Jacobson ("os três amigos") em 1995, na Rational Software Corporation.
- Princípios-chave:
- Atacar riscos cedo e continuamente.
- Entregar valor ao cliente em iterações curtas.
- Focar em software utilizável desde as primeiras versões.
- Promover reúso de componentes.
- Trabalho em equipe integrado e qualidade como prioridade.
- Baseado em: UML para modelagem visual de sistemas.
"O RUP unifica o melhor de modelos tradicionais com abordagens ágeis, adaptando-se a projetos complexos." (Pressman, 2006)
Características do RUP
- Iterativo e Incremental: Dividido em iterações que produzem versões funcionais do software.
- Dirigido por Casos de Uso: Requisitos são capturados como cenários de interação (UML).
- Centrado na Arquitetura: Foco em definir uma arquitetura robusta desde a fase inicial.
- Focado em Riscos: Riscos críticos são tratados prioritariamente nas primeiras iterações.
Fases do RUP
| Fase | Objetivo | Artefatos Principais |
|---|---|---|
| Concepção | Definir viabilidade e escopo inicial. | Documento de Visão, Casos de Uso iniciais, Análise de Riscos. |
| Elaboração | Detalhar requisitos e projetar arquitetura. | Modelo de Casos de Uso, Protótipos, Descrição Arquitetural. |
| Construção | Implementar e testar funcionalidades. | Código-fonte, Testes, Manuais preliminares. |
| Transição | Implantar e ajustar no ambiente real. | Versão beta, Feedback dos usuários, Relatórios de teste. |
Fluxos de Trabalho
O RUP organiza atividades em 9 fluxos, sendo 6 de Engenharia de Software (ES) e 3 de Apoio/Suporte (AS):
Engenharia de Software
- Modelagem de Negócios: Entender o domínio do problema.
- Requisitos: Elaborar Casos de Uso e documentação.
- Análise e Desenho: Criar diagramas UML (Classes, Sequência, etc.).
- Implementação: Desenvolver código com reúso de componentes.
- Testes: Validar funcionalidades por iteração.
- Implantação: Configurar ambiente e liberar versões.
Apoio/Suporte
- Gerência de Configuração: Controlar versões de artefatos.
- Gerência de Projeto: Planejar iterações e monitorar riscos.
- Ambiente: Disponibilizar ferramentas para a equipe.
Vantagens e Desvantagens
Vantagens
- Redução de riscos antecipada.
- Documentação consistente via UML.
- Adaptável a projetos grandes e complexos.
Desvantagens
- Complexidade para projetos pequenos.
- Exige equipe experiente e gerentes qualificados.
- Custo elevado de implementação.
Integração com UML
O RUP utiliza a UML como linguagem padrão para modelagem, com diagramas como:
- Estruturais: Diagrama de Classes, Componentes, Implantação.
- Comportamentais: Casos de Uso, Atividades, Máquina de Estados.
- Interação: Sequência, Comunicação.
A Arquitetura 4+1 do RUP organiza os diagramas por visões: Lógica (Classes), Desenvolvimento (Componentes), Processos (Sequência), Física (Implantação) e Casos de Uso.