Requirements Specification and Analysis
Published Online: 15 SEP 2008
Copyright © 2007 by John Wiley & Sons, Inc.
Wiley Encyclopedia of Computer Science and Engineering
How to Cite
Subramanian, N. 2008. Requirements Specification and Analysis. Wiley Encyclopedia of Computer Science and Engineering. 1–10.
- Published Online: 15 SEP 2008
Requirements specification and analysis identify, analyze, and model the functionality or “what's” of a prospective software system. The requirements specification and analysis phase of a software project is the most important phase of software development and should not be omitted under any condition. More than half of all software projects have failed because of errors in requirements specification and analysis. The result of this phase is the software requirements specifications document or the SRS that serves as the starting point for the next phase of software development, namely, software design. It is important to note that the requirements specification and analysis phase focuses only on what the software system should do and not on how it should be done; that is, implementation details are not allowed to affect this phase. Software requirements can be classified into two types: functional requirements and nonfunctional requirements, and the SRS includes both types of requirements, analysis artifacts, and models. The source for software requirements is very often the end user of the prospective software system, and the requirements elicited from the end users may be captured in the form of tabular lists, use-cases, user stories, or decision tables. Once requirements have been captured, they are analyzed for determining priorities, dependencies, versions, schedule formation, staff size determination, project cost estimation, formulating acceptance tests, and analyzing nonfunctional requirements. After analysis, the requirements are modeled using unified modeling language diagrams, entity-relationship diagrams, data flow diagrams, or formal methods. This article also discusses requirements management, tool support for requirements specification and analysis, and important research issues in this field.