Page 178 - Software and Systems Requirements Engineering in Practice
P. 178

144   S o f t w a r e   &   S y s t e m s   R e q u i r e m e n t s   E n g i n e e r i n g :   I n   P r a c t i c e


                          •  Response measure  No new source code, no extraordinary
                             downtime, and commencing operation within one calendar
                             week
                         Note the quality attribute, measure, and requirement implied by
                      this scenario:
                          •  The quality attribute is “configurability to accommodate new
                             sensors.”
                          •  The measure is “the amount of new source code written, the
                             amount  of  downtime,  and  the  amount  of  calendar  time  to
                             bring a new sensor online.”
                          •  The requirement is “zero new source code, no extra downtime,
                             and less than one calendar week.”
                         Also,  notice  how  the  QAS  nails  down  some  details  that  an
                      unstructured scenario might have left open:
                          •  Since no new source code is permitted, there must be a limit on
                             the range of new sensor types that can be handled. With enough
                             programming, any type of sensor could have been handled.
                          •  Shutting the system down to reconfigure it is probably not an
                             option, because that would require extraordinary downtime.
                          •  Reconfiguration will be done by an expert, not a novice.
                          •  The  expert  is  part  of  the  installation  organization,  not  the
                             customer organization.
                         But the most important aspect of the scenario is that it gives a
                      concrete  example  of  configurability,  which  is  easy  for  both  the
                      stakeholder and the architecture team to understand.
                         When eliciting QASs, it is helpful to consider the following types
                      of scenarios, as a way of bringing out issues that might not have been
                      considered:

                          •  Normal operations  These are the most obvious scenarios.
                          •  System-as-object scenarios  In these, the system is a passive
                             object that is being manipulated by, say, a programmer or an
                             installer.
                          •  Growth  scenarios  These  scenarios  deal  with  likely  or
                             plausible changes to the requirements in the future, such as a
                             50  percent  increase  in  capacity  requirements.  They  help
                             develop a system that is (somewhat) future-proof.
                          •  Exploratory scenarios  These are improbable scenarios, such
                             as the loss of power from an “uninterruptible” power supply.
   173   174   175   176   177   178   179   180   181   182   183