Yıl: 2018 Cilt: 9 Sayı: 34 Sayfa Aralığı: 7 - 24 Metin Dili: İngilizce DOI: 10.5824/1309‐1581.2018.4.001.x İndeks Tarihi: 03-11-2020

An Experimental Evaluation of the Effect of SOLID Principles to Microsoft VS Code Metrics

Öz:
Software maintenance is necessary for reasons such as changes in user needs, changes in theoperating conditions of the system due to changes in the infrastructure, the occurrence ofunforeseen errors. The suitability of the software for maintenance operations is a significantinfluence in reducing the cost. Using only basic object oriented programming concepts do notshow that we are writing maintainable code in our applications. Object oriented designprinciples 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 inputsto measurement should be used together in conjunction or whether they should be used asappropriate 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 tosimply collate them. In this study each sub-characteristic of ISO/IEC maintainability with helpof Visual Studio (VS) code metric tool is assessed. The focus of this assessment is onmaintainability and its sub-characteristics like analyzability, testability, changeability andstability. Before doing an analysis, each sub-characteristics of maintainability part of ISO/IEC9126 standard are mapped to five VS code metrics for measurement of characteristics. This workshows the effect of object oriented design principles (SOLID) to the maintainability, complexityand flexibility of the code while associating ISO/IEC, VS code metric and SOLID.
Anahtar Kelime:

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

Öz:
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 altkarakteristiğ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.
Anahtar Kelime:

