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

8   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


                 1.5  Definition of Requirements Engineering
                      “Requirements engineering [DoD 1991] involves all lifecycle activities
                      devoted  to  identification  of  user  requirements,  analysis  of  the
                      requirements  to  derive  additional  requirements,  documentation  of
                      the requirements as a specification, and validation of the documented
                      requirements against user needs, as well as processes that support
                      these  activities.”  Note  that  requirements  engineering  is  a  domain-
                      neutral discipline; e.g., it can be used for software, hardware, and
                      electromechanical  systems.  As  an  engineering  discipline,  it
                      incorporates the use of quantitative methods, some of which will be
                      described in later chapters of this book.
                         Whereas  requirements  analysis  deals  with  the  elicitation  and
                      examination of requirements, requirements engineering deals with all
                      phases of a project or product life cycle from innovation to obsolescence.
                      Because of the rapid product life cycle (i.e., innovation→development→
                      release→maintenance→obsolescence)  that  software  has  enabled,
                      requirements  engineering  has  further  specializations  for  software.
                      Thayer and Dorfman [Thayer et al. 1997], for example, define software
                      requirements  engineering  as  “the  science  and  discipline  concerned
                      with establishing and documenting software requirements.”


                 1.6   Requirements Engineering’s Relationship
                       to Traditional Business Processes
                      It is extremely important to tie requirements activities and artifacts to
                      business goals. For example, two competing goals are “high quality”
                      and “low cost.” While these goals are not mutually exclusive, higher
                      quality often means higher cost. Customers would generally accept
                      the  higher  cost  associated  with  a  car,  known  for  luxury  and  high
                      quality, but would likely balk at paying luxury car prices for a car
                      expected to compete in the low-cost automotive market.
                         Unfortunately, some organizations may tend to decouple business
                      and requirements activities. For example, business goals may drive
                      marketing activities that result in the definition of a new product and
                      its features. However, the business goals may have no clearly defined
                      relationship to the artifacts used and produced during requirements
                      analysis and definition. RE activities start at the very beginning of
                      product definition with business goals and innovation. Requirements
                      engineering techniques can add an element of formality to product
                      definition  that  can  improve  communication  and  reduce  the
                      downstream implementation effort.
   30   31   32   33   34   35   36   37   38   39   40