What is meant by requirements analysis?

A process that determines the user expectations for a software product is called requirement analysis. In software engineering, requirement analysis is known as requirement engineering. It involves communication with end-users and stakeholders to determine whether the system or software requirements are validated, conflicts are solved, and key requirements are documented. The first activity of the Software Development Life Cycle (SDLC) is requirement analysis.

What is meant by software requirement?

The functions and features required by the target system are known as software requirements. In other words, requirements are the software capability that must be possessed by the system components to satisfy the specification, standard, contract, or formal documentation. The main aim of software requirements is to develop software that meets the customer requirements within the budget and time. There are two types of software requirements, functional and non-functional.

Functional requirements

A functional requirement is related to the software's functional aspects. It defines the working of the components and modules within the system. A system can include various functions like data manipulation, calculation, business processes, and so on. Functional requirements are used to gather the system’s intended behavior and the behavior is expressed as a service, task, or function which the system will perform.

Non-functional requirements

Non-functional requirements are not related to the software's functional aspects. These requirements define the software system’s quality attributes. The non-functional requirement ensures the effectiveness and usability of the software system. It consists of some standards to evaluate the system's performance.

Requirements analysis activities

There are four different activities involved in requirement analysis and they are,

  • Eliciting requirement: It is the process of communicating with the users and customers to decide the requirements. It is also known as requirement gathering.
  • Analyzing requirement: It involves determining whether the stated requirements are incomplete, contradictory, unclear, or ambiguous and then resolving the issues.
  • Requirement modeling: The requirements are documented in several forms such as use cases, process specifications, and user stories.
  • Review: Team members will reflect depending upon the iteration and also find out the actions required for improvement.

Requirements analysis process

The following steps are involved in requirements analysis:

Step-1: Identifying end-users and key stakeholders

The first and foremost step in requirement analysis is the identification of stakeholders, they are the main project sponsors and suggest what needs to be added to the project scope. The next step will be finding the product end-users, as the product or software is intended to satisfy the end-user needs and the inputs from end-users are equally important.

Step-2: Capture requirements

The requirement for the new software or product will be gathered from end-users and stakeholders. To gather the requirements the following techniques are used:

  • One-on-one interview is where the specific requirements are gathered by interviewing each end-users and stakeholder.
  • Focus groups ensure that there will be no conflicts of interest during the project. A group workshop or group interview will be held to understand the information flow between the end-users and stakeholders.
  • Use case is to visualize how the software or product will work. Use cases provide a walkthrough for the whole product from the end-user point of view.
  • Build prototype provides a simple look and feel of the final software or product. This prototype helps to address the issues and find out the problems ahead of time.

Step-3: Categorize requirements

The gathered requirements are divided into four categories for better understanding, these are as follows:

  • Functional requirements: The functions which the product is required to perform.
  • Technical requirements: The technical aspects of the functioning of product.
  • Transitional requirements: The process of transition of product from one state to another.
  • Operational requirements: The background operations of the product.

Step-4: Record and interpret requirements

After categorizing the requirements, the next step is to decide the achievable requirements and document them. The techniques for requirement interpretation are:

  • Define requirement: Make sure the requirements are clear with sufficient information and relate to the business needs.
  • Requirement prioritization: prioritize the requirement and list them according to the most critical.
  • Carry out an impact analysis: The requirement consequence is understood fully.
  • Resolve conflicts: The conflicts can be resolved simply by arranging a meeting. Scenario analysis is performed to find how the requirements work on various scenarios.
  • Analyze feasibility: Depending on the gathered requirement, a detailed analysis is performed to determine the reliability and major problems are identified. A detailed document is created with analyzed requirements and it is circulated among the development team, stakeholders, and end-users.

Step-5: Signoff

After making a final decision, a signed agreement will be provided by stakeholders. This makes sure that there will be no further changes in the project scope.

Techniques of requirements analysis

Business Process Model and Notation (BPMN)

BPMN is used to develop graphs, which helps in simplifying the business process understanding. Business analysts make use of the BPMN technique to coordinate the message sequence between various participants in the activities. BPMN is similar to the flowchart creation, however, BPMN has separate elements and symbols.

