h2 RUP: O Processo Unificado para Desenvolvimento de Software

Classificado em Tecnologia

Escrito em em português com um tamanho de 3,82 KB

Rational Unified Process (RUP)

Processo

  • Conjunto de passos que tem como objetivo atingir uma meta.
  • Processo de software – na Engenharia de Software (ES), processo que visa a produzir o software de modo eficiente e previsível, gerando um produto de qualidade.

RUP

  • Processo unificado de desenvolvimento de software: UP (Unified Process).
  • Definido como um framework para gerar processos (metamodelo).
  • Processo + Métodos + Linguagem (UML).

Principais Características do RUP

  • Baseado em componentes.
  • Utiliza UML para especificar, modelar e documentar artefatos.
  • Guiado por casos de uso.
  • Centrado na arquitetura.
  • Iterativo.
  • Incremental.
  • Permite a customização e autoria de processos, ou seja, uma vasta variedade de processos, ou configuração de processos, podem ser obtidas a partir dele.
  • Configurável: pode ser adaptado (configurado) dependendo do tipo de software sendo desenvolvido, de características do ambiente de desenvolvimento (tamanho da equipe, técnicas usadas, etc.).
  • Não existe uma maneira exata de aplicar o RUP, pois ele pode ser aplicado de várias formas e será diferente em cada projeto e organização.
  • É bem definido e estruturado.
  • Define claramente quem é responsável pelo que, como as coisas devem ser feitas e quando fazê-las.
  • Provê uma estrutura bem definida para o ciclo de vida de um projeto, articulando claramente os marcos essenciais e pontos de decisão.

Princípios

  • Atacar os riscos cedo e continuamente.
  • Certificar-se de entregar algo de valor ao cliente.
  • Focar no software executável.
  • Acomodar mudanças cedo.
  • Liberar um executável da arquitetura cedo.
  • Construir o sistema com componentes.
  • Trabalhar junto como um time.
  • Fazer da qualidade um estilo de vida, não algo para depois.

Ciclos/Fases

  • Ciclo de Desenvolvimento - 4 fases:
    • Concepção (define o escopo do projeto)
    • Elaboração (define os requisitos e a arquitetura)
    • Construção (desenvolve o sistema)
    • Transição (implanta o sistema)
  • Vários ciclos se repetem até a aposentadoria do sistema.

Cada ciclo gera um produto liberado para uso.

Fases:

Cada fase é subdividida em iterações.

Concepção: É a primeira fase do processo, em que a ideia inicial para o desenvolvimento é levada até o ponto de ser - pelo menos internamente - suficientemente bem fundamentada para assegurar a passagem à fase de elaboração.

Elaboração: É a segunda fase do processo, quando a visão do produto e sua arquitetura são definidas. Os requisitos do sistema podem abranger desde declarações de caráter geral até critérios precisos de avaliação, em que cada requisito especifica determinado comportamento funcional ou não funcional e proporciona a base para a realização de testes.

Construção: 3ª fase do processo, em que o software chega a uma arquitetura baseline executável e destinada à transferência para a comunidade de usuários. Os requisitos do sistema e seus critérios de avaliação são sempre reexaminados com base nas necessidades comerciais do projeto e alocação de recursos.

Transição: 4ª fase do processo, em que o software chega às mãos dos usuários. Raramente o processo termina aqui, pois é quando o sistema é aprimorado continuamente, bugs são eliminados e acrescentadas novas características.

  • Um conjunto de artefatos (release) é gerado a cada iteração.
  • Um milestone (marco) é gerado a cada fase.

Entradas relacionadas: