Review Studi Literatur untuk Metode Pendeteksian God Class
DOI:
https://doi.org/10.25126/jtiik.201634111Abstrak
Abstrak
Code Smell mengacu pada konsep mengenai pola atau aspek desain pada sistem perangkat lunak yang dapat menimbulkan masalah dalam proses pengembangan, penggunaan, atau perawatan sebagai dampak dari implementasi yang buruk dari desain perangkat lunak. Code Smell dapat menurunkan aspek understandability dan maintainability program. Program yang mengandung God Class juga cenderung lebih sulit untuk dirawat dibandingkan dengan program yang sama namun tidak mengandung God Class. God Class atau dapat juga disebut Blob merupakan sebuah kelas yang terlalu banyak berisi fungsionalitas didalamnya. Kelas-kelas seperti ini mengolah dan mengakses banyak informasi sehingga sulit dipahami. Pada penelitian ini akan dibahas metode-metode untuk mendeteksi adanya God Class. Selain itu juga dibandingkan kelebihan serta kekurangan metode-metode yang telah dianalisa. Dari pencarian literatur yang dilakukan, didapatkan 3 buah metode, metode pertama menggunakan cara deteksi dalam bentuk rule card, metode kedua menggunakan rule card dan catatan histori perubahan pada sebuah perangkat lunak, dan metode ketiga adalah pendeteksian berdasarkan contoh kelas yang dideteksi manual sebagai kecacatan perangkat lunak. Dari ketiga metode tersebut, metode ketiga dinilai sebagai yang terbaik berdasarkan nilai presisi dan recall-nya.
Kata kunci: Blob, God Class
Abstract
Code smell referring to the concept about a pattern or design aspects on a software system that can make a problem in the process of development, using, or maintenance as the impact of bad implementation of software design. Code smell can lower software understandability and maintainability. A software that containing god class will be more difficult to maintain compared with a same software but doesn’t have a god class. God class, also called blob is a class that has too many functionality. A god class process and access a lot of information. On this research will be discussed methods to detect a god class. We also compared the advantage and disadvantage about analysed method. From the literature we search, there are 3 methods, first method using detection with a rule card, the second method using rule card and history changes of a software, and the third method is detection by examples classes that detected manually as a software defect. And our research result is the third method is the best method based on its precision and recall.
Keywords: Blob, God Class
Downloads
Referensi
BROWN, W. J., MALVEAU, R. C. & MOWBRAY, T. J., 1998. Anti Patterns: Refactoring Software, Architectures, and Project in Crisis. s.l., s.n.
DE F. CARNEIRO, G. et al., 2010. Identifying Code Smells with Multiple Concern Views. s.l., s.n.
FONTANA, F. A. et al., 2013. Investigating the Impact of Code Smells on System’s Quality: An Empirical Study on Systems of Different Application Domains. s.l., s.n.
FOWLER, M., 1999. Refactoring-Improving the Design of Existing Code. s.l., s.n.
HAMID, A. & ILYAS, M., 2013. A Comparative Study on Code Smell Detection Tools. s.l., s.n.
KESSENTINI, M., KESSENTINI, W. & SAHRAOUI, H., 2011. Design Defect Detection and Correction by Example. s.l., s.n.
LANZA, M., MARINESCU, R. & S, D., 2005. Object Oriented Metrics in Practice. New York: Springer.
MOHA, N., GUE´HE´NEUC, Y.-G. & DUCHIEN, L., 2010. DECOR: A method for the specification and detection of code and design smells. s.l., s.n.
OLBRICH, S. M. & CRUZES, D. S., 2010. Are all Code Smells Harmful? A Study of God Classes and Brain Classes in the Evolution of three Open sources Systems. s.l., s.n.
PALOMBA, F., BAVOTA, G. & PENTA, M. D., 2013. Detecting Bad Smell in Source Code Using Change History Information. s.l., s.n.
PALOMBA, F., BAVOTA, G. & PENTA, M. D., 2014. Mining Version Histories for Detecting Code Smells. s.l., s.n.
SJØBERG, D. I. et al., 2013. Quantifying the Effect of Code Smells on Maintenance Effort. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, Volume 39, pp. 1144-1196.
ZHANG, M. & HALL, T., 2011. Code Bad Smells: a review of current knowledge. Journal of Software Maintenance and Evolution, 23(3), pp. 179-202.
Unduhan
Diterbitkan
Terbitan
Bagian
Lisensi
Artikel ini berlisensi Creative Common Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
Penulis yang menerbitkan di jurnal ini menyetujui ketentuan berikut:
- Penulis menyimpan hak cipta dan memberikan jurnal hak penerbitan pertama naskah secara simultan dengan lisensi di bawah Creative Common Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) yang mengizinkan orang lain untuk berbagi pekerjaan dengan sebuah pernyataan kepenulisan pekerjaan dan penerbitan awal di jurnal ini.
- Penulis bisa memasukkan ke dalam penyusunan kontraktual tambahan terpisah untuk distribusi non ekslusif versi kaya terbitan jurnal (contoh: mempostingnya ke repositori institusional atau menerbitkannya dalam sebuah buku), dengan pengakuan penerbitan awalnya di jurnal ini.
- Penulis diizinkan dan didorong untuk mem-posting karya mereka online (contoh: di repositori institusional atau di website mereka) sebelum dan selama proses penyerahan, karena dapat mengarahkan ke pertukaran produktif, seperti halnya sitiran yang lebih awal dan lebih hebat dari karya yang diterbitkan. (Lihat Efek Akses Terbuka).