This Object-Oriented Analysis & Design Paradigm will help you understand the basics of object-oriented analysis and design along with its associated terminologies.
Object Oriented Analysis & Design 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 object–oriented language was Simula (Simulation of real systems) that was developed in 1960 by researchers at the Norwegian Computing Center.
- I n 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 object–oriented design method.
- I n 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
Object-Oriented Analysis (OOA) is the procedure of identifying software engineering requirements and developing software specifications in terms of a software system’s object model, which comprises interacting objects.
The main difference between object-oriented analysis and other forms of analysis is that in an object-oriented approach, requirements are organized around objects, which integrate both data and functions. They are modeled after real-world objects that the system 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 and object models.
Object-Oriented Design
Object-Oriented Design (OOD) involves the implementation of the conceptual model produced during object-oriented analysis. I
The implementation details generally include −
- Restructuring the class data (if necessary),
- I mplementation 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 a programming paradigm based 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.
The important features of object-oriented programming are −
- Bottom–up approach in program design
- Programs organized around objects, grouped in classes
- Focus on data with methods to operate upon object’s 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 object-oriented 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”.
Next Topic – Click Here
Pingback: OOAD - Testing & Quality Assurance - Adglob Infosystem Pvt Ltd
Pingback: C# - Overview - Adglob Infosystem Pvt Ltd
Pingback: C# - Environment - Adglob Infosystem Pvt Ltd
Pingback: C# - Program Structure - Adglob Infosystem Pvt Ltd
Pingback: C# - Basic Syntax - Adglob Infosystem Pvt Ltd
Pingback: C# - Data Types - Adglob Infosystem Pvt Ltd
Pingback: C# - Type Conversion - Adglob Infosystem Pvt Ltd
Pingback: C# - Variables - Adglob Infosystem Pvt Ltd
Pingback: C# - Constants and Literals - Adglob Infosystem Pvt Ltd
Pingback: C# - Operators - Adglob Infosystem Pvt Ltd
Pingback: C# - Decision Making - Adglob Infosystem Pvt Ltd
Pingback: C# - if Statement - Adglob Infosystem Pvt Ltd
Pingback: C# - if...else Statement - Adglob Infosystem Pvt Ltd
Pingback: C# - Nested if Statements - Adglob Infosystem Pvt Ltd
Pingback: C# - Switch Statement - Adglob Infosystem Pvt Ltd
Pingback: C# - nested switch Statements - Adglob Infosystem Pvt Ltd
Pingback: C# - Loops - Adglob Infosystem Pvt Ltd
Pingback: C# - While Loop - Adglob Infosystem Pvt Ltd
Pingback: C# - For Loop - Adglob Infosystem Pvt Ltd
Pingback: C# - Do...While Loop - Adglob Infosystem Pvt Ltd
Pingback: C# - Nested Loops - Adglob Infosystem Pvt Ltd
Pingback: C# - Break Statement - Adglob Infosystem Pvt Ltd
Pingback: C# - Continue Statement - Adglob Infosystem Pvt Ltd
Pingback: C# - Encapsulation - Adglob Infosystem Pvt Ltd
Pingback: C# - Methods - Adglob Infosystem Pvt Ltd
Pingback: C# - Passing Parameters by Value - Adglob Infosystem Pvt Ltd
Pingback: C# - Passing Parameters by Reference - Adglob Infosystem Pvt Ltd
Pingback: C# - Passing Parameters by Output - Adglob Infosystem Pvt Ltd
Pingback: C# - Nullables - Adglob Infosystem Pvt Ltd
Pingback: C# - Arrays - Adglob Infosystem Pvt Ltd
Pingback: C# - Multidimensional Arrays - Adglob Infosystem Pvt Ltd
Pingback: C# - Jagged Arrays - Adglob Infosystem Pvt Ltd
Pingback: C# - Param Arrays - Adglob Infosystem Pvt Ltd
Pingback: C# - Array Class - Adglob Infosystem Pvt Ltd