UML class diagrams

Important features:


<> 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}