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

10   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



                   The Use of the Terms “Valid” and “Correct”
                   The IEEE Standard 830 uses the term “correct.” We use the term “valid”
                   instead because “correct” can be misleading. Something that is “correct”
                   is said to be “without error,” or mathematically provable. However, in
                   the  context  of  a  requirement,  “valid”  is  more  appropriate,  as  the
                   requirement may be exactly what the customer wants, but it may still
                   contain errors or be an inappropriate solution.





                      Unambiguous
                      A requirement is unambiguous if it has only one interpretation. Natural
                      language tends toward ambiguity. When learning writing skills in
                      school, ambiguity can be considered a plus. However, ambiguity is
                      not appropriate for writing the requirements for a product, and care
                      must be taken to ensure that there is no ambiguity in a requirements
                      specification. For example, consider this statement:
                         “The data complex shall withstand a catastrophe (fire, flood).”
                         This statement is ambiguous because it could mean “The data
                      complex  shall  withstand  a  catastrophe  of  type  fire  or  flood,”  or  it
                      could mean “The data complex shall withstand any catastrophe, two
                      examples being fire and flood.” A person skilled in writing requirement
                      specifications would rephrase as
                         “The data complex shall be capable of withstanding a severe fire.
                         It shall also be capable of withstanding a flood.”
                         An example of an ambiguous statement is “The watch shall be
                         water resistant.” An unambiguous restatement is “The watch shall
                         be waterproof to an underwater depth of 12 meters.”
                         A measure of the quality of a requirements specification is the
                      percent  of  requirements  that  are  unambiguous.  A  high  level  of
                      ambiguity  could  mean  that  the  authors  of  the  specification  likely
                      need additional training. Ambiguity often causes a project to be late,
                      over  budget,  or  both,  because  ambiguity  allows  freedom  of
                      interpretation.  It  is  sometimes  necessary  to  take  a  holistic  view  of
                      ambiguity; e.g., a requirement may be ambiguous, but when placed
                      in  the  context  of  the  background,  domain,  or  other  related
                      requirements,  it  may  be  unambiguous.  Product  features  found  in
                      marketing literature (e.g., shock resistant) are typically ambiguous.
                      However, when placed in the context of the detailed specifications
                      used by manufacturing, the ambiguity is no longer present. On the
                      other hand, a requirement may be unambiguous, but when placed
                      in  the  context  of  related  requirements,  there  may  be  ambiguity.
   32   33   34   35   36   37   38   39   40   41   42