Page 64 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 64

Principles of Software Engineering



                   Notes         meets that requirement. It is consistent if there is no requirement that conflicts with another.
                                 Terminology can cause inconsistencies; for example, different requirements may use different
                                 terms to refer to the same object. There may be logical or temporal conflict between requirements
                                 that causes inconsistencies. This occurs if the SRS contains two or together by any software system.
                                 For example, suppose a requirement states that an event e is to occur before another event f.
                                 But then another set of requirements states (directly or indirectly by transitivity) that event f
                                 should occur before event e. Inconsistencies in an SRS can reflect some major problems. All these
                                 characteristics, completeness is perhaps the most important and also the most difficult property
                                 to establish. One of the most common defects in requirements specification is incompleteness.
                                 Missing requirements necessitate additions and modifications to the requirements later in the
                                 development cycle, which are often expensive to incorporate. Incompleteness is also a major
                                 source of disagreement between the client and the supplier.

                                 Correct
                                 The specification must define the desired capability’s real world operational environment, its
                                 interface to that environment and its interaction with that environment. It is the real world aspect
                                 of requirements that is the major source of difficulty in achieving specification correctness. The
                                 real world environment is not well known for new applications and for mature applications
                                 the real world keeps changing.
                                 Complete
                                 A complete requirements specification must precisely define all the real world situations that
                                 will be encountered and the capability’s responses to them. It must not include situations that
                                 will not be encountered or unnecessary capability features.

                                 Unambiguous
                                 Statement of a requirement is unambiguous if it can only be interpreted one way. This perhaps,
                                 is the most difficult attribute to achieve using natural language. The use of weak phrases or poor
                                 sentence structure will open the specification statement to misunderstandings.
                                 Verifiable
                                 In order to be verifiable, requirement specifications at one level of abstraction must be consistent
                                 with those at another level of abstraction. Most, if not all, of these attributes are subjective and a
                                 conclusive assessment of the quality of a requirements specification requires review and analysis
                                 by technical and operational experts in the domain addressed by the requirements.
                                 Consistent
                                 System functions and performance level must be compatible and the required quality features
                                 (reliability, safety, security, etc.) must not contradict the utility of the system. For example, the
                                 only aircraft that is totally safe is one that cannot be started, contains no fuel or other liquids,
                                 and is securely tied down.

                                 Valid
                                 To validate a requirements specification all the project participants, managers, engineers and
                                 customer representatives, must be able to understand, analyze and accept or approve it. This is
                                 the primary reason that most specifications are expressed in natural language.
                                 3.5.4 Components of SRS

                                 Component-based software development move towards is based on the idea to expand software
                                 systems by selecting suitable off-the-shelf mechanism and then to assemble them with a well-
                                 defined  software  architecture.  Because  the  new  software  development  paradigm  is  much
                                 different from the traditional approach, quality assurance (QA) for component-based software
                                 development is a new topic in the software engineering community.


        58                                LOVELY PROFESSIONAL UNIVERSITY
   59   60   61   62   63   64   65   66   67   68   69