Lessons learned: Refactoring as a means in the redesign of an OO knowledge engineering system

被引:0
|
作者
Wilhelm, G [1 ]
Thumfart, A
Conradi, HD
机构
[1] ABB Util Automat GmbH, Mannheim, Germany
[2] S Tec Datenverarbeitung GmbH, Mannheim, Germany
来源
JOOP-JOURNAL OF OBJECT-ORIENTED PROGRAMMING | 2001年 / 14卷 / 02期
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Applied to the redesign of a knowledge engineering system, refactoring was used as a principle means to achieve greater extendibility, maintainability, and stability. A postmortem analysis and a convergence analysis during a beta system test showed that refactoring techniques could be applied successfully. The benefits of applying refactoring techniques lies in presenting the existing functionality and reducing the entropy of the system by extending it in small steps. Carefully executed refactoring twists the law that entropy always increases. On the other hand, refactoring benefits do not come for free. Refactoring specifically implies that it must be done one step at a time. Tests should be executed after each step, Automated tests must be in place within a project to achieve the benefits of refactoring techniques. For automated testing, we successfully applied not only unit and regression tests, but assertion mechanisms.(1) In the December 2000 issue of the Journal of Object-ORiented Programming,(2) we presented same lessons learned by applying patterns as a guiding technology for system redesign, This article continues with the the lessons learned during the course of this redesign project.
引用
收藏
页码:6 / +
页数:5
相关论文
共 50 条
  • [1] Lessons learned: Pattern-based redesign of an object-oriented knowledge-engineering system
    Wilhelm, G
    Woyzeschke, P
    Erni, K
    JOOP-JOURNAL OF OBJECT-ORIENTED PROGRAMMING, 2000, 13 (08): : 3 - 7
  • [2] Refactoring as a Lifeline: Lessons Learned from Refactoring
    Abdel-Hamid, Amr Noaman
    2013 AGILE CONFERENCE (AGILE), 2013, : 129 - 136
  • [3] LESSONS LEARNED ON THE REDESIGN OF CONTENT AND LEARNING STRATEGIES FOR AN INTRODUCTORY COURSE TO CONSTRUCTION IN CIVIL ENGINEERING
    Grau, David
    Mejia, Guillermo
    2011 ASEE ANNUAL CONFERENCE & EXPOSITION, 2011,
  • [4] Lessons Learned from Large-Scale Refactoring
    Wright, Hyrum K.
    2019 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2019), 2019, : 366 - 366
  • [5] LESSONS LEARNED FROM THE OS/400 OO PROJECT
    BERG, W
    CLINE, M
    GIROU, M
    COMMUNICATIONS OF THE ACM, 1995, 38 (10) : 54 - 64
  • [6] Knowledge Management System Based on Lessons Learned Documents
    Burita, Ladislav
    Lunacek, O.
    Maly, V.
    Ondryhal, V.
    Hruza, Petr
    2013 MILITARY COMMUNICATIONS AND INFORMATION SYSTEMS CONFERENCE (MCC), 2013,
  • [7] A lessons-learned knowledge management system for engineers
    Greer, Stephen
    CHEMICAL ENGINEERING, 2008, 115 (08) : 50 - 52
  • [8] Lessons learned - Building reusable OO frameworks for distributed software
    Schmidt, DC
    Fayad, ME
    COMMUNICATIONS OF THE ACM, 1997, 40 (10) : 85 - 87
  • [9] Redesign of Data Analytics Major: Challenges and Lessons Learned
    Kennedy, Paul J.
    5TH WORLD CONFERENCE ON EDUCATIONAL SCIENCES, 2014, 116 : 1373 - 1377
  • [10] Design and Redesign of Online Discussion: Comparison of Lessons Learned
    Santiago, Rowena
    Leh, Amy
    Nakayama, Minoru
    PROCEEDINGS OF THE 11TH EUROPEAN CONFERENCE ON E-LEARNING, 2012, : 497 - 504