Top 10 Points to Avoid in Domain Modeling

 

10.    Don't immediately assign multiplicities to associations.

 

9.      Don't do such an exhaustive noun and verb analysis that you pass out along the way.

 

8.      Don't assign operations to classes without exploring use cases and sequence diagrams.

 

7.      Don't optimize your code for reusability before making sure you've satisfied the user's requirements.

 

6.      Don't debate whether to use aggregation or composition for each of your part-of associations.

 

5.      Don't presume a specific implementation strategy without modeling the problem space.

 

4.      Don't use hard-to-understand names for your classes, like cPortMgrIntf, instead of intuitively obvious ones, like PortfolioManager.

 

3.      Don't jump directly to implementation constructs such as friend relationships and parameterized classes.

 

2.      Don't create a one-for-one mapping between domain classes and relational database tables.

 

1.      Don't perform "premature patternization," which involves building cool solutions, from patterns, that have little or no connection to user problems.

 

 

From: Use Case Driven Object Modeling with UML: A Practical Approach by Doug Rosenberg with Kendall Scott. Addison-Wesley, New York, 1999. ISBN 0-201-43289-7