No: <unique requirement number> |
Statement: <the "shall" statement of the requirement> |
Source: <source of the requirement> |
Dependency: <list (with link) to each other requirement on which satisfaction of this requirement depends. (May be "None")> |
Conflicts: <list (with link) to each other requirements with which this requirement conflicts. (May be "None")> |
Supporting Materials: <list (with link) to supporting diagrams, lists, memos, etc.> |
Evaluation Method: <How can you tell if the completed system satisfies this requirement? > |
Revision History: <who, when, what> |
3.1 Functional Requirements:
- < Describe the fundamental actions that the software must perform. Functional requirements can be partitioned into subfunctions or subprocesses. Note: the software design partition does not have to correspond with the functional requirements partition. Functional requirements include:
- validity checks on the inputs,
- exact sequence of operations,
- responses to abnormal situations, including: overflow, communication facilities, and error handling and recovery
- effect of parameters
- relationship of outputs to inputs, including: input/output sequences, formulas for input to output conversion
- ...>
3.2 Interface Requirements:
- < Describe the interactions of the software with other entities. Interface requirements include a precise description of the protocol for each interface:
- what data items are input
- what data items are output
- what is the data type, the format, and the possible range of values for each data item? (i.e. what is the "domain" of this data item?)
- how accurate must each data item be?
- how often will each data item be received or sent?
- timing issues (synchronous/asynchronous)>
- how many will be received or sent in a particular time period?
- how accurate must the data be?
- ...>
3.3Physical Environment Requirements:
- < Describe the environment in which the software must run. Physical environment requirements include:
- type of equipment on which the software must run
- location of the equipment
- environmental considerations: temperature, humidity, ...
- ...>
3.4 Users and Human Factors Requirements:
- <Describe the users and their constraints:
- What different types of users must the system support?
- What is the skill level of each type of user? What type of training and documentation must be provided for each user?
- Do any users require special accommodations (large font size, ...)
- Must the system detect and prevent misuse? If so, what types of potential misuse must the system detect and prevent?
- ...>
3.5 Documentation Requirements:
- <Describe what documentation is required:
- on-line, printed, or both?
- what is the assumed skill level of the audience of each component of documentation?
- ...>
3.6 Data Requirements:
- <Describe any data calculations: what formula will be used? to what degree of precision must the calculations be made? >
- <Describe any retained data requirements: exactly what must be retained?
- ...>
3.7 Resource Requirements:
- <Describe the system resources:
- skilled personnel required to build, use, and maintain the system?
- physical space, power, heating, air conditioning, ...?
- schedule?
- funding?
- hardware/software/tools?
- ...>
3.8 Security Requirements:
- <Describe any security requirements:
- must access to the system or information be controlled?
- must one user's data be isolated from others?
- how will user programs be isolated from other programs and from the operating system?
- how often will the system be backed up?
- must the backup copies be stored at a different location?
- should precautions be taken against fire, water damage, theft, ...?
- what are the recovery requirements?
- ...>
3.9 Quality Assurance Requirements:
- <Describe quality attributes:
- What are the requirements for reliability, availability, maintainability, security, portability ...?
- How must these quality attributes be demonstrated?
- Must the system detect and isolate faults? If so, what types of faults?
- Is there a prescribed mean time between failures?
- Is there a prescribed time the system must be available?
- Is there a maximum time allowed for restarting the system after a failure?
- What are the requirements for resource usage and response times?
- ...>
SECTION 4: Supporting Material
- <Here is where you put all your analysis work from which you derived the above requirements. It may include UML or other diagrams, notes, memos, etc.)