Requirement Analysis
Requirement Analysis
Requirements analysis, also called requirements engineering, The process to gather the
software requirements from client, analyze and document them is known as requirement
engineering .
Requirement engineering is the process of determining user expectations for a new or
modified product. These features, called requirements, must be quantifiable, relevant and
detailed. In software engineering, such requirements are often called functional
specifications.
Requirements analysis is an important aspect of project management.
Requirements analysis involves frequent communication with system users to determine
specific feature expectations, resolution of conflict or ambiguity in requirements as
demanded by the various users or groups of users, avoidance of feature creep and
documentation of all aspects of the project development process from start to finish.
Energy should be directed towards ensuring that the final system or product conforms to
client needs rather than attempting to mold user expectations to fit the requirements.
Requirements analysis is a team effort that demands a combination of hardware, software
and human factors engineering expertise as well as skills in dealing with people.
Overview
Requirements analysis can be a long and tiring process during which many delicate
psychological skills are involved. Large systems may confront analysts with hundreds or
thousands of system requirements.
New systems change the environment and relationships between people, so it is important
to identify all the stakeholders, take into account all their needs and ensure they
understand the implications of the new systems. Analysts can employ several techniques to
elicit the requirements from the customer. These may include the development of
scenarios , the identification of use cases, the use of workplace observation or ethnography,
holding interviews, or focus groups and creating requirements lists.
Prototyping may be used to develop an example system that can be demonstrated to
stakeholders.
Where necessary, the analyst will employ a combination of these methods to establish the
exact requirements of the stakeholders, so that a system that meets the business needs is
produced.
It is a three step process, which includes –
Requirement Gathering
Software Requirement Specification
Software Requirement Validation
Requirement Gathering
If the feasibility report is positive towards undertaking the project, next phase starts with
gathering requirements from the user. Analysts and engineers communicate with the client
and end-users to know their ideas on what the software should provide and which features
they want the software to include.
Functional requirements explain what has to be done by identifying the necessary task,
action or activity that must be accomplished. Functional requirements analysis will be used
as the top level functions for functional analysis.
1. User Registration
2. User Login
3. Booking Instructions
4. Book Flights
5. Add/Delete or Modify Customer information
6. Add/Delete or Modify flight information
7. Cancellation of Reservations
8. User Logout
Non-functional requirements
Non-functional requirements are requirements that specify criteria that can be used to
judge the operation of a system, rather than specific behaviors.
1. Performance Requirements
2. Security Requirements