Dergiler / AJIT-e: Bilişim Teknolojileri Online Dergisi / 2018 / Cilt: 9 - Sayı: 34

SOLID İlkelerinin Microsoft VS Code Metriğine Etkisinin Deneysel Olarak Değerlendirilmesi

An Experimental Evaluation of The Effect of SOLID Principles to Microsoft vs Code Metrics

Sayfa
7–24
Yayın Tarihi
2018-09-01
DOI
—
🏛️Bu makalenin bibliyografik verileri ve tam metin bağlantısı DergiPark üzerinden sağlanmıştır.
DergiPark Kaydı ↗
✨

Yapay Zeka Hızlı Bakış & Çıkarımlar

AI Insight
⚡ TL;DR(1 Cümlede Hızlı Çıkarım)

Bu çalışma, nesneye yönelik tasarım ilkelerinin SOLID ISO / IEC, VS kod metriği ve SOLID'i ilişkilendirerek kodun bakım yapılabilirliği, karmaşıklığı ve esnekliği üzerindeki etkisini gösterir.

📌 3 Maddede Bu Makale

🎯
Amaç & Hipotez:Yazılımın bakımı, kullanıcı ihtiyaçlarındaki değişiklikler, altyapıda meydana gelen değişiklikler, sistemin çalışma koşullarındaki değişiklikler, öngörülemeyen hataların ortaya çıkması gibi nedenlerle gereklidir.
📊
Temel Bulgular & Veri:ISO/IEC 9126 bakım yapılabilirlikle ilgilidir fakat ISO/IEC 9126 ölçüme ilişkin tim girdilerin bir arada mı yoksa ayrı olarak mı kullanılmaları gerektiği konusunda net değildir.
💡
Sonuç & Katkı:Bu çalışma, nesneye yönelik tasarım ilkelerinin SOLID ISO / IEC, VS kod metriği ve SOLID'i ilişkilendirerek kodun bakım yapılabilirliği, karmaşıklığı ve esnekliği üzerindeki etkisini gösterir.
🔬Tür:Deneysel Tarla Denemesi
📍Kapsam:Genişletilmiş Akademik Örneklem
⚙️Değişkenler:Object Oriented Design Principles · SOLID · ISO/IEC 9126

Özet

Yazılımın bakımı, kullanıcı ihtiyaçlarındaki değişiklikler, altyapıda meydana gelen değişiklikler, sistemin çalışma koşullarındaki değişiklikler, öngörülemeyen hataların ortaya çıkması gibi nedenlerle gereklidir. Yazılımın bakım işlemleri için uygunluğu maliyeti düşürmede önemli bir etkendir. Sadece temel nesne tabanlı programlama kavramlarını kullanmak, uygulamalarımızda sürdürülebilir kod yazdığımızı göstermez. SOLID gibi nesneye yönelik tasarım prensipleri bağımlılıkları azaltmak ve yazılım bakımını artırmak ile ilgilidir. ISO/IEC 9126 bakım yapılabilirlikle ilgilidir fakat ISO/IEC 9126 ölçüme ilişkin tim girdilerin bir arada mı yoksa ayrı olarak mı kullanılmaları gerektiği konusunda net değildir. Nitekim, ISO/IEC 9126 pratik olarak veya deneysel tarzda yazılım ölçümlerinin nasıl yapılacağı, bu ölçümlerin nasıl basitçe toplanacağı, ölçümlerin nasıl değiştirilebileceği konusunda rehberlik sağlamaz. Bu çalışmada, Visual Studio VS kod metrik aracı yardımıyla ISO / IEC bakım yapılabilirliğin her alt-özelliği değerlendirilmiştir. Bu değerlendirmenin odağı sürdürülebilirlik ve analiz edilebilirlik, test edilebilirlik, değiştirilebilirlik ve kararlılık gibi alt özellikler üzerine odaklanmaktadır. Bir analiz yapmadan önce, ISO / IEC 9126 standardının bakım yapılabilirlik bölümünün her bir alt-karakteristiği özelliklerin ölçümü için beş VS kod metriğine eşlenmiştir. Bu çalışma, nesneye yönelik tasarım ilkelerinin SOLID ISO / IEC, VS kod metriği ve SOLID'i ilişkilendirerek kodun bakım yapılabilirliği, karmaşıklığı ve esnekliği üzerindeki etkisini gösterir.

Abstract

