VMT: A Complementary Approach
VMT methodically and in a novel way combines techniques that have proven productive in
other object methodologies.
VMT uses OMT as the backbone methodology and uses its notation throughout. However,
although OMT works well when the requirements are presented as a problem statement, as in
an RFP, it does not provide a mechanism for capturing user interactions in the requirement
phase of the application development cycle. Therefore, VMT applies use case analysis to
identify user requirements, the activities the user performs, and the services the system
must provide for the user. This approach should lead to a better understanding of the
interactions between the user and the system to be built. The OOSE use case requirement
modeling technique has the advantage of capturing the many modes of user interaction and
is particularly well suited to formalizing results obtained by prototyping. A set of
reusable GUI prototypes is also a byproduct of the prototyping activity.
OMT starts the modeling process by identifying object classes from the application
problem statements. It does this through language-syntax-related procedures, such as noun,
verb, and adjective analysis. In the VMT analysis process, the mechanism used to identify
relevant objects in use case analysis is similar. When building the domain object model,
we use the union of classes and relationships found in both use case analysis and problem
statement analysis because the class derived from both sources usually represent
different, albeit complementary, aspects of the application domain. The justification for
this approach is to better capture the user requirements by focusing concurrently on both
the static and the dynamic aspects of the problem domain.
RDD techniques are incorporated into VMT because once classes and relationships are
found, the distribution of responsibilities among the classes must be established. VMT
also uses CRC cards to define object class responsibilities and collaborations, not to
find class. Eventually, new collaborations may become apparent when class responsibilities
VMT applies a concept similar to the concept of subsystems defined in OMT, RDD and OOSE
to map subsystems to programming constructs that the development environment can handle.
The next step in VMT, following OMT, is to use event trace diagrams and Harel state
charts to model the interactions between objects and the changes of object states. The
event traces define the messages among objects and, therefore, the methods to be invoked.
The changes of state help us identify and understand the characteristics of the variables
affected by the methods.
The functions that the methods implement are then defined by preconditions and
postconditions, which are related to events.
Figure 6 depicts a high level scheme for the VMT modeling process and its relationship
to the analysis, design, and implementation phases. VMT is a highly productive application
development process that integrates visual programming and can be extended to distributed
object application development.