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

12   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


                      whereas a user interface requirement might specify that the logo be at
                      the  bottom  center  of  the  screen.  There  are  now  two  conflicting
                      requirements, and even though a requirements specification may be
                      internally  consistent,  the  specification  would  still  be  inconsistent
                      because of conflict with corporate standards. Creating documentation
                      that  is  both  internally  and  externally  consistent  requires  careful
                      attention to detail during reviews.
                      Complete
                      A  requirements  specification  is  complete  if  it  includes  all  relevant
                      correct requirements, and sufficient information is available for the
                      product to be built. When dealing with a high-level requirement, the
                      completeness characteristic applies holistically to the complete set
                      of lower-level requirements associated with the high-level feature
                      or requirement. Completeness also dictates that

                          •  Requirements be ranked for importance and stability.
                          •  Requirements and test plans mirror each other.

                         A requirements specification is complete if it includes the following
                      elements [IEEE 1998]:

                           1.  Definition of the responses of the system or product to all
                             realizable  classes  of  input  data  in  all  realizable  classes  of
                             situations. Note that it is important to specify the responses
                             to both valid and invalid input values and to use them in test
                             cases.
                           2.  Full labels and references to all figures, tables, and diagrams
                             in the specification and definitions of all terms and units of
                             measure.
                           3.  Quantification  of  the  nonfunctional  requirements.  That  is,
                             testable,  agreed-on  criteria  must  be  established  for  each
                             nonfunctional requirement.

                         Nonfunctional requirements are usually managed by the project’s
                      chief architect. In order for the completed product to be correct and
                      complete,  it  must  include  the  testable  requirements  that  have  been
                      derived from the high-level nonfunctional requirements.
                         It  is  difficult  to  create  complete  specifications,  yet  complete
                      specifications  are  mandatory  under  certain  circumstances;  e.g.,
                      where the implementation team has no domain knowledge, or where
                      communication  between  subject  experts  and  developers  will  be
                      problematic. We have seen projects where the requirements definition
                      phase  was  shortened  for  schedule  reasons.  The  general  consensus
   34   35   36   37   38   39   40   41   42   43   44