Software Requirement Specification
Software requirements specification is starting point of software development activity.
The meaning of SRS is translating ideas in mind of salient into formal document. Thus output of phase is set of formally specified requirements.
The requirement specification phase consists of two activities.
· Requirement analysis
· Requirement specification
First aspect is related to needs of client.
Second aspect is related to solution of the need of the client. A good SRS has many benefits
· Establishing the basis of agreement between client and supplier. What software product will do.
· Reducing development cost, SRS clears all specification.
· Providing reference for validation of final product.
Problem Analysis:
Problem analysis is related to problems of clients and user. Analysis involves interviewing clients and users.
During analysis, a massive amount of information collected in forms of answers to questions, questionnaires, information form documentation.
One major problem during analysis now is arrangement of information.
During analysis interpersonal skill of analyst are important. Analyst should be perfect in communication skill.
Structuring information:
During analysis we get information, how it is managed.
When system is large, divide into part. E.g. when entire work is on operating system it is difficult to understand operating system. Because operating system has many parts file management, memory management and input/output.
In this method we concentrate on main goal of system, not on detail of system
In method we study different point of views.
E.g. operating system is described from view of general user, a system programmer, a system administrator.
Data Flow Diagram:
DFD used during problem analysis. A DFD shows flow of data through a system. The system may be organization, a manual procedure, a software system, a hardware system.
A DFD shows movement of data through different processes in the system.
Processes shown by circles
Data flows shown by arrows
Rectangle shown by source or sink
Structural Analysis:
DFD establishes information in structure manner.
Prototyping:
It is tool used for analysis of the problem. It is partial system developed on basis of experience.
Other tools for the analysis:
It is graphical language that is based on concept of blueprint used in civil engg.
A diagram in SADT model is an active diagram or data diagram. Each diagram consists of boxes and arrows.
PSA/PSL (Problem Statement Language)
It is combination and graphical.
In PSL, a system contains a set of objects, each object having properties and defined relationships.
Requirement Specification:
Once analysis is complete, requirements are written on document. Final output is SRS.
Characteristics of SRS:
Components of SRS:
There are some components SRS must specify.
· Functionality
· Performance
· Design constraint
· External interface
Functional requirement:
It specifies which output produced from given inputs. It shows relationship between input and output. For each functional requirement, a detail description of all data inputs and their source, the unit of measure, the range of valid inputs must be specified.
Performance requirement:
SRS specifies performance constraint on software system. There are two type of performance requirement.
Static and dynamic.
Static requirement:
Include number of terminal supports, number of files and size. It is related to capacity of system.
Dynamic requirement:
Specify constraint on execution behavior of system.
Design constraint:
There are number of factor present in environments that restrict choice of a designer. They are resource limit, operating environment, reliability, and security requirement.
External interface:
There are many different type of user interact software. So there will be different logical characteristics of each interface.
Different type of interface menu, command prompt, forms.
Validation:
After preparing SRS we check our SRS have specification according to need.
1. by reading
2. By reviews, arrange meeting with client make sure there is no communication gap.