You are on page 1of 16

Object – Oriented Design

Methodologies
INTRODUCTION

 It is a new way of thinking about problems using models


based on real world concepts.

 The basic construct is object which combines both data


structure and behavior in a single entity.

 Rumbaugh presents an object oriented software


development methodology, the Object Modeling Technique
(OMT) which extends from analysis through design to
implementation.
INTRODUCTION

 Analysis model is built that contains objects found in


applications, their properties and behavior.

 Then design model is made to describe and optimize the


implementation.

 Finally the design model is implemented in a programming


language, database or hardware.

 Graphical notation is used for expressing object-oriented


models.
Object - Orientation

The term object-oriented (OO) means that we


organize software as a collection of discrete
objects that incorporate both data structure and
behavior.
Includes 4 aspects:
- Identity
- Classification
- Inheritance
- Polymorphism
OO - Paradigm

An approach to solution to problems in which all


computations are performed in the context of
objects
A running program can be seen as a collection of
objects collaborating to perform a given task.
An OO-paradigm emphasizes modularity and re-
usability.
The goal of an object-oriented approach is to
satisfy the "open closed principle".
Open Closed principle

 The goal of an object-oriented approach is to satisfy the "open closed

principle".
 A module is open if it supports extension. If the module provides

standardized ways to add new behaviors or describe new states. In the


object-oriented paradigm this is often accomplished by creating a new
subclass of an existing class.
 A module is closed if it has a well defined stable interface that all other

modules must use and that limits the interaction and potential errors
that can be introduced into one module by changes in another. In the
object-oriented paradigm this is accomplished by defining methods that
invoke services on objects.
Object – Oriented Methodologies / OO
SDLC stages
The OO methodology has the System
following stages: Conception
 System Conception: Software
development begins with business
analysts or users wants to develop
Analysis
an application and formulating
tentative requirements.

 Analysis: The analyst scrutinizes System Design


and rigorously restates the
requirements from the system
conception by constructing models.
The analysis model is a precise Class Design
abstraction of what the desired
system must do, not how it will be
done.
 Domain & application model Implementation
Object – Oriented Methodologies(Contd.)

 System Design: the development team devise a high-level


strategy – the system architecture – for solving the
problem.

 Class Design: The class designer adds details to the


analysis model in accordance with system design strategy.

 Implementation: Implementation translate the classes and


relationships developed during class design into a
particular programming language, database, or hardware.
3 Models

Object model
Dynamic model
Functional model
Object model

Describes basic structure of objects and their


relationship

Contains object diagram

Object diagram is a graph whose nodes are classes


and whose arcs are relationships among classes.
Dynamic model

Describes the aspects of a system that change over


time.

It specifies and implement control aspects of a


system.

Contains state diagram.

State diagram is a graph whose nodes are states


and whose arcs are data-flows.
Functional Model

Describes data value transformation within a


system.

Contains data flow diagram.

Data Flow Diagram is a graph whose nodes are


processes and whose arcs are data flows.
OO Concepts

Abstraction
 Focus on essential aspects ( what an object does )
 Ignore details ( such as how to implement)

Encapsulation
 Separates external aspects of an object, which are accessible to other
objects, From the internal implementation details, which are hidden from
other objects
OO Concepts (Contd.)

Combining Data and Behavior (Polymorphism)


 Operator polymorphism shifts the burden of deciding what
implementation to use from the calling code to the class hierarchy.
 The caller of an operation need not consider how many
implementations exist.
Sharing
 Via inheritance
 OO development offers the prospect of reusing design and code
on future projects.
Emphasis on the Essence of an object
 Stresses on what an object is, rather than how it is used

 Software systems built on object are more stable in the long run.
Advantages of OOD

 Used in developing Compilers, Graphics, UI, databases,


Object oriented languages, CAD systems, simulations, etc.

 Used to document existing programs that are ill-structured


and difficult to understand.

 Not reduces development time; it may take more time than


conventional development because it is intended to
promote future reuse and reduce downstream errors and
maintenance.
THANK YOU

You might also like