UML class diagrams
<> Quick definition: Graphical language used to model the static part of software system (i.e. the coded part)
<> 3 basic constructs:
1) Class: Example
A conceptual abstraction (encapsulation!) represented graphically by a
rectangle containing:
- Stereotype of the class {interface, (abstract), user
defined}
- Name of the class
- List of attributes {visibility, type, name, value}
- List of methods name {visibility, signature: (return type, name,
parameters)}
2) Association: Example
A semantic relationship between two classes represented graphically
by a line containing:
- Name of the relation
- AssociationEnds (2)
Represent the type of connection on each end of the
relation. Graphical representation on the endpoints of the
line depends on the type. Contains:
- Rolename of each class in the relation
- Multiplicity
- Type {isNavigable, composition, aggregation}
- NoType ==> bidirectionnal
3) Generalization: Example
Simple:
A relationship between *one* more general to one or many specific
classes. The graphical representation is a line with an arrow
connected to the general class. Contains:
- Type {complete, disjoint, incomplete, overlapping}
Multiple:
A relationship between several more general class to one or many
specific classes. The graphical representation is a line with an
arrow connected to the general class. Contains:
- Type {complete, disjoint, incomplete, overlapping}