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

I
                                                                    n
                                                                :

                                                               1
                                                       h
                                                        a
                                                            e
                                                         p
                                                           t
                                                                              n
                                                                       o
                                                                        d
                                                                      r
                                                             r
                                                                     t
                                                                            i
                                                                             o
                                                                            t
                                                                         u
                                                                          c
                                                      C
                                                      C h a p t e r   1 :      I n t r o d u c t i o n      11 11
                      When two requirements conflict with each other or create contextual
                      ambiguity,  they  are  said  to  be  inconsistent  (see  the  later  section
                      “Consistent”).
                      Verifiable
                      A requirement is verifiable if the finished product or system can be
                      tested to ensure that it meets the requirement. Product features are
                      almost always abstract and thus not verifiable. Analysis must be done
                      to create testable requirements from the product features. For example,
                      the requirement “The car shall have power brakes” is not testable,
                      because it does not have sufficient detail. However, the more detailed
                      requirement “The car shall come to a full stop from 60 miles per hour
                      within 5 seconds” is testable, as is the requirement “The power brake
                      shall fully engage with 4 lbs. of pressure applied to the brake pedal.”
                      As  we  have  noted,  product  features  lack  detail  and  tend  to  be
                      somewhat vague and not verifiable. However, the analysis of those
                      features and the derived requirements should result in a specification
                      from which full coverage test cases can be created.
                      Modifiable
                      The  characteristic  modifiable  refers  to  two  or  more  interrelated
                      requirements or a complete requirements specification. A requirements
                      specification is modifiable if its structure and style are such that any
                      changes  to  a  requirement  can  be  made  easily,  completely,  and
                      consistently  while  retaining  the  structure  and  style.  Modifiability
                      dictates that the requirements specification has a coherent, easy-to-
                      follow  organization  and  has  no  redundancy  (e.g.,  the  same  text
                      appearing more than once), and that it keeps requirements distinct
                      rather than intermixed. A general rule is that information in a set of
                      requirements should be in one and only one place so that a change to
                      a  requirement  does  not  require  cascading  changes  to  other
                      requirements.
                         A typical way of ensuring modifiability is to have a requirement
                      either  reference  other  requirements  specifically  or  use  a  trace
                      mechanism to connect interrelated requirements.
                      Consistent
                      In  general,  consistency  is  a  relationship  among  at  least  two
                      requirements. A requirement is consistent if it does not contradict or is
                      not in conflict with any external corporate documents or standards or
                      other  product  or  project  requirements.  Contradiction  occurs  when
                      the  set  of  external  documents,  standards,  and  other  requirements
                      result in ambiguity or a product is no longer feasible to build. For
                      example, a corporate standard might require that all user interface
                      forms have a corporate logo in the upper-right corner of the screen,
   33   34   35   36   37   38   39   40   41   42   43