FLINTS: a tool for architectural-level modeling of features in software systems
|Year of Publication||
Proccedings of the 10th European Conference on Software Architecture Workshops, Copenhagen, Denmark, November 28 - December 2, 2016
A functional perspective of software systems, at the architectural level allows developers to maintain a consistent understanding of the relationships between different functionalities of their system as it evolves, and allows them to analyze the system at a functional-chunk level rather than at the traditional, structural levels more typically presented by IDEs. This paper describes the derivation, implementation and evaluation of a prototype tool built to obtain this functional perspective from existing systems. The tool supports developers as they first attempt to locate specific functionalities in the source code. This support is based on preliminary design principles identified by observing experienced software developers in-vivo, as they performed this task manually. After the code associated with several such functionalities is located in the code, a graphical view allows the developer to assess the source code dependencies between the identified features and with the rest of the system. This helps developers understand the inter-functional interfaces and can be reviewed over time, as features are added and removed, to ensure on-going consistency between the architect s perspective of the features in the system and the code-base.