0% found this document useful (0 votes)
3 views10 pages

Modelling & Object Oriented Methodology

This document introduces Object-Oriented Methodology (OOM) and its significance in software development, emphasizing the integration of data and functions through self-contained objects. It outlines the OMT methodology, which includes system analysis, design, object design, and implementation, while highlighting the advantages of OOM such as increased reusability and alignment with real-world structures. The chapter also discusses the concept of modeling, its purpose, and the importance of abstraction in understanding complex systems.

Uploaded by

Saarthak
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views10 pages

Modelling & Object Oriented Methodology

This document introduces Object-Oriented Methodology (OOM) and its significance in software development, emphasizing the integration of data and functions through self-contained objects. It outlines the OMT methodology, which includes system analysis, design, object design, and implementation, while highlighting the advantages of OOM such as increased reusability and alignment with real-world structures. The chapter also discusses the concept of modeling, its purpose, and the importance of abstraction in understanding complex systems.

Uploaded by

Saarthak
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Writer: Dr.

Rajender Nath
Vetter: Dr. Dharminder Kumar

Chapter 1

Introduction to Object-Oriented Methodology

Structure
1.0 Introduction
1.1 Objectives
1.2 Introduction To Modeling
1.2.1 What is modeling
1.2.2 Why do we model?
1.3 Object Oriented Methodologies
1.3.1 Object Oriented Process
1.3.1.1 System Analysis
1.3.1.2 System Design
1.3.1.3 Object Design
1.3.1.4 Implementation
1.3.2 Advantages of Object Oriented Methodologies
1.4 OMT Methodology
1.4.1 Object Model
1.4.1.1 Object and Classes
1.4.1.2 Links and Associations
1.5 Summary
1.6 Suggested Readings/Reference Materials
1.7 Self-Assessment Questions

1
1.0 Introduction

Most of the methods used in software development houses are based on a


functional and/or data-driven decomposition of the systems. These
approaches differ in many ways from the approaches taken by object-oriented
methods where data and functions are highly integrated. Object-oriented
systems development is a way to develop software by building self-contained
modules or objects that can be easily replaced, modified and reused. It
depicts the view of real world as a system of cooperative and collaborative
objects. In this, software is a collection of discrete objects that encapsulates
data and operations performed on that data to model real world objects. A
class describes a group of objects having similar structures and similar
operations.

Object Oriented Philosophy is very much similar to real world and hence is
gaining popularity as the systems here are seen as a set of interacting objects
as in the real world. To implement this concept, the process-based structural
programming is not used; instead objects are created using data structures.
Just as every programming language provides various data types and various
variables of that type can be created, similarly, in case of objects certain data
types are predefined.

There are several object-oriented development methods around. In this


chapter, Object Modeling Technique (OMT) will be discussed. The OMT
method given by Rumbaugh et. al. is based on entity/relationship modeling
with extensions to modeling classes, inheritance and behavior.

1.1 Objectives

The main objective of this chapter is to introduce the concept of modeling in


general and to give an overview of object-oriented methodologies. This
chapter introduces OMT methodology and its three basic models viz object

2
model, dynamic model and functional model. Concepts of objects and classes
are discussed in detail along with the notations of OMT methodology. Links
and associations are defined and illustrated with lucid examples.

1.2 Introduction to Modeling


1.2.1 What is modeling?

A model is an abstraction of something for the purpose of understanding it


before building it. Because, real systems that we want to study are generally
very complex. In order to understand the real system, we have to simplify the
system. So a model is an abstraction that hides the non-essential
characteristics of a system and highlights those characteristics, which are
pertinent to understand it. Efraim Turban describes a model as a simplified
representation of reality. A model provides a means for conceptualization and
communication of ideas in a precise and unambiguous form. The
characteristics of simplification and representation are difficult to achieve in
the real world, since they frequently contradict each other. Thus modeling
enables us to cope with the complexity of a system.

Most modeling techniques used for analysis and design involve graphic
languages. These graphic languages are made up of sets of symbols. As you
know one small line is worth thousand words. So, the symbols are used
according to certain rules of methodology for communicating the complex
relationships of information more clearly than descriptive text.

Modeling is used frequently, during many of the phases of the software life
cycle such as analysis, design and implementation. Modeling like any other
object-oriented development, is an iterative process. As the model
progresses from analysis to implementation, more detail is added to it.

1.2.2 Why do we model?

3
Before constructing anything, a designer first build a model. The main
reasons for constructing models include:

• To test a physical entity before actually building it.


• To set the stage for communication between customers and
developers.
• For visualization i.e. for finding alternative representations.
• For reduction of complexity in order to understand it.

1.3 Object Oriented Methodologies

We live in a world of objects. These objects exist in nature, in man-made


entities, in business, and in the products that we use. They can be
categorized, described, organized, combined, manipulated and created.
Therefore, an object-oriented view has come into picture for creation of
computer software. An object-oriented approach to the development of
software was proposed in late 1960s.

Object Oriented Methodology (OOM) is a new system development approach


encouraging and facilitating reuse of software components. With this
methodology, a computer system can be developed on a component basis,
which enables the effective reuse of existing components and facilitates the
sharing of its components by other systems. By using OOM, higher
productivity, lower maintenance cost and better quality can be achieved.

OOM requires that object-oriented techniques be used during the analysis,


design and implementation of the system. This methodology makes the
analyst to determine what the objects of the system are, how they behave
over time or in response to events, and what responsibilities and relationships
an object has to other objects. Object-oriented analysis has the analyst look at
all the objects in a system, their commonalties, difference, and how the
system needs to manipulate the objects.

4
During design, overall architecture of the system is described. During
implementation phase, the class objects and the interrelationships of these
classes are translated and actually coded using the programming language.
The databases are created and the complete system is made operational.

1.3.1 Object Oriented Process

The OOM for building systems takes the objects as the basis. For this, first
the system to be developed is observed and analyzed and the requirements
are defined. Once this is done, the objects in the required system are
identified. For example, in case of a Banking System, a customer is an object,
a ledger is an object, passbook is an object and even an account is an object.

OOM is somewhat similar to the traditional approach of system designing, in


that it also follows a sequential process of system designing but with a
different approach. The basic steps of system designing using OOM may be
listed as:

• System Analysis
• System Design
• Object Design
• Implementation

1.3.1.1 System Analysis

As in any other system development model, system analysis is the first phase
of OOM too. In this phase, the developer interacts with the user of the system
to find out the user requirements and analyses the system to understand the
functioning of it.

Based on this system study, the analyst prepares a model of the desired
system. This model is purely based on what the system is required to do. At
this stage the implementation details are not taken care of. Only the model of
the system is prepared based on the idea that the system is made up of a set
of interacting objects. The important elements of the system are emphasized.

5
1.3.1.2 System Design

System Design is the next development stage in OOM where the overall
architecture of the desired system is decided. The system is organized as a
set of sub systems interacting with each other. While designing the system as
a set of interacting subsystems, the analyst takes care of specifications as
observed in system analysis as well as what is required out of the new system
by the end user.

The system analysis is to perceive the system as a set of interacting objects.


A bigger system may also be seen as a set of interacting smaller subsystems
that in turn are composed of a set of interacting objects. While designing the
system, the stress lies on the objects comprising the system and not on the
processes being carried out in the system.

1.3.1.3 Object Design

In this phase, the details of the system analysis and system design are
implemented. The Objects identified in the system design phase are
designed. Here the implementation of these objects is decided in the form of
data structures required and the interrelationships between the objects. For
example, we can define a data type called customer and then create and use
several objects of this data type. This concept is known as creating a class.

In this phase of the development process, the designer also decides about the
classes in the system based on these concepts. He decides on whether the
classes need to be created from scratch or any existing classes can be used
as it is or new classes can be inherited from them.

1.3.1.4 Implementation

During this phase, the class objects and the interrelationships of these
classes are translated and actually coded by using an object-oriented
programming language. The required databases are created and the
complete system is transformed into operational one.

6
1.3.2 Advantages of Object Oriented Methodology

• As compared to the conventional system development techniques,


OOM provides many benefits.
• The systems designed using OOM are closer to the real world as the
real world functioning of the system is directly mapped into the system
designed using OOM. Because of this, it becomes easier to produce
and understand designs.
• The objects in the system are immune to requirement changes
because of data hiding and encapsulation features of object-
orientation. Here, encapsulation we mean a technique that allows the
programmer to hide the internal functioning of the objects from the
users of the objects. Encapsulation separates the internal functioning
of the object from the external functioning thus providing the user
flexibility to change the external behavior of the object making the
programmer code safe against the changes made by the user.
• OOM designs encourage more reusability. The classes once defined
can easily be used by other applications. This is achieved by defining
classes and putting them into a library of classes where all the classes
are maintained for future use. Whenever a new class is needed the
programmer first looks into the library of classes and if it is available, it
can be used as it is or with some modification. This reduces the
development cost & time and increases quality.
• Another way of reusability is provided by the inheritance feature of the
object-orientation. The concept of inheritance allows the programmer to
use the existing classes in new applications i.e. by making small
additions to the existing classes can quickly create new classes. This
provides all the benefits of reusability discussed in the previous point.
• As the programmer has to spend less time and effort so he can utilize
saved time (due to the reusability feature of the OOM) in concentrating
on other aspects of the system.

