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

146   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


                         One way to deal with “more is better” logic is by using the goal
                      modeling approach we have discussed in Chapter 3. A goal model is
                      a graph of nodes and edges, where the nodes are goals and other
                      decisions,  and  the  edges  are  “satisficing”  relationships.  The  term
                      “satisfice” means “satisfy sufficiently.” So, if a design decision seems
                      to achieve a goal well enough for the purposes of a particular project,
                      we say that the decision satisfices the goal.
                         More  typically,  a  single  decision  contributes  toward  satisfying
                      several  goals  but  also  interferes  with  achieving  other  goals.  Some
                      goal modeling notations therefore support both positive and negative
                      satisficing relationships, and some even provide for “double-plus”
                      and “double-minus” links. In these models, an edge A → + B means
                      “A contributes to satisficing B.” A → − B means “A interferes with
                      satisficing B.” To decide whether a given node N is satisficed, one
                      must consider all the edges leading to it, both positive and negative,
                      and analyze the combined effect of those decisions on the goal. While
                      this representation can be useful in visualizations, diagrams of large
                      graphs can be in practice quite unreadable. Their value comes more
                      from their use in a trace link database, when analyzing the impact of
                      changing a decision (see later Figure 5.4).

                      Global Analysis
                      Global analysis is a methodology for organizing a broad variety of
                      soft, uncertain information gathered in the early stages of architectural
                      requirements analysis [Hofmeister et al. 1999], [Paulish 2002]. It is
                      “global” both in the sense that it looks at the system from all directions
                      (all external interfaces, all stakeholder concerns, plus any sort of other
                      constraint, whether from the organization, the marketplace, available
                      implementation technologies, the job market, or whatever), and the
                      topics addressed frequently have a broad impact on the system as a
                      whole,  cutting  across  many  subsystems  and  multiple  architectural
                      views.
                         Global  analysis  classifies  this  information  into  three  types  of
                      entries: factors, issues, and strategies. Architecture-influencing factors
                      are (alleged) facts that are likely to have significant influence upon
                      the  architecture.  Issues  are  potential  conflicts  or  tradeoffs  among
                      factors. Strategies are proposed decisions that address the issues. All
                      three types of entries are collected concurrently, as new information
                      becomes  available,  opportunities  to  ask  questions  arise,  and  ideas
                      come  to  mind.  Classifying  them  this  way  helps  the  analysts  keep
                      from confusing external constraints with proposed solutions, helps
                      them focus on the hard problems first, and helps them build their
                      rationale for the emerging architecture.

                      Factors: Beyond Requirements
                      Any requirement or stakeholder concern might be a factor, but there
                      are  many  factors  that  are  neither  requirements  nor  stakeholder
   175   176   177   178   179   180   181   182   183   184   185