The primary artifact of the analysis and design discipline is the design model. It consists of a set of collaborations of model elements that provide the behavior of the system. This behavior in turn is derived primarily from the use-case model and nonfunctional requirements. The design model consists of collaborations of classes, which may be aggregated into packages and subsystems to help organize the model and to provide compositional building blocks within the model. A class is a description of a set of objects that share responsibilities, relationships, operations, attributes, and semantics. A package is a logical grouping of classes, perhaps for organizational purposes, that reduces the complexity of the system. A subsystem is a kind of package consisting of a set of classes that act as a single unit to provide specific behaviors. For a very data-centric system, the design model may be complemented by a data model. |