Page 63 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 63

Unit 3: Software Requirements



               •  Design constraints                                                              Notes
               •  Logical database requirement
               •  Software System attributes

            3.5.2 Problems in SRS

            There are various features that make requirements analysis difficult. These are discussed:
               1.  Complete  requirements  are  difficult  to  uncover.  In  recent  trends  in  engineering,  the
                 processes are automated and it is practically impossible to understand the complete set
                 of requirements during the commencement of the project itself.
               2.  Requirements are continuously generated. Defining the complete set of requirements in the
                 starting is difficult. When the system is put under run, the new requirements are obtained
                 and need to be added to the system. But, the project schedules are seldom adjusted to
                 reflect these modifications. Otherwise, the development of software will never commence.
               3.  The general trends among software developer  shows that they have over dependence
                 on  CASE  tools.  Though  these  tools  are  good  helping  agents,  over  reliance  on  these
                 Requirements Engineering Tools may create false requirements. Thus, the requirements
                 corresponding to real system should be understood and only a realistic dependence on
                 tools should be made.
               4.  The software projects are generally given tight project schedules. Pressure is created from
                 customer side to hurriedly complete the project. This normally cuts down the time of
                 requirements analysis phase, which frequently lead to disaster(s).
               5.  Requirements engineering is communication intensive. Users and developers have different
                 vocabularies,  professional  backgrounds  and  psychology.  User  writes  specifications  in
                 natural language and developer usually demands precise and well specified requirement.
               6.  In present time, the software development is market driven having high commercial
                 aspect. The software developed should be a general purpose one to satisfy anonymous
                 customer, and then, it is customized to suit a particular application.
               7.  The  resources  may  not  be  enough  to  build  software  that  fulfils  all  the  customer’s
                 requirements. It is left to the customer to prioritize the requirements and develop software
                 fulfilling important requirements.

                          The improper management to preparing the SRS can lead to confusion in the
                          project implementation.

            3.5.3 Characteristics of SRS
            To properly satisfy the basic goals, an SRS should have certain properties and should contain
            different types of requirements. Some of the desirable characteristics
               •  Correct
               •  Complete

               •  Unambiguous
               •  Verifiable
               •  Consistent
               •  Valid
            The  SRS  is  verifiable  if  and  only  if  every  stated  requirement  is  verifiable.  A  requirement  is
            verifiable if there exist some cost-effective process that can check whether the final software


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