z-logo
Premium
Using reverse engineering techniques to infer a system use case model
Author(s) -
Miranda Enrique A.,
Berón Mario,
Montejano Germán,
Riesco Daniel
Publication year - 2019
Publication title -
journal of software: evolution and process
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.371
H-Index - 29
eISSN - 2047-7481
pISSN - 2047-7473
DOI - 10.1002/smr.2121
Subject(s) - computer science , process (computing) , cluster analysis , unified modeling language , reverse engineering , automatic summarization , context (archaeology) , metamodeling , software engineering , data mining , set (abstract data type) , software system , software , domain (mathematical analysis) , artificial intelligence , programming language , paleontology , mathematical analysis , mathematics , biology
Summary In this article, a strategy that seeks to assist the arduous cognitive process that involves understanding a GUI‐based system is presented. In order to reach this goal, a UML use case model with the most relevant features is obtained. To derive this model, the strategy performs the following steps: Extraction and filtering of specific system static information and implementation of a clustering process that inspects this information including GUI widgets, which are components closely related to the system problem domain. Although these steps are commonly known and used in the context of reverse engineering, the strategy introduces unusual approaches regarding the proposals found in the available literature. More specifically, the strategy presents (a) a set of metrics that infers the relative importance of a method or a function within the analysed system, (b) a summarization process driven by different features of software systems, and (c) a technique to cluster software artefacts and to map the cluster model onto a use case model. The article also propose a methodology that allows to compare the achieved results. The assessment of the approach suggests that the strategy can assist the software engineer to understand a software system providing a useful fine‐grained use case model.

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here