Processo Unificado (PU): Conceitos, Elementos e Fases

Classificado em Tecnologia

Escrito em em português com um tamanho de 6,62 KB

Modelos de Desenvolvimento de Software

  • Modelo em Cascata
  • Modelo de Prototipagem
  • Modelo Evolucionário
  • Desenvolvimento Baseado em Componentes
  • Modelo de Métodos Formais
  • Programação Extrema

UML e Processo de Software

A UML (Unified Modeling Language) não define um processo padrão.

A habilidade de saber como criar um bom projeto é mais importante do que seguir um método ou processo oficial. Essa habilidade é adquirida dominando-se um conjunto de princípios e heurísticas para identificar e abstrair um conjunto relevante de objetos e atribuir responsabilidade a eles.

O que é o Processo Unificado (PU)?

  • O PU é um Processo de Software: conjunto de atividades executadas para transformar um conjunto de requisitos do cliente em um sistema de software.
  • É um arcabouço (framework) que pode ser personalizado de acordo com as necessidades específicas e recursos disponíveis para cada projeto.

Elementos Fundamentais do PU

Um processo descreve:

  • Quem (papel)
  • O quê (artefato)
  • Como (atividades)
  • Quando (disciplina)

Um processo em particular pode enfatizar, em determinados momentos, parte dos elementos envolvidos no processo.

Trabalhadores (Papéis)

Um trabalhador é alguém que desempenha um papel e é responsável pela realização de atividades para produzir ou modificar um artefato.

Exemplos: analista de sistemas, programador, testador, etc.

Atividades

Tarefa que um trabalhador executa a fim de produzir ou modificar um artefato.

Disciplinas

Descrevem as sequências das atividades que produzem algum resultado significativo e mostram as interações entre os participantes. São realizadas a qualquer momento durante o ciclo de desenvolvimento (Fases do PU).

Exemplos de Disciplinas:

  • Requisitos
  • Análise
  • Projeto
  • Implementação
  • Teste

Princípios Básicos do Processo Unificado (PU)

  1. Desenvolvimento Iterativo
  2. Baseado em Casos de Uso
  3. Centrado na Arquitetura

Desenvolvimento Iterativo e Incremental

O desenvolvimento de um software é dividido em vários ciclos de iteração, cada qual produzindo um sistema testado, integrado e executável.

Em cada ciclo ocorrem as atividades de análise de requisitos, projeto, implementação e teste, bem como a integração dos artefatos produzidos com os artefatos já existentes.

Figura extraída de Larman, 2004

Planejamento e Priorização

É necessário planejar quantos ciclos de desenvolvimento serão necessários para alcançar os objetivos do sistema. As partes mais importantes devem ser priorizadas e alocadas nos primeiros ciclos:

  • A primeira iteração estabelece os principais riscos e o escopo inicial do projeto, de acordo com a funcionalidade principal do sistema.
  • Partes mais complexas do sistema devem ser atacadas já no primeiro ciclo, pois são elas que apresentam maior risco de inviabilizar o projeto.

Duração dos Ciclos

O tamanho de cada ciclo pode variar de uma empresa para outra e conforme o tamanho do sistema (Por exemplo, uma empresa pode desejar ciclos de 4 semanas, outra pode preferir 3 meses).

Produtos entregues em um ciclo podem ser colocados imediatamente em operação, mas podem vir a ser substituídos por outros produtos mais complexos em ciclos posteriores.

Baseado em Casos de Uso

Um caso de uso é uma sequência de ações, executadas por um ou mais atores e pelo próprio sistema, que produz um ou mais resultados de valor para um ou mais atores.

O PU é dirigido por casos de uso, pois os utiliza para conduzir todo o trabalho de desenvolvimento, desde a captação inicial e negociação dos requisitos até a aceitação do código (testes).

Importância dos Casos de Uso no PU

Os casos de uso são centrais ao PU e a outros métodos iterativos, pois:

  • Os requisitos funcionais são registrados preferencialmente por meio deles.
  • Ajudam a planejar as iterações.
  • Podem conduzir o projeto.
  • O teste é baseado neles.

Centrado na Arquitetura

Arquitetura é a organização fundamental do sistema como um todo. Inclui elementos estáticos, dinâmicos, o modo como trabalham juntos e o estilo arquitetônico total que guia a organização do sistema.

A arquitetura também se refere a questões como desempenho, escalabilidade, reuso e restrições econômicas e tecnológicas.

No PU, a arquitetura do sistema em construção é o alicerce fundamental sobre o qual ele se erguerá e deve ser uma das preocupações da equipe de projeto. A arquitetura, juntamente com os casos de uso, deve orientar a exploração de todos os aspectos do sistema.

Por que a Arquitetura é Importante?

  • Ajuda a entender a visão global.
  • Ajuda a organizar o esforço de desenvolvimento.
  • Facilita as possibilidades de reuso.
  • Facilita a evolução do sistema.
  • Guia a seleção e exploração dos casos de uso.

As Quatro Fases do Processo Unificado (PU)

Cada um dos ciclos de desenvolvimento do PU é dividido em quatro fases:

  1. Concepção
  2. Elaboração
  3. Construção
  4. Transição

Fase 1: Concepção

  • Estabelecimento da viabilidade de implantação do sistema.
  • Definição do escopo do sistema.
  • Estimativas iniciais de custos e cronograma.
  • Identificação dos potenciais riscos que devem ser gerenciados ao longo do projeto.
  • Esboço da arquitetura do sistema, que servirá como alicerce para a sua construção.

Fase 2: Elaboração

Visa uma visão refinada do sistema, incluindo:

  • Definição dos requisitos funcionais.
  • Detalhamento da arquitetura criada na fase anterior.
  • Gerenciamento contínuo dos riscos envolvidos.

Estimativas realistas feitas nesta fase permitem um plano para orientar a construção do sistema.

Fase 3: Construção

O sistema é efetivamente desenvolvido e, em geral, tem condições de ser operado, mesmo que em ambiente de teste, pelos clientes.

Fase 4: Transição

  • O sistema é entregue ao cliente para uso em produção.
  • Testes são realizados e um ou mais incrementos do sistema são implantados.
  • Defeitos são corrigidos, se necessário.

Entradas relacionadas: