CS616 – Software Engineering II
An association class may be useful in the Domain Model if:
· An attribute is related to an association
· Instances of the association class have a life-time dependency on the association
· There is a many-to-many association between two concepts, and information associated with the association itself.
UML signifies an association using a dashed line:
ServiceContract and its attributes are related to the association between a Store and an AuthorizationService, and lifetime of service contract depends on the relationship
· Aggregation is a kind of an association used to model whole-part
relationships between things
· The whole is called the composite
· UML shows aggregation with a hollow or filled diamond at the composite end of the relationship:
· Composite aggregation (composition) means that the part only belongs to one composite object
· e.g. hand is composition relationship to a finger
· UML: filled diamond – composite solely owns the part:
· If multiplicity end is exactly one, the part may not exist separate from composite.
· If multiplicity end is 0 .. 1, the part may exist separate from composite.
Shared Aggregation – Hollow Diamond
· Shared aggregation means that the multiplicity at the composite end may be more than 1.
· The part may be in many composite instances
· The lifetime of the part is bound within the lifetime of the composite
· There is a logical whole-part physical or logical assembly
· Some properties of the composite propagate to the parts
· Operations applied to the composite propagate to the parts
· SalesLineItems are part of a composite Sale
· ProductCatalog is an aggregate of ProductSpecifications
· Each end of an association is a role with properties
· A qualifier may be used in an association
· It distinguishes the set of objects at the far end of the association based on a qualifier value
· An association with a qualifier is a qualified association.
· e.g. ProductSpecifications may be distinguished in a ProductCatalog by their itemID
Concept may have association to itself – reflexive association
Place elements together that:
Additional SSDs and contracts for current iteration
UML includes statechart diagrams to illustrate the events and states of things
· UML notation:
· Include initial pseudo-state
· Statechart diagram shows lifecycle of an object
· Statechart diagram applied to – classes, use cases
State-independent and state-dependent objects
Common state-dependent Classes