You are on page 1of 28

Object-oriented modeling and

design

1
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(Operations)
in a single entity.
Analysis model is built to abstract essential
aspects of application domain which contains
objects found in application, their properties
and behavior.

2
Introduction
Design model is made to describe and optimize
the implementation.
Implementation Finally the design model is
implemented in a programming language,
database or hardware.
Graphical notation is used for expressing object-
oriented models.

3
What is object-oriented?
 Software is organized as a collection of
discrete objects that incorporate both data
structure and behavior.
 In general it includes- identity, classification,
polymorphism and inheritance.
 Object Oriented Programming Language
= Object Based Programming Language
+ Inheritance + Dynamic Binding

4
Characteristics of Objects

 Identity
 Classification
 Polymorphism
 Inheritance

5
Identity
 Means that data is organized into
discrete(isolated), distinguishable entities called
objects.
 Objects can be concrete(tangible) or
conceptual(intangible).
 In real world an object simply exist but within a
programming language each object has a unique
handle by which it can be uniquely referenced.
 They can be implemented by address, array index
or unique value of an attribute.

6
Classification

 It means that objects with same data


structure (attribute) and behavior
(operations) are grouped into a class.
 A class is an abstraction that describes
important properties and ignores the
rest.

7
Polymorphism

 It means that the same operation (i.e.


action or transformation that the object
performs) may behave differently on
different classes.
 Specific implementation of an operation
by a certain class is called a method.

8
Inheritance

 It is the sharing of attributes and


operations among classes based on a
hierarchical relationship.
 Subclasses can be formed from broadly
defined class.
 Each subclass incorporates or inherits all
the properties of its super class and
adds its own unique properties.

9
Object-oriented development?
 The theme is the identification and
organization of application concepts, rather
than final representation in a prog. 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.

10
Object-oriented methodology

Here we represent a methodology for


OOD and a graphical notation for
representing OOD concept. The
methodology consists of: -
Building a model of an Application
Design(Adding implementation details)
We call this approach the Object Modeling
Technique.

11
Methodology Stages
 Analysis:- Starting from a statement of the
problem. Build a model of real word situation
showing its important properties. Model will be
Abstraction of what the desired system must
do.
 Design:- take high level decision about overall
architecture, and the target is to organized
system into sub-systems based on analysis
and proposed architecture

12
Methodology Stages
 Object design:- create a model based on analysis
but also containing implementation details. The
focus of this design is the data structure and the
algorithms needed to implement each class.
Object classes and relationship developed here.
 Implementation:- here all classes and relationships
are finally translated into programming language. It
is important to follow good soft. Engg. Practice so
that implemented system remain flexible and
extensible.

13
FOUNDATIONAL CHARACTERISTICS OF
AN OBJECT‑ORIENTED METHODOLOGY
 Common methods of organization
 Abstraction
 Encapsulation or information hiding
 Inheritance
 Polymorphism
 Message communication
 Associations
 Reuse
14
Abstraction
 It consists of focusing on essential aspects of an
entity and ignoring accidental properties.
 The goal is to isolate those aspects that are important
for some purpose and suppress those aspects that are
unimportant.
 Abstraction must always for some purpose because the
purpose determines what is and what is not important.
 Many different abstractions of same thing are
possible, depending on the purpose for which they are
made.
 A good model captures the crucial aspects of a problem
and omits the others.
 Focus on what an object is and does, not how to
implement.

15
Abstraction

16
Encapsulation
 Information hiding
 Separating external aspects of an
object which are accessible to other
objects, from the internal
implementation details of the object,
which are hidden from other objects.
 The implementation of an object can be
changed without affecting the
applications that use it.

17
Encapsulation

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
Evidence for Usefulness of OOD:

 OOD work began with internal


applications at the General Electric
Research and Development Center. OO
techniques were used for developing
compilers, graphics, user interfaces,
databases, an OO language, CAD
systems, simulations, meta-models,
control systems, and other applications.

20
 OOMs are used to document programs
that are ill-structured and difficult to
understand. The implementation targets
ranged from OO languages to non-OO
languages to databases. This approach
is successfully taught to others and used
it to communicate with application
experts.

21
 OO technology is expanded since the
mid 1990s beyond General Electric to
companies throughout the world. OO
technology can no longer be considered
a fad or a speculative approach. It is now
part of the computer science and
software engineering mainstream.

22
Important forums/ conferences

 For disseminating new OO ideas and


application results.
 The annual OOPSLA (Object-Oriented
Programming Systems, Languages, and
Applications)
 ECOOP (European Conference on Object-
Oriented Programming)
 TOOLS (Technology of Object-Oriented
Languages and Systems)

23
Modeling
 A model is an abstraction of something
for the purpose of understanding it
before building it.
 The word model has 2 dimensions- a
view of a system ( object, dynamic or
functional) and a stage of development
( analysis, design or implementation)

24
Purposes of Modeling

 Testing a physical entity before building it


 Communication with customers
 Visualization
 Reduction of complexity

25
3 models

 Object model
 Dynamic model
 Functional model

26
Object model

 Describes basic structure of objects and


their relationship
 Contains object diagram
 Object model is a graphical
representation of the system. It’s nodes
are object classes (Classes) and whose
arcs are relationships among classes.

27
Object Modeling

 Captures static structure of a system-


 Objects in the system
 Attributes
 operations

28

You might also like