Requirement Analysis in Software Engineering - Neuroon Networks

Breaking

Friday, August 10, 2018

Requirement Analysis in Software Engineering

What is a Requirement?

Descriptions and Specifications of a system. It may range from a high-level abstract statement of a service or of a system constraint to a detailed mathematical functional specification.
This is inevitable as requirements may serve a dual function.

  • May be the basis for a bid for the contract - therefor must be open to interpretation;
  • May be the basis for the contract itself - therefore must be defined in detail;
  • Both these statements may be called requirements.
What is Requirement Engineering?

The process of establishing the services that a customer requires from a system and the constraints under which it operates and is developed.

Types of Requirements

User requirements: High-level abstract requirements
Statements in a natural language plus diagrams of what services the system is expected to provide to system users and its operational constraints.

System requirements: Detailed description of what the system should do
A structured document setting out detailed description of the system's functions, services and operational constraints. Defines what should me implemented so may be part of contract between client and contractor.

Why Requirement Analysis?

Many projects fail because they start implementing the system without determining whether they are building what the customer really wants. So it i important to learn Requirement Analysis and Specification techniques carefully.
The person who undertake requirement analysis and specification is known as a System Analyst.

Four main phases of Requirement Engineering Process





  1. Feasibility (technical and otherwise) study
  2. Requirement elicitation and analysis
  3. Requirement specification (documentation)
  4. Requirement validation

Feasibility Study:- A feasibility study is a short focused study which aims to check the feasibility of the project considering resources, cost/benefit, technology available etc. It decide whether or not the proposed system worthwhile. Feasibility study based on information assessment, information collection and report writing.

Requirement elicitation and analysis:- In here technical staff working with customers and stakeholders to find out about the application domain, the services that the system should provide and the system's operational constraints. This stages includes four main phases.
  • Requirements discovery- Interacting with stakeholders to discover their requirements.
  • Requirements classification and organization- Groups related requirements and organizes them into coherent clusters.
  • Requirements prioritization and negotiation- Prioritizing requirements and resolving requirements conflicts. 
  • Requirements specification- Requirements are documented

Requirement specification:- A detailed and precise description of the system requirements is set out to act as a basis for a contract between client and software developer.

Requirement validation:- In this stage, checks should be carried out to make sure that the requirements are accurate and complete. It is necessary to check the correctness of the specification of requirements.


1 comment: