Functional requirements (FR) describe the intended functionality of a system, its behavior and its data. In writing FRs, a requirements engineer condenses the requirements for an IT system into a set of compact (one sentence!) requirements. These can be prioritized, and used as a base for planning a development project.
Such a one-sentence requirement can give way to many different interpretations, if not done carefully. To counteract this problem, you should use a sentence template. This way, potential linguistic ambiguities can be eliminated, and requirements can be formulated in a precise and unambiguous fashion. There are three types of functional requirements, each resulting in a (slightly) difference sentence template:
ID | Prio. | Title | Sentence template | Contributes to goal(s) | Type | Kano type | |
---|---|---|---|---|---|---|---|
FR-18 | 17 | Save room theme (R17) | If a user has placed an products in his room and configured the design, the system should provide the ability to the users to save the current configuration of the room and the products in it, in a template. | GO-12, GO-4, GO-2 | User interaction | Performance | |
FR-11 | 17 | Load room theme (R16) | If a user has saved a template of a room design, the system must provide the ability to the users to load the selected configuration of the room and the products in it, so that the user can edit and customize it further. | GO-2 | User interaction | Excitement | |
FR-8 | 17 | Drag & Drop the products in the AR view | If the user wants to see a product in AR, the system must provide the ability to the users to drag and drop a product from the product list, to easily try them out in AR. | GO-12, GO-4 | User interaction | Excitement | |
FR-27 | 17 | The furniture must be customizable in its design (R15) | If the user is placing a product model, the system should provide the ability to the users to customize the product design, in all aviable design variants provided by the vendors. | GO-12, GO-2 | User interaction | Performance | |
FR-3 | 17 | Add personal user details | If a user creates an account, the system must provide the ability to the users to add details personal details (like adress), by providing a form and functions. | GO-4, GO-9 | User interaction | Basic | |
FR-1 | 17 | Account creation | If a user wants to order products from a vendor, the system must provide the ability to the user to compare an account and fill in all neccessary details, by providing a signup form and functions. | GO-9 | User interaction | Basic | |
FR-4 | 15 | Add products to a shopping cart | If the user has an intention to purchase, the system must provide the ability to the users to place the selected products in a shopping cart, so that the user can purchase them later. | GO-3, GO-9 | User interaction | Basic | |
FR-22 | 15 | Select placed products models in AR | If the user want to modify a model in AR, the system must provide the ability to the users to select the product models, by click on one or multiple products. | GO-4 | User interaction | Basic | |
FR-15 | 15 | Place an order for the current shoppingcart | If the user has an intention to purchase the products in his shoppingcart, the system must provide the ability to the users to place an order the products in a the shopping cart, so that the order can be redirected to the corresponding vendor and be processed further. | GO-9, GO-3 | User interaction | Basic | |
FR-7 | 15 | Display the in AR placed products in a list | If the user wants to modify or view the placed product models in AR, the system will provide the ability to the users to view a list with all placed product models, to be able to modify, remove or view them. | GO-4 | User interaction | Performance | |
FR-16 | 14 | Place the selected products in the AR room (R2) | If the user has selected products, the system must provide the ability to the users to place the available products in the AR room, so it can be easily placed in the desired location. | GO-4, GO-12 | User interaction | Excitement | |
FR-13 | 14 | Move the selected products models in the AR room (R11) | If the user is placing a product model, the system should provide the ability to the users to rotate/move the product models, in all aviable directions in the 3D space. | GO-12, GO-4 | User interaction | Excitement | |
FR-2 | 14 | Account deletion | If the user wants terminate relationship with the system, the system must provide the ability to the users to delete the account and all associated data, by providing a button and functionality. | GO-7 | User interaction | Basic | |
FR-24 | 13 | Share designed room | If a user has placed products in his room, the system must provide the ability to the users to save a picture of the room, so that the user share it with his friend and family. | GO-12 | User interaction | Excitement | |
FR-20 | 13 | Select and remove the selected products from the AR room | If the user has selected products already placed in AR, the system must provide the ability to the users to remove the selected products in the AR room, so the user can later place other in their location. | GO-4 | User interaction | Basic | |
FR-26 | 10 | Take measurements of the objects in this room in AR | If a user is placing products in AR, the system should provide the ability to the users to display the measurements of objects in the room, in a visual way to easily see the measurements of the objects the camera is pointed at. | GO-14, GO-4 | User interaction | Excitement | |
FR-29 | 0 | Uploading 3D models (R2) | If a business customer adds a product, the system must provide the ability to business customers to upload the 3D models of the product, so that it can be later displayed by the AR tool. | GO-3 | User interaction | Excitement | |
FR-21 | 0 | Select multiple products from a list (R6) | If the user wants to plan his existing furniture in a room, the system must provide the ability to the users to select multiple products, from a list so that the user can add multiple products at once to his room. | GO-4 | User interaction | Basic | |
FR-19 | 0 | Select Dummy Models | If the user wants to plan his existing furniture in a room, the system must provide the ability to the users to select the aviable dummy models, from a list so that the user can quickly choose between them. | GO-12, GO-4 | User interaction | Basic | |
FR-10 | 0 | Forwarding users' orders to the business partner (R4) | If a order is placed, the system must forward the order details to the corresponding business partner, to continue the order and complete it from the system's point of view. | GO-3, GO-9 | Independent system action | Excitement | |
FR-17 | 0 | Provide dummy models to be able to simulate existing furniture (R13) | If the system is initally set up, the system must contain models of a generic couch, wardrobe and book shelf, that can be used to display the already existing furniture in the user's room. | GO-12 | Independent system action | Excitement | |
FR-14 | 0 | Notify about wrong size (R5) | If a user has placed a product in his room and the size does not match, the system must notify the user, immediately and visualize it in AR. | GO-4 | Independent system action | Basic | |
FR-12 | 0 | Mark room theme as favorite (R1) | If a user has saved a template of a room design, the system must provide the ability to the users to mark as favorite a slected and saved room template, so that the user can find it more easily later. | GO-2 | User interaction | Excitement | |
FR-25 | 0 | Show the exact information of the business partner to order (R14) | If a user has placed an order and it is forwarded to the business partner, the system must provide the ability to the users to display more detailed information about delivery date, costs and other details, briefly summarized. | GO-3, GO-4 | User interaction | Basic | |
FR-28 | -3 | Update product informations by the business customer (R18) | If a business customer changes product details, the system must provide the ability to business customers to automatically update the details of the product, so that the latest information is always aviable for the users. | GO-3 | User interaction | Basic | |
FR-23 | -3 | Select products from a list (R7) | If the user wants to plan his existing furniture in a room, the system must provide the ability to the users to select the aviable products, from a list so that the user can quickly choose between them. | GO-4 | User interaction | Basic | |
FR-6 | -3 | Basic filters | If the user wants to select a certain product to place in his room, the system must provide the ability to the users to filter the available products, by various basic product filters. | GO-4 | User interaction | Basic | |
FR-5 | -3 | Advanced filters | If the user wants to search for specific products to place in his room, the system must provide the ability to the users to filter the available products, by various advanced product filters. | GO-4 | User interaction | Performance | |
FR-9 | -6 | Forwarding changes to the status of the order to the user (R3) | If a business customer platform changes the status of an order, the system must be able to forward the new status to the user, immediately by E-Mail and on the order status page. | GO-3, GO-9 | Interface requirement | Basic |