DETERMINATION OF INHERITANCE RELATIONS AND RESTRUCTURING OF SOFTWARE CLASS MODELS IN THE PROCESS OF DEVELOPING INFORMATION SYSTEMS

Authors

  • O. B. Kungurtsev Odessа Polytechnic National University, Odessa, Ukraine, Ukraine
  • A. I. Vytnova Odessа Polytechnic National University, Odessa, Ukraine, Ukraine

DOI:

https://doi.org/10.15588/1607-3274-2022-4-8

Keywords:

class model, class attribute, class method, data types, use case, inheritance

Abstract

Context. The implementation of different use-cases may be performed by different development teams at different times. This results in a poorly structured code. The problem is exacerbated when developing medium and large projects in a short time.

Objective. Since inheritance is one of the effective ways to structure and improve the quality of code, the aim of the study is to determine possible inheritance relationships for a variety of class models.

Method. It is proposed to select from the entire set of classes representing the class model at a certain design stage, subsets for which a common parent class (in a particular case, an abstract class) is possible. To solve the problem, signs of the generality of classes have been formulated. The mathematical model of the conceptual class has been improved by including information about the responsibilities of the class, its methods and attributes. The connection of each class with the script items for which it is used has been established. A system of data types for class model elements is proposed. Description of class method signatures has been extended. A method for restructuring the class model, which involves 3 stages, has been developed. At the first stage, the proximity coefficients of classes are determined. At the second, subsets of possible child classes are created. At the third stage, an automated transformation of the class structure is performed, considering the identified inheritance relationships.

Results. A software product for conducting experiments to identify possible inheritance relationships depending on the number of classes and the degree of their similarity has been developed. The results of the conducted tests showed the effectiveness of the decisions made.

Conclusions. The method uses an algorithm for forming subsets of classes that can have one parent and an algorithm for automatically creating and converting classes to build a two-level class hierarchy. An experiment showed a threefold reduction in errors in detecting inheritance and a multiple reduction in time in comparison with the existing technology.

Author Biographies

O. B. Kungurtsev, Odessа Polytechnic National University, Odessa, Ukraine

PhD, Professor of the Software Engineering Department

A. I. Vytnova, Odessа Polytechnic National University, Odessa, Ukraine

Student of the Software Engineering Department

References

Booch G., Maksimchuk R. A., Engle M. W., Young B. J., Conallen J., Houston K. A., Wesley A. Object-Oriented Analysis and Design with Applications 3rd Edition. Boston, Addison-Wesley Professional, 2007, 694 p.

Lee G. Modern Programming: Object Oriented Programming and Best Practices. Birmingham, Packt, 2019, 266 p.

Baesens B., Backiel A., Broucke S. Beginning Java Programming: The Object-Oriented Approach. Birmingham, Wrox, 2015, 672 p.

Brand M., Tiberius V., Bican P. M., Brem A. Agility as an innovation driver: towards an agile front end of innovation framework. Potsdam, Springer, 2021, pp. 157–187.

Adeagbo M. A., Akinsola J., Awoseyi A. A., Kasali F. Project Implementation Decision Using Software Devel-opment Life Cycle Models: A Comparative Approach, Journal of Computer Science and Its Application, 2021, No. 28, pp. 122–133.

Jacobson I., Spence I., Bittner K. USE-CASE 2.0 The Guide to Succeeding with Use Cases [Electronic Recourse]. Access mode: https://www.ivarjacobson.com/sites/default/files/field_iji_fil e/article/use-case_2_0_jan11.pdf

Arcos-Medina G., Mauricio D. The Influence of the Application of Agile Practices in Software Quality Based on ISO/IEC 25010 Standard, International Journal of Information Technologies and Systems Approach, 2020, №13, pp. 1–27.

Mohan M., Greer D. A survey of search-based refactoring for software maintenance, Journal of Software Engineering Research and Development, 2018, №6, pp. 1–52.

Ryan M. Mastering OOP: A Practical Guide to Inheritance, Interfaces, and Abstract Classes [Electronic Recourse]. Access mode: https://www.smashingmagazine.com/2019/11/guide-oopinheritance-interfaces-abstract-classes/

Taubler D. When to Use Abstract Classes [Electronic Recourse]. Access mode: https://betterprogramming.pub/whento-use-abstract-classes-70fe526165ac

AI-Fedaghi S. Classes in Object-Oriented Modeling (UML): Further Understanding and Abstraction, International Journal of Computer Science and Network Security, 2021, №21. pp. 139–150.

Minh Hoang Lien Vo, Hoang Q. Transformation of UML class diagram into OWL Ontology, Journal of Information and Telecommunication, 2020, No. 4, Issue 1.

Gandhi P., Pradeep K. Optimization of Object-Oriented Design using Coupling Metrics, International Journal of Computer Applications, 2011, No. 27, pp. 41–44.

Saeed M. G., Alasaady M. T. Three Levels Quality Analysis Tool for Object Oriented Programming, International Journal of Advanced Computer Science and Applications, 2018, № 9, pp. 522–536.

Zongmin Ma, Zhongchen Yuan, Yan Li Two-level clustering of UML class diagrams based on semantics and structure, Information and Software Technology, 2021, No. 130, 106456.

Miao Zhang, Jacky Wai Keung, Yan Xiao, Md Alamgir Kabir Evaluating the effects of similar-class combination on class integration test order generation, Information and Software Technology, 2021, №129, 106438.

Pérez F., Echeverría J., Lapeña R., Cetina C. Comparing manual and automated feature location in conceptual models: A Controlled experiment, Information and Software Technology, 2020, No. 125, 106337.

Benlhachmi K., Benattou M. A Formal Model of Conformity and Security Testing of Inheritance for Object Oriented Constraint Programming, Journal of Information Security, 2013, №4, pp. 113–123.

Vozovikov Yu. N., Kungurtsev A. B., Novikova N. A. Information technology for automated compilation of use cases, Science practices of Donetsk National Technical University, 2017, No. 1 (30), pp. 46–59.

Kungurtsev O., Novikova N., Reshetnyak M., Cherepinina Ya., Gromaszek K., Jarykbassov D. Method for defining conceptual classes in the description of use cases. Odessa: Photonics Applications in Astronomy, Communications, Industry, and High-Energy Physics Experiments 2019, 2019, 1117624.

Kungurtsev O. B., Novikova N. O., Zinovatna S. L., Komleva N. O. Automated object-oriented for software module development, Applied Aspects of Information Technology, 2021, №4, pp. 338–353.

Winkler W. E. String Comparator Metrics and Enhanced Decision Rules in the Fellegi-Sunter Model of Record Linkage, Proceedings of the Section on Survey Research Methods, 1990, pp. 354–359.

Downloads

Published

2022-12-10

How to Cite

Kungurtsev, O. B., & Vytnova, A. I. (2022). DETERMINATION OF INHERITANCE RELATIONS AND RESTRUCTURING OF SOFTWARE CLASS MODELS IN THE PROCESS OF DEVELOPING INFORMATION SYSTEMS . Radio Electronics, Computer Science, Control, (4), 98. https://doi.org/10.15588/1607-3274-2022-4-8

Issue

Section

Progressive information technologies