 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 |