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

n
                                                  t
                                               m
                                                e
                                                   s
                                                       n
                                                        g

                                                     E
                                             e
                          C h a p t e r   6 :
                                       R
                                                                             m
                                                                               s
                                        e
                                            i
                                             r
                                         q
                                           u
                                                         i
                                                                      P
                                                                       l
                                                                    r

                                                                        a
                                                                           o
                                                                            r
                                                                         t
                                                                          f
                                                                   o
                                                            e
                                                             r
                                                          n
                                                           e
                                                              i

                                                                  f
                                                               n
                                                                g
                          C  h  a  p  t  e  r     6  :     R e q u i r e m e n t s   E n g i n e e r i n g   f o r   P l a t f o r m s      187 187
                      interoperability,  compliance,  and  security),  reliability,  usability,
                      efficiency,  maintainability,  and  portability.  The  questionnaires
                      organized around those attributes should help elicit the first set of the
                      stakeholders’ inputs. Analyzing the answers to those questionnaires
                      often helps identify the needs that are beyond the scope covered by
                      the  questionnaires.  In  addition,  some  answers  may  be  incomplete
                      when providing insufficient details such as those that describe the
                      related operating environments. This often needs to be corrected by
                      carrying  out  the  next  round of  stakeholder  elicitation.  During  this
                      elicitation, the NFR Questionnaire Table as illustrated in Table 6.1 will
                      most likely be used. This table is precise and structured with built-in
                      mathematical  formulas  to  automatically  calculate  (derive)  the
                      stakeholders’ inputs.
                         Some quality attributes that were not covered by the standards
                      will be added into the questionnaires as well. For example, the ISO
                      standard does not have the safety and localizability (i.e., defines how
                      easily  the  software  can  be  localized)  attributes.  For  a  real-time,
                      embedded system that controls physical equipment, safety is often
                      very  important  and  thus  needs  to  be  added.  For  a  large  software
                      system company, its products often need to be localized to the regional
                      markets  all  over  the  world.  Thus,  localizability-related  questions
                      could be added to the questionnaires.
                         Note that although our experience reported herein emphasizes
                      using the NFR Questionnaire Table, it cannot take the place of the
                      face-to-face  elicitation  meetings  we  have  described  in  Chapter  3.
                      Complete  understanding  of  functional  and  nonfunctional
                      requirements requires much discussion and communication between
                      stakeholders and requirements engineers.
                      Unify Terminology
                      This  activity  is  particularly  important  for  developing  NFRs  for  a
                      software platform that is potentially applied in multiple application
                      domains.  For  example,  a  software  platform  may  support  the
                      applications in multiple application domains or different applications
                      (e.g., image analysis for different purposes) in the same application
                      domain  (e.g.,  the  medical  imaging  domain).  Not  unifying  and
                      differentiating those key terms in the stakeholders’ inputs will make
                      many NFR-related discussions very difficult.
                         Our experience indicates that carrying out this activity is actually
                      not very difficult if it is well supported by the stakeholders. In our
                      practice, we used only two to five structured tables that modeled the
                      relationships  among  the  similar  terms.  The  table  can  be  used  to
                      indicate the relations among the terms and list the differences and
                      commonalities. Some of those tables were documented into the NFR
                      requirements  as  the  term  definitions.  However,  during  the  NFR
                      documentation development, we must be very disciplined at using
   216   217   218   219   220   221   222   223   224   225   226