Can you please explain me the difference between system and functional requirements?
In the company that I working for , I perform a business analyst / design role for one of the applications that is responsible for fulfulling and provisioning a service requested by the customer. My deliverable is a design document that comprises of system requirements and functional requirements. We define system requirements to define high level capabilities of the system and define the functional requirements to break down the system requirements into sufficient detail. So an SR can contain 1-N FRs. I was not sure if it is something that is followed across the industry
According to "System Analysis and Design, Fifth Edition":
A Functional Requirement "relates directly to a process the system has to perform as a part of supporting a user task and/or information it needs to provide as the user is performing a task.”
Based on this definition, a functional requirement describes what functionality should exist in the system to support an activity (task) that the user would like to achieve. It should not be too technical as it serves as an agreement between the system developer and the user on what is expected from the system in terms of functionality. The user should not at any point expect the system to have features or offer functions that are not specified in the functional requirements. Therefore, the functional requirements are determined during the analysis phase of the system development life cycle (SDLC).
A System requirement, on the other hand, is a technical requirement. It is determined during the design phase of the SDLC. The book states that the focus in this phase is on: "the design of the technical system blueprint that will satisfy the system's requirements".
In short, the main differences are:
1. Purpose and target audience: functional requirements are aimed to communicate what is expected from the system from an end user's perspective, whereas system requirements are aimed at clarifying to developers how the system will be implemented in order to deliver the functional requirements.
2. Timing: functional requirements are specified during analysis, whereas system requirements are specified as part of the design phase.