A finalidade deste detalhe do workflow é refinar o design do sistema.

Tópicos


      Classe de Análise
Classe de
Análise
  Classe de Análise
Classe de
Análise
  Classe de Design
Classe de
Design
  Interface
Interface
Subsistema de Design
Subsistema
de Design
  Caso de Uso
Caso de
Uso
 
               
 
Designer
Designer
 

 
EJB (Enterprise Java Bean) Design
EJB (Enterprise
Java Bean)
Design

 
Design da Classe
Design da
Classe

 
Projetar Elementos de Teste
Projetar
Elementos
de Teste

 
Design do Subsistema
Design do
Subsistema

 
Design de Caso de Uso
Design de
Caso de
Uso

 
               
      Modelo de Design
Modelo de
Design
EJB (Enterprise Java Bean)
EJB (Enterprise
Java Bean)
  Modelo de Design
Modelo de
Design
Classe de Design
Classe de
Design
  Pacote de Design
Pacote de
Design
Classe de Testabilidade
Classe de
Testabilidade
  Subsistema de Design
Subsistema
de Design
Classe de Design
Classe de
Design
  Modelo de Design
Modelo de
Design
Realização de Caso de Uso
Realização
de Caso
de Uso
 
                  Interface
Interface
Modelo de Design
Modelo de
Design
     

      Mapa de Navegação
Mapa de
Navegação
Modelo de Design
Modelo de
Design
 
       
 
Revisor Técnico
Revisor
Técnico

 

 
Revisar o Design
Revisar
o Design

 
       
      Registro de Revisão
Registro
de Revisão
 


Descrição To top of page

Este Detalhe do Workflow tem as metas a seguir:

  • Refinar as definições dos elementos de design por meio da elaboração de 'detalhes' de como os elementos de design realizam o o comportamento exigido deles.
  • Refinar e atualizar as realizações de casos de uso baseadas no novo elemento de design identificado (isto é, manter atualizadas as realizações de casos de uso)
  • Revisar o design à medida que ele evolui

Informações Relacionadas To top of page

Esta seção fornece fornece links para informações adicionais relacionadas a este detalhe do workflow.

Sincronização To top of page

Inicia na fase de Elaboração. Passa pelas fases de Construção e de Transição.

Opcionalidade To top of page

Obrigatório

Como Formar Equipe Para o início da página

Em geral, uma pessoa ou uma equipe pequena é responsável por um conjunto de elementos de design, normalmente um ou mais pacotes ou subsistemas contendo outros elementos de design. Essa pessoa/equipe é responsável pelos detalhamentos do design para os elementos contidos no pacote ou subsistema: completar todas as definições de operações e de relacionamentos com outros elementos de design. A Atividade: Design de Classe tem como foco a refinação do design de passivos de design de classe, enquanto a Atividade: Design de Subsistema tem como foco a alocação de comportamento mapeado para o próprio subsistema nos elementos de design contidos (cápsulas classes ou subsistemas).

Os indivíduos responsáveis por projetar passivas também devem ter domínio da linguagem de implementação, assim como dos algoritmos ou tecnologias que a classe utilizará. As pessoas e as equipes responsáveis por subsistemas devem ser mais generalistas, capazes de tomar decisões quanto ao particionamento adequado da funcionalidade entre os elementos de design e de entender as permutas inerentes às várias alternativas de design.

À medida que cada elemento de design for refinado, as realizações de casos de uso precisarão ser refinadas para refletir a evolução das responsabilidades desses elementos. Em geral, uma pessoa ou uma pequena equipe é responsável pelo refinamento de uma ou mais realizações de casos de uso relacionadas. Ao adicionar ou refinar elementos de design, é preciso reconsiderar as realizações de casos de uso e fazê-las evoluir à medida que ficam desatualizadas ou que as melhorias no modelo de design permitam simplificá-las. As pessoas ou equipes responsáveis pelas realizações de casos de uso precisam ter amplo conhecimento do comportamento exigido pelos casos de uso e dos ajustes das diferentes abordagens para alocar esse comportamento nos elementos de design. Além disso, como são responsáveis pela seleção dos elementos que executarão os casos de uso, elas precisam ter um profundo conhecimento dos comportamentos externos (públicos) dos próprios elementos de design.

Diretrizes de Trabalho Para o início da página

Geralmente, aqui o trabalho é executado individualmente ou por pequenas equipes, com interações informais entre os grupos quando for necessário comunicar mudanças entre as equipes. À medida que se refinam os elementos de design, eles freqüentemente transferem responsabilidades entre si, o que requer mudanças simultâneas em muitos deles e em várias realizações de casos de uso. Por causa dessa interação de responsabilidades, é quase impossível que os membros da equipe de design trabalhem totalmente isolados. Para manter o esforço de design focado no comportamento exigido do sistema (conforme descrito nas realizações de casos de uso), surge um padrão característico de interação:

  • os elementos de design são refinados pelas pessoas ou equipes responsáveis
  • um pequeno grupo (talvez 2-5 pessoas) se reúne informalmente para calcular o impacto dos novos elementos de design em um conjunto de realizações de casos de uso existentes
  • no decorrer da discussão, identificam-se mudanças na realização dos casos de uso e nos elementos de design participantes
  • o ciclo se repete até que todo o comportamento necessário para a iteração seja projetado.

Como o próprio processo é iterativo, os critérios de 'todo o comportamento necessário para a iteração' variam dependendo da posição do ciclo de vida:

  • Na fase de elaboração, o foco deve ser nos comportamentos significativos do ponto de vista da arquitetura, sendo todos os outros detalhamentos totalmente ignorados (ou mais provavelmente apagados)
  • Na fase de construção, há um deslocamento em direção à abrangência e consistência do design, de modo que, ao final dessa fase, não exista nenhuma questão de design não solucionada.

Observe que o design para uma iteração não precisa ser completo antes do início das atividades de implementação e de teste. Implementar e testar parcialmente um design à medida que ele evolui pode ser um meio eficaz de validar e refinar o design, mesmo dentro de uma iteração.


Rational Unified Process   2003.06.15