Introduction To Object Oriented Design
Introduction To Object Oriented Design
Agenda
TheCharacteristicsofObjectOrientedDesign(OOD) The Characteristics of Object Oriented Design (OOD) TheUseofClassesinOOD TheuseofInheritanceinOOD TheUseofPolymorphisminOOD CreatingaClassDiagram:CaseStudy
time
Analysis
Design
Implementation
= attempt to understand
Exclusions
Specifications
time
Analysis
Design
Implementation
= attempt to understand
Edit Data
Load Data
Save Data
View Data
time
Analysis
Design
Implementation
= attempt to understand
Deliverables Needs Requirements Data Functionality Functionalitiesare Functionalities are encapsulated;onlysomeare exposed(Interfaces)
time
OO Analysis
Design
Implementation
Deliverables Needs Requirements Data Functionality Functionalitiesare Functionalities are encapsulated;onlysomeare exposed(Interfaces)
Object
time
OO Analysis
OO Design
Implementation
Object
time
OO Analysis
OO Design
OO Programming
Object-Oriented World
time
OO Analysis
OO Design
OO Programming
Requirements
Deliverables
Object-Oriented Design
time
OO Analysis
OO Design
OO Programming
Requirements
Deliverables
Agenda
TheCharacteristicsofObjectOrientedDesign(OOD) The Characteristics of Object Oriented Design (OOD) TheUseofClassesinOOD TheuseofInheritanceinOOD TheUseofPolymorphisminOOD CreatingaClassDiagram:CaseStudy
plane
ship
automobile
truck
car
SUV
A____isatypeof____.
What makes a class: encapsulation ( = stuff the item with data and functionality)
name data
functionality
black box
Interface=restrictedaccesstofunctionality=lower maintenance&problemprevention
time
OO Analysis
OO Design
OO Programming
time
OO Analysis
OO Design
OO Programming
Needs
Requirements
Deliverables
Agenda
TheCharacteristicsofObjectOrientedDesign(OOD) The Characteristics of Object Oriented Design (OOD) TheUseofClassesinOOD TheuseofInheritanceinOOD TheUseofPolymorphisminOOD CreatingaClassDiagram:CaseStudy
plane
ship
automobile
truck
car
SUV
Subclass A
Subclass B
Subclass C
Subclass C1
Subclass C2
Subclass C3
Multiple Inheritance
Vehicle -FuelType - SeatingCapacity +Drive() +Reverse() +Park() +Start() +Stop() Weapon -ArtileryCapacity - ArtileryType +Load() +Fire() +Aim()
Tank -Model
+ Ram() +Radio()
Agenda
TheCharacteristicsofObjectOrientedDesign(OOD) The Characteristics of Object Oriented Design (OOD) TheUseofClassesinOOD TheuseofInheritanceinOOD TheUseofPolymorphisminOOD CreatingaClassDiagram:CaseStudy
Lion
Bird
+ Run() +Sleep()
+ Fly() +Sleep()
Polymorphism=classeswiththesameinterfaceoperateontheirdatadifferently
Agenda
TheCharacteristicsofObjectOrientedDesign(OOD) The Characteristics of Object Oriented Design (OOD) TheUseofClassesinOOD TheuseofInheritanceinOOD TheUseofPolymorphisminOOD CreatingaClassDiagram:CaseStudy
Astudentcanbeanundergraduatestudentoragraduatestudent g g Anundergraduatestudentcanbeatypeoftutor Atutortutorsastudent Ateacherandaprofessoraretwotypesofinstructors eac e a d a p o esso a e o ypes o s uc o s Ateacherassistantcanassistaprofessorandateacher;ateacher canbeassistedbyoneassistant,whileaprofessorcanbeassistedby uptofiveassistants Ateacherassistantisatypeofgraduatestudent
Undergraduate U d d t
Graduate G d t
Undergraduate U d d t
Graduate G d t
Undergraduate U d d t
Graduate G d t
Undergraduate U d d t
Graduate G d t
Teacher
Professor
Undergraduate U d d t
Graduate G d t
Teacher 1 0..1
Professor 1 0..4
TeacherAssistant
Ateacherassistantisatypeofgraduatestudent
tutors> Tutor Student Instructor
Undergraduate
Graduate
Teacher 1 0..1
Professor 1 0..4
TeacherAssistant
Project
Readthefollowingscenarioandperformtherequiredactivities: