Professional Documents
Culture Documents
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
7
Polymorphism
8
Inheritance
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
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:
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
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
25
3 models
Object model
Dynamic model
Functional model
26
Object model
27
Object Modeling
28