Vous êtes sur la page 1sur 2

What is SRS?

A SRS is basically an organizations understanding (in writing) of a customer or potential clients system requirements and dependencies at a particular point of time (usually) prior to any actual design or development work. Its a two-way insurance policy that assures that both the client and the organization understand each others requirements from every perspective at a given point of time.

Benefits of a Good SRS


Establish the basis for agreement between the customers and the suppliers on what the software product is to do. Reduce the development effort. Provide a basis for estimating costs and schedules. Provide a baseline for validation and verification. Serve as a basis for enhancement.

What should the SRS address to?


1. Functionality: What is the software supposed to do? 2. External Interfaces: How does the software interact with people, the systems hardware, other hardware, and other software? 3. Performance: What is the speed, availability, response time, recovery time of various software functions, etc.? 4. Attributes: What are the portability, correctness, maintainability, security, etc. considerations? 5. Design constraints imposed on an implementation. Are there any required standards in effect, implementation language, policies for database integrity, resource limits, operating environment(s) etc.?

What are the characteristics of a good SRS?

A SRS should be:


Correct Unambiguous Complete Consistent Ranked for importance and/or stability Verifiable Modifiable Traceable

Difference between System Specification and Software Specification:


Very often we find that companies dont understand the difference between System Specification and Software Specification. Important issues are not defined up front and Mechanical, Electronic and Software designers do not really know what their requirements are. The following is a high level list of requirements that should be addressed in a System Specification:

Define the functions of the system Define the Hardware/Software Functional Partitioning Define the Performance Specification Define the Hardware/Software Performance Partitioning Define Safety Requirements Define the User Interface (A good users manual is often an overlooked part of the System specification. Many of our customers havent even considered that this is the right time to write the users manual)

Provide Installation Drawings/Instructions Provide Interface Control Drawings (ICDs, External I/O)