The following basic issues should be addressed to detail all requirements that are not specified within the use-case model:

  • Functionality: What is the software supposed to do? This should include:
    • Validity checks on the inputs
    • General responses to abnormal situations, including: overflow, communication facilities, error handling and recovery
    • Effects of parameters
    • Relationship of outputs to inputs, including input/output sequences and formulas for input to output conversion
  • External interfaces: How does the software interact with people, the system's hardware, other hardware, and other software?
  • Performance: What is the speed, availability, response time, recovery time of various software functions, etc.? Are both static and dynamic requirements included?
  • Logical database requirements: Have all logical requirements been specified for any information that is to be placed into a database? This may include:
    • Types of information used by various functions
    • Frequency of use
    • Accessing capabilities
    • Data entities and their relationships
    • Integrity constraints
    • Data retention requirements
  • Standards Compliance: Have all requirements derived from existing standard and regulations been specified? How will this be traced?
  • Attributes: What are the reliability, availability, portability, correctness, maintainability, security, etc. considerations?
  • 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.?


Rational Unified Process   2003.06.13