Escolar Documentos
Profissional Documentos
Cultura Documentos
Passos
Requisitos
o Refinar a Definição do Sistema
Cada agregação de classe de fronteira oferece uma sugestão para a janela principal da
interface do usuário. Entretanto, lembre-se de que uma das metas durante a criação do
modelo de objetos é identificar as hierarquias de agregação mais superficiais. A
finalidade é, essencialmente, minimizar o número de janelas principais e, portanto, os
caminhos de navegação entre elas. Além de representarem uma carga de interação
desnecessária, os caminhos de navegação muito longos entre as janelas aumentam a
probabilidade de o usuário "se perder" no sistema. Idealmente, todas as janelas devem
ser abertas a partir de uma janela principal, o que resulta em uma navegação máxima
entre duas janelas. Tente evitar a navegação entre mais de três janelas.
A janela principal deve ser aquela que é aberta quando o usuário inicia o aplicativo.
Normalmente, ela permanece aberta durante a execução do aplicativo e é onde o usuário
passa uma considerável parte de seu "tempo". Como ela está sempre aberta e constitui o
primeiro contato do usuário com o sistema, ela é o veículo principal para impor o
modelo mental que o usuário tem do sistema.
A sugestão mais óbvia para a janela principal é definida pela classe de fronteira superior
na hierarquia de agregação. Por exemplo, a classe Documento em um editor de
documentos. Para obter detalhes, consulte Diretrizes: Classe de Fronteira. Se houver
várias hierarquias de agregação, escolha a que é mais importante para o usuário, ou seja,
onde ele passa a maior parte de seu tempo.
Quando a janela principal for identificada, considere as outras classes agregadas que
fazem parte das hierarquias de agregação e decida se elas devem ser as janelas
principais. A recomendação padrão é que elas devem ser janelas compostas, e não
janelas principais propriamente, se possível. Mais uma vez, o objetivo é minimizar o
número de janelas principais e, dessa forma, diminuir também os caminhos de
navegação entre elas. Além do mais, uma janela composta é, com freqüência, justificada
pelo fato de que seus componentes precisam aparecer juntos e manter uma relação
espacial com os componentes de outros compostos. Lembre-se de que o acesso é difícil
se forem usadas janelas (principais).
Exemplo:
Entretanto, freqüentemente, as agregações não podem ser todas projetadas como janelas
compostas devido às limitações de área da tela. Se não houver espaço para projetar
todas as agregações como compostas, tente ao menos projetar as seguintes agregações
como compostas:
Se uma janela principal contiver objetos de várias classes, será importante identificar os
"denominadores comuns" para essas classes, como, por exemplo, os tipos de atributo
contidos em todas as classes ou na maioria delas. Com a visualização de denominadores
comuns em alguma dimensão, o usuário pode relacionar objetos de diversas classes
entre si e verificar a existência de padrões. Dessa forma, a "largura de banda" da
interface do usuário aumenta bastante.
Exemplo:
Exemplo:
Algumas operações podem precisar de uma interação complexa com o usuário e, por
isso, justificar uma segunda janela para suas próprias atividades.
Exemplo:
Na maioria dos projetos, você deve usar todos os três tipos de implementação na ordem
listada acima. Essa ordem permite a incorporação de mudanças iniciais, pois o tempo de
implementação de cada um difere bastante (desenhos são bem mais rápidos de serem
criados e modificados do que executáveis). Entretanto, os desenhos não refletem
corretamente a área de tela limitada, eles podem conter mais detalhes do que o espaço
da tela.