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

14   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


                      in compliance. A similar approach can be used for other “umbrella”
                      requirements such as

                          •  Compliance with Sarbanes-Oxley regulations
                          •  Meeting all corporate security requirements
                          •  Meeting electrical safety requirements

                      Characteristics of a Good Requirements Specification
                      As  was  stated  in  the  definition  of  consistency,  the  definition  of
                      a  characteristic  may  be  different  when  applied  to  requirements
                      and  to  a  specification.  A  requirements  specification  is  a  filtered
                      compendium  of  requirements.  Having  the  requirements  in  a
                      document rather than a database permits holistic views and allows
                      the addition of history, a rationale, etc. There are certain characteristics
                      that apply to specifications as opposed to individual requirements as
                      listed here:
                          •  A requirements specification is feasible if building the product
                             specified is feasible given the state of technology, the budget,
                             and the allotted time.
                          •  A  requirements  specification  is  unambiguous  if  there  is  no
                             pair-wise ambiguity in the specification.
                          •  A requirements specification is valid if every requirement in it
                             is valid.
                          •  A requirements specification is verifiable if every requirement
                             in it is verifiable. 1
                          •  A  requirements  specification  is  modifiable  if  there  is  no
                             redundancy  and  changes  to  requirements  are  easily  and
                             consistently made; e.g., a change to one requirement does not
                             require cascading changes to other requirements.
                          •  A requirements specification is consistent if the requirement
                             set is internally consistent.
                          •  A requirements specification is complete if it provides sufficient
                             information for complete coverage testing of the product or
                             system.
                          •  A requirements specification is traceable if every requirement
                             in  it  can  be  traced  back  to  its  source  and  forward  to  test
                             cases.
                          •  A requirements specification is concise if the removal of any
                             requirement changes the definition of the product or system.


                      1   Product or business requirements specifications typically describe features, and
                       as such there may be ambiguity and a lack of testability.
   36   37   38   39   40   41   42   43   44   45   46