Processo Unificado - RUP

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:
    1. Atacar riscos cedo e continuamente.
    2. Entregar valor ao cliente em iterações curtas.
    3. Focar em software utilizável desde as primeiras versões.
    4. Promover reúso de componentes.
    5. 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.