Using the conceptual model to govern development

This short tour describes how to use a conceptual model to govern software design.

This technique involves the ongoing use of conceptual model on an ongoing basis to drive the development of an application, and supports the notion of round-trip engineering.

After an architect creates a detailed class-level model using UML, this model becomes the seed for a code model. The architect applies a transformation directly to the model to generate the structure, or in many cases the actual compiling code, for the application. The developer can then develop the code model while the architect continues to develop the high-level UML model. This parallel workflow causes the UML model and the code model to diverge, making collaboration difficult, but the initial transformation configuration supports model reconciliation as well as forward and reverse transformations.

To minimize risk, which increases as the models diverge, the architect performs a reverse transformation on the code model, which creates a temporary snapshot that the architect uses in a reconciliation operation to selectively merge changes into the conceptual model.

After the models are merged, a transformation can then be applied to update the implementation-level code, which integrates the architect's conceptual model changes into the code model.

This process can be repeated as often as necessary throughout the development process. Both models continue to evolve in parallel and are reconciled at planned checkpoints.

Learning objectives

This tour describes a typical workflow for using IBM® Rational® UML modeling products. Specifically, this tour shows you how to do the following things:

Time required

5 minutes

Feedback