Policies Section
  1. Software Project Lifecycle
  2. Best Project Development Method
  3. Software Project Documentation Requirements
  4. Software Project Documentation Standards
  5. Project Planning Phase
  6. Functional Requirements Specification
  7. Project Charter
  8. Project Plan
  9. Project Analysis Phase
  10. Project Design Phase
  11. Project Development Phase
  12. Programming Standards
  13. Project Testing Phase
  14. Software Test Plan
  15. Project Implementation Phase
  16. Software Installation Manual
  17. Software Maintenance Plan
  18. Configuration Management Plan
  19. Users Guide
  20. Project Maintenance Phase
Policies Section

Functional Requirements Specification

The functional requirements specification is begun during the project planning phase and finished during the project analysis phase of the systems development life cycle (SDLC).

  • The Functional Requirements Specification is based on the project purpose, expected benefits, project goals, and requirements. It describes what the software or system(s) created by the project is expected to functionally do. It should describe how the customer will use the system and the inputs to the system expected and the expected outputs. Use cases for describing this would be a very helpful tool.
  • The Functional Requirements Specification should detail what the program is expected to do covering:
    • Security and privacy requirements
    • Internal and external interface requirements to other systems and between code modules.
    • Performance requirements
    • Data requirements
    • Software quality requirements
    • Computer communications requirements
    • Computer resource requirements
    • What each business function is and how it is used.
    • User interface requirements including information being entered or received by the user.

Typical Functional Requirements Specification Outline

  • Purpose - Describes why the project is being done and provides a brief overview of what the end product is expected to do. Describe the business problem that is being solved and the function that is being added or improved to solve the problem
  • Setting - Describe the current operation, the systems supporting the current operation, and expected changes or improvements. Describe and document current and proposed interfaces to other systems. Describes interfaces to all other systems.
  • Definitions
  • Impacts of the Change - Describe how the changes will impact the organization. Describe how productivity will increase or some other desired change will occur such as an increase in sales. Describe any negative impacts such as cost of system maintenance.
  • Personnel - Describes the people involved with the system and those affected by it.
    • Customers
    • End users
    • Analysts
    • Software and system developers
    • Project managers
    • Technical staff involved with associated systems and support.
    • Managers at high levels.
  • Operations - Describes how the current operations and systems are supported, and how the systems and operations will be supported after the changes.
  • Interfaces
    • Describe interfaces to other systems including communication interfaces such as network interfaces.
    • Describe required hardware and interfaces to it such as keyboards, mouse, joysticks, speakers, monitors.
    • Describe user interfaces to the systems including input and output screens and the function they provide to the user.
  • System requirements regarding:
    • Reliability
    • Availability
    • Confidentiality
    • Integrity
    • Maintainability
    • Scalability
    • Portability
  • Functions - Provide a summary of the main application functions. During system design, the functions should be listed in detail and the test plan should be written so those functions and security requirements can be tested during the testing phase of the project.
  • Database requirements
  • Security requirements including:
    • Access requirements
    • Account Management - creation, modification, and removal of accounts. Secure password reset method. Secure storage of account information.
    • Required user roles
    • Password requirements - Complexity rules, account lockout requirements
    • Security awareness and training
    • System and security logging and access control to logs
    • Continuity Planning and disaster recovery
    • Configuration management
    • Data confidentiality needs during transmission and storage
    • Data identification
    • System backup requirements
    • Security and reliability of backups
    • Data retention requirements
    • Caching of sensitive information in client computers or web browsers.
  • Performance requirements