I am trying to figure out some questions to help me decide whether a use case should be written for that requirement or not. Is it neccesesary to have a use case for each requirement?
E.g I have a functional requirement which is about creating a new DB table for the new parameters that will be selected from the UI. The FR also states the what ariables should present each parameter in the table etc.
3
Questions to decide whether to write a use case:
-
Will (or might) a use case provide more information to the business, the developers, and/or the user about:
- whether the requirement should be implemented;
- what priority the implementation has?
-
Will a use case give the developers more information about what functionality to build?
-
Is the requirement about stand alone functionality or is it an inseparable part of something else?
[Edit, as requested per comment]
To distinguish whether a requirement is stand alone functionality or not you can consider the following:
-
Can a system that implements this requirement and another system, that is completely the same as the first except in that it does not implement the requirement, both (in theory) exist?
For example, if you have an access control system allowing people entry to a building. The use cases “allow an authorised person to enter the building” and “allow an authorised person to leave the building” are two independent use cases, even though they are very similar from an implementation/design perspective
and when “allow an authorised person to leave the building” is not implement while “allow an authorised person to enter the building” is implemented the building would become very crowed, hypothetically we could implement one and not the other.If so, then this is a good candidate for a use case.
-
Is this requirement an extension of some other requirement? I.e. some other use case must be implemented for this use case to make sense.
For example, “authenticate persons on sight within 100ms” is a refinement, i.e. an extension, of the more general “authenicate persons”. Another example, “allow only authorised person to enter the building” can not exist without “enable ersons to enter the building”.
If so, then you can often still model it a separate use case and most methodologies do have some way that you can specify Use Case A extends Use Case B.
-
The third category are requirements that are inseparable.
[Currently I can’t give an example.]
When you have a group of requirements that belong together, write a single use case for them.
-
-
Does the software engineering methodology you follow or the project procedure require use case documentation?
1
A functional requirement wouldn’t state that a new DB table needs to be created so that different layers of your application can relay user input from the UI. And it certainly shouldn’t specify the schema of the table.
What you have is not a Function Requirement. It may have started off as one but it looks like somebody along the way has suggested some implementation details.
Do you still have the original FR? If so, you should be able to write use cases around that (which wouldn’t reference any implementation details).
5