16.4. Adjusting Subsystem Partitioning

Subsystems are a management convenience. Generally, the classes in a large domain are organized in closely related clusters. These clusters may be based on functional areas (product specification, ordering, shipping), user roles (customer, shipping clerk, credit manager), and so forth.

Assign classes to subsystems based on a logical organization of the work to model a domain. Change the subsystem partitioning when a subsystem becomes very large, a class diagram becomes difficult to read, or the number of spanning relationships and collaborations becomes excessive. Classes can easily be reassigned to different subsystems, subsystems can be split, and subsystems can be combined.

Get Executable UML: A Foundation for Model-Driven Architecture now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.