140 likes | 345 Views
Class diagrams. Terézia Mézešová. Class diagram. static diagram, part of UML describing classes structure of system shows classes, their attributes and methods and relationships between classes classes represent main interactions in system and classes to be programmed. Classes. name
E N D
Class diagrams Terézia Mézešová
Class diagram • static diagram, part of UML describing classes structure of system • shows classes, their attributes and methods and relationships between classes • classes represent main interactions in system and classes to be programmed
Classes • name • attributes • methods • abstract classes have name in italics
Attribute and method syntax • visibility name : data_type • visibility name ( parameter_name : parameter_type, ... ) • visibility: • + public • - private • # protected • / derived • _ static
Relationships class level: • generalization • realization instance level: • association • aggregation • composition
Generalization • "is a" relationship, inheritance • instance of subtype is also instance of superclass
Realization • one element realizes the behavior of second element • e.g. relationship between classes and interfaces showing that the class realizes methods offered by the interface
Association • represents static relationship between objects of two classes
Aggregation • "has a" relationship • type of association relationship • can only involve two classes
Composition • "owns a" relationship • stronger than aggregation • if the container class is destroyed, all contained classes must be destroyed as well
Other types of relationships • dependency - one class uses another at some point • multiplicity: • 0..1 - no or one instance • 1 - exactly one instance • 0..* - zero or more instances • 1..* - at least one or more instances