Use Cases Considered Harmful

  • Authors:
  • Anthony J. H. Simons

  • Affiliations:
  • -

  • Venue:
  • TOOLS '99 Proceedings of the Technology of Object-Oriented Languages and Systems
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

This article traces the unstable semantics of use cases from Jacobson to UML 1.3. The UML 1.1 metamodel formally defined the "uses" and "extends" use case relationships as stereotypes of generalisation, yet both received interpretations that varied between inheritance and composition, reflecting a large degree of confusion among developers. The recently revised UML 1.3 has quietly dropped these in favour of new "include" and "extend" relationships, which are styled instead as kinds of dependency. Despite this change, the deployment of use case diagrams encourages analysts to conceptualise and develop models which conceal arbitrary jumps in the flow of control, corresponding to goto and comefrom statements, and in which unpleasant non-local dependencies exist across modules. A discussion of examples reveals how a conscientious designer must disassemble use case models completely to produce properly- structured code. A radical solution is proposed.