Modelling & Object Oriented Methodology
Modelling & Object Oriented Methodology
Rajender Nath
Vetter: Dr. Dharminder Kumar
Chapter 1
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
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.
1.1 Objectives
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.
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.
3
Before constructing anything, a designer first build a model. The main
reasons for constructing models include:
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.
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.
• System Analysis
• System Design
• Object Design
• Implementation
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.
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
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:
Other Object-Oriented methodologies that have been around in the world are:
8
is the part of your syllabus and will be discussed in detail in rest of the
chapters.
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.
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.
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.
10