1. Class Diagram
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
2. Class and Object Diagrams
Lab Material
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
3. Class Diagram
A class diagram shows a set of classes, interfaces, and
collaborations and their relationships.
Class diagrams commonly contain the following things:
Classes
Interfaces
Collaborations
Dependency
Generalization, and
Association relationships
Aggregation
Composition
Multiplicity
3
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
4. Class Diagram
A class diagram shows a set of classes, interfaces, and
collaborations and their relationships.
Class diagrams commonly contain the following things:
Classes
Interfaces
Collaborations
Dependency
Generalization, and
Association
Aggregation
Composition
Multiplicity
4
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
5. Steps involved
Study the given problem statement
Identify the classes
Identify the attributes and behaviors (properties and methods)
Denote visibility, data type, argument and return value type
Identify the relationships
Denote Relationships details
Relationship name
Role
Relation direction
Multiplicity
Identify the possible Interface (common must methods for set of
classes) and relate
5
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
6. Study the given problem statement
Develop an automated student registration system. The students
registration system identify the School (i.e. Arts & Sciences,
Engineering, Fine Arts, etc.) in which the student is registered. The
school offer both undergraduate and graduate programs. It also shall
Identify the current courses offered by each department and the
instructor engaged to each class to handle the course.
6
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
7. Identify the classes
Develop an automated student registration system. The students
registration system identify the School (i.e. Arts & Sciences,
Engineering, Fine Arts, etc.) in which the student is registered. The
school offer both undergraduate and graduate programs. It also shall
Identify the current courses offered by each department and the
instructor engaged to each class to handle the course.
7
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
9. Identify the attributes and behaviors
Develop an automated student registration system. The students
registration system identify the School (i.e. Arts & Sciences,
Engineering, Fine Arts, etc.) in which the student is registered. The
school offer both undergraduate and graduate programs. It also shall
Identify the current courses offered by each department and the
instructor engaged to each class to handle the course.
9
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
10. Identify the classes
School
-name : String
-address : String
-id : int
-startdate : Date
+school(int id, String name):
+addStudent():bool
+removeStudent(int):bool
name
attributes
operations
10
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
11. Denote visibility, data type…..
1. Public: Any outside classifier can use (+).
2. Protected: Any descendant of the classifier can use (#).
3. Private: Only the classifier itself can use (-).
4. Protected: public within package (~)
1. Instance: Each instance of the classifier holds its own value
for the feature.
2. Class variable: There is just one value of the feature for all
instances of the classifier. (static variable)
static variable should be underlined
* Derived variables should precede /
11
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
12. Identify the relationships
Generalization
Association (general) – name, role, direction, multiplicity
Special types:
Aggregation (parts can exist without whole)
Composition (parts cant exist without whole)
Realization
12
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
13. Identify the relationships
Generalization
Use to show a parent-child relationship.
Student
……
generalization
+handleClass():void
Graduate student
+attenMidexam():void
Undergraduate student
……
-ug:String
13
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
14. Identify the relationships
Generalization
Shape
SplineEllipsePolygon
Shape
SplineEllipsePolygon
Shared Target Style
Separate Target Style
. . .
. . .
14
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
15. Identify the relationships
Association (general) – name, role, direction, multiplicity
Instructor CourseTeaches
Name an association to describe its nature.
Direction triangle: direction of reading.
Instructor Course
Role: face presented to the other class.
teacher subject taught
Person Company
employee employer
15
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
16. Identify the relationships
Association (general) – name, role, direction, multiplicity
Instructor Course
teacher Subject taught
1..2 0..3
Multiplicity: How many objects may be connected across
an instance of an association.
Multiplicity at one end for each object at the other end,
there must be that many objects at the near end.
Exactly one: 1
Zero or one: 0 .. 1
Many: 0 .. *
One or more: 1 .. *
Not shown unspecified or suppressed 16
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
17. Identify the relationships
Aggregation (general) – name, role, direction, multiplicity
1
0..*
Department
Instructor
whole
part
1
1..*
Team
Player
whole
part
17
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
18. Identify the relationships
Composition (general) – name, role, direction, multiplicity
1
0..*
Account
Order
whole
part
1
1..*
School
Department
18
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
19. Identify the possible Interface
Identify one or more classes that
must have a set of common
operations.
Create interface with the set of
common operations (abstract).
Relate the classes and the interface
by Realization.
Defines a set of operation specs
Never defines an implementation
19
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
21. Example 1
21
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
22. Example 2
22
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
23. Example 3
23
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
24. Example 4
24
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
25. Example 5
25
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
26. Example 6
26
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
27. Steps involved
Study the given problem statement
Identify the classes
Identify the attributes and behaviors (properties and methods)
Denote visibility, data type, argument and return value type
Identify the relationships
Denote Relationships details
Relationship name
Role
Relation direction
Multiplicity
Identify the possible Interface (common must methods for set of
classes) and relate
27
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
28. Object Diagram
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
29. Object Diagram
Object diagrams model the instances of things contained in class
diagrams.
An object diagram shows a set of objects and their relationships
at a point in time.
This involves modeling a snapshot of the system at a moment in
time and rendering a set of objects, their state, and their
relationships.
An object diagram covers a set of instances of the things found in
a class diagram.
29
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
30. Object Representation
In class diagram elements are in abstract form to represent the
blue print and
in object diagram the elements are in concrete form to represent
the real world object.
30
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
31. How to model Object Diagram
an object diagram is an instance of a class diagram.
It implies that an object diagram consists of instances of things
used in a class diagram.
So both diagrams are made of same basic elements but in
different form.
To capture a particular system, numbers (classes) of class
diagrams are limited.
However, if we consider object diagrams then we can have
unlimited number of instances, which are unique in nature.
31
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
32. How to model Object Diagram
a single object diagram cannot capture all the necessary
instances or rather cannot specify all the objects of a system.
Hence, the solution is −
1. First, analyze the system and decide which instances have important
data and association.
2. Second, consider only those instances, which will cover the
functionality.
3. Third, make some optimization as the number of instances are
unlimited.
32
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
33. Things to be decided
the following things are to be decided before starting the
construction of the diagram,
1. The object diagram should have a meaningful name to indicate its
purpose.
2. The most important elements are to be identified.
3. The association among objects should be clarified.
4. Values of different elements need to be captured to include in the
object diagram.
5. Add proper notes at points where more clarity is required.
33
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
34. Class and Object Diagram 1
34
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
35. Class and Object Diagram 2
35
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
36. Class and Object Diagram 3
36
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
37. Class and Object Diagram 4
37
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
38. Class and Object Diagram 5
38
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
39. Example – Class Diagram
39
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
40. Example – Object Diagram
40
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
41. Lets Try..!
41
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
42. Class vs Object Diagram
42
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
43. The End
43
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam