Object Modeling Techniques in Software Engineering
Object Modeling Techniques in Software Engineering
14]
AGENDA
Concept / Introduction What is OMT? Requirement OMT Methodology Object Model/ Dynamic Model /Functional Model
Summary
Concept /Introduction-1/3
A model is an abstraction of something for the purpose of understanding it before building it.
Object Oriented Software Engineering / TU
Object Oriented Methodology (OOM) is a new system development approach reuse of software components used during the analysis, design and implementation of the system. 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 .
OOSE
object-oriented
method for analysis, design and implementation of a system using objectoriented technique.
Precursors
testing physical entities before building them (simulation), communication with customers, visualization (alternative presentation of information), and complexity reduction.
Object
Object Oriented Software Engineering / TU
OMT-Methodology
Object Oriented Software Engineering / TU
2. Dynamic model
3. Functional Model
Object model-1
Object Oriented Software Engineering / TU
CLASS OBJECTS Object Diagram Attribute Operation Associations and Links Role names Aggregation Generalization or inheritance Homomorphism
Classes: A class describes a set of things that have same behavioral characteristics. Attribute: An attribute is a data value held by the objects in a class. Operation: An operation is a function or transformation that may be applied to or by objects in a class.
Links and Associations: A link is a physical or conceptual connection between object instances.
In, OMT, link is represented by a line labeled with its name. Role names: A role is one end of an association
It provides a formal graphic notation for modeling objects, classes and their relationships to one another. Types Class
diagram diagram
Instance
12
A class diagram is a schema, pattern or templates for describing many possible instances of data. Describes classes.
13
Describes how a particular set of objects relate to each other. Describes objects
(Person) Ram
(Person) Jai
(Person)
Instance Diagram
14
Inheritance or Generalization: Generalization refers to refining a super class into subclasses Multiplicity: It specifies how many instances of one class may relate to a single instance of an associated class.
15
16
Events
It
event may logically precede or follow another or the two events may be unrelated. two events are casually related. two events are casually unrelated are said to be concurrent i.e. they have no effect on each other. modeling a system we do not establish an ordering between concurrent events because they can occur at any order.
17
In
Airplane flight departs (airline, flight#, city) Mouse button pushed (button, location) Input string entered (text) Phone receiver lifted Digit dialed (digit)
A state has duration An event separates two states and a state separates two events. In defining states we ignore those attributes that do not affect the behavior of the objects.
19
State diagram
It relates events and states. When an event is received, the next state depends on the current state as well as the event; a change of state caused by an event is called a transition. State diagram is a graph whose nodes are states and whose directed arcs are transitions labeled by event names.
20
On-hook
Digit(n)
On-hook
ut o _
Timed- out
e m Ti
Busy tone
Num busy
valid
connecting routed ringing Called phone answers connected Called phone hangs up disconnected
Right button down/display menu idle Right button up/erase menu Menu visible
Function model
-Specifies the results of a computation without specifying how or when they are computed.
Object Oriented Software Engineering / TU
-Specifies the meaning of the operations in the object model and the actions in the dynamic model.
DFD
It A
DFD is a graph showing the flow of data values from their sources in objects through processes that transform them to their destinations in other objects. does not show control information like time, etc.
It
24
Elements of DFD
ProcessName
data.
25
Process-transforms data
Object Oriented Software Engineering / TU
Data flows
Represented as an arrow
DFD LAYERS