IBM SG24-7368-00 Fitness Equipment User Manual


 
Chapter 2. Definitions, design points, and key concepts 19
Generally, model-driven development (MDD) is a technique for addressing
complex development challenges by dealing with complexity through abstraction.
Using this technique, complex systems are modeled at different levels of
specificity. As the development program proceeds, the model undergoes a series
of transformations, with each transformation adding levels of specificity and
detail.
This last quote is very important in regard to the process to be described in the
following chapters, and also sets the stage for the possibility of automation
through transformations as in Rational Software Architect and Rational Software
Modeler (RSx).
Artifact
An artifact is defined as any item that describes the system, including a diagram,
matrix, text document, or the like.
Use case
A use case is a sequence of events that describes the collaboration between the
system and external actors to accomplish the goals of the system. In other
words, the use case is a way to specify the behavior required of the system and
external entities in response to a given sequence of stimuli.
This definition is different from the standard definition of use case as found in
virtually all the literature on use cases. The authors of the Systems Journal
article explain:
In working with the systems community, who typically interact with large
teams requiring precise communications, we found that the common informal
definition of a use case (namely, a description of a service that the software
provides, which provides value to the actor) is inadequate for a variety of
reasons. A
service … is a behavior of the system. The actual semantics of
use cases more closely resemble collaboration than behavior. Value is far too
subjective a term to be included in the definition of a framework element. In
any case, the entity receiving benefit from the system behavior might not
include the actors in the collaboration. In addition, the software definition of a
use case does not provide for scalability.
This definition provides scalability because it is isomorphic with the definition of
an operation, that is, they both consist of a sequence of events. In fact, the
difference is one of context, as will be seen below. Operations at any given level
are instances of one or more use cases for entities at the next lower level. Also
note that this does not emphasize a
sequence of steps, but rather emphasizes the
collaboration.