Tópicos

Nomeando Interfaces Para o início da página

  • Nomeie a interface a fim de refletir o papel que ela desempenha no sistema.
  • O nome deve ser curto, com uma ou duas palavras.
  • Não inclua a palavra "interface" no nome; isso já está implícito pelo tipo de elemento do modelo (por exemplo interface)

Descrevendo Interfaces Para o início da página

  • A descrição deve indicar as responsabilidades da interface.
  • A descrição deve conter várias frases, formando no máximo um parágrafo curto.
  • A descrição não deve apenas reafirmar o nome da interface, mas sim esclarecer o papel que ela desempenha no sistema.

Definindo Operações Para o início da página

  • Os nomes de operação devem refletir o resultado da operação.
  • Quando uma operação define ou obtém informações, incluir set ou get no nome da operação é redundante. Atribua à operação o mesmo nome da propriedade do elemento do modelo que está sendo definido ou recuperado. Uma operação nomeada desta forma, sem parâmetros, recupera a propriedade; uma operação nomeada desta forma, com um parâmetro define a propriedade.

Exemplo

name() retorna o nome do objeto; name(aString) define o nome do objeto para aString.

  • A descrição da operação deve descrever o que a operação faz, incluindo os principais algoritmos, e o valor que ela retorna.
  • Nomeie os parâmetros da operação para que indiquem as informações que estão sendo transmitidas para ela.
  • Identifique o tipo do parâmetro.

Documentando Interfaces Para o início da página

O comportamento definido pela Interface é especificado como um conjunto de Operações. Talvez seja necessário fornecer informações adicionais:

  • Como as operações são usadas e a ordem de execução correspondente (mostrada por diagramas de seqüência de exemplo).
  • Os possíveis estados observáveis externamente nos quais pode estar o elemento do modelo que realiza a interface (ilustrados por uma máquina de estado, consulte Diretrizes: Diagrama de Estados).
  • Planos de teste e scripts que testam o comportamento de qualquer elemento do modelo que realize a interface.

Para agrupar e gerenciar essas informações, é necessário criar um pacote para conter a interface e todos os artefatos relacionados.

Dicas e Sugestões Para o início da página

Toda interface representa uma 'junção' no sistema: um local no qual o sistema pode ser "separado" e reconstruído ou reprojetado. As interfaces representam a separação da especificação do design ou da implementação. As interfaces bem estruturadas:

  • são simples mas completas, fornecendo todas as operações necessárias mas suficientes para especificar um único serviço
  • são compreensíveis, fornecendo informações suficientes para usar e realizar a interface sem que seja necessário examinar um uso ou uma implementação existente
  • são acessíveis, fornecendo informações que orientam o usuário para as principais propriedades sem importuná-los com os detalhes das operações

Ao projetar uma interface,

  • utilize a notação "pirulito" sempre que precisar simplesmente especificar a presença de uma junção no sistema. Na maioria das vezes, isso será necessário para subsistemas, não para classes.
  • Utilize a notação "classe" quando precisar apresentar os detalhes do próprio serviço. Na maioria das vezes, isso será usado para especificar os serviços oferecidos por um pacote ou um subsistema.


Rational Unified Process   2003.06.15