Bulanık Yaklaşımlı Kurallar ile Yazılım Risk Değerlendirmesi ve Yönetimi

Günümüze kadar, yazılım geliştirme projelerini değerlendirmek ve yönetmek için çeşitli yazılım risk parametreleri belirlenmiştir: üretkenlik, taahhüt, kaliteye önem verme, koda dayalı bilgi, beceri ve değerlendirme, kodlamanın genel yapısına ve kurallarına uygunluk, öğrenme becerisi, kişisel sorumluluk bilinci, vb. Ancak, yazılım risk değerlendirmesi ve yönetimini uygulamak amacıyla dünyaca herkes tarafından kabul görmüş herhangi bir yöntem maalesef yoktur. Bu can alıcı durumun üç ana sebebi vardır: Birinci sebep, geliştirilen her bir yazılım parçası kendi içerisinde tektir. Fakat, aynı yazılım parçasını geliştirmek ve ilerletmek için onu sil baştan yaratmaya gerek yoktur; elimizde var olan hali hazırdaki yazılım parçasını kopyalayarak, üzerinde oynama yaparak, değiştirerek bu durum çözülebilmektedir. Bu da, birbirine benzer iki yazılım parçası arasında hem nitelik hem de nicelik bakımından tam doğru bir karşılaştırmanın yapılamamasına neden olmaktadır. İkinci sebep, günümüz teknolojisi sürekli değişen, gelişen ve kendini yenileyen bir süreç içerisindedir. Bunun doğal bir sonucu olarak, yazılım projelerinin risk değerlendirmesi ve yönetiminin kullandığı bir teknoloji ya da teknoloji bazlı yazılım risk parametreleri dizisi çok geçmeden önemini kaybetmiş ve eskimiş duruma gelmektedir. Bunun neticesinde, bu yöntem ve parametreler işe yaramaz duruma gelmektedir. Üçüncü sebep, verilen aynı problemi çözmek için birden çok, birbirinden tamamen farklı çeşitli yöntemler geliştirilip özgünlük, kendine has olma, yaratıcılık kavramları had safhaya çıkarılabilmektedir. Bu da elle tutulur, somut verilerin yazılım risk parametrelerinin oldukça çeşitli olduğunu bizlere göstermektedir. Bu nedenlerden dolayı, “belirsizlik” kavramını içeren “Bulanık Yaklaşım” tekniği, – doğası gereği “belirsiz” yapıda olan – yazılım risk parametrelerini tanımlamak ve belirlemek için oldukça uygun bir sürece sahiptir. Ayrıca yazılım riskleri, bir sistemde kötü veya istenmeyen olayların meydana gelmesiyle ortaya çıkan kusurların olma ihtimali ve şiddeti olarak tanımlanır. Yazılım risklerinden dolayı, sistem stratejik, finansal, operasyonel, yapısal veya bütünlük kaybı yaşayabilmektedir. Bu kayıpların bertaraf edilmesi ve yazılım geliştirme sürecinde gerçek bir başarı sağlanabilmesi için yazılım riskleri – hasara neden olmadan – zamanında belirlenmeli ve etkin bir “Yazılım Risk Değerlendirmesi ve Yönetimi” uygulanıp yürütülmelidir. Bu makalede, “Bulanık Mantık” yöntemine dayalı “Bulanık Yaklaşımlı” dilbilimsel ve mantıksal kuralların “Yazılım Risk Değerlendirmesi ve Yönetimi” alanında kullanılabilirliği ve etkinliği ayrıntılı olarak gösterilmiştir.

Software Risk Assessment and Management with Rules Based on Fuzzy Approach

Up to now, several software risk parameters have been determined in order to assess and manage software development projects: Productivity, Engagement, Attention to Quality, Code Based Knowledge and Management, Adherence to Coding Guidelines and Techniques, Learning and Skills, Personal Responsibility and etc. However, there isn’t any universally accepted methodology to apply software risk assessment and management. There are three main reasons of this situation: Firstly, each part of software creation is unique. There is no compelling reason to assemble two times the same parts of software as it might be duplicated by copying it. This makes it truly difficult to make a formal and thorough correlation between two parts of software. Secondly, the current technology is something that changes at a truly fast phase. So, each time a methodology in respect to a certain wave of technology is dependable enough, it is for the most part as of recently old. Thirdly, there is a gigantic zone for innovativeness in discovering the diverse answers for a unique issue. Because of these reasons, the technique “Fuzzy Approach” has a very convenient and proper process for defining software risks due to their nature that has no certainty – uncertainty – structure and principle. Also, software risks are defined as the probability and the severity of damages that are caused by occurring of bad or undesirable events in a system. Thus, the system suffers from strategic, financial, operational, structural or integrity loss and damage. So, there is need to apply and carry out an efficient “Software Risk Assessment and Management” in order to determine and recognize software risks on time before causing problems and troubles into software projects for providing successfully accomplishment in software development process. In this paper, usability and efficiency of “Fuzzy Approached” linguistic and logical rules based on “Fuzzy Logic” in “Software Risk Assessment and Management” have been shown and expressed in detail.

___

  • Smith, M. 1989. The people risks, Computer Law & Security Review, vol. 4, pp. 2-6.
  • Renn, O. 2004. Perception of risks, Toxicology Letters, vol. 149, pp. 405-413.
  • Lezzoni, L. K. 1997. The risks of risk adjustment, JAMA Journal of the American Medical Association, vol. 278, pp. 1600-1607.
  • Arnuphaptrairong, T. 2011. Top ten lists of software project risks: Evidence from the literature survey. In Proceedings of the International MultiConference of Engineers and Computer Scientists, pp. 1-6.
  • Dey, P. K., Kinch, J., Ogunlana, S. O. 2007. Managing risk in software development projects: A case study, Industrial Management & Data Systems, vol. 107, pp. 284-303.
  • Gallivan, M. J. 1998. The influence of system developers’ creative style on their attitudes toward and assimilation of a software process innovation. In Proceedings of the Thirty-First Hawaii International Conference on System Sciences, pp. 435-444.
  • Sawyer, S., Guinan P. J. 1998. Software development: Processes and performance, IBM Systems Journal, vol. 37, pp. 552-569.
  • Hall, T., Wilson, D., Rainer, A., Jagielska, D. 2007. The neglected technical skill?. In Proceedings of the 2007 ACM SIGMIS CPR Conference on Computer Personnel Research: The Global Information Technology Workforce, pp. 196-202.
  • Baggelaar, H. 2008. Evaluating programmer performance visualizing the impact of programmers on project goals. M.Sc. Thesis, University of Amsterdam.
  • Lee, K., Joshi, K., Kim, Y. 2008. Person-job fit as a moderator of the relationship between emotional intelligence and job performance. In Proceedings of the 2008 ACM SIGMIS CPR Conference on Computer Personnel Doctoral Consortium and Research, pp. 70-75.
  • Thing, C. 2008. The application of the function point analysis in software developers’ performance evaluation. In 4th International Conference on Wireless Communications, Networking and Mobile Computing, pp. 1-4.
  • Zhang, S., Wang, Y., Xiao, J. 2008. Mining individual performance indicators in collaborative development using software repositories. In 15th Asia-Pacific Software Engineering Conference, pp. 247-254.
  • Calikli, G., Bener, A. 2010. Empirical analyses of the factors affecting confirmation bias and the effects of confirmation bias on software developer/tester performance. In Proceedings of the 6th International Conference on Predictive Models in Software Engineering, no. 10.
  • Chilton, M. A., Hardgrave, B. C., Armstrong, D. J. 2010. Performance and strain levels of it workers engaged in rapidly changing environments: A person-job fit perspective, ACM SIGMIS Database, vol. 41, pp. 8-35.
  • Ramler, R., Klammer, C., Natschläger, T. 2010. The usual suspects: A case study on delivered defects per developer. In Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, no. 48.
  • Wang, Y., Zhang, M. 2010. Penalty policies in professional software development practice: A multi-method field study. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, pp. 39-47.
  • Balijepally, V., Nerur, S., Mahapatra, R. 2012. Effect of task mental models on software developer’s performance: An experimental investigation. In 45th Hawaii International Conference on System Science, pp 5442-5451.
  • Duarte, C. B., Faria, J. P., Raza, M. 2012. PSP PAIR: Automated personal software process performance analysis and improvement recommendation. In Eighth International Conference on the Quality of Information and Communications Technology, pp 131-136.
  • Ehrlich, K., Cataldo, M. 2012. All-for-one and one-for-all?: A multi-level analysis of communication patterns and individual performance in geographically distributed software development. In Proceedings of the ACM 2012 Conference on Computer Supported Cooperative Work, pp. 945- 954.
  • Kelly, B., Haddad, H. M. 2012. Metric techniques for maintenance programmers in a maintenance ticket environment, Journal of Computing Sciences in Colleges, vol. 28, pp. 170-178.
  • Schröter, A., Aranda, J., Damian, D., Kwan, I. 2012. To talk or not to talk: Factors that influence communication around changesets. In Proceedings of the ACM 2012 Conference on Computer Supported Cooperative Work, pp. 1317-1326.
  • Westermann, D. 2012. A generic methodology to derive domain-specific performance feedback for developers. In 34th International Conference on Software Engineering, pp. 1527-1530.
  • Calikli, G., Bener, A. 2013. An algorithmic approach to missing data problem in modeling human aspects in software development. In Proceedings of the 9th International Conference on Predictive Models in Software Engineering, no. 10.
  • Kumar, C., Yadav, D. K. 2015. A probabilistic software risk assessment and estimation model for software projects, Procedia Computer Science, vol. 54, pp. 353-361.
  • Lyytinen, K., Mathiassen, L., Ropponen, J. 1996. A framework for software risk management, Journal of Information Technology, vol. 11, pp. 275-285.
  • Ross, T. J. 2017. Fuzzy Logic with Engineering Applications. United Kingdom: John Wiley & Sons Inc.
  • Hájek, P. 1998. Metamathematics of Fuzzy Logic. Dordrecht: Kluwer Academic Publishers.
  • Carlsson, C., Fuller, R. 2003. A fuzzy approach to real option valuation, Fuzzy Sets and Systems, vol. 139 pp. 297-312.
  • Shen, Q., Chouchoulas, A. 2002. A rough-fuzzy approach for generating classification rules, Pattern Recognition, vol. 35, pp. 2425-2438.
  • Boehm, B. W. 1989. Software Risk Management. New York: IEEE Press.
  • Boehm, B. W. 1991. Software risk management: principles and practices, IEEE Software, vol. 8, pp. 32-41.
