Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Modeling Technique

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 11

Modeling as a

Technique
OMT (Rumbaugh et al., 1991) was developed as an approach to software
development.

A fundamental assumption of OMT is that object-oriented thinking represents


a more natural and intuitive way for people to reason about reality

The purposes of modeling is:

• Testing physical entities before building them (simulation),


• Communication with customers,
• Visualization (alternative presentation of information), and
• Reduction of complexity.
As a general modeling approach, OMT may be used to model all types of
work. OMT proposes three main types of models:

Object model Describes basic structure of objects and their relationship.


Main concepts are classes and associations, with attributes and
operations.
Aggregation and generalization (with multiple inheritance).
Dynamic model: The dynamic model represents a state/transition view on
the model. Main concepts are states, transitions between states,
and events to trigger transitions. Actions can be modeled as occurring within
states.
Functional model: The functional model handles the process perspective
of the model, corresponding roughly to data flow diagrams. Main
concepts are process, data store, data flow, and actors.
The entire OMT software development process has four phases:
1. Analysis
2. System design
3. Object design
4. Implementation of the software.
Analysis - The aim of analysis phase is to build a model of the real world
situation to show its important properties and domain.

The analysis phase starts with defining a problem statement which includes a
set of goals.

This problem statement is then expanded into three models; an object model, a
dynamic model and a functional model.
1.Develop a Problem Statement.

2.Build an Object Model:


1.Identify object classes.
2.Develop a data dictionary for classes, attributes, and associations.
3.Add associations between classes.
4.Add attributes for objects and links.
5.Organize and simplify object classes using inheritance.
6.Test access paths using scenarios and iterate the above steps as
necessary.
7.Group classes into modules, based on close coupling and related
function.
3. Build a Dynamic Model:
1.Prepare scenarios of typical interaction sequences.
2.Identify events between objects and prepare an event trace for each
scenario.
3.Prepare an event flow diagram for the system.
4.Develop a state diagram for each class that has important dynamic
behavior.
5.Check for consistency and completeness of events shared among the
state diagrams.
4. Build a Functional Model:
1.Identify input and output values.
2.Use data flow diagrams as needed to show functional dependencies.
3.Describe what each function does.
4.Identify constraints.
5.Specify optimization criteria.

5. Verify, iterate, and refine the three models:


1.Add most important operations to the object model.
2.Verify that classes, associations, attributes and operations are
consistent and complete, check with problem statement.
3.Iterate steps to complete the analysis.
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.
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.
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.
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.

You might also like