Evaluating the effect of a delegated versus centralized control style on the maintainability of object-oriented software

被引:90
作者
Arisholm, E [1 ]
Sjoberg, DIK [1 ]
机构
[1] Simula Res Lab, N-1325 Lysaker, Norway
关键词
design principles; responsibility delegation; control styles; object-oriented design; object-oriented programming; software maintainability; controlled experiment;
D O I
10.1109/TSE.2004.43
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
A fundamental question in object-oriented design is how to design maintainable software. According to expert opinion, a delegated control style, typically a result of responsibility-driven design, represents object-oriented design at its best, whereas a centralized control style is reminiscent of a procedural solution, or a "bad" object-oriented design. This paper presents a controlled experiment that investigates these claims empirically. A total of 99 junior, intermediate, and senior professional consultants from several international consultancy companies were hired for one day to participate in the experiment. To compare differences between (categories of) professionals and students, 59 students also participated. The subjects used professional Java tools to perform several change tasks on two alternative Java designs that had a centralized and delegated control style, respectively. The results show that the most skilled developers, in particular, the senior consultants, require less time to maintain software with a delegated control style than with a centralized control style. However, more novice developers, in particular, the undergraduate students and junior consultants, have serious problems understanding a delegated control style, and perform far better with a centralized control style. Thus, the maintainability of object-oriented software depends, to a large extent, on the skill of the developers who are going to maintain it. These results may have serious implications for object-oriented development in an industrial context: Having senior consultants design object-oriented systems may eventually pose difficulties unless they make an effort to keep the designs simple, as the cognitive complexity of "expert" designs might be unmanageable for less skilled maintainers.
引用
收藏
页码:521 / 534
页数:14
相关论文
共 33 条
  • [1] [Anonymous], 1990, DESIGNING OBJECT ORI
  • [2] [Anonymous], 1963, EXPT QUASIEXPERIMENT
  • [3] [Anonymous], EMPIR SOFTW ENG
  • [4] Assessing the changeability of two object-oriented design alternatives - A controlled experiment
    Arisholm E.
    Sjøberg D.I.K.
    Jørgensen M.
    [J]. Empirical Software Engineering, 2001, 6 (3) : 231 - 277
  • [5] Arisholm E., 2002, Nordic Journal of Computing, V9, P231
  • [6] ARISHOLM E, 2003, 20036 SIM RES LAB
  • [7] BECK K, 1989, SIGPLAN NOTICES, V24, P1, DOI 10.1145/74878.74879
  • [8] A Unified Framework for Cohesion Measurement in Object-Oriented Systems
    Briand L.C.
    Daly J.W.
    Wüst J.
    [J]. Empirical Software Engineering, 1998, 3 (1) : 65 - 117
  • [9] Empirical studies of quality models in object-oriented systems
    Briand, LC
    Wüst, J
    [J]. ADVANCES IN COMPUTERS, VOL 56, 2002, 56 : 97 - 166
  • [10] A controlled experiment for evaluating quality guidelines on the maintainability of object-oriented designs
    Briand, LC
    Bunse, C
    Daly, JW
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2001, 27 (06) : 513 - 530