Presentation is loading. Please wait.

Presentation is loading. Please wait.

May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.

Similar presentations


Presentation on theme: "May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department."— Presentation transcript:

1 May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department of Computer Science & Engineering University of Nebraska, Lincoln Ferguson Hall, P.O. Box 880115 Lincoln, NE 68588-0115 http://www.cse.unl.edu/~fayad

2 L11-S2OO Concepts -2 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 2 Lesson 11: Object-Oriented Concepts -2

3 L11-S3OO Concepts -2 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Lesson Objectives 3 Review of previous lecture Discuss associations Explore recursive associations, attributed association Understand association constraints Understand qualified & derived associations Discuss UML – aggregation

4 L11-S4OO Concepts -2 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad An association shows a two-way relationship between objects (instances) of two or more classes and requiring special implementation to ensure integrity. A particular instance of an association is often called a link. Associations between classes are required if the objects need to communicate. Associations are often named, and have role-names for each side of the link. 11 Associations

5 L11-S5OO Concepts -2 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 5 More on Associations Association Name Person name age address Car model year # of doors registeredCar owner Vehicle Registration Roles Names

6 L11-S6OO Concepts -2 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Simple example: An association has a name and a numerical specification (multiplicity indication) of how many objects on one side of the association are connected with how many objects on the other side. Associations are called use relationships – even if this may seem somewhat cheeky in the example below 6 More on Associations WindowGeomFigure displays0..* CompanyPerson employs0..* EmployerEmployee

7 L11-S7OO Concepts -2 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Associations are directed (one way), bidirectional, and undirected. UML makes no distinction between bidirectional and undirected associations. 7 More on Associations Class1Class2 Stereotype RelationName {Constraints} * role1Role2: interface Multiplicity 1

8 L11-S8OO Concepts -2 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Recursive association: A class has a relation with itself. It is also possible to model associations that are valid only temporarily “stereotype or temporary” Constraints may be used to restrict the relation under specific aspects. A role name describes how the object is seen by the opposite object in the association. An association can be described in more detail by means of constraints, tagged values, and stereotypes. Stereotypes are noted before or above the relation name, constraints, and tagged values after or below the name. 8 More on Associations

9 L11-S9OO Concepts -2 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Directed association is a one-way association, in which one side knows the other, but not vice versa. Multiplicity Specification: –1exactly one –0, 1zero or one –0..4between zero and four –3, 7either three or seven 9 More on Associations

10 L11-S10OO Concepts -2 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad More multiplicity specifications: –0..*greater than or equal to zero (default) –*ditto –1..*greater than or equal to one –0..3, 7, 9..*between zero and three, or exactly seven, or greater than or equal to nine. 10 More on Associations

11 L11-S11OO Concepts -2 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Recursive associations are associations in which one class is involved. 11 More on Associations Employee name staffNo roomNo Person Patient 1 manager reports to leads office clerk has * * relative

12 L11-S12OO Concepts -2 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad An n-ary association is like a common (binary) association, except that more than two association roles involved in it. 12 N-ary Association Class1Class2 Class3 N-ary association Ternary association

13 L11-S13OO Concepts -2 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 13 More on n-ary Association date trainNo Train carriageNo seatNo Seat name title Passenger Reservation 1 1..* Ternary association

14 L11-S14OO Concepts -2 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 14 More on Associations Recursive Associations N-ary Associations Attributed Associations (Association Class) Association Constraints Qualified Associations Derived Associations Directed Associations Ordered Associations Realization/Refinements Dependency

15 L11-S15OO Concepts -2 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad More on Associations  Associations are usually bidirectional  Allows each object involved in the relationship to refer to the object to which it is related.  Bidirectional association means at the relationship has an inverse.  Associations do not have to be bidirectional. 15

16 L11-S16OO Concepts -2 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad ManWoman Marriage husband wife ScreenWindow Windows NetsUser Authorization CarTrailer Association Type One-to-One One-to-Many (One-to-Zero-or-More) Many-to-Many Zero or One 16

17 L11-S17OO Concepts -2 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad SquareLine Sides father mother children Secure Room Person Occupants MaleFemale TraditionalFamily Association Type Specified the # of instances on the “many” side Specify the possible # of instances using “or” Ternary relationship Child 17

18 L11-S18OO Concepts -2 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Server Client Connection baudRate protocol wireType disconnect rerouteLink These attributes don’t belong in either the Client or Server class. They are attributes of the connection itself. The association class can have behaviors as well as attributes. Connection Association Class 18

19 L11-S19OO Concepts -2 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Aggregation is a special form of association. Aggregation is used when the relationship is “part/whole” or “contains/is-part-of” Aggregation is transitive and operations on “whole” often cascade down to “parts”. 19 Aggregation & Composite

20 L11-S20OO Concepts -2 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 20 Aggregation & Composite Server Client Aggregation 52 “whole” “part” Computer CPUDisk Drive KeyboardMouse *

21 L11-S21OO Concepts -2 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Special diamond symbol used on “whole” side to indicate aggregation. Aggregation is an anti-symmetric that is, if A is part of B, then B is not part of A. DO NOT confuse aggregation with generalization An essential property of aggregates is that the whole acts as a proxy for its parts. A composition is a strict form of aggregation, in which the parts are existence-dependent on the entirely 21 Aggregation & Composite

22 L11-S22OO Concepts -2 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 22 Aggregation & Composite Entirely Existence- DependentPart Part Composition Aggregation

23 L11-S23OO Concepts -2 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Mr. Clinton’s hand is part-of Mr. Clinton & Mr. Clinton is part-of U.S.A. Therefore: Mr. Clinton’s hand is part-of U.S.A. 23 Aggregation Problem

24 L11-S24OO Concepts -2 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 24 Keypad Number Keys Total KeySubtotal Key Display Drawer display drawer * Cash Register Example

25 L11-S25OO Concepts -2 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 25 Aggregation vs. Inheritance AggregationInheritance Instances of distinct classesInstances of a single class “a-part-of”(APO)“a-kind-of” or “is-a” (AKO) Containssuperclass-of Aggregate + partsSuperclass + subclass “and” relationship“or” relationship Propagated only if specifiedInheritance

26 L11-S26OO Concepts -2 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad What is an association? Give examples Associations are usually bidirectional. Please describe. Describe the basic difference between aggregation and inheritance. What do they have in common? What do you think “multiple inheritance” means? Which type of association is more likely to yield savings in the amount of code required for implementation? why? Define the process of identifying objects, classes, inheritance, associations & aggregation, attributes, and behaviors Define Polymorphism with examples What do we mean by saying “Model/View/Controller”? 26 Discussion Questions

27 L11-S27OO Concepts -2 May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Define: –Use Case –Structured English What are the good, bad, and ugly of Use Case? 27 Questions for the Next Lecture


Download ppt "May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department."

Similar presentations


Ads by Google