Flowchart

The control and sequential flow for the activities are depicted using a flowchart. A flowchart is useful for both non-technical and technical members. This is used to represent data flow, system interaction, and so on. There are various forms of flowcharts like cross-functional, top-down, and linear. A critical attribute of the process can be shown using flowcharts.

Example

The image represents flow chart

Gantt charts

Gantt chart provides a visual representation of the tasks along with the timeline. Business analysts use the Gantt chart to visualize the project task starting and ending date in a single view. A Gantt chart helps the business analysts to understand the schedule and visualize the deadline of all the tasks.

The image represents gantt chart

Gap analysis

The gap between the product performance is evaluated by gap analysis. This determines whether all the requirements are met or not.  Business analysts use gap analysis to determine the differences between the product's current and target state. The other names for gap analysis are need assessment, need analysis, or need-gap analysis.

Data flow diagram

A data flow diagram (DFD) is a visual representation of the process and system, which is difficult and complex to understand in text format. The flow of data through the system is represented using DFD. IT also includes data outputs, data inputs, subprocess, and datastore where the information moves. Standardized symbols and notations are used by DFD to illustrate the entities with their relationship.

Context and Applications

This topic is important for postgraduate and undergraduate courses, particularly for,

  • Bachelors in computer science engineering
  • Associate of science in computer science

Practice Problems

Question 1: ___ technique is not used in requirements analysis.

a) Use case

b) Role activity diagram

c) Activity diagram

d) All of the above

Answer: Option c is correct.

Explanation: Activity diagram is used in Software Development Life Cycle (SDLC) designing phase. Whereas, the requirements analysis techniques include BPMN, Unified Modeling Language (UML), flowchart, DFD, Role Activity Diagram (RAD), gap analysis, and Gantt chart.

Question 2: How many steps are there in requirements analysis?

a) 4

b) 2

c) 6

d) 5

Answer: Option d is correct.

Explanation: Requirements analysis has five different steps, such as identifying end-users and key stakeholders, capturing requirements, categorizing requirements, recording and interpreting requirements, and signoff.

Question 3: ____  requirements define the components or system.

a) Functional

b) Non-functional

c) Natural-language

d) Non-technical

Answer: Option a is correct.

Explanation: Both the system and components are defined by functional requirements; however, performance attribute is defined by non-functional attributes.

Question 4: ___ analyze the differences between the performance of current and target system.

a) DFD

b) Gantt charts

c) Gap analysis

d) Cross-functional

Answer: Option c is correct.

Explanation: Gap analysis is used to analyze the gap between the performance of the current and target system. The other name of gap analysis is needs analysis, need-gap analysis, and need assessment.

Question 5: Select the technique which is used to collect requirements.

a) One-on-one interview

b) Focus group

c) Build a prototype

d) All the above

Answer: Option d is correct.

Explanation: The second step in the requirements analysis process is to capture the requirements. To gather the requirements, the techniques such as focus group, build prototype, one-on-one interview, and use case are used.

Want more help with your computer science homework?

We've got you covered with step-by-step solutions to millions of textbook problems, subject matter experts on standby 24/7 when you're stumped, and more.
Check out a sample computer science Q&A solution here!

*Response times may vary by subject and question complexity. Median response time is 34 minutes for paid subscribers and may be longer for promotional offers.

Search. Solve. Succeed!

Study smarter access to millions of step-by step textbook solutions, our Q&A library, and AI powered Math Solver. Plus, you get 30 questions to ask an expert each month.

Tagged in
EngineeringComputer Science

System Design

Fundamentals of System Design

Requirement Analysis

Requirement Analysis Homework Questions from Fellow Students

Browse our recently answered Requirement Analysis homework questions.

Search. Solve. Succeed!

Study smarter access to millions of step-by step textbook solutions, our Q&A library, and AI powered Math Solver. Plus, you get 30 questions to ask an expert each month.

Tagged in
EngineeringComputer Science

System Design

Fundamentals of System Design

Requirement Analysis