Object Oriented Software Engineering: Mehk Fatima
Object Oriented Software Engineering: Mehk Fatima
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
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