Prev | Next |
Requirements and Use Cases
The Use Case technique is fundamentally very simple and was originally devised to ensure that functional requirements were written from the perspective of the User. This standpoint helped to ensure that deployed systems would be fit for purpose and be accepted by the diverse community of users. There is however a vast amount of conflicting literature and an equally large number of styles for defining Use Cases. This has led to confusion and uncertainty and has tended to attenuate the value that can be derived from this effective and simple technique.
In software engineering, many methods prescribe the use of Use Cases as an alternative to Requirements development, because the Unified Modeling Language (UML) does not include a formal Requirement element. In contrast, most Model Based Systems Engineering methods using SysML combine the application of Use Cases and Requirements. This is a result of the fact that SysML defines both a Use Case and a Requirement element so these two elements can be related to each other and compliment the system specification to bring clarity a precision to the important discipline of requirements engineering and management.
In these two diagrams the modeler has used the <<refine>> relationship to indicate that the Decelerate Car Use Case refines or adds additional explanation to clarify the Requirement Master Cylinder Efficacy. This provides a mechanism to trace implementation level components that are connected to the Use Case back up to the Requirement and ultimately to the Stakeholder.
The Traceability window can also be used to view the connections between model elements at different levels of abstraction and to see the connection from a Block that forms part of a subsystem assembly back to the Requirement that specified the functionality.

Use Cases are typically used to refine the high level requirements and to express the communication and interaction between the User and the System.