SlideShare a Scribd company logo
Class Diagram
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Class and Object Diagrams
Lab Material
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
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
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
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
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
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
Identify the classes
school
student
undergraduate
graduate
programs
courses
department
instructor
class
course
8
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
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
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
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
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
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
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
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
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
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
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
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
student registration system
name
address
...
addstudent()
removestudent()
...
School
name
studentID
Student
1..*
*
Graduate UnderGraduate
name
Department
description
Course
name
Instructor
Offers
1
1..*
Attends >
< Teaches
has
1..*1
* * 1..3 1
Assigned To ^
Chair
1
0..1
0..1
Schedule
accepted
20
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Example 1
21
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Example 2
22
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Example 3
23
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Example 4
24
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Example 5
25
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Example 6
26
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
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
Object Diagram
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
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
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
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
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
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
Class and Object Diagram 1
34
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Class and Object Diagram 2
35
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Class and Object Diagram 3
36
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Class and Object Diagram 4
37
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Class and Object Diagram 5
38
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Example – Class Diagram
39
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Example – Object Diagram
40
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Lets Try..!
41
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Class vs Object Diagram
42
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
The End
43
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Some Clarifications
44
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Some Clarifications
45
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Some Clarifications
46
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Some Clarifications
47
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
Some Clarifications
48
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
The End…
49
Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam

More Related Content

What's hot

OOAD - UML - Sequence and Communication Diagrams - Lab
OOAD - UML - Sequence and Communication Diagrams - LabOOAD - UML - Sequence and Communication Diagrams - Lab
OOAD - UML - Sequence and Communication Diagrams - Lab
Victer Paul
 
Domain model
Domain modelDomain model
Domain model
Eagle Eyes
 
Chapter 05 classes and objects
Chapter 05 classes and objectsChapter 05 classes and objects
Chapter 05 classes and objects
Praveen M Jigajinni
 
Object Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLObject Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UML
Malek Sumaiya
 
Introduction to Design Pattern
Introduction to Design  PatternIntroduction to Design  Pattern
Introduction to Design Pattern
Sanae BEKKAR
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
Inocentshuja Ahmad
 
Python unit 3 m.sc cs
Python unit 3 m.sc csPython unit 3 m.sc cs
Python unit 3 m.sc cs
KALAISELVI P
 
Unified process model
Unified process modelUnified process model
Unified process model
RyndaMaala
 
Object-oriented concepts
Object-oriented conceptsObject-oriented concepts
Object-oriented concepts
BG Java EE Course
 
Introduction to UML
Introduction to UMLIntroduction to UML
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
Kumar
 
Class Diagram
Class DiagramClass Diagram
Class Diagram
Rana_brothers
 
CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3
Gobinath Subramaniam
 
PYTHON-Chapter 4-Plotting and Data Science PyLab - MAULIK BORSANIYA
PYTHON-Chapter 4-Plotting and Data Science  PyLab - MAULIK BORSANIYAPYTHON-Chapter 4-Plotting and Data Science  PyLab - MAULIK BORSANIYA
PYTHON-Chapter 4-Plotting and Data Science PyLab - MAULIK BORSANIYA
Maulik Borsaniya
 
Domain class model
Domain class modelDomain class model
Domain class model
shekharsj
 
Types and roles
Types and rolesTypes and roles
Types and roles
Satyamevjayte Haxor
 
Case Study Uml
Case Study UmlCase Study Uml
Case Study Uml
ganesh12july
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologies
Amith Tiwari
 
Use Case Modeling
Use Case ModelingUse Case Modeling
Use Case Modeling
Venkat Srinivasan
 
Python programming : Classes objects
Python programming : Classes objectsPython programming : Classes objects
Python programming : Classes objects
Emertxe Information Technologies Pvt Ltd
 

What's hot (20)

OOAD - UML - Sequence and Communication Diagrams - Lab
OOAD - UML - Sequence and Communication Diagrams - LabOOAD - UML - Sequence and Communication Diagrams - Lab
OOAD - UML - Sequence and Communication Diagrams - Lab
 
Domain model
Domain modelDomain model
Domain model
 
Chapter 05 classes and objects
Chapter 05 classes and objectsChapter 05 classes and objects
Chapter 05 classes and objects
 
Object Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLObject Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UML
 
Introduction to Design Pattern
Introduction to Design  PatternIntroduction to Design  Pattern
Introduction to Design Pattern
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
 
Python unit 3 m.sc cs
Python unit 3 m.sc csPython unit 3 m.sc cs
Python unit 3 m.sc cs
 
Unified process model
Unified process modelUnified process model
Unified process model
 
