DEVELOPMENT OF DESIGN SMELL DETECTION TOOLS WITH UML CLASS DIAGRAM
Software quality is one of the most important issues in software engineering that attracts attention from both practitioners and researchers. Efforts to ensure good software quality need to be carried out from the beginning of the development cycle, one of which has a major influence on the quali...
Saved in:
Main Author: | |
---|---|
Format: | Theses |
Language: | Indonesia |
Online Access: | https://digilib.itb.ac.id/gdl/view/66549 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Institut Teknologi Bandung |
Language: | Indonesia |
Summary: | Software quality is one of the most important issues in software engineering that
attracts attention from both practitioners and researchers. Efforts to ensure good
software quality need to be carried out from the beginning of the development cycle,
one of which has a major influence on the quality is how developers design
software. But carelessness and inexperience can make a design bad. The bad design
can be interpreted as a design smell. Design smells can have a negative impact on
software quality. The tools available for detecting design smells are generally found
in the program code. While detecting a design smell as early as possible is
something that needs to be done, detection usually occurs very late, and then the
solution is very complex. Therefore we need a tool that can detect the design smell
at the design stage. UML class diagram artifacts at the design stage can be used to
detect design smells because they have class information and the relationship
between classes on the system.
In the development of tools, it is necessary to identify the characteristics of the
design smell based on the UML class diagram. Identification is done based on the
definition that has been put forward by previous researchers which is then analyzed
according to the information available on the UML class diagram. The results of
the analysis are then validated by software experts consisting of practitioners and
academics. As a result, design smells can be identified by utilizing available
software metrics, rules and thresholds that are determined based on the
characteristics of each type of design smell. Of the 25 types of design smells, the
detection in the UML class diagram can be classified into three, 12 smells that can
be detected automatically, 7 smells that are detected automatically in part of their
manifestations, and 6 smells that need to be detected by direct review or require
program code information. The results of the design smell detection in the UML
class diagram are still suspect, so it is still necessary to re-examine whether the
smell should be avoided or not in certain circumstances.
The design smell detection tool with class diagram (DECLAD) was developed by
utilizing the XML file from the UML class diagram as input to the tool, to be further
processed according to the characteristics obtained. DECLAD can detect 19 design
smells which are classified as auto-detectable and some of their manifestations can
be detected automatically, namely missing abstraction, imperative abstraction,
multifaceted abstraction, unnecessary abstraction, unutilized abstraction,
duplicate abstraction, deficient encapsulation, leaky encapsulation, broken
modularization, insufficient modularization. , cyclically-dependent modularization,
hub-like modularization, unnecessary hierarchy, unfactored hierarchy, wide
hierarchy, speculative hierarchy, deep hierarchy, multipath hierarchy and cyclic
hierarchy. DECLAD can speed up the detection process carried out by software
developers at the design stage based on UML class diagrams and can detect design
smells earlier. |
---|