Sie sind auf Seite 1von 15

Object Oriented Methodology,

Themes, Evidences and History

1. OO Methodology
 A process of building a model of an application and

then adding details to it during design

 OO development stages:

System Conception


System Design

Class Design


a) System Conception
 Development begins with Business Analysts + Users

 Formulates tentative requirements

b) Analysis
 Analysts scrutinizes and re-states the requirements from

system conception

By constructing models

 Analysts works with requester (client)

 Problem statement will be rarely complete and correct!!!
 Creates Analysis Model:

A Concise, abstraction of what the system does, how it will be done

Should not contain implementation decisions

Analysis Model
 Has 2 parts

Domain Model A description of the real-world objects reflected

within the system

E.g.., Payroll Systems domain objects  employee, employer, bank

Application Model A description of the parts of the application

system that are visible to the user

E.g.., Payroll Systems application objects  compute gross, display

pay-band, generate report

 Developed by Application experts Not programmers!!

c) System Design
 Develops System Architecture for solving application

 System designers will:

Decides how to optimize the performance

Choose how to attack the problem

Make tentative resource allocations

GUI screen design and changes are considered

Suitable communication protocols and memory management are


d) Class Design
 Class designer will

Add details to analysis model

Elaborate both domain and application objects with same


 Mandatorily, focus on data structures and algorithms

needed to implement each class

E.g.., How to save employee details; How to calculate pay for

Professor, Associate professors, Technical Assistants

 Finally, Classes and Relationships are generated

e) Implementation

Translate the output of class design (classes + relationship) 

into a particular programming language + database + hardware

 A good methodology/ practice should be followed for

this translation

To enhance traceability to the design apparently

To make the system flexible and extensible.

2. OO Themes

Focus on the essential aspects of an application ignoring in-depth


Avoids taking decisions too early and premature commitments


Also called as Information Hiding

Separates external aspects of an objects from internal implementation

(that are to be hidden)

Supports changing an objects implementation without affecting the

application; E.g.., improve performance, fix a bug, consolidate code

2. OO Themes
 Combining Data and Behavior

Polymorphism User need not consider how many

implementations exists.

E.g, Non OO code uses separate draw functions for each shape

OO Code uses single draw for all shapes; the data to be passed
should be different (function overloading)

Area (l,b)


Area (h,b)

Area =

Area (a)

Area =

Area (l,b)
Area (h,b)
Area (a)

Area =*h*b
Area = a * a

2. OO Themes

Inheritance Sharing attributes and behavior

Code Library Library of codes/ components are created hence

sharing between two projects

Achieves Reusability

 Emphasis on the Essence of an object

Use of object depends on the application

Features of objects are always stable

Hence OO gives more emphasis for data and less for procedure

2. OO Themes

Interaction/ collaboration of Identity + Classification +

Polymorphism + Inheritance

The resulting system after using these will be = clean, generic

and robust

3. Evidences for Usefulness of OOD

 General Electric Research and Development Center

OO techniques are used to develop:

Compilers, Graphics, UI, databases, CAD systems, simulations, meta-models,

control systems, etc..,

 Forums that disseminates new OO ideas and results:

OOPSLA (Object Oriented Programming Systems, Languages and


ECOOP (European Conference on Object Oriented Programming)

TOOLS (Technology of Object Oriented Languages and Systems)

4. OO Modeling History
 1991 Development of Object Modeling Technique (OMT)

Success. But resulted in the usage of various notations (symbols)

 1994 Rambaugh + Booch + Jacobson worked for unification

 1996 and 1997 OMG (Object Management Group), through

Rational of IBM, released UML (unified Modeling Language)

A standard model for notations and symbols UML version 1

UML is highly successful and replaced other notation

 2001 OMG revised UML by adding features - UML version 2

 Bernd Bruegge and Allen H. Dutoit, Object-Oriented

Software Engineering: Using UML, Patterns and Java,

Third Edition, Pearson Education Asia, 2010.
 Michael Blaha, James Rumbaugh Object-Oriented

Modeling and Design with UML, Second Edition,

Pearson Education, Fifth impression 2009