0% found this document useful (0 votes)
26 views6 pages

CHP: 03 - Requirement Analysis: Introduction

Software testing

Uploaded by

shubhamhiray01
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views6 pages

CHP: 03 - Requirement Analysis: Introduction

Software testing

Uploaded by

shubhamhiray01
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

CHP : 03 - Requirement Analysis

INTRODUCTION -
Requirements Analysis is the process of defining the expectations of the users for an application that is to
be built or modified.

CONCEPT OF REQUIREMENT -
“a condition or capability needed by a user to solve a problem or achieve an objective/goal.”

The requirements are classified into three categories -


1. Functional Requirements:
a function that a system or component must be able to perform.

These requirements describe the interaction of software with its environment and specify the inputs,
outputs, external interfaces and the functions that should be included in the software.

2. Non-Functional Requirements:
The non-functional requirements also known as quality requirements relate to system attributes, such as
reliability and response time.

3. Domain Requirements:
In software engineering, the requirements that are derived from the application domain of a system,
instead from the needs of the users.

CONCEPT OF REQUIREMENTS ANALYSIS -


“the process of studying a user needs to arrive at a definition of a system, hardware, or software
requirements”.

“The process of studying and refining system, hardware, or software requirements”


Requirement analysis is a software engineering task that bridges the gap between the system level
software allocation and software design.

NEED OF REQUIREMENT ANALYSIS -


1. Requirements analysis helps in defining system objectives or goals.
2. Requirements analysis helps to identify the system boundaries.
3. It helps to understand the system’s importance.
4. Requirements analysis helps to decide the nature of the system.
5. It helps to maintain the interface of the existing system with the other systems.
6. Requirements analysis helps to motivate the users to the new environment.
7. It helps to understand the resource needs such as hardware and software.
8. Requirements analysis helps to understand the feasibility of the new system.

ELICITING REQUIREMENTS -
Elicitation is about seeking information about the software, the system, and the business. Eliciting
requirements is the task of communicating with customers and users to determine what their requirements
are.

The following information can be sought from the customers and the users -
1.How is the software to be used on a day-to-day basis?
2. What is to be accomplished by the software?
3. What are the objectives/goals of the software product?
4. How does the software fit into the needs of the business?

STEPS IN ELICITING REQUIREMENT -

1.Requirements Gathering:
The developers discuss with the client and end users and know their expectations from the software.
2. Organizing Requirements:
The developers prioritize and arrange the requirements in order of importance, urgency and convenience.
3. Negotiation and Discussion:
If requirements are ambiguous or there are some
conflicts in requirements of various stakeholders, then they are negotiated and discussed with
stakeholders.
4. Documentation:
All formal and informal, functional and non-functional requirements are documented and made available
for next phase processing.

REQUIREMENT ELICITATION TECHNIQUES -


Interviews are a strong medium to collect requirements. Organization may conduct
several types of interviews such as:
1. Structured (closed) interviews, where every single information to gather is decided in advance, they
follow patterns and matter of discussion firmly.
2. Non-structured (open) interviews, where information to gather is not decided in advance, more
flexible and less biased.
Questionnaires:
A document with a predefined set of objective questions and respective options is handed over to all
stakeholders to answer, which are collected and compiled.

There are several problems which can surface/occur while eliciting requirements.

1. Users not Sure about the Requirements -


the system to be developed is a completely new system and there is no any previous software system that
can be analyzed to get the requirement.

2. Conflicting Requirements -
This problem increases with the number of stakeholders involved in the project.

3. Volatile Requirements -
Requirements may get changed during the elicitation stage due to the entry of new stakeholders who have
different perspectives of the system.

4. Communication Gap -
Communication gaps in requirements lead to misunderstandings, project delays, and increased costs.

SRS (SOFTWARE REQUIREMENTS SPECIFICATION) -


“a document that clearly and precisely describes each of the essential requirements (functions,
performance, design, constraints and quality attributes) of the software and the external interfaces. Each
requirement is defined in such a way that its achievement can be objectively verified by a prescribed
method.

Features of SRS -
1. It forms the basis for software development.
2. SRS provides a reference for validation of the final software product.
3. It is a medium or media through the client and used needs are accurately
specified and determined.
4. SRS helps clients to understand their own needs and requirements.
5. It establishes the basis for agreement between the client and the supplier.

Purposes served by SRS -


1. Feedback -
Provides feedback, which ensures to the user that the organization understands the issues or problems to
be solved.
2. Decompose Problem into Components -
divides the problem into its component parts in an orderly manner.
3. Validation -
Uses validation strategies applied to the requirements to acknowledge
that requirements are stated properly.

4. Input to Design -
Contains sufficient detail in the functional system requirements to devise a design solution.

5. Basis for Agreement Between the User and the Organization -


Provides a complete description of the functions to be performed by the system. it helps the users to
determine whether the specified requirements are accomplished.

6. Reduce the Development Effort -


Enables developers to consider user requirements before the designing of the system commences.

7. Estimating Costs and Schedules -


Determines the requirements of the system and thus enables the developer to have a 'rough' estimate of
the total cost and schedule
of the project.

NEED/IMPORTANCE OF SRS -
1. SRS is the medium through which the client and user needs are accurately specified. SRS forms the
basis of software development.

2. A high-quality SRS is a prerequisite to high-quality software.

3. establishes the basis for agreement between the client and the supplier on what the software product
will do.

4. An SRS provides a reference for validation of the final product.

5. SRS determines the requirements of the system and thus it enables the developer to have a rough
estimate of the total cost and schedule the software project.

ADVANTAGES OF SRS:
1. Software SRS establishes the basis for agreement between the client and the supplier on what the
software product will do.
2. A SRS provides a reference for validation of the final product.
3. A high-quality SRS is a prerequisite to high-quality software.
4. A high-quality SRS reduces the development cost.
NEGOTIATING REQUIREMENTS -
Negotiating requirements in software engineering is a crucial phase where stakeholders, including clients,
developers, and end-users, come together to agree on what the software should accomplish. This process
helps identify, clarify, and prioritize requirements, ensuring that the development team understands the
project goals and the needs of all parties involved.

When multiple stakeholders are involved, requirements will conflict. This activity is concerned with
prioritizing requirements and finding and resolving requirements conflicts through negotiation.

VALIDATING REQUIREMENTS -
Requirements validation is the process of checking that requirements actually define
the system that the customer really wants.

Requirements validation is important because errors in a requirements document can


lead to extensive rework

You might also like