Presentation is loading. Please wait.

Presentation is loading. Please wait.

UML and Classes, Objects and Relationships [2]

Similar presentations


Presentation on theme: "UML and Classes, Objects and Relationships [2]"— Presentation transcript:

1 UML and Classes, Objects and Relationships [2]
Defining Domain Models Using Class Diagrams

2 Agenda Class Relationships and UML Notations Class Diagram
Association - DONE Generalization Realization Dependency Class Diagram Object Diagram Summary

3 Association - Multiplicity
A Student can take many Courses and many Students can be enrolled in one Course. Student Course takes * * 254: Course Alice: Student 1. 253: Course Jill: Student

4 Notes One class can be relate to another in a One-to-one One-to-many
One-to-one or more One-to-zero or one One-to-a bounded interval (one-to-two through twenty) One-to-exactly n One-to-a set of choices (one-to-five or eight)

5 Notes Multiplicity can be expressed as, Exactly one - 1
Zero or one Many * or * One or more * Exact Number - e.g or 6 Or a complex relationship – e.g , 3..4, 6..* would mean any number of objects other than 2 or 5

6 Association - Self An association that connects a class to itself is called a self association. 1.

7 Association - Self Employee A Company has Employees.
A single manager is responsible for up to 10 workers. Employee 1 manager 1. Responsible for worker 0..10

8 Association - Multiplicity
A cricket team has 11 players. One of them is the captain. A player can play only for one Team. The captain leads the team members. Captain Team Team Member Player 1 0..1 1. 10 member of 1 11 Captain 1 Leads

9 Class Relationships Association Generalization Realization Dependency

10 Generalization (Inheritance)
Child class is a special case of the parent class SuperClass SubClass1 SubClass2

11 Generalization (Inheritance) e.g.
Circle GraphicCircle

12 Inheritance - Implementation
public class Circle { } public class GraphicCircle extends Circle {

13 Abstract Class Shape Circle Rectangle
If the class is defined as Abstract no objects of the class can be instantiated. If at least one method in a class is defined as abstract then the class is abstract.

14 Abstract Methods (Operations)
Shape draw() Circle Rectangle If the class is defined as Abstract no objects of the class can be instantiated. If at least one method in a class is defined as abstract then the class is abstract. draw() draw()

15 Abstract class and method Implementation
public abstract class Shape { public abstract draw(); //declare without implementation ……… } public class Circle { public draw(){ ……. …..

16 Class Relationships Association Generalization Realization Dependency

17 Realization- Interface
Interface is a set of operation the class carries out ctl() pageDown() brandName numOfKeys Keyboard TypeWriter <<interface>> TypeWriter ctl() pageDown() brandName numOfKeys Keyboard keyStroke() OR An interface does not have attributes. Only operations. The computer's keyboard is a reusable interface. Its keystroke operation has been reused from the typewriter. The placement of keys is the same as on a typewriter, but the main point is that the keystroke operation has been transferred from one system to another. Also on computer's keyboard you'll find a number of operations that you won't find on a typewriter (Ctrl, Alt, PageUp, PageDown...)  The relationship between a class and an interface is called realization.

18 Realization - Implementation
public interface TypeWriter { void keyStroke() } public class KeyBoard implements TypeWriter { public void keyStroke(){ ………

19 Class Relationships Association Generalization Realization Dependency

20 Dependency Change in specification of one class can change the other class. This can happen when one class is using another class. Circle Point Move(p:Point)

21 Dependency cont Dependency relationship can be used to show relationships between classes and objects. circleA:Circle <<instanceOf>> Circle circleB:Circle <<instanceOf>>

22 Class Diagrams The UML class diagram consists of several Classes, connected with Relationships.

23 Class Diagram - Example
Draw a class diagram for a information modeling system for a school. School has one or more Departments. Department offers one or more Subjects. A particular subject will be offered by only one department. Department has instructors and instructors can work for one or more departments. Student can enrol in upto 5 subjects in a School. Instructors can teach upto 3 subjects. The same subject can be taught by different instructors. Students can be enrolled in more than one school.

24 Class Diagram - Example
School has one or more Departments. School Department has 1 1..* Department offers one or more Subjects. A particular subject will be offered by only one department. Department Subject offers 1 1..*

25 Class Diagram - Example
Department has Instructors and instructors can work for one or more departments. assigned to 1..* Instructor Department Student can enrol in upto 5 Subjects. Student Subject takes * 0..5

26 Class Diagram - Example
Instructors can teach up to 3 subjects. The same subject can be taught by different instructors. Instructor Subjects teaches 1..* 1..3

27 Class Diagram - Example
Students can be enrolled in more than one school. Student School member * 1..*

28 Class Diagram Example Department School 1…* Instructor Subject Student
has School Department 1 1..* 1..* 1…* 1 offeres assignedTo member 1..* 1..* * Instructor Student attends Subject teaches * 1..5 1..3 1..*

29 Object Diagram Object Diagram shows the relationship between objects.
Unlike classes objects have a state.

30 Object Diagram - Example
c1: Company name=“UniMelb” c1: Company d1: Department d2: Department name=“Sales” name=”CSSE” manager employee p2: Person p1: Persont name=“Raj” name=“Rao”

31 Summary We have discussed the following concepts and UML notations related: Association Generalization Realization Dependency How to create a Class Diagram that contains all the above relationships Object Diagram for Uni.Dept.system.


Download ppt "UML and Classes, Objects and Relationships [2]"

Similar presentations


Ads by Google