2. Contents
Introduction
Object-orientation
Object-oriented Paradigm
Object-oriented development
Object-oriented methodologies
The 3 Models
Object-oriented themes
Advantages of OOD
References
3. 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.
4. INTRODUCTION
Analysis model is built to abstract essential aspects of
application domain which contains objects found in
application, 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.
5. 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
6. 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".
7. 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.
8. Object-oriented development
The theme is the identification and organization of
application concepts rather than final representation in a
programming Language.
OOD approach encourages software developers to work
and think in terms of the application domain through most
of the software engineering life cycle.
It is a conceptual process independent of a programming
language until the final stage.
9. Object – Oriented Methodologies / OO
SDLC stages
The OO methodology has the
following stages:
System Conception: Software
development begins with
business analysts or users
conceiving an application and
formulating tentative
requirements.
Analysis: The analyst
scrutinizes and rigorously
restates the requirements from
the system conception by
constructing models. The
analysis model is a precise
abstraction of what the desired
system must do, not how it will
be done.
Domain & application model
System
Conception
Analysis
System Design
Class Design
Implementation
10. Object – Oriented Methodologies(Contd.)
System Design: the development team devise a high-level
strategy – the system architecture – for solving the
application 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.
12. Object model
Describes basic structure of objects and their
relationship
Contains object diagram
Object diagram is a graph whose nodes are object
classes (Classes) and whose arcs are relationships
among classes.
13. 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.
14. 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.
15. Object-oriented themes/OO Concepts
Abstraction
Focus on essential aspects ( what an object does )
Ignore details ( such as how to implement)
16. OO Themes (Contd.)
Encapsulation
Separates external aspects of an object, which are accessible to other
objects, From the internal implementation details, which are hidden from
other objects
Prevents ripple effect
17. OO Themes (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.
Synergy
Identity, classification, polymorphism, etc. each of these concepts can
be used in isolation, but together they complement each other
synergistically.
18. 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.
19. REFERENCES
Object-oriented design and modeling with UML –
Michael Blaha and James Rumbaugh
Object-oriented design and analysis – Wikipedia
www.authorstream.com