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

186   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


                      NFRs more specific so that they will be satisfied only under certain
                      conditions.  For  example,  the  deployment  constraints  might  be
                      modified to use a more powerful computing infrastructure to support
                      high performance requirements. This can certainly lead to architectural
                      changes or the use of other implementation technologies.
                      Complete NFRs
                      This activity completes the NFR definitions and makes them ready
                      for external review by the stakeholders. This activity should include
                      conducting  an  internal  review  of  the  NFRs  by  the  requirement
                      engineers, software architects, software testing lead, and project lead.
                      In particular, this activity should check if each NFR has a trace to
                      some original stakeholder’s inputs and if the traces are documented
                      in the NFRs.
                      Formal Review by Stakeholders
                      This activity aims to collect feedback comments and get approvals
                      from  the  stakeholders.  The  review  results  may  either  lead  to
                      modifications  of  the  NFRs  or  generate  new  questionnaires  for  the
                      stakeholders. For example, if a stakeholder’s comment is that some
                      NFR might be missing, a questionnaire about this potentially missing
                      NFR could be defined and sent to all the stakeholders in the next
                      iteration  of  the  NFR  definition  process.  From  our  experience,  we
                      expect that at least three iterations that involve external reviewers are
                      needed for completing an NFR document.


                 6.4  Experience
                      We have applied the PND process for developing a software platform
                      that supports the running and implementation of diverse industrial
                      software systems (e.g., factory control, automation, transportation).
                      For  this  example,  each  of  the  stakeholders  represented  either  a
                      Siemens company or a division of such a company. In the following
                      sections, we describe our experiences in carrying out the activities of
                      the PND process.
                      Define Questionnaires and Elicit the Stakeholders’ Inputs
                      Defining the questionnaires for the NFR elicitation is very much an
                      iterative activity, since multiple elicitations are often needed. At the
                      beginning of NFR development, the questionnaires can be drafted
                      based upon the standard quality attribute requirements as defined
                      by ISO-9126 or other standards in relation to the key business drivers
                      of the software platform to be developed. An example business driver
                      could  be  increasing  software  reusability  to  reduce  the  software
                      development  cost.  Based  upon  ISO-9126,  the  questionnaires  could
                      include  questions  regarding  software  functionality  (e.g.,  accuracy,
   215   216   217   218   219   220   221   222   223   224   225