The requirements document for a website describes the website’s functionality, workflow, look and feel of the web pages, types of end users and the operations that they can perform on the website. This document when signed off by the website owner and the website designer/developer serves as an agreement between the two parties regarding the scope of work. The document will be used as a basis for the actual website design. For better readability and ease of use, the document should contain sections describing each aspect of the website.
The objective of the website is described in this section. It may contain a brief overview of the website itself and an overview of the company / business that hosts the website.
This section describes the purpose of the website and may contain a broad list of features. It also defines what the website is built for and what it expects to achieve.
Revision History Section
The document is likely to undergo many revisions as a result of reviews and feedback, before it is finalized and approved by all participants. This section shows the changes made to each version of the document starting from the initial base-lined version.
The number and type of server machines on which the website will be hosted, the disk space and RAM capacity of the servers, drives, monitor resolution, processor type and speed are described in this section. The minimum configuration required and the ideal configurations are listed for the development, testing and production environments.
This section describes the operating system, development platform / software, web server, database server, application server and other software that need to be installed.
Digital certificates, cryptography, user identification, authentication and authorization requirements, firewall etc. are defined in this section.
Coding standards, file naming conventions, web page title naming conventions and compliance to W3C standards are listed. This forms part of the acceptance criteria.
The cycle time, expected speed of transactions, query response time, database procedure execution time, expected volume of transactions per period and web page loading time are described in this section along with their minimum acceptance criteria.
This section describes the interfaces between the website and other external services or websites, the mode of communication (and the protocols used), directory and look up services.
Hosting and Availability Requirements
This section describes the website’s expected capacity to handle traffic (E.g. number of users, volume of data, concurrent read / write accesses to the database etc.). It will also define the domain name, basic architecture, back up / mirror servers, reliability, disaster recovery and fail-safe requirements for the system. The expected daily hours of operation, extent of availability required for acceptance, impact of down-time and peak time volume are listed.
Data Retention Requirements
This section will state the maximum period until which data should be retained in the database tables. After this period, the data is either backed up and moved to secondary storage or just deleted. Transaction history and audit trail are candidates for these tasks.
This section is divided logically into sub sections, each describing a specific functionality. It documents the types of users and their roles. It lists the web pages that can be accessed by a normal user and those that can be accessed by the system administrator. Some websites require a Content Management System (a set of web pages that can be updated by an administrator to alter the content viewed by the website’s end user).
The Functional Requirements document outlines various criteria such as:
- Header, footer, logo, font size and type, arrangement of controls on the web page, letterhead and banners required on the web pages
- Menu items and the functionality for each web page
- Links and their flow of control
- Data structures of core entities.
- Theme, look and feel and color scheme of each web page
- Business rules, user input data, expected output, validations, error handling and user-friendly display of information
- User interaction, flow of control, and decision paths based on user’s action
- Batch processes and their schedules
- Browsers to be supported by the website
- Shopping cart functionality and payment gateway support for product selling websites
- Web page content for static pages.
- Site Map to segregate the web pages hierarchically or based on their category or usage.
This section should be written so that it facilitates modifications to requirements, by grouping related items together. Assign a reference number to each requirement in order to track it through each phase (design, development, testing) of building the website.
Expected Future Enhancements
This section gives a list of potential new features that may be added to the website at a later date. The system should be designed so as to facilitate incorporation of such enhancements.