Use cases considered harmful
- 20 January 2003
- proceedings article
- Published by Institute of Electrical and Electronics Engineers (IEEE)
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.Keywords
This publication has 3 references indexed in Scilit:
- Some problems with use cases … and how to avoid themPublished by Springer Nature ,1997
- Object behavior analysisCommunications of the ACM, 1992
- Letters to the editor: go to statement considered harmfulCommunications of the ACM, 1968