Class diagrams are a type of UML (Unified Modeling Language) diagram used in software engineering to visually represent the structure and relationships of classes in a system.

NALESVPMEngg 73 views 31 slides Feb 20, 2024
Slide 1
Slide 1 of 31
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31

About This Presentation

Class diagrams are a type of UML (Unified Modeling Language) diagram used in software engineering to visually represent the structure and relationships of classes in a system.


Slide Content

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

2 Agenda Class Relationships and UML Notations 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 * * Alice: Student Jill: Student 254: Course 253: Course

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 - 0..1 Many - 0..* or * One or more - 1..* Exact Number - e.g. 3..4 or 6 Or a complex relationship – e.g. 0..1, 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.

7 Association - Self A Company has Employees. A single manager is responsible for up to 10 workers . Employee manager worker Responsible for 1 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 . Player Team member of 11 1 Captain 0..1 1 Captain Team Member Leads 1 10

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

14 Abstract Methods (Operations) Shape Circle Rectangle draw() 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>> TypeWriter ctl() pageDown() brandName numOfKeys Keyboard keyStroke() Interface is a set of operation the class carries out ctl() pageDown() brandName numOfKeys Keyboard TypeWriter OR

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. Circle circleA:Circle circleB:Circle << instanceOf >> << 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 1..* 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 School Department Student Subject Instructor 1…* * member * 1..5 attends 1..3 1..* teaches 1..* 1 1 1..* has 1..* 1..* assignedTo offeres

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

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

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.