0% found this document useful (0 votes)
26 views

Object Oriented Software Engineering: Mehk Fatima

The document discusses key concepts in object-oriented analysis and design (OOAD) including: 1) Participants and roles refer to people involved in a project and their responsibilities. A role can be assigned to multiple participants. 2) Systems are collections of interconnected parts that can be modeled to ignore irrelevant details. Models abstract the system. 3) Work products include documents and software produced during development. Internal work products are for internal use while deliverables are given to clients. 4) Activities involve tasks that are assigned to and completed by resources like people, equipment, and time. 5) Functional requirements specify system functions while non-functional requirements constrain system operation unrelated to functions.

Uploaded by

Mehak Fatima
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views

Object Oriented Software Engineering: Mehk Fatima

The document discusses key concepts in object-oriented analysis and design (OOAD) including: 1) Participants and roles refer to people involved in a project and their responsibilities. A role can be assigned to multiple participants. 2) Systems are collections of interconnected parts that can be modeled to ignore irrelevant details. Models abstract the system. 3) Work products include documents and software produced during development. Internal work products are for internal use while deliverables are given to clients. 4) Activities involve tasks that are assigned to and completed by resources like people, equipment, and time. 5) Functional requirements specify system functions while non-functional requirements constrain system operation unrelated to functions.

Uploaded by

Mehak Fatima
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 31

Object Oriented Software

Engineering

Mehk Fatima
Participants and Roles
• We refer to all the persons involved in the
project as participants.
• We refer to a set of responsibilities in the
project or the system as a role.
• A role is associated with a set of tasks and is
assigned to a participant. The same
participant can fill multiple roles.
Participants and Roles
Participants and Roles
Systems and Models
• We use the term system as a collection of
interconnected parts.
• Modeling is a way to deal with complexity by ignoring
irrelevant details.
• We use the term model to refer to any abstraction of
the system.
• A TicketDistributor for an underground train is a
system. Blueprints for the TicketDistributor,
schematics of its electrical wiring, and object models
of its software are models of the TicketDistributor.
Work Products
• A work product is an artifact that is produced
during the development, such as a document or
a piece of software for other developers or for
the client.
• We refer to a work product for the project’s
internal consumption as an internal work
product.
• We refer to a work product that must be
delivered to a client as a deliverable
Work Products
Activities, Tasks, and Resources
• An activity is a set of tasks that is performed
toward a specific purpose.
• A task represents an atomic unit of work that can
be managed: A manager assigns it to a developer,
the developer carries it out, and the manager
monitors the progress and completion of the task.
• Resources are assets that are used to accomplish
work. Resources include time, equipment, and
labor.
Activities, Tasks, and Resources
Functional and Nonfunctional Requirements

• A functional requirement is a specification of


a function that the system must support,
whereas a nonfunctional requirement is a
constraint on the operation of the system that
is not related directly to a function of the
system.
Functional and Nonfunctional Requirements

• For example, The user must be able to


purchase tickets and The user must be able to
access tariff information are functional
requirements. The user must be provided
feedback in less than one second and The
colors used in the interface should be
consistent with the company colors are
nonfunctional requirements.
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