FDD: Processo 1: DMA-Desenvolver um Modelo Abrangente

É uma atividade inicial que abrange todo o projeto, realizada por membros do domínio do negócio e por desenvolvedores, sob a orientação de um modelador de objetos experiente, no papel de arquiteto-líder.

Realiza-se um estudo dirigido sobre o escopo do sistema e seu contexto. Então, são realizados estudos mais detalhados sobre o domínio do negócio para cada área a ser modelada. Após cada estudo dirigido sobre o domínio, pequenos grupos são formados por membros do domínio do negócio sendo estudado e por desenvolvedores, que comporão seus próprios modelos que satisfaçam o domínio em questão. Os pequenos grupos apresentam seus modelos para serem revisados por parceiros e para discussão. Um dos modelos propostos, ou uma combinação dos modelos, é selecionada por consenso, tornando-se, assim, o modelo para aquela área do domínio do negócio. Realiza-se, então, uma combinação do modelo da área do domínio dentro de um modelo abrangente, ajustando a forma do modelo se for necessário.

O modelo de objetos é, então, iterativamente atualizado em seu conteúdo pelo processo nº 4 “Detalhar por Funcionalidade”.


Critérios de Entrada

  • Os especialistas no domínio do negócio, os programadores-líderes e o arquiteto-líder foram selecionados.


Atividades


Formar a Equipe de Modelagem
Responsabilidade: Gerente do Projeto
Obrigatória

A equipe de modelagem é composta de membros permanentes das áreas do domínio do negócio e de desenvolvimento, especificamente os especialistas no domínio e os programadores-líderes. É feito um rodízio com os outros integrantes do projeto através das sessões de modelagem, de modo que todo mundo tenha a chance de participar e ver o processo em ação.


Estudo Dirigido Sobre o Domínio
Responsabilidade: Equipe de Modelagem
Obrigatória

Um especialista no domínio do negócio apresenta uma visão geral da área do domínio que será modelada. Essa apresentação deve também incluir informação que estiver relacionada a esta área do domínio, mas não necessariamente uma parte de sua implementação.


Estudar a Documentação
Responsabilidade: Equipe de Modelagem
Opcional

A equipe estuda os documentos de referência ou de requisitos disponíveis, tais como modelos de objetos, requisitos funcionais (tradicionais ou no formato de casos de uso), modelos de dados e guias do usuário.


Desenvolver o Modelo
Responsabilidade: Eq. Modelagem em Pequenos Grupos
Obrigatória

Formando grupos com não mais de três componentes, cada pequeno grupo comporá um modelo que suporte a área do domínio. O arquiteto-líder pode propor um modelo base para facilitar o progresso das equipes. Um membro de cada grupo apresenta o modelo proposto por seu grupo para a área do domínio. O arquiteto-líder também pode propor outros modelos alternativos. A equipe de modelagem seleciona um modelo proposto ou compõe um modelo pela combinação das idéias propostas nos modelos apresentados.


Refinar o Modelo de Objetos Abrangente
Responsabilidade: Arquiteto-Líder, Equipe de Modelagem
Obrigatória

Freqüentemente, o modelo de objetos abrangente é atualizado com novas formas de modelo produzidas pelas iterações da atividade “Desenvolver o Modelo” descrita acima.


Verificação


Avaliação Interna e Externa
Responsabilidade: Equipe de Modelagem, Negócio
Obrigatória

Realiza-se uma auto-avaliação ou uma avaliação interna através da participação ativa dos especialistas no domínio. Quando necessária, uma avaliação externa pode ser feita pedindo-se ao negócio (usuários) que confirme ou esclareça as questões que afetam o modelo.


Critérios de Saída

O resultado do processo é o modelo de objetos:

  • Diagramas de classes com foco na forma do modelo, isto é, quais classes estão no domínio, como estão conectadas umas às outras e sob quais restrições;
  • Métodos e atributos identificados são colocados nas classes;
  • Diagrama(s) de seqüência e/ou de máquina de estados, se houver;
  • Comentários sobre o modelo para registrar o motivo pelo qual uma forma de modelo foi escolhida e/ou quais alternativas foram consideradas.