The name of each package is unique and descriptive of the collective responsibilities of the model elements which it contains
The package description accurately reflects the collective responsibilities of the model elements which it contains
The publicly visible classes of the package provide a single, logically consistent set of services
The dependencies between the package and other packages are consistent with relationships between contained classes
The package contents represent a consistent set of highly cohesive model elements, loosely coupled to elements in other packages
There are no opportunities to further sub-divide the package into sets of highly cohesive model elements by taking advantage of loose coupling within the package
The total number of packages is proportional to the total number of model elements
|