Thursday, June 17, 2010

Software requirements

Requirements of a software form the foundation of the software based product.

Functional and non-functional requirements are derived from the "voice of the customer" (VOC), documents (artifacts) and similar products etc. Success of the software product mainly depends on the non-functional requirements like
  • performance – time taken to perform an operation (throughput) and memory usage
  • scalability - ability to easily expanded or upgraded on demand
  • usability – ease of use and intuitiveness
  • architecture – standalone or client server
  • reliability - ability to yield same result on repeated trials
  • security – ability to protect the system from intruders and protecting the privacy of the users of the software product
  • etc.
and the productivity of software development mainly depends on the non-functional requirements like
  • maintainability (includes extensibility, testability)
  • etc.
Make sure the derived requirements are
  • simple
  • not ambiguous
  • testable
Following are the minimum set of attributes of a requirement
  1. Tag – Requirement tag will be used for traceability (e.g. R1, R2, REQ1, REQ10, FR1, FR10, etc.)
  2. Description

No comments: