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.

 

  1. Partitioning:

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.

  1. Abstraction:

In this method we concentrate on main goal of system, not on detail of system

  1. Projection

 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:

  1. SADT( structural analysis and design technology)

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.

 

Problem State Analyzer

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:

  1. Understandable
  2. Unambiguous
  3. Complete
  4. Verifiable
  5. Consistent
  6. Modifiable
  7. Traceable
  1. SRS are understandable. One goal of requirement to prepare such SRS both developer and user understand and agree on requirements.
  2. an SRS is unambiguous means every requirements stated only interpretation not multiple.
  3. SRS be complete it response all types of input data.
  4. SRS is verifiable, at the end of phase software meets user requirement and specification.
  5. SRS be consistent, no requirement conflict to each other.
  6. SRS is modifiable
  7. SRS is traceable, means origin of its requirement is clear.

 

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.

  1. response time is expected time for completion of an operation,
  2. Throughput is expected number of operation performed in unit time.

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.