19th IEEE International Conference on Software Maintenance (ICSM'03)
Difference Tools for Analysis and Design Documents
Amsterdam, The Netherlands
September 22-September 26
ISBN: 0-7695-1905-9
This paper presents a concept and tools for the detection and visualisation of differences between versions of graphical software documents such as ER, class or object diagrams, state charts, etc. We first analyse the problems which occur when comparing graphical documents and displaying their similarities and differences. Our basic approach is to use a unified document which contains the common and specific parts of both base documents with the specific parts being highlighted. The central problem is how to reduce the amount of highlighted elements and enable the developer to have a certain amount of control over the changes be selectively highlighted. With regard to tool construction, we assume that software documents are modelled in a fine-grained way, that they are stored as syntax trees in XML files or a repository system and that a version management system is used. By using the features of the data model and the version model we are able to detect and visualise differences between diagram versions, including structural changes (e.g. shifting of a method from one class to another). We further exploit information about the version history delivered by the underlying version management system by highlighting only differences based on structural or logical changes.
Index Terms:
fine-grained data model, versions, configuration, design transaction, meta CASE, software engineering environments, differences, UML diagrams
Citation:
Dirk Ohst, Michael Welle, Udo Kelter, "Difference Tools for Analysis and Design Documents," icsm, pp.13, 19th IEEE International Conference on Software Maintenance (ICSM'03), 2003