IBM SG24-7368-00 Fitness Equipment User Manual


 
70 Model Driven Systems Development with Rational Products
Operation realization
Here we discuss logical system elements and the use of context diagrams.
MDSD Step 9: Operation realization
The question we must answer now is, how are the operations we have uncovered
accomplished using a collaboration of elements at the next level of
decomposition? So far, we have treated the system under consideration as a
single black box, and avoided any mention of elements inside. Now, we will
determine the logical system elements within the entity and map out how they
collaborate to accomplish each of the system operations. Indirectly of course,
this also shows us how they collaborate to fulfill the system use cases.
The logical viewpoint
When thinking about what would make good elements at the next level, it is
tempting to move toward a physical decomposition of the system under
consideration and use these as our logical elements. If we have been
considering a car, we might be tempted to put physical subsystems such as the
drivetrain, suspension, electrical and fuel systems as our next level elements. In
some cases, where the physical constraints on the system might in fact
determine how much functionality we can provide, we will need to proceed in this
way. However, in cases where the physical constraints are not as important,
starting with the physical, while perhaps a familiar method, has the potential
disadvantage of stifling innovation by pre-supposing a specific implementation.
Creating a logical, rather than physical architecture first, allows more creative
reasoning about the overall architecture of the system. In thinking this way,
similar elements can be grouped together, while disparate concerns can be
separated, increasing modularity. Trade-offs between coupling (interconnections
between elements) and cohesion (tightly connected elements combined into
one) can be evaluated and decided. In our next steps, specifically joint
realization, we will consider how the different viewpoints must be overlaid one
upon the other to create an overall architecture.
The creation of any particular logical architecture requires real domain expertise
and experience and involves many factors beyond the scope of this book. While
there are architectural principles that can be applied, MDSD does not
automatically create these elements. It does, however, provide frameworks for
reasoning explicitly about the kinds of issues that directly influence the
architecture. The process of designing the architecture is an interactive one,
involving initial formulations and revisions. The practical approach is to make an
initial draft of a set of elements, perform the next steps in the flowdown, and use
this to either validate or refine the element choices.