Beruflich Dokumente
Kultur Dokumente
and correct.
8. Validate the requirements model with the customer by
showing them the executing models.
When problems are identified with the requirements during this
functional use case analysis, they can be easily and inexpensively
fixed before any design or implementation is thrown away
and redone.
IBM Software 7
Constructing the executable use case
Some people are confused by the fundamental notion of using
a state machine to represent requirements, thinking that state
machines are inherently a design tool. State machines are just
a behavioral specification, and requirements are really just statements
of behavior by which the required input ? output control
and data transformations of the system are characterized. It s a
natural fit.
Consider the set of user stories for a cardiac pacemaker:
?? The pacemaker may be off (not pacing or sensing) or
executing the pacing mode of operation).
?? The cardiac pacemaker shall pace the atrium in Inhibit mode;
that is, when an intrinsic heart beat is detected at or before the
pacing rate, the pacemaker shall not send current into the
heart muscle.
?? If the heart does not beat by itself fast enough, as determined
by the pacing rate, the pacemaker shall send an electrical
current through the heart by means of the leads at the voltage
potential specified by the pulse amplitude parameter (nominally
20mv, range [10..100]mv) for the period of time specified
by the pulse length (nominally 10ms, range [1 .. 20]ms).
?? The sensor shall be turned off before the pacing current is
released.
?? The sensor shall not be reenabled following a pace for
the period of time it takes the charge to dissipate to avoid
damaging the sensor (nominally 150ms, setting range is
[50..250]ms). This is known as the refractory time.
?? When the pacing engine begins, it will disable the sensor and
current output; the sensor shall not be enabled for the length
of the refractory time.
8 Systems engineering best practices: Model-based requirement analysis
A scenario of use is shown in Figure 2.
Figure 2. Pacemaker scenario
enable( )
tm(REFRACTORY_TIME)
enableSensor( )
atrialBeat( )
atrialBeat( )
tm(PACE_TIME)
tm(PULSE_TIME)
enableCurrentFlow( )
atrialPace( )
Heart doesn t beat fast enough
this time, so pacemaker steps in
and paces the heart.
Heart beats on its own fast
enough to avoid triggering the
pace timeout.
User Story:
I want to receive
pacing pulses to my
right atrium if I m
ers to next-generation spacecraft. He has authored the DoDAF profile for the Rat
ional Rhapsody tool and a safety analysis profile for UML. He speaks actively in
the modeling and real-time communities, speaks at many conferences and consults
.
Copyright IBM Corporation 2013IBM Corporation Software Group Route 100 Somers, N
Y 10589Produced in the United States of America October 2013IBM, the IBM logo, i
bm.com, DOORS, Rational, and Rhapsody are trademarks of International Business M
achines Corp., registered in many jurisdictions worldwide. Other product and ser
vice names might be trademarks of IBM or other companies. A current list of IBM
trademarks is available on the web at Copyright and trademark information at ibm.c
om/legal/copytrade.shtmlThis document is current as of the initial date of publi
cation and may be changed by IBM at any time. Not all offerings are available in
every country in which IBM operates.It is the user s responsibility to evaluate a
nd verify the operation of any other products or programs with IBM products and
programs.THE INFORMATION IN THIS DOCUMENT IS PROVIDED AS IS WITHOUT ANY WARRANTY,
EXPRESS OR IMPLIED, INCLUDING WITHOUT ANY WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND ANY WARRANTY OR CONDITION OF NON-INFRINGEMENT . IB
M products are warranted according to the terms and conditions of the agreements
under which they are provided.
RAW14330-USEN-00 Please
Recycle