Reputation: 1439
I am analyzing Milk teas management website, that is a web online to help user buys via online and seller can manage their products, orders
I have to do Non-functional requirements and functional requirements for this website like this
FUNCTIONAL REQUIREMENTS
Register
Login
Add products to card
Submit order
Cancel order
NON - FUNCTIONAL REQUIREMENTS
Number of milk tea can be added to the cart
I am right for that? Can you give me some idea for this to let me improve better, I am new for this section, thank you so much
Upvotes: 5
Views: 3176
Reputation: 6629
Good functional requirements should clearly describe the behavior of the system. Here are some examples:
If you want to add more functionality, create more requirements, don't pile them all into one. For example, the last requirement in the above list can be split into 2: (1) require cancellation reason, (2) approval before refund. It also helps to organize requirements by feature in spreadsheets (one row per requirement) or JIRA Stories, for example.
Make sure you read many examples of well-written requirements, and practice. Follow a checklist, and have a co-worker review your work. Always ask yourselves how you would test each requirement. If you can't figure out how to write a test for the requirement, how can you ever prove the product works as intended?
Non-functional requirements are also known as "quality attributes" or "constraints" of the system. The range of possible items that can be added to a cart (0..max) seems like a constraint on that field, so I can see how some would consider this a NFR. But how would you test it?
Instead, you can express this like a functional requirement: "When the user enters a value that is greater than the maximum, display an error message". A NFR might describe the color, size and location of the error message. NFRs can also specify which UI kit to use and style guidelines to follow. For example, "Must follow Google Material Design" (https://material.io).
You should also be familiar with NFR categories (also known as the "ilities"):
Here are some examples of NFRs for a website:
Read these guidelines by the System Engineering Body of Knowledge (SEBoK). Follow them closely, share with your team:
This is an excellent book on large-scale agile requirements if you want to go deeper:
Upvotes: 5