Referring back to Figure 4.1 (in Week 4), we will be focusing more on steps 6 to 8 for this week — classifying and organizing requirements, negotiating the requirements, and prioritizing the requirements.
The purpose of requirement classification and organization is to group related requirements and organizes them into coherent clusters. For this topic, we look at the classification of requirement — functional and non-functional requirements.
There are various ways to organize them in logical clusters. For example, it is possible to classify the requirements by user class. Each user class is then associated with a set of FRs that are most relevant to their needs.
Figure 5.1 A hierarchy of user classes.
Another is feature, a set of logically related (functional) requirements that provides a capability to the user and enables the satisfaction of a business objective. The description should include:
You can set the priority such as how urgent it may be or customers may provide their output on what to prioritize.
Classifying NFRs can be a bit more challenging than classifying FRs. However, there are several techniques that can be used, such as FURPS+, a requirements classification framework
<aside> <img src="/icons/map-pin_gray.svg" alt="/icons/map-pin_gray.svg" width="40px" /> FURPS stands for functionality, usability, reliability, performance, and supportability. FURPS+ is an extension which includes design constraints, implementation and interface.
</aside>
That said, most of the time it refers to usability and performance, as they are the most important.