In: Computer Science
Consider a system that could function as a Cloud solution. In order for that system to work as needed, several functional and nonfunctional requirements will be required. Write a 2-3 page paper detailing at least 3 functional requirements and three nonfunctional requirements required for the Cloud solution. Describe what they will do and why are they essential to the system? Make sure those requirements take into consideration resource requirements, network requirements, and security requirements (attacks, mitigations, vulnerabilities).
What isa Functional Requirement?
In software engineering, a functional requirement defines a system or its component. It describes the functions a software must perform. A function is nothing but inputs, its behavior, and outputs. It can be a calculation, data manipulation, business process, user interaction, or any other specific functionality which defines what function a system is likely to perform.
Functional software requirements help you to capture the intended behavior of the system. This behavior may be expressed as functions, services or tasks or which system is required to perform.
What is Non-Functional Requirement?
A non-functional requirement defines the quality attribute of a software system. They represent a set of standards used to judge the specific operation of a system. Example, how fast does the website load?
A non-functional requirement is essential to ensure the usability and effectiveness of the entire software system. Failing to meet non-functional requirements can result in systems that fail to satisfy user needs.
Non-functional Requirements allows you to impose constraints or restrictions on the design of the system across the various agile backlogs. Example, the site should load in 3 seconds when the number of simultaneous users are > 10000. Description of non-functional requirements is just as critical as a functional requirement.
Example of Functional Requirements
Examples of Non-functional requirements
Here, are some examples of non-functional requirement:
Functional vs Non Functional Requirements:
Parameters | Functional Requirement | Non-Functional Requirement |
---|---|---|
What it is | Verb |
Attributes |
Requirement | It is mandatory |
It is non-mandatory |
Capturing type | It is captured in use case. | It is captured as a quality attribute. |
End-result | Product feature |
Product properties |
Capturing | Easy to capture |
Hard to capture |
Objective | Helps you verify the functionality of the software. | Helps you to verify the performance of the software. |
Area of focus | Focus on user requirement | Concentrates on the user's expectation. |
Documentation | Describe what the product does | Describes how the product works |
Type of Testing | Functional Testing like System, Integration, End to End, API testing, etc. | Non-Functional Testing like Performance, Stress, Usability, Security testing, etc. |
Test Execution | Test Execution is done before non-functional testing. | After the functional testing |
Product Info | Product Features |
Product Properties |
Advantages of Functional Requirement
Here, are the pros/advantages of creating a typical functional requirement document-
Advantages of Non-Functional Requirement:
Benefits/pros of Non-functional testing are: