Page 1 of 5
Home Whiteboard AI Assistant Online Compilers Jobs Tools Art
SQL HTML CSS Javascript Python Java C C++ PHP Scala C#
OOAD - Object Oriented Paradigm
A Brief History
The object-oriented paradigm took its shape from the initial concept of a new
programming approach, while the interest in design and analysis methods came much
later.
The first objectoriented language was Simula (Simulation of real systems) that
was developed in 1960 by researchers at the Norwegian Computing Center.
In 1970, Alan Kay and his research group at Xerox PARK created a personal
computer named Dynabook and the first pure object-oriented programming
language (OOPL) - Smalltalk, for programming the Dynabook.
In the 1980s, Grady Booch published a paper titled Object Oriented Design that
mainly presented a design for the programming language, Ada. In the ensuing
editions, he extended his ideas to a complete objectoriented design method.
In the 1990s, Coad incorporated behavioral ideas to object-oriented methods.
The other significant innovations were Object Modelling Techniques (OMT) by James
Rumbaugh and Object-Oriented Software Engineering (OOSE) by Ivar Jacobson.
Object-Oriented Analysis
ObjectOriented Analysis (OOA) is the procedure of identifying software engineering
requirements and developing software specifications in terms of a software systems
object model, which comprises of interacting objects.
The main difference between object-oriented analysis and other forms of analysis is that
in object-oriented approach, requirements are organized around objects, which integrate
both data and functions. They are modelled after real-world objects that the system
Page 2 of 5
interacts with. In traditional analysis methodologies, the two aspects - functions and
data - are considered separately.
Grady Booch has defined OOA as, Object-oriented analysis is a method of analysis that
examines requirements from the perspective of the classes and objects found in the
vocabulary of the problem domain.
The primary tasks in object-oriented analysis (OOA) are −
Identifying objects
Organizing the objects by creating object model diagram
Defining the internals of the objects, or object attributes
Defining the behavior of the objects, i.e., object actions
Describing how the objects interact
The common models used in OOA are use cases andobject models.
Object-Oriented Design
ObjectOriented Design (OOD) involves implementation of the conceptual model produced
during object-oriented analysis. In OOD, concepts in the analysis model, which are
technologyindependent, are mapped onto implementing classes, constraints are
identified and interfaces are designed, resulting in a model for the solution domain, i.e.,
a detailed description ofhowthe system is to be built on concrete technologies.
The implementation details generally include −
Restructuring the class data (if necessary),
Implementation of methods, i.e., internal data structures and algorithms,
Implementation of control, and
Implementation of associations.
Grady Booch has defined object-oriented design as a method of design encompassing the
process of object-oriented decomposition and a notation for depicting both logical and
physical as well as static and dynamic models of the system under design.
Object-Oriented Programming
Object-oriented programming(OOP) is aprogramming paradigmbased upon objects
(having both data and methods) that aims to incorporate the advantages of modularity
and reusability. Objects, which are usually instances of classes, are used to interact with
one another to design applications and computer programs.
Page 3 of 5
The important features of objectoriented programming are −
Bottomup approach in program design
Programs organized around objects, grouped in classes
Focus on data with methods to operate upon objects data
Interaction between objects through functions
Reusability of design through creation of new classes by adding features to
existing classes
Some examples of object-oriented programming languages are C++, Java, Smalltalk,
Delphi, C#, Perl, Python, Ruby, and PHP.
Grady Booch has defined objectoriented programming as a method of implementation in
which programs are organized as cooperative collections of objects, each of which
represents an instance of some class, and whose classes are all members of a hierarchy
of classes united via inheritance relationships.
TOP TUTORIALS
Python Tutorial
Java Tutorial
C++ Tutorial
C Programming Tutorial
C# Tutorial
PHP Tutorial
R Tutorial
HTML Tutorial
CSS Tutorial
JavaScript Tutorial
SQL Tutorial
TRENDING TECHNOLOGIES
Cloud Computing Tutorial
Amazon Web Services Tutorial
Microsoft Azure Tutorial
Git Tutorial
Ethical Hacking Tutorial