A place to discuss UML Packages
UML Definition: A package is a named general-purpose mechanism for organizing model elements, including, for instance, classes, use cases, diagrams, and/or other packages, into groups. A package is purely conceptual: it does not exist at run time. Each package within a model forms a namespace.
The more I use UML notation, the more valuable packages become for me.
Packages have many aspects.
- As units of abstraction, packages are a way to group related items. Packages can be nested, therefore you can have many levels of package granularity.
- Units of deployment should be reflected in packages. Packages group related model elements, so it's sensible to expect that software deployment units map fairly cleanly to packages in the UML model. (Note that, conversely, not all packages will map to units of deployment). Similarly, units of release, which are groups of deployment units, should be reflected by model packages.
- Packages are actually tools of tactical software design. We want packages change for as few reasons as possible. A poorly structured package will change every time anything in the application changes. OTOH a well structured package will change only when related software changes, and not when unrelated software changes.
Anyway, that's why I like UML packages. -- Steven Black
( Topic last updated: 2000.01.06 04:30:05 PM )