People have differing opinions about the role use cases play in the requirements process.
Some people think use cases are just one step in the process – something to start with. Others think that use cases bridge the gap between high-level business needs and functional requirements. Others think that use cases show how functional requirements get realized.
In my view, use cases are the center of the requirements universe.
Of course, I’m not saying use cases are the only kind of requirement. There are other categories:
- Declarative Based. The traditional way to define requirements. These assert conditions that the system must adhere to.
- Model Based. These describe requirements using models that describe behavior (e.g. activity diagram) or structure (e.g. a data dictionary).
- Prototype Based. These describe requirements using a representation of the user interface.
- Testing Based. Test cases are another way to state the observable behavior the system must adhere to.
But at the center of these are the Use Case Based requirements. Each use case is based on a goal of an actor using the system. All other kinds of requirements should relate in some way back to one of those goals. Without the goal, there’s no need for the requirement to exist. So, in essence, use cases really are the center of the requirements universe.
What do you think?