Classic Movies and Books

Learn Software Development

All about the processes involved in software development

Search this site
Google
 

Details about Requiements Analysis

Filed Under Terms, Document, Model, SDLC, Development, Process, Software | Posted on October 17, 2007




What is Requirements Analysis ?

Requirements are a description of how a system should behave or a description of system properties or attributes. It can alternatively be a statement of ‘what’ an application is expected to do. Requirements drive almost every activity, task, and deliverable in a software development project. Requirements must be actionable, measurable, testable, related to identified business needs or opportunities, and defined to a level of detail sufficient for system design.
So, Requirements Analysis is the process of understanding the customer needs and expectations from a proposed system or application and is a well-defined stage in the Software Development Life Cycle model. Systematic requirements analysis is also known as requirements engineering. It is sometimes referred to loosely by names such as requirements gathering, requirements capture, or requirements specification. The term “requirements analysis” can also be applied specifically to the analysis proper (as opposed to elicitation or documentation of the requirements, for instance).

Conceptually, requirements analysis includes three types of activity:
* Eliciting requirements: the task of communicating with customers and users to determine what their requirements are.
* Analyzing requirements: determining whether the stated requirements are unclear, incomplete, ambiguous, or contradictory, and then resolving these issues.
* Recording requirements: Requirements may be documented in various forms, such as natural-language documents, use cases, user stories, or process specifications.

The Software Requirements Analysis Process covers the complex task of eliciting and documenting the requirements of all these users, modeling and analyzing these requirements and documenting them as a basis for system design.

Why is a thorough Requirements Analysis stage necessary?

Taking the time at the beginning of a project to define and document needs, features, and requirements enables you to establish traceability to ensure that your software requirements specification aligns with your business objectives and continues to do so throughout the project.
Studies reveal that inadequate attention to Software Requirements Analysis at the beginning of a project is the most common cause for critically vulnerable projects that often do not deliver even on the basic tasks for which they were designed. It is typically very costly to fix requirement errors that remain undiscovered until all the code has been written.

Why do we need requirements?

Requirements generated from the requirements analysis stage are used in a number of processes down the line, such as:
- Project scoping
- Cost estimating & Budgeting
- Project scheduling
- Software design
- Software testing
- Documentation and training manuals


Leave a Reply