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.