Rabu, 27 Februari 2008

Software Requirement Specification (SRS) Template

What is SRS?

An SRS is basically an organization’s understanding (in writing) of a customer or potential client’s system requirements and dependencies at a particular point in time (usually) prior to any actual design or development work. It’s a two-way insurance policy that assures that both the client and the organization understand the other’srequirements from that perspective at a given point in time.

Benefits of a Good SRS
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 system’s 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 great SRS?An SRS should be
a) Correct
b) Unambiguous
c) Complete
d) Consistent
e) Ranked for importance and/or stability
f) Verifiable
g) Modifiable
h) Traceable

Little more about Software Specifications and System Specifications
What is the difference between a System Specification and a Software Specification?
Very often we find that companies do not understand the difference between a System specification and a 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 user’s manual is often an overlooked part of the System specification. Many of our customers haven’t even considered that this is the right time to write the user’s manual.)
• Provide Installation Drawings/Instructions.
• Provide Interface Control Drawings (ICD’s, External I/O)

Tidak ada komentar: