Control-Flow Semantics of Use Cases in UML

The control-flows for five kinds of UML use cases are analyzed: for common use cases, variant use cases, component use cases, specialized use cases and for ordered use cases. The control-flow semantics of use cases – and of the uses-relation, the extends-relation and the precedes relation between use cases – is described in terms of flowgraphs. Sequence diagrams of use cases are refined to capture the control-flow adequately. Guidelines are given for use case descriptions to attain a well-defined flow of control.

The article conclusion is that control-flow semantics of use cases can be described in the well-established model of control-flow graphs. A prerequisite is that use cases have the one-entry one-exit property. If not then one may obtain unstructured use cases with an ill-defined flow of control, as the use of goto-statements in conventional programming may result in spaghetti-code. With the mapping of use cases onto flowgraphs, the corresponding theory of flowgraphs can be applied to the analysis of use case diagrams, among others with metrics for structuredness, complexity and testability.

Read the complete article on