7
• OOM approach is more natural as it deals with the real world objects.
So, it provides nice structures for thinking and abstracting and leads to
modular design.

Many OOMs have been developed since its inception. Some of the popular
object oriented methodologies are listed below:

• Booch Methodology [1994]: He developed the Object Oriented


Analysis and Object Oriented Design (OOA/OOD) concepts.
• RDD Methodology [1990]: Wirfs-Brock, Wilkerson, and Wiener
developed Responsibility Driven Design (RDD) methodology.
• OMT methodology [1991]: James Rumbaugh led a team at research
labs of General Electric to develop the Object Modeling Technique
(OMT).
• OOSE [1994]: Ivar Jacobson developed the Object Oriented Software
Engineering (OOSE).

Other Object-Oriented methodologies that have been around in the world are:

• Berand [Berand 93]


• BON [Nerson 92]
• Coad/Yourdon [Coad 1991]
• Embley [Embley 1993]
• EVB [Jurik 1992]
• ROOM [Selic 1994]
• FUSION [Coleman 1994]
• HOOD [HOOD 89]
• Shlaer and Mellor (Shlaer 1992]

Discussion of these methodologies is beyond the scope of this course


material as these are not the part of your course curriculum. Object Modeling
Technique (OMT) methodology [1991] developed by James Rumbaugh et. al.

8
is the part of your syllabus and will be discussed in detail in rest of the
chapters.

1.4 OMT Methodology

OMT is an object-oriented software development methodology given by


James Rumbaugh et.al. This methodology describes a method for analysis,
design and implementation of a system using object-oriented technique. It is a
fast, intuitive approach for identifying and modeling all the objects making a
system. The OMT consists of three related but different viewpoints each
capturing important aspects of the system i.e. the static, dynamic and
functional behaviors of the system. These are described by object model,
dynamic model and functional model of the OMT.

The object model describes the static, structural and data aspects of a
system. The dynamic model describes the temporal, behavioral and control
aspects of a system. The functional model describes the transformational and
functional aspects of a system. So every system has these three aspects.
Each model describes one aspect of the system but contains references to
the other models.
The entire OMT software development process has four phases: analysis,
system design, object design, and implementation of the software. Most of the
modeling is performed in the analysis phase. In this phase, three basic
models - Object Model, Dynamic Model and Functional Model are developed.
While the Object Model is most important of all as it describes the basic
element of the system, the objects, all the three models together describe the
complete functional system.

Object Model describes the objects in a system and their interrelationships.


This model observes all the objects as static and does not pay any attention
to their dynamic nature. Dynamic Model depicts the dynamic aspects of the
system. It portrays the changes occurring in the states of various objects with
the events that might occur in the system. Functional Model basically

9
describes the data transformations of the system. This describes the flow of
data and the changes that occur to the data throughout the system.

In this chapter, we will discuss the object model in detail. Remaining models
will be described in the ensuing chapters.

1.4.1 Object Model

The object model describes the structure of the objects in the system - their
identity, their relationships to other objects, their attributes, and their
operations. The object model depicts the primary view of how the real world in
which the system interacts is divided and the overall decomposition of the
system. The object model provides the framework into which the other models
are placed.

The object model is represented graphically with an object diagram. The


object diagram contains classes interconnected by association lines. Each
class represents a set of individual objects. The association lines establish
relationships among classes. Each association line represents a set of links
from the object of one class to the object of another class.

Now we discuss the concepts of object, class and relationships between


objects and/or classes. We also introduce the notations and symbols of OMT
used for object, class and relationships.

1.4.1.1 Object and Class

A class describes a collection of similar objects. It is a template where certain


basic characteristics of a set of objects are defined. A class defines the basic
attributes and the operations of the objects of that type. Defining a class does
not define any object, but it only creates a template. For objects to be actually
created, instances of the class are to be created as per the requirement of the
case.

10

You might also like