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)
- Desenvolvimento Iterativo
- Baseado em Casos de Uso
- 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:
- Concepção
- Elaboração
- Construção
- 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.