Object Modeling Technique Suggested Design Format
Object Modeling Technique Suggested Design Format
html
Object Model
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.
The object class diagram should adhere to OMT's notation and exploit the
capabilities of OMT, such as links and associations, inheritence (generalization
and specialization), and aggregation. The attributes and operations need not
be included in this diagram, as they will be described below in the object class
specifications.
Dynamic Model
The dynamic model describes those aspects of the system concerned with the
sequencing of operations and time - events that cause state changes,
sequences of events, states that define the context for events, and the
organization of events and states. The dynamic model captures control
infomation without regard for what the operations act on or how they are
implemented.
The state diagram should adhere to OMT's notation and exploit the capabilities
of OMT, such as transition guards, actions and activities, nesting (state and
event generalization), and concurrency.
Functional Model
The functional model describes computations and specifies those aspects of the
system concerned with transformations of values - functions, mappings,
constraints, and fucntional dependencies. The functional model captures what
the system does, without regard to how or when it is done.
The data flow diagram should adhere to OMT's notation and exploit the
capabilities of OMT, such as nesting, control flows, and constraints.
Once all of the models have been defined, the object classes can be further
specified. This is the time to reconcile any differences in the models and
ensure their consistency. Operations may be added to the object model based
on the other models: events, actions, and activities from the dynamic model
Object classes are specified by their attributes and the behavior of their
operations. Each object class specification must include both the attributes of
the objects and the signature and transformation for each operation as well as
any constraints on its application. The signature defines the interface to the
operations (arguments and their types). The transformation defines the effect
of the operation (output values as functions of input values and any side effects
on operand objects). Each transformation must be described as a mathematic
function by one of the following: mapping of inputs to outputs, table of I/O
values, equations specifying outputs in terms of inputs, pre- and
post-conditions, pseudocode, or natural language. The constraint should
describe when the transformation is valid and what exceptions arise when it is
not. The description should be an external specification, including only
changes visible outside of the operation, and thus excluding any
implementation details.
This specification should be organized by object class. Thus, this section might
be organized as follows:
...
...
...
NOTE: if desired, the test cases can be grouped with the design entity to
which they apply, else a cross reference listing of some sort should be
provided.