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

C
                                                                            n
                                                                              t
                                    h
                                       t
                                      p
                                     a
                                                              u
                                                                  R
                                                            i
                                                             b

                                                                               s
                                                               t
                                                                e
                                                      y
                                                     t
                                                    i

                                                          t
                                                         t
                                                        A
                                                   l

                                         r
                                        e
                                           5
                                                  a
                                                 u
                                            :
                                                           r
                                                                        r
                                                                       i
                                                                         e
                                                                           e
                                                                          m
                                                                      u
                                   C h a p t e r   5 :      Q Q u a l i t y   A t t r i b u t e   R e q u i r e m e n t s      143 143
                                                                   e
                                                                    q
                      Quality Attribute Workshop
                      A quality attribute workshop (QAW) [Bachmann et al. 2002], [Barbacci
                      et al.  2000] brings together a diverse set of stakeholders in a one- or
                      two-day  meeting  to  elicit  their  quality  attribute  concerns  and  help
                      them  understand  one  another’s  concerns.  As  a  concern  is  being
                      described, the facilitator helps the stakeholder write a quality attribute
                      scenario (QAS) that describes what he wants (and thinks might be
                      hard to achieve). Each stakeholder captures at least two of his or her
                      biggest concerns in the form of QASs and presents them to the group.
                      The group then selects a handful of QASs to explore in more detail. The
                      facilitator helps them see some of the architectural significance of the
                      QASs, and begins the process of trading them off against each other.
                         A  QAS  is  a  structured  textual  description  of  how  a  piece  of  a
                      system responds to a stimulus, including measuring the quality of the
                      response. It was invented by software architecture researchers at the
                      Software Engineering Institute (SEI) as a medium of communication
                      between stakeholders and the architecture team [Bass et al. 2003].
                         A QAS is typically structured to have the following parts:
                          •  A stimulus
                          •  A stimulus source
                          •  An artifact being stimulated
                          •  An environment in which the stimulus occurs
                          •  A response to the stimulus
                          •  A response measure (to quantitatively define a satisfactory
                             response)
                         For example, a configurability scenario might be written as
                         “A customer requests support for a new type of sensor after the
                         software has been installed and activated. The customer support
                         engineer reconfigures the system to support the new sensor without
                         writing any new source code, without extraordinary downtime, and
                         commencing operation with the new sensor within one calendar
                         week of receiving the necessary documentation on the sensor.”
                         For this example, we can define
                          •  Stimulus  Requests support for a new type of sensor
                          •  Stimulus source  The customer
                          •  Artifact  The system and the customer support organization
                          •  Environment  After  the  software  has  been  installed  and
                             activated
                          •  Response  The customer support engineer reconfigures the
                             system to support the new sensor
   172   173   174   175   176   177   178   179   180   181   182