Software Requirements Engineering: Process, Tools & Best Practices
This paper examines the role of requirements engineering in the software development life cycle (SDLC), explaining how thorough requirements analysis underpins successful software projects. It covers the purpose and qualities of a Software Requirements Specification (SRS), the stages from feasibility study through functional specification, and several automated specification tools including PSL/PSA, RSL/REVS, and the Structured Analysis and Design Technique (SDAT). The paper also presents a real-world case study — the failed AMRIS reservation system — to illustrate the costly consequences of poor requirements analysis, and concludes by emphasizing the systems analyst's responsibility in bridging user needs and technical implementation.
- Introduction to Requirements Engineering: Importance of requirements engineering in software development
- The Software Requirements Specification: Qualities, structure, and role of the SRS document
- Languages for Requirements Specification: Automated Tools: Overview of automated tools for real-time systems
- PSL/PSA and RSL/REVS: Automated specification languages and their applications
- Structured Analysis and Design Technique (SDAT): Graphical modeling approach for complex systems
- Effects of Poor Requirements Analysis: Real-world consequences of inadequate requirements specification
- Conclusion: Summary of requirements engineering's role in project success
✍️ How to write this paper — guide, tools & examples ▾
What makes this paper effective
- The paper moves logically from broad concepts (the SDLC and requirements engineering) to specific technical tools (PSL/PSA, RSL/REVS, SDAT), giving readers a structured, layered understanding of the field.
- A concrete real-world failure — the American Airlines AMRIS system — grounds the abstract discussion of requirements quality in tangible consequences, including a specific dollar loss figure.
- The paper maintains a consistent focus on the "what" vs. "how" distinction in software development, clearly separating the requirements phase from the design and coding phases.
Key academic technique demonstrated
The paper uses authoritative citation to reinforce technical claims — drawing on Fairley's Software Engineering Concepts for definitional content and the Standish Group report for empirical evidence of project failure. This blending of textbook authority with industry research data is a hallmark of undergraduate technology writing.
Structure breakdown
The paper opens with a broad introduction establishing the importance of requirements engineering, then provides a detailed treatment of the Software Requirements Specification and SDLC workflow. Three subsections survey automated specification tools (PSL/PSA, RSL/REVS, and SDAT). A case-study section on real-world failure provides analytical weight before a concise conclusion restates the central argument. The structure follows a classic problem–context–tools–consequences–recommendation arc.
Introduction to Requirements Engineering
Computer software technology has improved significantly over the past decade, leading to more efficient and comprehensive information systems. With the growth in the number of computing systems comes a corresponding increase in their complexity. Today, software requirements analysis has become an indispensable part of software development. Over the years there has been continued emphasis on the importance of properly planned project evaluation, requirements specification, and system design.
The system development life cycle incorporates the complete analysis, design, and maintenance of any software project, wherein each phase is meticulously planned and built upon the previous one. The software requirements engineering process is part of the analysis phase of the software development life cycle. Once requirements are thoroughly assessed, a comprehensive software requirements specification is drafted. This is a technical specification of what the software is expected to do. Unlike the software design phase — which deals with the actual technicalities of implementing the software — the requirements phase simply specifies what is expected of the final product. A properly developed specification is a prerequisite for the success of any software project. One of the main causes of software project failure is poor attention paid to requirements engineering. Poorly drafted requirements specifications may lead to developing software that fails to satisfy the needs of the user.
Bibliography
Fairley, Richard. Software Engineering Concepts. Tata McGraw-Hill, 2000, p. 89.
The Standish Group. "The Standish Group Report." Accessed 16 February 2003.
Thomas, Bill. "Meeting the Challenges of Requirements Engineering." Accessed 16 February 2003.
Create your account
Always verify citation format against your institution’s current style guide requirements.