Object-oriented concepts
Object-oriented conceptsObject-oriented concepts
Object-oriented concepts
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Class Diagram
Class DiagramClass Diagram
Class Diagram
 
CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3
 
PYTHON-Chapter 4-Plotting and Data Science PyLab - MAULIK BORSANIYA
PYTHON-Chapter 4-Plotting and Data Science  PyLab - MAULIK BORSANIYAPYTHON-Chapter 4-Plotting and Data Science  PyLab - MAULIK BORSANIYA
PYTHON-Chapter 4-Plotting and Data Science PyLab - MAULIK BORSANIYA
 
Domain class model
Domain class modelDomain class model
Domain class model
 
Types and roles
Types and rolesTypes and roles
Types and roles
 
Case Study Uml
Case Study UmlCase Study Uml
Case Study Uml
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologies
 
Use Case Modeling
Use Case ModelingUse Case Modeling
Use Case Modeling
 
Python programming : Classes objects
Python programming : Classes objectsPython programming : Classes objects
Python programming : Classes objects
 

Similar to OOAD - UML - Class and Object Diagrams - Lab

Introduction to ER Diagrams
Introduction to ER DiagramsIntroduction to ER Diagrams
Introduction to ER Diagrams
Adri Jovin
 
Dad (Data Analysis And Design)
Dad (Data Analysis And Design)Dad (Data Analysis And Design)
Dad (Data Analysis And Design)
Jill Lyons
 
Java - Class Structure
Java - Class StructureJava - Class Structure
Java - Class Structure
Victer Paul
 
Synapseindia strcture of dotnet development part 1
Synapseindia strcture of dotnet development part 1Synapseindia strcture of dotnet development part 1
Synapseindia strcture of dotnet development part 1
Synapseindiappsdevelopment
 
Lecture 4
Lecture 4Lecture 4
Lecture 4
talha ijaz
 
OOSE Unit 3 PPT.ppt
OOSE Unit 3 PPT.pptOOSE Unit 3 PPT.ppt
OOSE Unit 3 PPT.ppt
itadmin33
 
Lecture_01.1.pptx
Lecture_01.1.pptxLecture_01.1.pptx
Lecture_01.1.pptx
RockyIslam5
 
sem3.pdf
sem3.pdfsem3.pdf
sem3.pdf
AshwaniP1
 
Database Design and the ER Model, Indexing and Hashing
Database Design and the ER Model, Indexing and HashingDatabase Design and the ER Model, Indexing and Hashing
Database Design and the ER Model, Indexing and Hashing
Prabu U
 
Learning Strategy with Groups on Page Based Students' Profiles
Learning Strategy with Groups on Page Based Students' ProfilesLearning Strategy with Groups on Page Based Students' Profiles
Learning Strategy with Groups on Page Based Students' Profiles
aciijournal
 
Dynamic Question Answer Generator An Enhanced Approach to Question Generation
Dynamic Question Answer Generator An Enhanced Approach to Question GenerationDynamic Question Answer Generator An Enhanced Approach to Question Generation
Dynamic Question Answer Generator An Enhanced Approach to Question Generation
ijtsrd
 
PythonOO.pdf oo Object Oriented programming
PythonOO.pdf oo Object Oriented programmingPythonOO.pdf oo Object Oriented programming
PythonOO.pdf oo Object Oriented programming
KhadijaKhadijaAouadi
 
Java - Basic Concepts
Java - Basic ConceptsJava - Basic Concepts
Java - Basic Concepts
Victer Paul
 
Learning strategy with groups on page based students' profiles
Learning strategy with groups on page based students' profilesLearning strategy with groups on page based students' profiles
Learning strategy with groups on page based students' profiles
aciijournal
 
CHAPTER 3 part1.pdf
CHAPTER 3 part1.pdfCHAPTER 3 part1.pdf
CHAPTER 3 part1.pdf
FacultyAnupamaAlagan
 
07slide.ppt
07slide.ppt07slide.ppt
07slide.ppt
NuurAxmed2
 
OBJECT ORIENTED PROGRAMING IN C++
OBJECT ORIENTED PROGRAMING IN C++ OBJECT ORIENTED PROGRAMING IN C++
OBJECT ORIENTED PROGRAMING IN C++
Dev Chauhan
 
Ooad 2marks
Ooad 2marksOoad 2marks
Ooad 2marks
Ash Wini
 
The College Classroom Week 10: Teaching as Research
The College Classroom Week 10: Teaching as ResearchThe College Classroom Week 10: Teaching as Research
The College Classroom Week 10: Teaching as Research
Peter Newbury
 
Ijetr042132
Ijetr042132Ijetr042132

Similar to OOAD - UML - Class and Object Diagrams - Lab (20)

Introduction to ER Diagrams
Introduction to ER DiagramsIntroduction to ER Diagrams
Introduction to ER Diagrams
 
Dad (Data Analysis And Design)
Dad (Data Analysis And Design)Dad (Data Analysis And Design)
Dad (Data Analysis And Design)
 
Java - Class Structure
Java - Class StructureJava - Class Structure
Java - Class Structure
 
Synapseindia strcture of dotnet development part 1
Synapseindia strcture of dotnet development part 1Synapseindia strcture of dotnet development part 1
Synapseindia strcture of dotnet development part 1
 
Lecture 4
Lecture 4Lecture 4
Lecture 4
 
OOSE Unit 3 PPT.ppt
OOSE Unit 3 PPT.pptOOSE Unit 3 PPT.ppt
OOSE Unit 3 PPT.ppt
 
Lecture_01.1.pptx
Lecture_01.1.pptxLecture_01.1.pptx
Lecture_01.1.pptx
 
sem3.pdf
sem3.pdfsem3.pdf
sem3.pdf
 
Database Design and the ER Model, Indexing and Hashing
Database Design and the ER Model, Indexing and HashingDatabase Design and the ER Model, Indexing and Hashing
Database Design and the ER Model, Indexing and Hashing
 
Learning Strategy with Groups on Page Based Students' Profiles
Learning Strategy with Groups on Page Based Students' ProfilesLearning Strategy with Groups on Page Based Students' Profiles
Learning Strategy with Groups on Page Based Students' Profiles
 
Dynamic Question Answer Generator An Enhanced Approach to Question Generation
Dynamic Question Answer Generator An Enhanced Approach to Question GenerationDynamic Question Answer Generator An Enhanced Approach to Question Generation
Dynamic Question Answer Generator An Enhanced Approach to Question Generation
 
PythonOO.pdf oo Object Oriented programming
PythonOO.pdf oo Object Oriented programmingPythonOO.pdf oo Object Oriented programming
PythonOO.pdf oo Object Oriented programming
 
Java - Basic Concepts
Java - Basic ConceptsJava - Basic Concepts
Java - Basic Concepts
 
Learning strategy with groups on page based students' profiles
Learning strategy with groups on page based students' profilesLearning strategy with groups on page based students' profiles
Learning strategy with groups on page based students' profiles
 
CHAPTER 3 part1.pdf
CHAPTER 3 part1.pdfCHAPTER 3 part1.pdf
CHAPTER 3 part1.pdf
 
07slide.ppt
07slide.ppt07slide.ppt
07slide.ppt
 
OBJECT ORIENTED PROGRAMING IN C++
OBJECT ORIENTED PROGRAMING IN C++ OBJECT ORIENTED PROGRAMING IN C++
OBJECT ORIENTED PROGRAMING IN C++
 
Ooad 2marks
Ooad 2marksOoad 2marks
Ooad 2marks
 
The College Classroom Week 10: Teaching as Research
The College Classroom Week 10: Teaching as ResearchThe College Classroom Week 10: Teaching as Research
The College Classroom Week 10: Teaching as Research
 
Ijetr042132
Ijetr042132Ijetr042132
Ijetr042132
 

More from Victer Paul

OOAD - Systems and Object Orientation Concepts
OOAD - Systems and Object Orientation ConceptsOOAD - Systems and Object Orientation Concepts
OOAD - Systems and Object Orientation Concepts
Victer Paul
 
Java - Strings Concepts
Java - Strings ConceptsJava - Strings Concepts
Java - Strings Concepts
Victer Paul
 
Java - Packages Concepts
Java - Packages ConceptsJava - Packages Concepts
Java - Packages Concepts
Victer Paul
 
Java - OOPS and Java Basics
Java - OOPS and Java BasicsJava - OOPS and Java Basics
Java - OOPS and Java Basics
Victer Paul
 
Java - Exception Handling Concepts
Java - Exception Handling ConceptsJava - Exception Handling Concepts
Java - Exception Handling Concepts
Victer Paul
 
Java - Object Oriented Programming Concepts
Java - Object Oriented Programming ConceptsJava - Object Oriented Programming Concepts
Java - Object Oriented Programming Concepts
Victer Paul
 
Java - File Input Output Concepts
Java - File Input Output ConceptsJava - File Input Output Concepts
Java - File Input Output Concepts
Victer Paul
 
Java - Inheritance Concepts
Java - Inheritance ConceptsJava - Inheritance Concepts
Java - Inheritance Concepts
Victer Paul
 
