Sunteți pe pagina 1din 19

Object Modeling Technique

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

•Classes are typically modeled as rectangles with three


sections
•Top section: for the name of the class
•Middle section: for the attributes of the class
•Bottom section: for the methods of the class.
Object Model Constructs
•Attributes are the information stored about an object.
•For example, students have student numbers, names,
addresses, and phone numbers.
•Methods are the things an object or class do.
•Students enroll in courses, drop courses, and request
transcripts. Those are all examples of the things a student
does, which get implemented (coded) as methods.
Object Model Diagram
Complex Attributes
•Example: Address in Student Class
•By introducing the Address class, the Student class has
become more cohesive. It no longer contains logic (such
as validation) that is pertinent to addresses.
•The Address class could now be reused in other places,
such as the Professor class, reducing overall
development costs.
Association
• Objects are often associated with, or related to, other
objects.
•Associations are modeled as lines connecting the two
classes whose instances (objects) are involved in the
relationship.
Table 1. Multiplicity Indicators.

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.

S-ar putea să vă placă și