Software requirement means requirement that
is needed by software to increase quality of
software product. These requirements are
Therefore, Software requirement analysis
generally a type of expectation of user from
simply means complete study, analyzing,
software product that is important and need to
describing software requirements so that
be fulfilled by software. Analysis means to
requirements that are genuine and needed
examine something in an organized and
can be fulfilled to solve problem. There are
specific manner to know complete details
several activities involved in analyzing
about it.
Software requirements. Some of them are
given below :
1 Problem Recognition:
The main aim of requirement analysis is to fully understand main objective of requirement
that includes why it is needed, does it add value to product, will it be beneficial, does it increase
quality of the project, does it will have any other effect. All these points are fully recognized in
problem recognition so that requirements that are essential can be fulfilled to solve business
problems.
2. Evaluation and Synthesis:
Evaluation means judgement about something whether it is worth or not and synthesis
means to create or form something. Here are some tasks are given that is important in the
evaluation and synthesis of software requirement:
• To define all functions of software that necessary.
• To define all data objects that are present externally and are easily observable. To evaluate that
flow of data is worth or not.
• To fully understand overall behavior of system that means overall working of system.
• To identify and discover constraints that are designed.
• To define and establish character of system interface to fully understand how system interacts with
two or more components or with one another.
3. Modeling:
After complete gathering of information from above tasks, functional and behavioral
models are established after checking function and behavior of system using a domain model that
also known as the conceptual model.
4. Specification:
The software requirement specification (SRS) which means to specify the requirement
whether it is functional or non-functional should be developed.
5. Review:
After developing the SRS, it must be reviewed to check whether it can be improved or not
and must be refined to make it better and increase the quality.
Software Engineering - Requirement Tasks
Requirements engineering is a broad domain that focuses on
being the connector between modeling, analysis, design, and
construction. It is the process that defines, identifies, manages,
and develops requirements in a software engineering design
process. This process uses tools, methods, and principles to
describe the system’s behavior and the constraints that come
along with it.
Requirements engineering is the most important part every
business must follow, in order to build and release a project
successfully, as it is the foundation to key planning and
implementation.
Requirements Engineering Tasks: The software requirements engineering
process includes the following steps of activities:
1. Inception
2. Elicitation
3. Elaboration
4. Negotiation
5. Specification
6. Validation
7. Requirements Management
Let’s discuss each of these steps in detail.
1. Inception
This is the first phase of the requirements analysis process. This phase gives an outline of how to
get started on a project. In the inception phase, all the basic questions are asked on how to go
about a task or the steps required to accomplish a task. A basic understanding of the problem is
gained and the nature of the solution is addressed. Effective communication is very important in
this stage, as this phase is the foundation as to what has to be done further. Overall in the
inception phase, the following criteria have to be addressed by the software engineers:
• Understanding of the problem.
• The people who want a solution.
• Nature of the solution.
• Communication and collaboration between the customer and developer.
2. Elicitation
This is the second phase of the requirements analysis process. This phase
focuses on gathering the requirements from the stakeholders. One
should be careful in this phase, as the requirements are what establishes
the key purpose of a project. Understanding the kind of requirements
needed from the customer is very crucial for a developer. In this process,
mistakes can happen in regard to, not implementing the right
requirements or forgetting a part. The right people must be involved in
this phase. The following problems can occur in the elicitation phase:
2. Elicitation
• Problem of Scope: The requirements given are of unnecessary detail,
ill-defined, or not possible to implement.
• Problem of Understanding: Not having a clear-cut understanding
between the developer and customer when putting out the
requirements needed. Sometimes the customer might not know what
they want or the developer might misunderstand one requirement for
another.
• Problem of Volatility: Requirements changing over time can cause
difficulty in leading a project. It can lead to loss and wastage of
resources and time.
3. Elaboration
This is the third phase of the requirements analysis process. This phase is
the result of the inception and elicitation phase. In the elaboration
process, it takes the requirements that have been stated and gathered in
the first two phases and refines them. Expansion and looking into it
further are done as well. The main task in this phase is to indulge in
modeling activities and develop a prototype that elaborates on the
features and constraints using the necessary tools and functions.
4. Negotiation
This is the fourth phase of the requirements analysis process. This phase
emphasizes discussion and exchanging conversation on what is needed
and what is to be eliminated. In the negotiation phase, negotiation is
between the developer and the customer and they dwell on how to go
about the project with limited business resources. Customers are asked
to prioritize the requirements and make guesstimates on the conflicts
that may arise along with it.
4. Negotiation
Risks of all the requirements are taken into consideration and negotiated in
a way where the customer and developer are both satisfied with reference
to the further implementation. The following are discussed in the
negotiation phase:
• Availability of Resources.
• Delivery Time.
• Scope of requirements.
• Project Cost.
• Estimations on development.
5. Specification
This final working product will be the basis of any functions, features or
constraints to be observed. The models used in this phase include ER
(Entity Relationship) diagrams, DFD (Data Flow Diagram), FDD (Function
Decomposition Diagrams), and Data Dictionaries.
A software specification document is submitted to the customer in a
language that he/she will understand, to give a glimpse of the working
model.
6. Validation
This is the sixth phase of the requirements analysis process. This phase
focuses on checking for errors and debugging. In the validation phase,
the developer scans the specification document and checks for the
following:
• All the requirements have been stated and met correctly
• Errors have been debugged and corrected.
• Work product is built according to the standards.
6. Validation
This requirements validation mechanism is known as the formal technical review. The
review team that works together and validates the requirements include software
engineers, customers, users, and other stakeholders. Everyone in this team takes part in
checking the specification by examining for any errors, missing information, or anything
that has to be added or checking for any unrealistic and problematic errors. Some of the
validation techniques are the following:
• Requirements reviews/inspections.
• Prototyping.
• Test-case generation.
• Automated consistency analysis.
7. Requirements
Management
This is the last phase of the requirements analysis process. Requirements management is a
set of activities where the entire team takes part in identifying, controlling, tracking, and
establishing the requirements for the successful and smooth implementation of the
project.
In this phase, the team is responsible for managing any changes that may occur during the
project. New requirements emerge, and it is in this phase, responsibility should be taken to
manage and prioritize as to where its position is in the project and how this new change
will affect the overall system, and how to address and deal with the change. Based on this
phase, the working model will be analyzed carefully and ready to be delivered to the
customer.
Contact:
[email protected]
FB: Xena Bautista