Seguindo na linha de abordagens de conceitos importantes para a busca da Qualidade no processo de desenvolvimento de software, gostaria de lhes apresentar um padrão de processo de desenvolvimento amplamente aplicado chamado Processo Unificado (PU), em inglês Unified Process.
O PU surgiu como um processo iterativo/evolutivo popular para o desenvolvimento de software, visando a construção de sistemas orientado a objetos. (LARMAN, 2007).
O PU é um framework customizável e passível de adaptações. Inclusive, outros padrões comercias existentes usam como base o PU, contemplando apenas alguns refinamentos, dentre eles: Rational Unified Process (RUP da IBM), Agile Unified Process (AUP) e o Enterprise Unified Processo (EUP).
Conforme mencionado, o PU é um processo iterativo/incremental. Processos com estas características consistem em realizar o desenvolvimento organizado em uma série de miniprojetos curtos, de duração fixa (por exemplo, 4 semanas) chamados de iterações. O produto resultante de cada iteração é um sistema parcial, executável, testável e funcional. Cada iteração inclui suas próprias atividades de análise de requisitos, projetos, implementação e testes. Assim, o sistema vai sendo complementado a cada iteração e cresce incrementalmente, de forma evolutiva (LARMAN, 2007).
Um projeto PU organiza o trabalho e as iterações em quatro fases principais:
- Iniciação: visão aproximada, casos de negócio, escopo e estimativas vagas;
- Elaboração: visão refinada, implementação iterativa da arquitetura central, resolução dos riscos elevados, identificação da maioria dos requisitos e do escopo e estimativas mais realistas;
- Construção: implementação iterativa dos elementos restantes de menor risco e mais fáceis e preparação para a implantação;
Na FIGURA 1 é possível verificar este ciclo de desenvolvimento de forma gráfica.
O PU também é dividido em disciplinas que consistem nas atividades a serem executados em cada fase do processo de desenvolvimento. Em cada disciplina são elaborados artefatos cuja concepção garante o devido andamento do processo de desenvolvimento. A seguir são apresentadas as disciplinas do PU:
- Modelagem de Negócio: desenvolve-se o Modelo de Domínio, para visualizar conceitos importantes no domínio da aplicação;
- Requisitos: são criados os modelos de Caso de Uso (UC) e Especificação Suplementar (SER) para captar requisitos funcionais e não funcionais;
- Projeto: é criado o Modelo de Projeto para vislumbrar os objetivos do software;
- Implementação: codificação, construção do sistema;
- Testes: consiste em realizar a verificação do funcionamento da implementação realizada, de acordo com o modelo de UC elaborado;
- Desdobramentos: implantação do sistema;
- Gestão de Configuração e Mudança: aplicação de padrões de código-fonte, preparação de scripts de mudanças em base de dados;
- Gestão de Projetos: atualização dos checkpoints, dos cronogramas, da comunicação aos stakeholders;
- Ambiente: estabelecimento do instrumental e a personalização do processo para um projeto, ou seja, a preparação do ambiente do processo e das ferramentas necessárias.
Em próximas postagens pretendo abordar mais informações referentes ao uso de processos de software, principalmente o que tange o Agile Unified Process (AUP) que está tornando-se cada vez mais necessária num ambiente de fábrica de software.
Cordialmente,
Marcelo Schumacher
http://isosoftware.blogspot.com
Bibliografia:
LARMAN, Craig. Utilizando UMLe Padrões: Uma introdução à análise e ao projeto orientados
a objetos e ao desenvolvimento iterativo. Porto Alegre: Bookman, 2007;
Este comentário foi removido pelo autor.
ResponderExcluirHoje este post faz 10 anos, e eu estou lendo ele o/
ResponderExcluir