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