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 |
id |
id-itb.:66549 |
---|---|
spelling |
id-itb.:665492022-06-28T17:29:09ZDEVELOPMENT OF DESIGN SMELL DETECTION TOOLS WITH UML CLASS DIAGRAM Widodo, Sigit Indonesia Theses design smell, class diagram, tool, detection. INSTITUT TEKNOLOGI BANDUNG https://digilib.itb.ac.id/gdl/view/66549 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. text |
institution |
Institut Teknologi Bandung |
building |
Institut Teknologi Bandung Library |
continent |
Asia |
country |
Indonesia Indonesia |
content_provider |
Institut Teknologi Bandung |
collection |
Digital ITB |
language |
Indonesia |
description |
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. |
format |
Theses |
author |
Widodo, Sigit |
spellingShingle |
Widodo, Sigit DEVELOPMENT OF DESIGN SMELL DETECTION TOOLS WITH UML CLASS DIAGRAM |
author_facet |
Widodo, Sigit |
author_sort |
Widodo, Sigit |
title |
DEVELOPMENT OF DESIGN SMELL DETECTION TOOLS WITH UML CLASS DIAGRAM |
title_short |
DEVELOPMENT OF DESIGN SMELL DETECTION TOOLS WITH UML CLASS DIAGRAM |
title_full |
DEVELOPMENT OF DESIGN SMELL DETECTION TOOLS WITH UML CLASS DIAGRAM |
title_fullStr |
DEVELOPMENT OF DESIGN SMELL DETECTION TOOLS WITH UML CLASS DIAGRAM |
title_full_unstemmed |
DEVELOPMENT OF DESIGN SMELL DETECTION TOOLS WITH UML CLASS DIAGRAM |
title_sort |
development of design smell detection tools with uml class diagram |
url |
https://digilib.itb.ac.id/gdl/view/66549 |
_version_ |
1822277654802333696 |