Page 98 - DCAP405_SOFTWARE_ENGINEERING
P. 98

Unit 6: Requirement Engineering




          number of such values. Typical software has a large number of requirements, and the emphasis  Notes
          is shared between performing the numerical quantification and managing the complexity of
          interaction among the large number of requirements.

               !
             Caution  So, in software engineering jargon, “software requirements specification” typically
             refers to the production of a document, or its electronic equivalent, which can be
             systematically reviewed, evaluated, and approved.

          For complex systems, particularly those involving substantial non-software components, as
          many as three different types of documents are produced: system definition, system
          requirements, and software requirements. For simple software products, only the third of these
          is required.
          There are some approaches to requirements specification:

               Natural language
               Structured natural language
               Design description language

               Requirements specification language
               Graphical notation
               Formal specification

          6.3.5 Requirements Validation

               Concerned with whether or not the requirements define a system that the customer really
               wants.

               Requirements error costs are high, so validation is very important. (Fixing a requirements
               error after delivery may cost up to 100 times that of fixing an error during implementation.)

          Requirements Checking

               Validity: Does the system provide the functions which best support the customer’s needs?

               Consistency: Are there any requirements conflicts?
               Completeness: Are all functions required by the customer included?
               Realism: Can the requirements be implemented given available budget and technology?
               Verifiability: Can the requirements be tested?

          Requirements Validation Techniques

               Requirements reviews/inspections: systematic manual analysis of the requirements.

               Prototyping: using an executable model of the system to check requirements.
               Test-case generation: developing tests for requirements to check testability.
               Automated consistency analysis: checking the consistency of a structured requirements
               description.






                                           LOVELY PROFESSIONAL UNIVERSITY                                   91
   93   94   95   96   97   98   99   100   101   102   103