Object Oriented Software Engineering: Ms. Fizza Azhar

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
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