You are on page 1of 22

Object Oriented Software

Engineering

Ms. Fizza Azhar


Introduction to Object Orientation Topics

• Basic Principles of Object Orientation


• Basic Concepts of Object Orientation
• Strengths of Object Orientation
• General UML Modeling Mechanisms
Object Oriented Software Engineering

• Is a S/W design technique that is used in S/W


design in Object oriented Programming.

• OOSE is developed by IVAR JACABSON in 1992


the use of use case in designing is started by
OOSE technique.
Topics and Skills
OOA/D

Patterns UML notation

Topics and Skills

Principles and Requirements


guidelines analysis

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

• Analysis and Design have been summarized in the phrase do the


right thing (analysis), and do the thing right (design)
What is Object-Oriented Analysis and
Design?
• Object-Oriented Analysis
– There is an emphasis on finding and describing the
objects or concepts in the problem domain.

• 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

public class Plane


{
representation in an private String tailNumber;
object-oriented
programming language public List getFlightHistory() {...}
}
Object Oriented Analysis and
Specification
Basic Concepts of Object Orientation
• Object
• Class
• Attribute
• Operation
• Interface (Polymorphism)
• Component
• Package
• Subsystem
• Relationships
Basic Concepts of Object Orientation
• Object
• Class
• Attribute
• Operation
• Interface (Polymorphism)
• Component
• Package
• Subsystem
• Relationships
What is an Object?
• An object is a concept, abstraction, or thing
with sharp boundaries and meaning for an
application
• An object is something that has:
– State
– Behavior
– Identity
Representing Objects
• An object is represented as rectangles with underlined names

: Professor
a + b = 10

ProfessorClark
Class Name Only
Professor Clark
ProfessorClark :
Professor Object Name Only

Class and Object Name


(stay tuned for classes)
Basic Concepts of Object Orientation
• Object
• Class
• Attribute
• Operation
• Interface (Polymorphism)
• Component
• Package
• Subsystem
• Relationships
What is a Class?
• A class is a description of a group of objects
with common properties (attributes), behavior
(operations), relationships, and semantics
– An object is an instance of a class
• A class is an abstraction in that it:
– Emphasizes relevant characteristics

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)

Class Name Professor


name
Attributes empID
Operations create( )
save( )
delete( )
change( )
The Relationship Between Classes and Objects
• A class is an abstract definition of an object
– It defines the structure and behavior of each
object in the class
– It serves as a template for creating objects
• Objects are grouped into classes

Objects Class

Professor

Professor Smith Professor Mellon

Professor Jones
Basic Concepts of Object Orientation
• Object
• Class
• Attribute
• Operation
• Interface (Polymorphism)
• Component
• Package
• Subsystem
• Relationships
What is an Attribute?
Object
Class

Attribute Attribute Value


:CourseOffering
number = 101
startTime = 900
CourseOffering endTime = 1100
number
startTime
endTime :CourseOffering
number = 104
startTime = 1300
endTime = 1500
Basic Concepts of Object Orientation
• Object
• Class
• Attribute
• Operation
• Interface (Polymorphism)
• Component
• Package
• Subsystem
• Relationships
What is an Operation?

CourseOffering
Class
addStudent
deleteStudent
getStartTime
Operation getEndTime

You might also like