Object-Oriented Analysis and Design:
Dr. Sangeeta Arora
(Head Of Deptt)
PG Deptt of Computer Science And IT
Object-Oriented Analysis
The primary tasks in object-oriented analysis (OOA) are −�1.Identifying objects�2.Organizing the objects by creating object model diagram�3.Defining the internals of the objects, or object attributes�4.Defining the behavior of the objects, i.e., object actions�5.Describing how the objects interact�
Object-Oriented Design :�Object–Oriented Design (OOD) involves implementation of the conceptual model produced during object-oriented analysis. �In OOD, concepts in the analysis model, which are technology−independent, 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 of how the 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.
Objects and Classes�The concepts of objects and classes are intrinsically linked with each other and form the foundation of object–oriented paradigm.�
Object :
Class�A class represents a collection of objects having same characteristic properties that exhibit common behavior. It gives the blueprint or description of the objects that can be created from it. Creation of an object as a member of a class is called instantiation. Thus, object is an instance of a class.��The constituents of a class are −�A set of attributes for the objects that are to be instantiated from the class. Generally, different objects of a class have some difference in the values of the attributes. Attributes are often referred as class data.��A set of operations that portray the behavior of the objects of the class. Operations are also referred as functions or methods.
Example:�Let us consider a simple class, Circle, that represents the geometrical figure circle in a two–dimensional space. The attributes of this class can be identified as follows −�x–coord, to denote x–coordinate of the center�y–coord, to denote y–coordinate of the center�a, to denote the radius of the circle�Some of its operations can be defined as follows −�findArea(), method to calculate area�findCircumference(), method to calculate circumference�scale(), method to increase or decrease the radius�
Abstraction �Whenever we build applications, we do so in layers. Here is the layered architecture of a simple web application:�
An advantage of doing so is that the Web layer does not need to know anything about the Data layer. It is abstracted away from the Data layer. All that it needs to be concerned with, is that it can delegate requests to the Business layer, and the business layer would take care of rest of the flow. Layering in an application is, in a way, abstracting away complexity.
collaboration among objects:�The Unified Modeling Language (UML) is a graphical language for OOAD that gives a standard way to write a software system’s blueprint. �It helps to visualize, specify, construct, and document the artifacts of an object-oriented system. It is used to depict the structures and the relationships in a complex system.
Conceptual Model of UML�The Conceptual Model of UML encompasses three major elements �*Basic building blocksRules�*Common mechanisms�*Basic Building Blocks�The three building blocks of UML are −�*Things�*Relationships�*Diagrams�*Things�
Polymorphism :��Polymorphism is originally a Greek word that means the ability to take multiple forms. In object-oriented paradigm, polymorphism implies using operations in different ways, depending upon the instance they are operating upon. �Polymorphism allows objects with different internal structures to have a common external interface. Polymorphism is particularly effective while implementing inheritance.�
Encapsulation and Data Hiding�Encapsulation:�Encapsulation is the process of binding both attributes and methods together within a class. Through encapsulation, the internal details of a class can be hidden from outside. It permits the elements of the class to be accessed from outside only through the interface provided by the class.�
Data Hiding
Example
Object Modelling :�Object modelling develops the static structure of the software system in terms of objects. It identifies the objects, the classes into which the objects can be grouped into and the relationships between the objects. It also identifies the main attributes and operations that characterize each class.��The process of object modelling can be visualized in the following steps −��1.Identify objects and group into classes�2.Identify the relationships among classes�3.Create user object model diagram�4.Define user object attributes�5.Define the operations that should be performed on the classes�6.Review glossary
Dynamic Modelling
The process of dynamic modelling can be visualized in the following steps −
Functional Modelling :
The process of functional modelling can be visualized in the following steps :
The stages for object–oriented design can be identified as −
System Design
Object-oriented system design involves defining the context of a system followed by designing the architecture of the system.
Object design includes the following phases −
Object Identification:
The functions of this stage are −
Object Representation
Once the classes are identified, they need to be represented using object modelling techniques. This stage essentially involves constructing UML diagrams.
There are two types of design models that need to be produced −
The following tasks are performed regarding operations −
The various things that may be done for design optimization are −
Design Documentation :
THANK YOU