Object Oriented Software Engineering: Ms. Fizza Azhar
Object Oriented Software Engineering: Ms. Fizza Azhar
Object Oriented Software Engineering: Ms. Fizza Azhar
Engineering
Iterative
development with
an agile Unified
Process
What is Analysis and Design?
• Analysis
– Emphasizes an investigation of the problem and requirements, rather
than a solution
– Requirements Analysis: An investigation of the requirements
– Object-Oriented Analysis: An investigation of the domain objects
• Design
– Emphasizes a conceptual solution that fulfills the requirements, rather
than its implementation
• Object-Oriented Design
– There is an emphasis on defining software objects
and how they collaborate to fulfill the
requirements.
What is Object-Oriented Analysis and
Design?
Plane
visualization of
domain concept tailNumber domain concept
: Professor
a + b = 10
ProfessorClark
Class Name Only
Professor Clark
ProfessorClark :
Professor Object Name Only
OO Principle: Abstraction
Sample Class
Class
Course
Properties Behavior
Name Add a student
Location Delete a student
a + b = 10
Days offered Get course roster
Credit hours Determine if it is full
Start time
End time
Representing Classes
• A class is represented using a compartmented
rectangle
a + b = 10
Professor
Professor Clark
Class Compartments
• A class is comprised of three sections
– The first section contains the class name
– The second section shows the structure
(attributes)
– The third section shows the behavior (operations)
Objects Class
Professor
Professor Jones
Basic Concepts of Object Orientation
• Object
• Class
• Attribute
• Operation
• Interface (Polymorphism)
• Component
• Package
• Subsystem
• Relationships
What is an Attribute?
Object
Class
CourseOffering
Class
addStudent
deleteStudent
getStartTime
Operation getEndTime