Java - Arrays Concepts
Java - Arrays ConceptsJava - Arrays Concepts
Java - Arrays Concepts
Victer Paul
 
Java applet programming concepts
Java  applet programming conceptsJava  applet programming concepts
Java applet programming concepts
Victer Paul
 

More from Victer Paul (10)

OOAD - Systems and Object Orientation Concepts
OOAD - Systems and Object Orientation ConceptsOOAD - Systems and Object Orientation Concepts
OOAD - Systems and Object Orientation Concepts
 
Java - Strings Concepts
Java - Strings ConceptsJava - Strings Concepts
Java - Strings Concepts
 
Java - Packages Concepts
Java - Packages ConceptsJava - Packages Concepts
Java - Packages Concepts
 
Java - OOPS and Java Basics
Java - OOPS and Java BasicsJava - OOPS and Java Basics
Java - OOPS and Java Basics
 
Java - Exception Handling Concepts
Java - Exception Handling ConceptsJava - Exception Handling Concepts
Java - Exception Handling Concepts
 
Java - Object Oriented Programming Concepts
Java - Object Oriented Programming ConceptsJava - Object Oriented Programming Concepts
Java - Object Oriented Programming Concepts
 
Java - File Input Output Concepts
Java - File Input Output ConceptsJava - File Input Output Concepts
Java - File Input Output Concepts
 
Java - Inheritance Concepts
Java - Inheritance ConceptsJava - Inheritance Concepts
Java - Inheritance Concepts
 
Java - Arrays Concepts
Java - Arrays ConceptsJava - Arrays Concepts
Java - Arrays Concepts
 
Java applet programming concepts
Java  applet programming conceptsJava  applet programming concepts
Java applet programming concepts
 

Recently uploaded

KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
Victor Morales
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
kandramariana6
 
2. Operations Strategy in a Global Environment.ppt
2. Operations Strategy in a Global Environment.ppt2. Operations Strategy in a Global Environment.ppt
2. Operations Strategy in a Global Environment.ppt
PuktoonEngr
 
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
University of Maribor
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
Aditya Rajan Patra
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
KrishnaveniKrishnara1
 
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMSA SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
IJNSA Journal
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
thanhdowork
 
digital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdfdigital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdf
drwaing
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
Madan Karki
 
Technical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prismsTechnical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prisms
heavyhaig
 
Heat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation pptHeat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation ppt
mamunhossenbd75
 
ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024
Rahul
 
Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
Hitesh Mohapatra
 
6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)
ClaraZara1
 
A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...
nooriasukmaningtyas
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
camseq
 
Swimming pool mechanical components design.pptx
Swimming pool  mechanical components design.pptxSwimming pool  mechanical components design.pptx
Swimming pool mechanical components design.pptx
yokeleetan1
 
DfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributionsDfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributions
gestioneergodomus
 
Wearable antenna for antenna applications
Wearable antenna for antenna applicationsWearable antenna for antenna applications
Wearable antenna for antenna applications
Madhumitha Jayaram
 

Recently uploaded (20)

KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
 
2. Operations Strategy in a Global Environment.ppt
2. Operations Strategy in a Global Environment.ppt2. Operations Strategy in a Global Environment.ppt
2. Operations Strategy in a Global Environment.ppt
 
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
 
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMSA SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
 
digital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdfdigital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdf
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
 
Technical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prismsTechnical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prisms
 
Heat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation pptHeat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation ppt
 
ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024
 
Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
 
6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)
 
A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
 
Swimming pool mechanical components design.pptx
Swimming pool  mechanical components design.pptxSwimming pool  mechanical components design.pptx
Swimming pool mechanical components design.pptx
 
DfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributionsDfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributions
 
Wearable antenna for antenna applications
Wearable antenna for antenna applicationsWearable antenna for antenna applications
Wearable antenna for antenna applications
 

OOAD - UML - Class and Object Diagrams - Lab

  • 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
  • 20. student registration system name address ... addstudent() removestudent() ... School name studentID Student 1..* * Graduate UnderGraduate name Department description Course name Instructor Offers 1 1..* Attends > < Teaches has 1..*1 * * 1..3 1 Assigned To ^ Chair 1 0..1 0..1 Schedule accepted 20 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
  • 44. Some Clarifications 44 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
  • 45. Some Clarifications 45 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
  • 46. Some Clarifications 46 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
  • 47. Some Clarifications 47 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
  • 48. Some Clarifications 48 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam
  • 49. The End… 49 Dr. P. Victer Paul, Indian Institute of Information Technology Kottayam