Software requirements specification | Software Engineering

Requirement engineering or software specification

The software requirements are description of feature and functionalists of the target system requirements convey the expectations of users form the software product.The requirements can be obvious or hidden,known or unknown, expected or unexpected from clients point of view.

Requirement engineering

The process to gather the software requirements form clients,analyze and document them is known as requirement engineering . the goal of requirement engineering is to develop and maintain sophisticated and descriptive system requirements specification document.

Different types of software requirements

software system requirements are often classified as functional requirements,non-functional or domain requirement.

>> Functional requirements : These are statements are services system should provide,how the system shows react to particular inputs and how the system should react to particular inputs and how the system should behave in particular situation.

>> Non-functional requirements : These are constrains on the services or functions offered by the system.They include timing constrains or the development process and standards,none functional requirements often apply to the system is a whole.They do not usually just apply to individual system feature or services.

>> Domain requirements : These are requirements that are come from the application domain of the system and that reflect characteristic and constrains of the domain.They may be functional or non- functional requirements.


Requirement Engineering process 

In requirement engineering process there have 4 steps 

1) Feasibility study

2) Requirement Elicitation and Analysis

3) Software requirement specification

4) Software requirement validation

5) Software requirement management




1) Feasibility study 

Feasibility study focused towards goal of organization. The study analyzes whether the software product can be practically materialized in terms of implementation, contribution of project to organization, cost constraints and as per values and objectives of the organization. It explores technical aspects of the project and product such as usability , maintainability , productivity and integration ability.

When clients approaches the organization for getting desired product developed,It comes up with rough idea about what all functions the software must perform and which feature are expected from the software.

Referencing to this information, the analysts does a detailed study about whether the desired system and its functionality are feasible to develop.


Types of feasibility 

>>  Technical feasibility - technical feasibility evaluated of the current technologies,which are needed to accomplish customer requirements within the time and budget.

>> Operational Feasibility - operational feasibility assesses the rang in which the required software performs a series of levels to solve business problems and customer requirements.

 >> Economic Feasibility - Economic feasibility decides whether the necessary software can generate financial profits for an organization.

2) Requirements analysis 

When feasibility report is positive towards undertaking the project, next phase starts with gathering requirements form the user. Analysts and engineers communicate with the client and end user to know their ideas on what the software should provide and which features they want the software to include.
Moral of the analysis , This is also known as the gathering of requirements . Here requirements are identified with the help of the customers and existing systems processes, if available.

Analysis of requirements starts with requirements elicitation. The requirements are analyzed to identify inconsistencies,defects , omission etc.

3) Software requirement specification

Software requirement specification is kind of document which is created by a software analyst after the requirements collected from the various sources.
It defines how the intended software will interact with hardware, external interfaces, speed of operation,response time of the system, portability of software across various platform, maintainability, speed of recovery after crashing , security, quality,limitations etc.
The requirements received from client are written in natural language.It is the responsibility of system analyst to document the requirements . In technical language so that they can be comprehended and useful by the software development team.

4) Software requirement validation

After requirement specifications developed, the requirements discussed in the document are validated , the user might demand illegal , impossible solution or experts may misinterpret needs. Requirements can be the check against the following condition :

>> If they can practically implement

>> If they are correct and as per the functionality and specially of software.

>>  If there are any ambiguities

>> If they are full or complete

>> If they can describe

>> If they can be demonstrated.


 Important and more related post :

>> What is application software and system software
>> incremental model with details.
>> Software Engineering | Classification of Software Requirements
>>What is operating system 
>>What is traffic monitoring system 
>> what is computer virus and names of virus.
>>What is embedded control system  
>> What is compiler .
>> What is linker.
>> What is Interpreter
>> Modern Principles Of Software Development
>> Types of Software Testing
>> Software Testing | Basics
>> Software Engineering | Debugging Approaches
>> Software Engineering | Classification of Software


Post a Comment

0 Comments