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}