next up previous contents
Next: Fundamentos de C++ Up: Introdução a Orientação a Previous: Generalização e Herança   Sumário


Sugestões de desenvolvimento

Na construção de um modelo para uma aplicação, as seguintes sugestões devem ser observadas a fim de se obter resultados claros e consistentes:

  1. Não comece a construir um modelo de objetos simplesmente definindo classes, associações e heranças. A primeira coisa a se fazer é entender o problema a ser resolvido.

  2. Tente manter seu modelo simples. Evite complicações desnecessárias.

  3. Escolha nomes cuidadosamente. Nomes são importantes e carregam conotações poderosas. Nomes devem ser descritivos, claros e não deixar ambiguidades. A escolha de bons nomes é um dos aspectos mais difíceis da modelagem.

  4. Não ``enterre'' apontadores ou outras referências a objetos dentro de objetos como atributos. Ao invés disto, modele estas referências como associações. Isto torna o modelo mais claro e independente da implementação.

  5. Tente evitar associações que envolvam três ou mais classes de objetos. Muitas vezes, estes tipos de associações podem ser decompostos em termos de associações binárias, tornando o modelo mais claro.

  6. Não transfira os atributos de ligação para dentro de uma das classes.

  7. Tente evitar hierarquias de generalização muito profundas.

  8. Não se surpreenda se o seu modelo necessitar várias revisões; isto é o normal.

  9. Sempre documente seus modelos de objetos. O diagrama pode especificar a estrutura do modelo, mas nem sempre é suficiente para descrever as razões por trás da definição do modelo. Uma explicação escrita pode clarificar pontos tais como significado de nomes e explicar a razão para cada classe e relacionamento.

  10. Nem sempre todas as construções OMT são necessárias para descrever uma aplicação. Use apenas aquelas que forem adequadas para o problema analisado.


next up previous contents
Next: Fundamentos de C++ Up: Introdução a Orientação a Previous: Generalização e Herança   Sumário
Ivan Luiz Marques Ricarte 2001-06-01