Title :
Towards experience-based mentoring of evolutionary development
Author :
Xing, Zhenchang ; Stroulia, Eleni
Author_Institution :
Dept. of Comput. Sci., Alberta Univ., Edmonton, Alta., Canada
Abstract :
Object-oriented software is usually developed through evolutionary processes. To consistently evolve a system, developers have to understand the rationale behind its current design and the evolution trajectory that has led to it. In this paper, we present a method for analyzing the design evolution of object-oriented software systems, for the purpose of providing relevant advice to developers. This method relies on UMLDiff, a heuristic UML-structure differencing algorithm, which, given a sequence of UML class models corresponding to the logical design of a sequence of system code versions, produces a sequence of "change trees" that describe the design-level structural changes between subsequent system versions. A set of design-evolution patterns are then analyzed to understand the rationale underlying design decisions that may affect the software system. We demonstrate how the recovered knowledge provides the basis for mentoring the developers on future maintenance activities.
Keywords :
Unified Modeling Language; object-oriented methods; object-oriented programming; software maintenance; software prototyping; UML class model sequence; UML-structure differencing algorithm; UMLDiff; design-evolution pattern; evolutionary development; experience-based mentoring; object-oriented software; object-oriented software system design evolution; software maintenance; Algorithm design and analysis; Documentation; Employee welfare; Heuristic algorithms; History; Object oriented modeling; Pattern analysis; Software systems; Unified modeling language; XML;
Conference_Titel :
Software Maintenance, 2005. ICSM'05. Proceedings of the 21st IEEE International Conference on
Print_ISBN :
0-7695-2368-4
DOI :
10.1109/ICSM.2005.95