Professional Documents
Culture Documents
Class Diagram
Objects
• Object Diagram
• Class Diagram
Truck
Conceptual entity
Chemical Process
Software entity
Linked List
ProfessorClark
Class Name Only
Professor Clark
Class
Course
Properties
Name
Location
a + b = 10
Days offered
Credit hours
Start time Behavior
End time Add a student
Delete a student
Get course roster
Determine if it is full
a + b = 10
Professor Class
Professor Jones
Analysis and Design of IS 11
What is an Attribute?
Object
Class
Attribute Value
Course101
Attribute
no = 101
: CourseOffering startTime = 900
endTime = 1100
+ No: number
+ startTime: number
+ endTime: number Course104
no = 104
startTime = 1300
endTime = 1500
Class
CourseOffering
+ No: number
+ startTime: number
Operation + endTime: number
+ addStudent()
+ deleteStudent()
+ getStartTime()
+ getEndTime()
Java code
Analysis and Design of IS 14
What is an Interface?
Realization relationship
Analysis and Design of IS 15
Relationships
• Association
Aggregation
Composition
• Dependency
• Generalization
• Realization
Association
Class
Role Names
Whole Part
Aggregation
Composition
• Unspecified
• Exactly one 1
• Zero or more (many, unlimited) 0..*
*
• One or more 1..*
• Zero or one 0..1
• Specified range
2..4
• Multiple, disjoint ranges
2, 4..6
Multiplicity
Navigation
ClientPackage SupplierPackage
Dependency
relationship
Analysis and Design of IS 27
Relationships: Generalization
Superclass
(parent)
Generalization
Relationship
Subclasses
(child)
Descendents
Analysis and Design of IS 29
Example: Multiple Inheritance
Multiple inheritance
Superclass
(parent)
generalization
Subclass
(child)
http://creately.com/blog/diagrams/class-diagram-relationships/
Analysis and Design of IS 33
Class Diagram for the Sales Example
Sale
Unidirectional
Bi-directional