Object Oriented Analysis and Design
Object Oriented Analysis and Design
There are some terms important to explaining the concept object
oriented analysis and design.
An object can be defined as “A concept, abstraction, or thing
with crisp boundaries and meaning of the
problem at hand. Objects serve two purposes, they promote
understanding of the real world and provide a
practical basis for computer implementation.”
Rumbaugh et al. (1991)
A class is defined as “The purpose of a class is to specify a
classification of objects and to specify the
features that characterize the structure and behavior of those
Attributes & Methods
Attributes are the characteristics of object / class and methods
are the operations related to the object /
In order to explain concepts of Class, Object, Attribute,
Method, etc, let's consider an example. A company
may be interested in creating a database for better customer
relationships. For this purpose the company
may plan to create a database in the following manner.
Inheritance is usually identified by the phrase "is a kind of.”
For example, the term “automobile " is a
generalization of “van”, “car“, “truck", and many others.
Conversely, we can say that since cars are
automobiles so they inherit all the properties common to all the
automobiles e.g. engine, steering, etc. but
capacity and type of engine, size of steering will be different
from each class, based on these differences
sub-classes are created. Two concepts are used in relation to
inheritance; generalization and specialization.
Classification is hierarchical in nature, a vehicle may be
classified as truck or car, a car may further be Sub-
Object/Instance A particular customer
Add, update, delete,
related to the objects)
Attribute Name, Address, etc.
(Characteristics of the
classified as hatchback or sedan or sports or SUV. Moving up the
hierarchy is terms as generalization and
down the hierarchy is referred to as specialization.
A real customer such as “ABC Company" is an object/instance of
the class of customers. If you have
different kinds of customers, such as domestic, commercial and
industrial, you can create three new classes
of customers that are derived from of the Customer class. These
derived classes use inheritance to gain
access to all of the common customer class attributes and
methods. Special attributes which are unique to
each class can also be defined.
Several objects may collaborate to fulfil each system action.
For example, “Record CD sale” is a process,
which could involve a CD stock item, a sales transaction, a
sales assistant, etc. These objects involved in the
process of CD sale communicate by sending each other message.
Encapsulation means information hiding. For instance, when the
Play Button is pressed, the tape is played.
However the actual process of how the tape is played is not
visible. Another example can be given of
banking software. The banking software contains an option of
computation of profit, when the option is
activated the amount is computed as and when required, however,
the actual steps when performed remain
invisible to the user.
Following example will help understand the concept in a better
Hence based on the example given above, the concept can be
defined. Ppolymorphism is a derived from
Greek language meaning "having multiple forms"). Polymorphism is
the characteristic of being able to
assign a different meaning or usage to something in different
contexts - specifically, to allow an entity such
as a variable, a method, or an object to have more than one
26.6 What is Business Process Reengineering?
“Reengineering is the fundamental rethinking and redesign of
business processes to achieve dramatic
improvements in critical, contemporary measures of performance,
such as cost, quality, service and speed.”
(Hammer & Champy, 1993)
The focus of this technique or method is to smooth the
procedures and approaches undertaken by various
departments of an organization to achieve their respective
objectives. The term rethinking refers to the idea
of firstly studying and then analyzing all or any of the
processes to any extent depending on the need and
objective of change. The objectives to be achieved according to
this definition are to qualitatively enhance
the efficiency and quality of delivery and production of goods
and services. to achieve qualitative
improvement in the handling of production, procedural and
customer related matters.
The concept of business process reengineering can be understood
in the following manner.
“The analysis and design of workflow and processes within and
(Davenport and Short, 1990).
The definition adds another aspect to the definition. It extends
the concept of BPR by studying the links of
various procedures used by and between organizations. A number
of processes undertaken within the
organization may have links with external organizations either
as input or output. For example, raw material
purchases from suppliers are an integral part of planning,
production and sales. Hence making the supplier
‘Layers of an onion’
model of an object:
An outer layer of
…gives access to middle
layer of operations…
…which can access
inner core of data
Message from another
object requests a service.
Operation called only via valid
Data accessed only by
object’s own operations.
An object’s data
more efficient to deliver on time becomes critical, industrial
customers placing regular huge volume orders
in accordance with theirs own plans. You as the supplier need
this information to input into your own
One of the main goals of introducing BPR is to provide a
competitive edge to the business and that can
only be achieved by providing a better product in a timely
fashion to the customers in accordance with their
For Example, a petroleum company might be faced with issues such
as, the product is being tampered with
before delivery to points of sale, and the gasoline is not being
delivered on time to the points of sale, the
issues to be dealt at the dealer-owned-petrol pumps. Question:
Why should it be worried, if at all?
The company may after the process review resolve the above
stated issues such as redefining the design of
the containers/tanker, installing tracking devices on the
delivery vehicles, setting up Company owned points
of sale, eliminating storage depots and ensuring timely direct
deliveries to POS, etc.
While use of BPR helps an organization in gaining competitive
advantage in the use of processes,
effectiveness and efficiency should also be kept in mind.
By effectiveness, it is meant that how effective is the manner
in which the product or service is offered to
the customer? This may include packaging, advertising, creating
customer loyalty, timely availability in the
market, understanding customer needs & requirements related to
the particular product or service being
The concept relates to not only how efficiently a quality
product is manufactured, packed, stored and
delivered to customers/points of sale but also how quickly are
customer complaints responded to, in what
manner are they removed, what is the cost of not doing so as to
be compared to the cost of not doing so,
and how it can be made more efficient. Efficiency is not just
about being efficient at the production floor
level but the decision making at management level also has to be
efficient. Customer might not be able to
see all of the process but he can see the efficiency coming out
Major steps in BPR
Senior managers may begin the task of process alignment by a
series of BPR steps. These steps develop a
self-reinforcing cycle of commitment, communication, and culture
change. The steps may include gaining
commitment to change through the formulation of the top team,
developing a shared vision and mission of
the business and of what change is required, defining the
measurable objectives, which must be agreed by
the team, as being the quantifiable indicators of success in
terms of the mission, identify the Critical Success
Factors (CSF’s) based on the mission of the organization.
Following steps should be followed to implement BPR.
Break down the CSF’s
into the key or critical business processes and gain process ownership.
Break down the critical
processes into sub-processes, activities and task and form the teams
Re-design, monitor and
adjust the process-alignment in response to difficulties in the change