domingo, 30 de agosto de 2009

O RUP

Voltando a falar sobre Engenharia de Software, iniciaremos aqui uma série de posts sobre um processo de desenvolvimento bastante difundido no mercado - o RUP.

O RUP, abreviação de Rational Unified Process (ou Processo Unificado da Rational), é um processo proprietário de Engenharia de software criado pela Rational Software Corporation, adquirida pela IBM, ganhando um novo nome IRUP que agora é uma abreviação de IBM Rational Unified Process, fornecendo técnicas a serem seguidas pelos membros da equipe de desenvolvimento de software com o objetivo de aumentar a sua produtividade.

Essa metodologia é tida pelo mercado, como "pesada" em nível de atividades,processos, artefatos, etc, porém por ser uma metodologia adaptável, pode se adequar a projetos de qualquer magnitude.

O Rup toma como premissa 6 práticas de engenharia de software. São elas:

  • Desenvolvimento iterativo;
  • Gerenciamento de requisitos;
  • Arquitetura baseada em componentes;
  • Modelagem utilizando a UML como ferramenta;
  • Melhoria contínua de processos e produtos de software;
  • Configuração e gerenciamento de mudança.
Além dessas práticas existem outras premissas que o RUP segue:

  • Desenvolvimento orientado por caso de uso - Os casos de uso são o alicerce para o processo;
  • Configuração de processo - O processo é adaptável, podendo ser usado em pequenos e grandes projetos;
  • Suporte a Ferramentas - A Rational possui uma suite de ferramentas com objetivo de apoiar o processo.
O modelo RUP é constituído por três entidades fundamentais: trabalhadores (papéis), atividades e artefatos.

Fluxogramas relacionam as atividades e os papéis em sequências que produzem valiosos resultados.

Recomendações, modelos de documento e ferramentas complementam a descrição do processo fornecendo orientação detalhada aos profissionais que usam o RUP.

O modelo do RUP se baseia no modelo incremental e iterativo e procura resolver problemas clássicos do desenvolvimento de sistemas como: a mudança de requisitos, a falta de gerência de riscos, o estouro de prazos, a falta de produtividade e a falta de atualização de documentos.

Esses problemas são resolvidos pelo RUP, promovendo o desenvolvimento iterativo, o controle do processo através de fases e fatos e focando nas mudanças de ciclo das atividades de desenvolvimento.

O processo conta com 4 fases:
  • Concepção - levantar requisitos, definir o escopo do produto;
  • Elaboração - analisar os requisitos, modelar o produto a ser entregue e definir a arquitetura sobre a qual o produto será construído;
  • Construção - Implementação do produto;
  • Transição - produz a entrega do produto final.
Como o produto de software passa por vários ciclos de evolução, a cada iteração se passa por essas 4 fases produzindo-se sempre novas gerações mais evoluídas do produto em questão.

Em cada uma dessas 4 fases, são realizadas uma série de atividades(requisitos,projeto,implementação e avaliação) e essas atividades são revisitadas a cada iteração.

Na imagem abaixo, temos uma noção do processo como um todo e da intensidade das atividades no decorrer das fases do processo.


O RUP é entregue aos profissionais como um Web site interativo no qual se explica todo o método. Além desse web site, encontra-se informação sobre o RUP no livro "Introdução ao RUP Rational Unified Process" do autor Philippe Kruchten, traduzido e publicado pela editora Ciência Moderna.

Nos próximos posts, vamos falar detalhadamente sobre cada uma das fases presentes no processo de desenvolvimento de software proposto pelo RUP.

Até lá!

2 comentários:

Maiara Borges disse...

Olá,

O RUP se encaixaria como um modelo descritivo ou prescritivo?

[]'s

Maiara

Hugo Maia disse...

Maiara, na minha opinião como prescritivo.