Belge Türü: Makale Makale Türü: Araştırma Makalesi Erişim Türü: Erişime Açık
  • [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 refactorings in object-oriented systems”, Journal of Systems and Software, 2012
  • [16] Harmeet Singh, Syed Imtiyaz Hassan , “Effect of SOLID Design Principles on Quality of Software: An Empirical Assessment”, International Journal of Scientific & Engineering Research, April2015
  • [17] Paul Oman and Jack Hagemeister. “Metrics for assessing a software system’s maintainability”. Proceedings International Conference on Software Mainatenance (ICSM), 1992, pp 337-344.
  • [18] www.microsoft.com, 01.08.2017
  • [19] ISO 9126-1 Software Engineering - Product Quality - Part 1: Quality Model, 2001.
  • [20] Hiyam Al-Kilidar, Karl Cox, Barbara Kitchenham, “The Use and Usefulness of the ISO/IEC 9126 Quality Standard”, International Symposium on Empirical Software Engineering, 2005
  • [21] ISO/IEC 25010:2011, http://www.iso.org/iso/catalogue_ detail.htm?csnumber=35733, 01.08.2017
  • [22] Morteza Asadi, Hassan Rashidi, “A Model for Object Oriented Software Maintainability Measurement”, I.J. Intelligent Systems and Application (MECS), 2016
  • [23] https://docs.microsoft.com/tr-tr/visualstudio/code-quality/code-metrics-values, 01.08.2017
  • [24] Ho-Won Jung, Seung-Gweon Kim, Chang-Shin Chung, “Measuring Software Product Quality: A Survey of ISO/IEC 9126”, IEEE Software, vol. 21, pp. 88-92, 2004
  • [25] Meine J.P. van der Meulen, Miguel A. Revilla, “Correlations between Internal Software Metrics and Software Dependability in a Large Population of Small C/C++ Programs”, 18th IEEE International Symposium on Software Reliability Engineering, 2007
  • [26] Galorath, D.D., “Software total ownership costs: development is only job one” Softw. Tech. News, 23–32, 2008
  • [27] Chen, J.-C., Huang, S.-J., “An empirical analysis of the impact of software development problem factors on software maintainability” System Software. 82, 981–992, 2009
  • [28] Péter Hegedűsa, István Kádárb, Rudolf Ferenc, Tibor Gyimóthyb, “Empirical evaluation of software maintainability based on a manually validated refactoring dataset”, Information and Software Technology, 2017
  • [29] M. Fowler, “Refactoring: Improving the Design of Existing Code”, Addison-Wesley, 1999.
  • [30] Gábor Szoke, Gábor Antal, Csaba Nagy, Rudolf Ferenc, Tibor Gyimóthy, “Empirical study on refactoring large-scale industrial systems and its effects on maintainability”, The Journal of Systems and Software, 2016
  • [31] Gabriele Bavotaa, Andrea De Luciab, Massimiliano Di Pentac, Rocco Olivetod, Fabio Palombab, “An experimental investigation on the innate relationship between quality and refactoring”, The Journal of Systems and Software, 2015
  • [32] M. Gatrell, S. Counsell, “The effect of refactoring on change and fault-proneness in commercial C# Software”, Science of Computer Programming, 2014
  • [33] Jehad Al Dallal, “Identifying refactoring oppurtunities in object oriented code: A systematic literatur review”, Information and Software Technology, 2014
APA Turan O, TANRIÖVER Ö (2018). An Experimental Evaluation of the Effect of SOLID Principles to Microsoft VS Code Metrics. , 7 - 24. 10.5824/1309‐1581.2018.4.001.x
Chicago Turan Osman,TANRIÖVER Ömer Özgür An Experimental Evaluation of the Effect of SOLID Principles to Microsoft VS Code Metrics. (2018): 7 - 24. 10.5824/1309‐1581.2018.4.001.x
MLA Turan Osman,TANRIÖVER Ömer Özgür An Experimental Evaluation of the Effect of SOLID Principles to Microsoft VS Code Metrics. , 2018, ss.7 - 24. 10.5824/1309‐1581.2018.4.001.x
AMA Turan O,TANRIÖVER Ö An Experimental Evaluation of the Effect of SOLID Principles to Microsoft VS Code Metrics. . 2018; 7 - 24. 10.5824/1309‐1581.2018.4.001.x
Vancouver Turan O,TANRIÖVER Ö An Experimental Evaluation of the Effect of SOLID Principles to Microsoft VS Code Metrics. . 2018; 7 - 24. 10.5824/1309‐1581.2018.4.001.x
IEEE Turan O,TANRIÖVER Ö "An Experimental Evaluation of the Effect of SOLID Principles to Microsoft VS Code Metrics." , ss.7 - 24, 2018. 10.5824/1309‐1581.2018.4.001.x
ISNAD Turan, Osman - TANRIÖVER, Ömer Özgür. "An Experimental Evaluation of the Effect of SOLID Principles to Microsoft VS Code Metrics". (2018), 7-24. https://doi.org/10.5824/1309‐1581.2018.4.001.x
APA Turan O, TANRIÖVER Ö (2018). An Experimental Evaluation of the Effect of SOLID Principles to Microsoft VS Code Metrics. AJIT-e: Bilişim Teknolojileri Online Dergisi, 9(34), 7 - 24. 10.5824/1309‐1581.2018.4.001.x
Chicago Turan Osman,TANRIÖVER Ömer Özgür An Experimental Evaluation of the Effect of SOLID Principles to Microsoft VS Code Metrics. AJIT-e: Bilişim Teknolojileri Online Dergisi 9, no.34 (2018): 7 - 24. 10.5824/1309‐1581.2018.4.001.x
MLA Turan Osman,TANRIÖVER Ömer Özgür An Experimental Evaluation of the Effect of SOLID Principles to Microsoft VS Code Metrics. AJIT-e: Bilişim Teknolojileri Online Dergisi, vol.9, no.34, 2018, ss.7 - 24. 10.5824/1309‐1581.2018.4.001.x
AMA Turan O,TANRIÖVER Ö An Experimental Evaluation of the Effect of SOLID Principles to Microsoft VS Code Metrics. AJIT-e: Bilişim Teknolojileri Online Dergisi. 2018; 9(34): 7 - 24. 10.5824/1309‐1581.2018.4.001.x
Vancouver Turan O,TANRIÖVER Ö An Experimental Evaluation of the Effect of SOLID Principles to Microsoft VS Code Metrics. AJIT-e: Bilişim Teknolojileri Online Dergisi. 2018; 9(34): 7 - 24. 10.5824/1309‐1581.2018.4.001.x
IEEE Turan O,TANRIÖVER Ö "An Experimental Evaluation of the Effect of SOLID Principles to Microsoft VS Code Metrics." AJIT-e: Bilişim Teknolojileri Online Dergisi, 9, ss.7 - 24, 2018. 10.5824/1309‐1581.2018.4.001.x
ISNAD Turan, Osman - TANRIÖVER, Ömer Özgür. "An Experimental Evaluation of the Effect of SOLID Principles to Microsoft VS Code Metrics". AJIT-e: Bilişim Teknolojileri Online Dergisi 9/34 (2018), 7-24. https://doi.org/10.5824/1309‐1581.2018.4.001.x