The search result changed since you submitted your search request. Documents might be displayed in a different sort order.
  • search hit 1 of 4
Back to Result List

Explicit use-case representation in object-oriented programming languages

  • Use-cases are considered an integral part of most contemporary development processes since they describe a software system's expected behavior from the perspective of its prospective users. However, the presence of and traceability to use-cases is increasingly lost in later more code-centric development activities. Use-cases, being well-encapsulated at the level of requirements descriptions, eventually lead to crosscutting concerns in system design and source code. Tracing which parts of the system contribute to which use-cases is therefore hard and so limits understandability. In this paper, we propose an approach to making use-cases first-class entities in both the programming language and the runtime environment. Having use-cases present in the code and the running system will allow developers, maintainers, and operators to easily associate their units of work with what matters to the users. We suggest the combination of use-cases, acceptance tests, and dynamic analysis to automatically associate source code with use-cases. WeUse-cases are considered an integral part of most contemporary development processes since they describe a software system's expected behavior from the perspective of its prospective users. However, the presence of and traceability to use-cases is increasingly lost in later more code-centric development activities. Use-cases, being well-encapsulated at the level of requirements descriptions, eventually lead to crosscutting concerns in system design and source code. Tracing which parts of the system contribute to which use-cases is therefore hard and so limits understandability. In this paper, we propose an approach to making use-cases first-class entities in both the programming language and the runtime environment. Having use-cases present in the code and the running system will allow developers, maintainers, and operators to easily associate their units of work with what matters to the users. We suggest the combination of use-cases, acceptance tests, and dynamic analysis to automatically associate source code with use-cases. We present UseCasePy, an implementation of our approach to use-case-centered development in Python, and its application to the Django Web framework.show moreshow less

Export metadata

Additional Services

Share in Twitter Search Google Scholar Statistics
Metadaten
Author:Robert HirschfeldORCiDGND, Michael Perscheid, Michael HauptGND
DOI:https://doi.org/10.1145/2168696.2047856
ISSN:0362-1340
Parent Title (English):ACM SIGPLAN notices
Publisher:Association for Computing Machinery
Place of publication:New York
Document Type:Article
Language:English
Year of first Publication:2012
Year of Completion:2012
Release Date:2017/03/26
Tag:design; languages; separation of concerns; traceability; use-cases
Volume:47
Issue:2
Page Number:10
First Page:51
Last Page:60
Organizational units:An-Institute / Hasso-Plattner-Institut für Digital Engineering gGmbH
Peer Review:Referiert