Identification of class models imperfection
DOI:
https://doi.org/10.15276/hait.02.2020.1Keywords:
use cases, class model, scenario, conceptual classes, design patternsAbstract
The analysis of methods for testing models of program classes is carried out. It is shown that in connection with the increase in the volume of work at the stage of compiling models, the relevance of model verification is increasing. It has been estab-lished that to test class models obtained as a result of an automated description of use cases, it is necessary to improve the existing class model and expand the set of checks in comparison with existing solutions. The class model was further developed. The model has three sections: the class head, class methods, and class attributes. The model improving is to introduce the concept of the pur-pose of creation and use for the class as a whole, its methods and attributes. Each operation associated with the construction of a class model is provided with a link to the corresponding use case and its item, which allows, if necessary, the transition from re-quirements to model description elements (direct trace) and from description elements to requirements (reverse trace). A type system for model elements has been introduced, which allows, without specifying types at the level of a programming language, to fully rep-resent the declaration of functions and class attributes. Based on a number of design patterns and refactoring cases, three categories of situations are identified when the class model should be improved: criticisms on the class as a whole, criticisms on the functions of the class, criticisms on the attributes of the class. For each category, a set of criticisms on the model is established and solutions for their identification are proposed. The proposed models and algorithms are implemented in a software solution and have been tested in terms of the completeness of identifying criticisms on the model and reducing the time for the process of identifying criticisms compared to traditional technologies for defects detecting in the class models.