Software requirements are a clear statement of what is expected from the product. Generally, before the software requirements are specified, there are steps to define the demands, such as requests from business units (customer, user, etc.) or requests from internal units. In this process, which is initiated by demand managers in companies with separate departments to manage requests, the process of converting these requests into requirements is usually done by Business Analysts. Business analysts begin to analyze the requests and check some specifications to understand and produce the requirements. The following process will be followed after this process:
- Feasibility check and reporting
- Requirements detection and analysis
- Identification of requirements
- Requirements verification
Importance of Requirement Analysis
A properly understood requirement is one of the most important steps to develop a good software. In addition to providing great savings in time, it can be given the benefits that it helps to prevent communication problems among stakeholders. The step to be taken after the requirements are created is to verify the determined requirements by the stakeholders before the documentation is done. In the reviews, the requirements are reviewed in terms of a number of criteria such as accuracy, clarity, feasibility, consistency, traceability, compatibility, testability.
There are different types of requirements that can be analyzed. Requirements can be considered as an input that test engineers can reference and are used to design tests. When the requirement is well defined, clear, and understandable, both software engineers and test engineers will do their jobs faster and more efficiently.
Types of Requirements
- Functional requirements
- Performance requirements – Speed, accuracy, frequency, throughput, etc.
- External interface requirements
- Design constraints
- Quality attributes – Reliability, portability, maintainability, supportability etc.
- User requirements
- Architectural requirements
Requirements Analysis Goals
According to the user needs, the definition of the problem, system requirements and the objectives of the customer analysis are as follows;
- Exploring the boundaries of the new system or software and its interaction with the environment in problem definition sets.
- Detection and resolution of user conflicts with each other.
- Sorting the requirements according to their priorities.
- Detailing the system requirements.
- Definition of the requirement specification document.
- Classification of requirements information according to various categories and placing requirements into subsystems.