Preserving Use Case Flows in Source Code: Approach, Context, and Challenges
Computer Science and Information Systems, Tome 14 (2017) no. 2.

Voir la notice de l'article provenant de la source Computer Science and Information Systems website

Being able to see use case steps directly in code would make the intent expressed by the code more comprehensible and easier to maintain. In this paper, an approach to preserving use case flows (of events) in source code called InFlow is presented within a broader context of its application in the software development process along with the issues that remain as challenges. The approach preserves individual steps of use case flows in the form of their counterpart statements, as well as their ordering. This is achieved by mimicking each use case flow by a sequence of method implementations with each step of the use case flow corresponding to one statement in one of these methods, enabled by the annotation named InFlow. A study of implementing an audio streaming service using InFlow, DCI, and aspect-oriented software development with use cases has been performed and assessed using several metrics in order to determine the level of preserving use case flows in source code. Although InFlow introduces a lot of indirect references to code, the overall results speak in favor of InFlow. DCI adds more complexity to following a use case flow in code than other two approaches. Complexity of making a change to a use case flow ended up with closely matching results. But InFlow guarantees traceability of use case implementation from the domain model implementation.
Keywords: use case, flow of events, intent, annotation, Python, aspect, reflection, DCI
@article{CSIS_2017_14_2_a7,
     author = {Michal Bystrick\'y and Valentino Vrani\'c},
     title = {Preserving {Use} {Case} {Flows} in {Source} {Code:} {Approach,} {Context,} and {Challenges}},
     journal = {Computer Science and Information Systems},
     publisher = {mathdoc},
     volume = {14},
     number = {2},
     year = {2017},
     url = {http://geodesic.mathdoc.fr/item/CSIS_2017_14_2_a7/}
}
TY  - JOUR
AU  - Michal Bystrický
AU  - Valentino Vranić
TI  - Preserving Use Case Flows in Source Code: Approach, Context, and Challenges
JO  - Computer Science and Information Systems
PY  - 2017
VL  - 14
IS  - 2
PB  - mathdoc
UR  - http://geodesic.mathdoc.fr/item/CSIS_2017_14_2_a7/
ID  - CSIS_2017_14_2_a7
ER  - 
%0 Journal Article
%A Michal Bystrický
%A Valentino Vranić
%T Preserving Use Case Flows in Source Code: Approach, Context, and Challenges
%J Computer Science and Information Systems
%D 2017
%V 14
%N 2
%I mathdoc
%U http://geodesic.mathdoc.fr/item/CSIS_2017_14_2_a7/
%F CSIS_2017_14_2_a7
Michal Bystrický; Valentino Vranić. Preserving Use Case Flows in Source Code: Approach, Context, and Challenges. Computer Science and Information Systems, Tome 14 (2017) no. 2. http://geodesic.mathdoc.fr/item/CSIS_2017_14_2_a7/