Documente Academic
Documente Profesional
Documente Cultură
Introduction
• The object-modeling technique (OMT) is an object
modeling language for software modeling and designing.
• It was developed in 1991 by Rumbaugh, Blaha,
Premerlani, Eddy and Lorensen as a method to develop
object-oriented systems, and to support object-oriented
programming.
•OMT was developed as an approach to software
development.
Purpose
• The purposes of modeling according to Rumbaugh
(1991) are:
testing physical entities before building them
(simulation),
communication with customers,
visualization (alternative presentation of information),
reduction of complexity.
Models in OMT
•Object Model
•Dynamic Model
•Functional Model
OMT Software Development
Process
• 4 phases
Analysis
System Design
Object Design
Implementation
•Most of the modeling is performed in Analysis Phase
Steps performed in OMT
•Develop a Problem Statement.
•Build an Object Model
•Build a Dynamic Model
•Build a Functional Model
•Verify, iterate and refine the three models
Object Model
•The OMT object model illustrates the static relationship
among classes and objects in a system.
•Steps:
Identify object classes.
Develop a data dictionary for classes, attributes, and
associations.
Add associations between classes.
Add attributes for objects and links.
Organize and simplify object classes using inheritance.
Refine the Class Model
Object Model Constructs
Multiplicity Indicators
Indicator Meaning
0..1 Zero or one
1 One only
0..* Zero or more
1..* One or more
n Only n (where n > 1)
0..n Zero to n (where n > 1)
1..n One to n (where n > 1)
Association
• Another option for associations is to indicate the direction
in which the label should be read. This is depicted using a
filled triangle, called a direction indicator.
•The arrowheads on the end of the line indicate the
directionality of the association. A line with one arrowhead
is uni-directional whereas a line with either zero or two
arrowheads is bidirectional.
Inheritance Relationship
• Inheritance models “is a” and “is like” relationships,
enabling you to reuse existing data and code easily.
•When A inherits from B, we say A is the subclass of B and
B is the superclass of A.
•Furthermore, we say we have “pure inheritance” when A
inherits all the attributes and methods of B.
•The OMT modeling notation for inheritance is a line with a
closed arrowhead pointing from the subclass to the
superclass.
Inheritance Relationship
Composition Association
• An object is made up of other objects.
•Composition refers to ‘has a’ relationship
•For example, building is composed of one or more rooms,
and then, in turn, that a room may be composed of several
subrooms.
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.
•Prepare scenarios of typical interaction sequences.
•Identify events between objects and prepare an event
trace for each scenario.
•Prepare an event flow diagram for the system.
•Develop a state diagram for each class that has important
dynamic behavior.
•Check for consistency and completeness of events
shared among the state diagrams.