Functional Requirements
Describes what the system should do or be capable of doing
Typically if functional requirements are not met, then the system will not work (at least not in its entirety)
- The wireless infrastructure system shall provide wireless network coverage across the 3000 sqft warehouse.
- The wireless infrastructure system shall provide a wireless network with an upload/download data rate of at least 500 Mbps
- The wireless infrastructure system shall maintain 99% up time in a given year.
Non Functional Requirements
Describes how the system will achieve the functional requirements.
Typically if non functional requirements are not met, then the system will still function but maybe not in the most ideal way.
- The wireless infrastructure system must use 15 XYZ model routers
- The wireless infrastructure system must space each router apart by 50 ft +/- 1 ft
- The wireless infrastructure system will must use both the 2.4 Ghz and 5 Ghz signal bands
Some non functional requirements may actually be functional requirements, especially if they are a design specification item that the customer/user requires. These can be a bit of a "case by case" situation.
Assumptions
Assumption help provide context as to why specifics were written a certain way. For example, if the functional requirements above are the only requirements you were given, then your assumptions might look like the following:
- Non functional requirements created under the assumption that the use case is for a maximum of 100 individual laptops at any given time.
As well, you could provide assumptions not only about your requirements but maybe your contract.
- Statement of Work written under the assumption that the customer is responsible for installation and maintenance of the wireless infrastructure system.