IBM SG24-7368-00 Fitness Equipment User Manual


 
6 Model Driven Systems Development with Rational Products
Multiple views to address multiple concerns
Our life is complicated, our systems are complex.
9
They are built from many
parts; often there are many systems working together to accomplish a goal. Our
minds do not handle certain kinds of complexity well. In mathematics, when we
deal with multi-variable equations, we isolate variables, solve for them, and
substitute them back into the equation.
We must provide a mechanism for doing the same thing with systems.
10
We do
the same thing when we design and construct buildings. A building is a system.
When we construct a building, we draw up many different plans: One for the
electricity, another for the plumbing, different views of the exterior. To address the
complexity of our systems, we have to create viewpoints that address multiple
concerns. These can vary from system to system. Common viewpoints might
include the logical viewpoint (what is the functionality), the distribution viewpoint
(where does the functionality take place), the data viewpoint (what domain
entities are manipulated), and the worker viewpoint (what human roles are
involved). MDSD is explicitly designed to promote the creation of different
viewpoints to address different concerns.
Integration of form and function
Function does not occur in a vacuum. It is hosted by physical form. Form exists to
carry out function. We build systems to accomplish goals. The systems that we
build do not exist in a vacuum—they are physical things. The goals that we have
for a system, the functionality that we would like it to exhibit, are realized by forms
or structures. The form that a system takes must support the goals that we have
for it. Both the functionality of the systems and the systems themselves are
constrained: we want something to occur within a specified amount of time; we
do not want the system to harm its users or innocent bystanders.
Our systems generally must fit into certain spaces, weigh less than a certain
amount. The goal of system design is to create a set of forms that will provide
desired functionality within a set of constraints. MDSD ensures that system goals
are met by distributing functionality across cooperating entities while reasoning
about system performance, and other constraints.
9
See the discussion on increased complexity in Cantor and Roose, Hardware/software
codevelopment using a model-driven systems development (MDSD) approach, The Rational Edge,
IBM developerWorks®, December 2005,
http://www.ibm.com/developerworks/rational/library/dec05/cantor/index.html?S_TACT=105AG
X15&S_CMP=EDU
10
See the discussion of abstraction, decomposition, and other topics in Booch et al.,
Object-Oriented Analysis and Design with Applications, 3rd Edition, Addison-Wesley, 2007,
chapters 1 and 2