Measuring the complexity of class diagrams in reverse engineering

被引:7
|
作者
Sheldon, Frederick T. [1 ]
Chung, Hong
机构
[1] Oak Ridge Natl Lab, Oak Ridge, TN 37831 USA
[2] Keimyung Univ, Dept Comp Sci, Taegu 704701, South Korea
关键词
software quality; perfective/corrective maintenance; coupling/cohesion; object-oriented complexity metrics; class inheritance and diagrams;
D O I
10.1002/smr.336
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Complexity metrics for object-oriented systems are plentiful. Numerous studies have been undertaken to establish valid and meaningful measures of maintainability as they relate to the static structural characteristics of software. In general, these studies have lacked the empirical validation of their meaning and/or have only succeeded in evaluating partial aspects of the system. In this study we have determined, through limited empirical means, a practical and holistic view by analyzing and comparing the structural characteristics of UML class diagrams as those characteristics relate to or impact maintainability. Class diagrams are composed of three kinds of relation, association, generalization, and aggregation, which make their overall structure difficult to understand. We propose combining these three relations in such a way that enables a comprehensive measure of complexity. Theoretically, this measure is applicable among different class diagrams (including different domains, platforms or systems) to the extent that the measure is widely comparative and context free. Further, this property does not preclude comparison within a specific class diagram (or family) and is therefore very useful in evaluating a given class diagram's strengths and weaknesses. We are reporting empirical results that provide a small measure of validity to enable an objective appraisal of both complexity and maintainability without equating the two. Therefore, to evaluate our structural complexity metric, we determined the level of understandability of the system by measuring the time needed to reverse engineer source code into class diagrams including the number of errors produced while creating the diagram. The number of errors produced offers one indicator of maintainability. The results, as compared with other complexity metrics, indicate that our metric shows promise especially if proven to be scalable. Copyright (C) 2006 John Wiley & Sons, Ltd.
引用
收藏
页码:333 / 350
页数:18
相关论文
共 50 条
  • [31] Toward the reverse engineering of UML sequence diagrams for distributed Java']Java software
    Briand, Lionel C.
    Labiche, Yvan
    Leduc, Johanne
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2006, 32 (09) : 642 - 663
  • [32] MEASURING GEOMETRIC PARAMETERS OF PROXIMAL FEMUR BY USING REVERSE ENGINEERING
    Nguyen Van Tuong
    [J]. MM SCIENCE JOURNAL, 2019, 2019 : 2761 - 2766
  • [33] The calibration of line structure light measuring system in reverse engineering
    Mao, C
    Tan, GY
    Huang, JM
    [J]. PROGRESS OF MACHINING TECHNOLOGY, 2004, : 593 - 597
  • [34] High-speed optical measuring boosts reverse engineering
    不详
    [J]. PROFESSIONAL ENGINEERING, 1997, 10 (09) : 32 - 32
  • [35] Apply HITS Algorithm to Measuring Class's Authoritative Complexity
    Tong, Yi
    [J]. 2008 4TH INTERNATIONAL CONFERENCE ON WIRELESS COMMUNICATIONS, NETWORKING AND MOBILE COMPUTING, VOLS 1-31, 2008, : 12674 - 12677
  • [36] A measuring dependent degrees among class members and structural complexity
    Aman, H
    Yanaru, T
    Nagamatsu, M
    Miyamoto, K
    [J]. KNOWLEDGE-BASED SOFTWARE ENGINEERING, 2000, 62 : 81 - 84
  • [37] A software complexity measurement technique for object-oriented reverse engineering
    Kim, J
    Hwang, CS
    Choi, JH
    [J]. SERP '05: Proceedings of the 2005 International Conference on Software Engineering Research and Practice, Vols 1 and 2, 2005, : 663 - 669
  • [38] Producing robust use case diagrams via reverse engineering of use case descriptions
    El-Attar, Mohamed
    Miller, James
    [J]. SOFTWARE AND SYSTEMS MODELING, 2008, 7 (01): : 67 - 83
  • [39] Producing robust use case diagrams via reverse engineering of use case descriptions
    Mohamed El-Attar
    James Miller
    [J]. Software & Systems Modeling, 2008, 7 : 67 - 83
  • [40] The complexity of measuring complexity
    Ivan Tarride, Mario
    [J]. KYBERNETES, 2013, 42 (1-2) : 174 - 184