Software maintenance is necessary for reasons such as changes in user needs, changes in the operating conditions of the system due to changes in the infrastructure, the occurrence of unforeseen errors. The suitability of the software for maintenance operations is a significant influence in reducing the cost. Using only basic object oriented programming concepts do not show that we are writing maintainable code in our applications. Object oriented design principles such SOLID are about reducing dependencies and increasing maintainability. ISO/IEC 9126 is about maintainability but ISO/IEC 9126 is not clear about whether all inputs to measurement should be used together in conjunction or whether they should be used as appropriate or available. Indeed, ISO/IEC 9126 provides no guidance, heuristics, rules of thumb, or any other means to show how to trade off measures, how to weight measures or even how to simply collate them. In this study each sub-characteristic of ISO/IEC maintainability with help of Visual Studio VS code metric tool is assessed. The focus of this assessment is on maintainability and its sub-characteristics like analyzability, testability, changeability and stability. Before doing an analysis, each sub-characteristics of maintainability part of ISO/IEC 9126 standard are mapped to five VS code metrics for measurement of characteristics. This work shows the effect of object oriented design principles SOLID to the maintainability, complexity and flexibility of the code while associating ISO/IEC, VS code metric and SOLID.

🔖

Bu Makaleye Atıf Yap

TURAN, O., TANRIÖVER, Ö. Ö. (2018). SOLID İlkelerinin Microsoft VS Code Metriğine Etkisinin Deneysel Olarak Değerlendirilmesi. AJIT-e: Bilişim Teknolojileri Online Dergisi, Cilt: 9 - Sayı: 34, 7–24. https://ajindex.com/articles/137080

📄 Tam Metin PDF Okuyucu

📄

PDF görüntüleyici hazırlanıyor...

Kaynakça (1)

  1. Robert L. Glass, "Frequently Forgotten Fundamental Facts about Software Engineering", An Article in IEEE Software May/June 2001 [2] R. C. Martin, “Design Principles and Design Patterns”, [Online]. Available: http://www.objectmentor.com, 2000 [3] Sandi Metz (Duke University), “SOLID Object-Oriented Design”, Talk given at the 2009 Gotham Ruby Conference in May, 2009. Online at http://www.youtube.com/watch?v=v-2yFMzxqwU [4] Walid Al-Ahmad, “A framework for conceptual modeling in OOP”, Journal of the Franklin Institute, 2006 [5] Kostas Zotos, “Object-oriented design principles in mathematics”, Applied Mathematics and Computation, 2006 [6] Ignatios Deligiannis, Martin Shepperd, Manos Roumeliotis, Ioannis Stamelos, “An empirical investigation of an object-oriented design heuristic for maintainability”, The journal of system and software, 2001 [7] Magiel Bruntink, Arie van Deursen, “An empirical study into class testability”, The Journal of System and Software, 2006 [8] Gabriele Bavota, Andrea De Lucia, Rocco Oliveto, “Identifying Extract Class refactoring opportunities using structural and semantic cohesion measures”, The Journal of Systems and Software, 2011 [9] David Lievens, William Harrison, “Abstraction over implementation structure with symmetrically encapsulated multimethods”, Science of Computer Programming, 2013 [10] Alexander Chatzigeorgiou, Nikolaos Tsantalis, Ignatios Deligiannis, “An empirical study on students ability to comprehend design patterns”, Computers & Education, 2008 [11] Gabriale Arevalo, Stephane Ducasse, Silvia Gordillo, Oscar Nierstrasz, “Generating a catalog of unanticipated schemas in class hierarchies using Fomal Concept Analysis”, Information and Software Technology, 2010 [12] Vassilis E. Zafeiris, Sotiris H. Poulias, N.A. Diamantidis, E.A. Giakoumakis, “Automated refactoring of super-class method invocations to the Template Method design pattern”, Information and Software Technology, 2016 [13] Mahmood Ghaleb Al-Bashayreh, Nor Laily Hashim, Ola Taiseer Khorma, “Context- Aware Mobile Patient Monitoring Framework Development”, 2013 International Conference on Electronic Engineering and Computer Science, 2013 [14] Jehad Al Dallal, “Constructing models for predicting extract subclass refactoring opportunities using object-oriented quality metrics”, information and Software Technology, 2012 [15] Marios Fokaefs, Nikolaos Tsantalis, Eleni Stroulia, Alexander Chatzigeorgiou, “Identification and application of Extract Class refac