1. Software Standards Specification
  2. Software Requirements Definition
  3. Software Best Practices
  4. Input Validation
  5. Output Validation
  6. Cookie Requirements
  7. Access Failure Error Checking
  8. Buffer Overflow
  9. Code Structure
  10. Software Functions
  11. Software Modules
  12. Requirements for Variables
  13. Software Code Comment Requirements
  14. Quality Code Requirements
  15. Software Code Review
  16. Software Code Testing Requirements
  17. Software Change Control

    Security Best Practices

  18. Secure Functional Requirements
  19. Account Creation
  20. Change Password
  21. Forgot Password
  22. Personal Question
  23. Contact Webmaster
  24. CAPTCHA Tests
  25. Answer Verification

Software Standards Specification

This software standards specification covers software standards from the perspective of the software developer and the project manager. This software standards specification provides requirements for software project management and design requirements. It discusses:

  • Software requirements specifying functionality and controls required to keep the application secure.
  • Coding standards to prevent errors in the code and make it more secure including code structure, naming variables, and adding comments.
  • Software checking and code reviews.
  • Software testing during development and before production.

In order to create quality software, a quality software project methodology must be in place. The software project methodology will ensure that proper planning and documentation is completed at the appropriate times. For example, a quality software project methodology will require business requirements to be defined before software requirements are defined. It will also require that software requirements are defined before the software design document is created. It will later require testing and user guides. This document does not do an in depth coverage of the software project methodology, code testing, or software documents required by projects such as user guides. This document discusses software standards and best practices that improve code quality and software security.

Software Best Practices VS Software Requirements

Software standards should include both software requirements and software best practices. Software best practices apply to the quality of the software and are not design dependant. Software best practices are practices of structuring code, naming variables, documenting code, and other practices.

Software requirements apply to the capabilities the software must support and will affect the design of the software. Some of these capabilities may include encryption of data.