(E)ER versus UML
Architecture & Modelling of MIS
- Comparing EER to UML notation
- Additional methodological
(E)ER versus UML Architecture & Modelling of MIS Comparing - - PowerPoint PPT Presentation
(E)ER versus UML Architecture & Modelling of MIS Comparing EER to UML notation Additional methodological considerations given in AMMIS EER-diagram: Characteristics of a specialisation Artist o Painter Sculptor Person d Man
Artist Painter Sculptor
Man Woman
d
Artist Painter Sculptor Person Man Woman
Additional methodological advice given in AMIS-course: Always work with disjoint subclasses AMIS notation: No notation for overlapping versus disjoint. Black triangle denotes total (complete) specialisation
constraint that every subclass can have only a single superclass, you get a specialisation hierarchy. In the other case, you get a specialisation lattice.
parents) inherits from all of these parents is called multiple inheritance.
Additional methodological advice given in AMIS-course: Always work with single superclass (single inheritance), even though UML notation allows for multiple inheritance
Vehicle Motorcycle Boat
Amphibious v. Three-wheel v.
Motor cycle Car Boat Three wheel vehicle Amphibious vehicle Vehicle
Vehicle Motorcycle Boat Car Amphibious v. Three-wheel v. This model does not exploit commonalities between cars & three wheel vehicles or between motor cycle and three wheel vehicle. (and between car and amphibious vehicle, and between boat and amphibious vehicle) Motivation from a methodological point of view is the requirement that a model should be easy to translate to (OO) code and that not all OO programming languages allow for multiple inheritance.
Person Company Account- holder Bank u 1..N 0..M
Person Company Account Holder General case, according to EER definition of categorisation
Person Company Account Holder Typical case:
Account Holder Person Company
Project
0..N 1..M
Consultant Participation Contract
1..M 1..1
– shared aggregation (white diamond)
and way in which part instances are created is not defined.
– composite Aggregation (filled diamond)
– An association may represent a composite aggregation (i.e., a whole/part relationship). Only binary associations can be aggregations. Composite aggregation is a strong form of aggregation that requires a part instance be included in at most one composite at a time. If a composite is deleted, all
composite before the composite is deleted, and thus not be deleted as part of the composite. Compositions may be linked in a directed acyclic graph with transitive deletion characteristics; that is, deleting an element in one part of the graph will also result in the deletion of all elements of the subgraph below that element. Composition is represented by the isComposite attribute on the part end of the association being set to true.