Dokuz Eylül Üniversitesi Mühendislik Fakültesi Fen ve Mühendislik Dergisi-Cover
  • ISSN: 1302-9304
  • Yayın Aralığı: Yılda 3 Sayı
  • Başlangıç: 1999
  • Yayıncı: Dokuz Eylül Üniversitesi Mühendislik Fakültesi
Sayıdaki Diğer Makaleler

Tekerlekli ve Paletli Elektrikli Ağır Hizmet Aracı Tahrik Sisteminin Sürüş Çevrimi Simülasyonları

Mustafa Umut Karaoğlan, Eda Alpaslan, C. Özgür Colpan

Bulanık Yaklaşımlı Kurallar ile Yazılım Risk Değerlendirmesi ve Yönetimi

Mustafa BATAR, Kökten BİRANT, Ali Hakan ISIK

Yeni ve Eski Uydu Tabanlı Gravite Modellerinin Karşılaştırılması: Kansas, ABD Örnek Çalışma

FİKRET DOĞRU

Ürkmez Yerleşim Alanında Baraj Yıkılması Sonucunda Oluşan Taşkın Dalgalarının Yayılmasında Kısmi Bitki Örtüsü Etkisinin Çarpıtılmış Fiziksel Model ile Deneysel Olarak Araştırılması

Emrah SEVİNÇ, Mehmet Şükrü GÜNEY

Compressive Strength Prediction of Ferrochrome Slag Based Geopolymer Concretes Produced Under Different Curing Conditions by Using Prediction Methods

Yaşar KALKAN, Mehmet Burhan KARAKOÇ, Ahmet ÖZCAN

Hidroklorik ve Asetik Asit Modifikasyonunun Doğal Zeolitlerin HTAB ve K+ Adsorpsiyon Karakteristikleri Üzerindeki Etkileri

Mert TERZİ, Orhan ÖZDEMİR

Sürtünme delme sürecinde kullanılan sürtünme süreç parametrelerinin hesaplanması için yazılım geliştirilmesi

Kadir GÖK, MEHMET ERDEM, ARİF GÖK, Mehmet Burak BİLGİN

Kalp hastalık risk tahmini için Python aracılığıyla sınıflandırıcı algoritmalarının performans değerlendirmesi

Serdar GÜNDOĞDU

Bir Dinamik Buhar Sıkıştırma Çevrimi Modelinin Geliştirilmesi ve Doğrulanması

Mert TURGUT

Free vibration analysis of segmented Timoshenko beams on Pasternak foundation by using transfer matrix

Baran BOZYİGİT