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

182   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


                      domains or the existing (legacy) products from which the performance
                      requirements  are  derived.  Sometimes,  such  performance  needs  are
                      based upon competitors’ product specifications to ensure an edge over
                      the competitors (e.g., so that the inputs are comparable to the competitors’
                      quality  attribute  requirements  values).  In  order  to  make  those
                      stakeholders’ inputs directly comparable for an NFR for the platform,
                      requirements engineers must convert them into the same scale (e.g.,
                      number of alarms per second). Sometimes, this normalization changes
                      the stakeholder’s original intent. For example, “Processing 50 alarms
                      per 10 seconds” as a performance need for certain applications reflects
                      more precisely the stakeholder’s real need than an alarm processing
                      rate (alarms/second). Normalizing the need to “Processing 5 alarms per
                      second” would make a more specific and demanding requirement than
                      the  original  stakeholder’s  need.  However,  in  order  to  reconcile  the
                      stakeholders’ inputs, such normalization is necessary.

                      Reconcile Stakeholders’ Inputs
                      This activity identifies and groups the similar stakeholders’ inputs,
                      and then requirements engineers can define a single NFR to address
                      this group of similar stakeholders’ inputs. By doing this, requirements
                      engineers  can  also  identify  a  range  of  variations  on  the  similar
                      requirements. Depending on how much they vary, some constraints
                      might be added to ensure the NFRs are feasible to implement. For
                      example,  the  performance  requirements  within  a  narrow  latency
                      range  might  be  grouped  together.  If  one  stakeholder  requests  less
                      than 2 seconds for transmitting an alarm while another stakeholder
                      requests  less  than  4  seconds  (assuming  they  are  easily  achievable
                      with low-end hardware), then the requirements engineers can define
                      that  a  low-end,  small  deployment  of  the  system  shall  support  an
                      alarm  latency  that  is  less  than  2  seconds.  However,  if  another
                      stakeholder  requests  a  0.5-second  alarm  latency  that  is  far  more
                      demanding, a constraint might be added to ensure that such a short
                      latency can be implemented and acceptable for the targeted application
                      situation. For example, the constraint might be that some high-speed
                      networking device should be used when achieving this short alarm
                      latency. By doing this, we can address the stakeholders’ needs with
                      similar NFRs by specifying different constraints.
                      Define the NFRs for the Platform
                      This activity defines the NFRs for the platform from the stakeholders’
                      inputs that address the end-user needs. The reconciled stakeholders’
                      inputs will be used for specifying the NFRs. The NFRs will use the
                      specific values from the reconciliation. The worksheets used in the
                      reconciliation should be put into the NFR specification, possibly as an
                      appendix, referred from the main context of the NFR specification.
   211   212   213   214   215   216   217   218   219   220   221