On using UML Diagrams to Identify and Assess Software Design Smells

Thorsten Haendler

2018

Abstract

Deficiencies in software design or architecture can severely impede and slow down the software development and maintenance progress. Bad smells and anti-patterns can be an indicator for poor software design and suggest for refactoring the affected source code fragment. In recent years, multiple techniques and tools have been proposed to assist software engineers in identifying smells and guiding them through corresponding refactoring steps. However, these detection tools only cover a modest amount of smells so far and also tend to produce false positives which represent conscious constructs with symptoms similar or identical to actual bad smells (e.g., design patterns). These and other issues in the detection process demand for a code or design review in order to identify (missed) design smells and/or re-assess detected smell candidates. UML diagrams are the quasi-standard for documenting software design and are often available in software projects. In this position paper, we investigate whether (and to which extend) UML diagrams can be used for identifying and assessing design smells. Based on a description of difficulties in the smell detection process, we discuss the importance of design reviews. We then investigate to which extend design documentation in terms of UML2 diagrams allows for representing and identifying software design smells. In particular, 14 kinds of design smells and their representability in UML class and sequence diagrams are analyzed. In addition, we discuss further challenges for UML-based identification and assessment of bad smells.

Download


Paper Citation


in Harvard Style

Haendler T. (2018). On using UML Diagrams to Identify and Assess Software Design Smells.In Proceedings of the 13th International Conference on Software Technologies - Volume 1: ICSOFT, ISBN 978-989-758-320-9, pages 413-421. DOI: 10.5220/0006938504130421


in Bibtex Style

@conference{icsoft18,
author={Thorsten Haendler},
title={On using UML Diagrams to Identify and Assess Software Design Smells},
booktitle={Proceedings of the 13th International Conference on Software Technologies - Volume 1: ICSOFT,},
year={2018},
pages={413-421},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0006938504130421},
isbn={978-989-758-320-9},
}


in EndNote Style

TY - CONF

JO - Proceedings of the 13th International Conference on Software Technologies - Volume 1: ICSOFT,
TI - On using UML Diagrams to Identify and Assess Software Design Smells
SN - 978-989-758-320-9
AU - Haendler T.
PY - 2018
SP - 413
EP - 421
DO - 10.5220/0006938504130421