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

132   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


                      Factors, Issues, and Strategies
                      Factors, issues, and strategies are artifacts used in a technique called
                      global  analysis  [Hofmeister  et  al.  1999],  [Paulish  2002].  Factors
                      (architecture-influencing factors) are statements about the product,
                      the project, or their contexts that potentially influence the architecture.
                      Factors  may  be  inferred  from  the  problem  statement  or  from  the
                      engineers’ experience or general knowledge. Factors often generalize
                      QASs or use case scenarios. Sometimes, a factor is identified first, and
                      then a use case scenario is written as an example of the factor. Sometimes,
                      product requirements are introduced as examples of factors.
                         Issues  are  identified  by  finding  conflicts  between  factors.  The
                      statement of the issue juxtaposes the conflicting factors and explains
                      why they are hard to reconcile.
                         Strategies  are  tentative  decisions  about  the  architecture  or  the
                      project plan that address (architectural) issues.

                      Product Architecture
                      This  artifact  maps  out  all  the  coarse-grained  components  and
                      interfaces of the system, preferably using view models [IEEE 2000],
                      [Clements et al. 2003]. It conforms to the architecture principles while
                      allocating  responsibility  for  product  requirements  to  specific
                      components and interfaces. Note that the architecture principles are
                      largely independent of specific product requirements. That is, adding
                      or removing a major piece of functionality could lead to adding or
                      removing  the  components  and  interfaces  responsible  for  that
                      functionality without affecting the principles.


                 5.3  Quality Attribute Requirements
                      The road to understanding quality attribute requirements starts with
                      a brief detour into the fundamentals of system quality. The quality of
                      a system, in general, is its fitness for its intended uses. ISO Std. 9126-1
                      defines a quality model with four linked topic areas of quality:

                          •  Process quality  Quality of the process that is producing the
                             product
                          •  Internal quality  Quality of the intermediate work products
                             (some of which may also be deliverable work products)
                          •  External  quality  Quality  of  the  finished  product,  before
                             delivery
                          •  Quality in use  Quality of the larger processes in which the
                             delivered product is used

                         A quality attribute is a system or process property indicative of
                      quality in any of these quality topic areas. Note that, for our purposes,
   161   162   163   164   165   166   167   168   169   170   171