सॉफ्टवेयर एनालिटिक्स

From Vigyanwiki

सॉफ्टवेयर एनालिटिक्स सॉफ्टवेयर प्रणाली के क्षेत्र के लिए विशिष्ट एनालिटिक्स है जो स्रोत कूट स्थिर और गतिशील विशेषताओं जैसे, सॉफ्टवेयर मीट्रिक के साथ-साथ उनके सॉफ्टवेयर विकास और सॉफ्टवेयर विकास से संबंधित प्रक्रियाओं को ध्यान में रखता है। इसका उद्देश्य सॉफ्टवेयर जीवनचक्र के समय, विशेष रूप से सॉफ्टवेयर विकास और सॉफ्टवेयर रसंधारण के समय सॉफ्टवेयर इंजीनियरिंग की दक्षता और प्रभावशीलता का वर्णन, संरक्षण, ​​​​पूर्वानुमान और सुधार करना है। डेटा संग्रह सामान्यतः माइनिंग सॉफ्टवेयर रिपॉजिटरी द्वारा किया जाता है, लेकिन इसे उपयोगकर्ता क्रियाओं या उत्पादन डेटा एकत्र करके भी प्राप्त किया जा सकता है।

परिभाषाएँ

  • सॉफ्टवेयर एनालिटिक्स का उद्देश्य सॉफ्टवेयर कलाकृतियों से व्यावहारिक और कार्रवाई योग्य जानकारी प्राप्त करना है जो चिकित्सकों को सॉफ्टवेयर विकास, सिस्टम और उपयोगकर्ताओं से संबंधित कार्यों को पूरा करने में मदद करता है।[1]--- एक सॉफ्टवेयर सिस्टम से बनी कलाकृतियों पर लागू एनालिटिक्स पर केंद्र।
  • सॉफ्टवेयर एनालिटिक्स प्रबंधकों और सॉफ्टवेयर इंजीनियरों के लिए सॉफ्टवेयर डेटा पर एनालिटिक्स है, जिसका उद्देश्य सॉफ्टवेयर विकास व्यक्तियों और टीमों को बेहतर निर्णय लेने के लिए अपने डेटा को हासिल करने और साझा करने के लिए सशक्त बनाना है।[2]--- सॉफ्टवेयर एनालिटिक्स के तरीकों और तकनीकों के लिए मुख्य उद्देश्यों को मजबूत करता है, सॉफ्टवेयर कलाकृतियों और शामिल डेवलपर्स और टीमों की गतिविधियों दोनों पर ध्यान केंद्रित करता है।
  • सॉफ्टवेयर एनालिटिक्स (एसए) बड़े डेटा एनालिटिक्स की एक शाखा का प्रतिनिधित्व करता है। एसए सभी सॉफ्टवेयर कलाकृतियों के विश्लेषण से संबंधित है, न केवल स्रोत कूट । [...] ये स्तर प्रबंधन बोर्ड के उच्च स्तर से भिन्न होते हैं और सॉफ्टवेयर डेवलपर्स द्वारा परियोजना प्रबंधन योजना और कार्यान्वयन के माध्यम से उद्यम दृष्टि और पोर्टफोलियो प्रबंधन की स्थापना करते हैं।[3]--- विभिन्न हितधारकों सहित व्यापक दायरे को दर्शाता है।

उद्देश्य

सॉफ्टवेयर एनालिटिक्स का उद्देश्य सॉफ्टवेयर सिस्टम और उनके कार्यान्वयन, संरचना, व्यवहार, गुणवत्ता, विकास के साथ-साथ इन प्रक्रियाओं के विभिन्न हितधारकों की गतिविधियों के बारे में निर्णय लेने और अंतर्दृष्टि उत्पन्न करने, यानी निष्कर्ष, निष्कर्ष और मूल्यांकन का समर्थन करना है।

  • सॉफ्टवेयर एनालिटिक्स द्वारा प्राप्त व्यावहारिक जानकारी लक्षित कार्यों को करने के लिए सार्थक और उपयोगी समझ या ज्ञान देती है। आमतौर पर, यह आसानी से बिना एनालिटिक्स विधियों और तकनीकों की सहायता के कच्चे बड़े डेटा की प्रत्यक्ष जांच करके प्राप्त नहीं किया जा सकता है।
  • सॉफ्टवेयर एनालिटिक्स द्वारा प्राप्त की गई कार्रवाई योग्य जानकारी सॉफ्टवेयर इंजीनियरिंग प्रक्रियाओं में हितधारकों (जैसे, सॉफ्टवेयर व्यवसायी, विकास नेताओं, या सी-स्तर प्रबंधन) द्वारा लिए जा सकने वाले समाधानों को संचालित या निर्धारित करती है।

दृष्टिकोण

सॉफ्टवेयर एनालिटिक्स के तरीके, तकनीक और उपकरण आमतौर पर सॉफ्टवेयर डेवलपमेंट एनवायरनमेंट और इकोसिस्टम में संग्रहीत कई गुना डेटा स्रोतों में पाई जाने वाली जानकारी को इकट्ठा करने, मापने, विश्लेषण करने और विज़ुअलाइज़ करने पर निर्भर करते हैं। सॉफ्टवेयर सिस्टम एनालिटिक्स को लागू करने के लिए अच्छी तरह से अनुकूल हैं, क्योंकि एक ओर, ज्यादातर औपचारिक और सटीक डेटा उपलब्ध है और दूसरी ओर, सॉफ्टवेयर सिस्टम का प्रबंधन करना बेहद मुश्किल है --- संक्षेप में: सॉफ्टवेयर प्रोजेक्ट अत्यधिक औसत दर्जे के होते हैं, लेकिन अक्सर अप्रत्याशित।[2]

कोर डेटा स्रोतों में स्रोत कूट , चेक-इन, कार्य आइटम, बग रिपोर्ट और परीक्षण निष्पादन शामिल हैं [...] सॉफ्टवेयर रिपॉजिटरी जैसे सीवीएस, सबवर्सन, जीआईटी और बगजिला में दर्ज हैं।[4] टेलीमेट्री के साथ-साथ निष्पादन अंश या लॉग को भी ध्यान में रखा जा सकता है।

स्वचालित विश्लेषण, बड़े पैमाने पर डेटा और व्यवस्थित तर्क लगभग सभी स्तरों पर निर्णय लेने में सहायता करते हैं। सामान्य तौर पर, सॉफ्टवेयर एनालिटिक्स द्वारा नियोजित प्रमुख तकनीकों में यंत्र अधिगम , डेटा खनन, सांख्यिकी, पैटर्न पहचान, सूचना विज़ुअलाइज़ेशन के साथ-साथ बड़े पैमाने पर डेटा कंप्यूटिंग और प्रोसेसिंग जैसी विश्लेषणात्मक तकनीकें शामिल हैं। उदाहरण के लिए, सॉफ़्टवेयर एनालिटिक्स टूल उपयोगकर्ताओं को सॉफ्टवेयर नक्शा के माध्यम से व्युत्पन्न विश्लेषण परिणामों को मैप करने की अनुमति देते हैं, जो सिस्टम कलाकृतियों और सहसंबद्ध सॉफ़्टवेयर मेट्रिक्स की अंतःक्रियात्मक खोज का समर्थन करते हैं। चुस्त सॉफ्टवेयर विकास कंपनियों में सॉफ्टवेयर गुणवत्ता मॉडल के शीर्ष पर विश्लेषणात्मक तकनीकों का उपयोग करने वाले सॉफ्टवेयर एनालिटिक्स टूल भी हैं, जो सॉफ्टवेयर गुणों (जैसे, विश्वसनीयता) का आकलन करने और उनके सुधार के लिए कार्रवाई करने में सहायता करते हैं।[5]


इतिहास

मई 2009 में, सॉफ्टवेयर एनालिटिक्स को पहली बार गढ़ा और प्रस्तावित किया गया था जब डोंमेई झांग ने माइक्रोसॉफ्ट रिसर्च एशिया (एमएसआरए) में सॉफ्टवेयर एनालिटिक्स ग्रुप (एसए) की स्थापना की थी। झांग और उनके सहयोगियों द्वारा सॉफ्टवेयर इंजीनियरिंग सम्मेलनों में सॉफ्टवेयर इंजीनियरिंग सम्मेलनों में झांग और उनके सहयोगियों द्वारा सॉफ्टवेयर इंजीनियरिंग अनुसंधान समुदाय में ट्यूटोरियल की एक श्रृंखला के बाद यह शब्द अच्छी तरह से जाना जाता है। स्वचालित सॉफ़्टवेयर इंजीनियरिंग पर IEEE/ACM अंतर्राष्ट्रीय सम्मेलन (ASE 2011),[6]सॉफ्टवेयर इंजीनियरिंग में मशीन लर्निंग टेक्नोलॉजीज पर अंतर्राष्ट्रीय कार्यशाला (MALETS 2011) में एक वार्ता,[7]सॉफ्टवेयर इंजीनियरिंग शिक्षा और प्रशिक्षण पर IEEE-CS सम्मेलन में झांग द्वारा दिया गया एक ट्यूटोरियल और एक मुख्य भाषण,[8][9]सॉफ्टवेयर इंजीनियरिंग पर अंतर्राष्ट्रीय सम्मेलन में एक ट्यूटोरियल - प्रैक्टिस ट्रैक में सॉफ्टवेयर इंजीनियरिंग,[10]और खनन सॉफ्टवेयर रिपॉजिटरी पर कार्य सम्मेलन में झांग द्वारा दी गई एक मुख्य वार्ता।[11]

नवंबर 2010 में, सॉफ्टवेयर डेवलपमेंट एनालिटिक्स (सॉफ्टवेयर डेवलपमेंट पर फोकस के साथ सॉफ्टवेयर एनालिटिक्स) का प्रस्ताव थॉमस ज़िम्मरमैन और उनके सहयोगियों ने माइक्रोसॉफ्ट रिसर्च रेडमंड में उनके FoSER 2010 पेपर में एम्पिरिकल सॉफ्टवेयर इंजीनियरिंग ग्रुप (ESE) में दिया था।[12] सॉफ़्टवेयर इंजीनियरिंग, सॉफ़्टवेयर इंजीनियरिंग इन प्रैक्टिस ट्रैक पर अंतर्राष्ट्रीय सम्मेलन में वेस्ट वर्जीनिया विश्वविद्यालय के ज़िम्मरमैन और टिम मेन्ज़ीस द्वारा सॉफ़्टवेयर डेवलपमेंट एनालिटिक्स पर एक गोल्डफ़िश बाउल पैनल का आयोजन किया गया था।[13]


यह भी देखें

संदर्भ

  1. D. Zhang, S. han, Y. Dan, J.-G. Lou, H Zhang: "Software Analytics in Practice". IEEE Software, Sept./Oct. 2013, pp. 30-35.
  2. 2.0 2.1 Raymond P. L. Buse and Thomas Zimmermann. "Information Needs for Software Development Analytics." In Proceedings of the 34th International Conference on Software Engineering (ICSE 2012), Software Engineering in Practice, Zurich, Switzerland, June 2012, pp. 987-996.
  3. T. M. Abdellatif, L. F. Capretz, D. Ho. "Software Analytics to Software Practice: A Systematic Literature Review". 1. Int'l Workshop on Big Data Engineering, 2015, pp. 30-36.
  4. Harald Gall, Tim Menzies, Laurie Williams, and Thomas Zimmerman. "Software Development Analytics". Dagstuhl Reports, Vol. 4, Issue 6, pp. 64-83.
  5. Martínez-Fernández, Silverio; Vollmer, Anna Maria; Jedlitschka, Andreas; Franch, Xavier; Lopez, Lidia; Ram, Prabhat; Rodriguez, Pilar; Aaramaa, Sanja; Bagnato, Alessandra (2019). "Continuously assessing and improving software quality with software analytics tools: a case study" (PDF). IEEE Access. 7: 68219–68239. doi:10.1109/ACCESS.2019.2917403. ISSN 2169-3536.
  6. Dongmei Zhang and Tao Xie. "xSA: eXtreme Software Analytics - Marriage of eXtreme Computing and Software Analytics." In Proceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011), Tutorial, Lawrence, Kansas, November 2011.
  7. Dongmei Zhang, Yingnong Dang, Jian-Guang Lou, Shi Han, Haidong Zhang, and Tao Xie. "Software Analytics as a Learning Case in Practice: Approaches and Experiences". In Proceedings of International Workshop on Machine Learning Technologies in Software Engineering (MALETS 2011), Lawrence, Kansas, November 2011. PDFSlides
  8. Dongmei Zhang. "Software Analytics in Practice and Its Implications for Education and Training." Keynote. In Proceedings of the 24th IEEE-CS Conference on Software Engineering Education and Training (CSEE&T 2012), Tutorial, Nanjing, China, April 2012.
  9. Dongmei Zhang, Yingnong Dang, Shi Han, and Tao Xie. "Teaching and Training for Software Analytics." In Proceedings of the 24th IEEE-CS Conference on Software Engineering Education and Training (CSEE&T 2012), Tutorial, Nanjing, China, April 2012.
  10. Dongmei Zhang and Tao Xie. "Software Analytics in Practice: Mini Tutorial." In Proceedings of the 34th International Conference on Software Engineering (ICSE 2012), Software Engineering in Practice, Mini Tutorial, Zurich, Switzerland, June 2012, pp. 997. Slides
  11. Dongmei Zhang. "MSR 2012 keynote: Software Analytics in Practice - Approaches and Experiences." In Proceedings of the 9th Working Conference on Mining Software Repositories (MSR 2012), Zurich, Switzerland, June 2012, pp. 1.
  12. Raymond P. L. Buse and Thomas Zimmermann. "Analytics for Software Development." In Proceedings of the Workshop on Future of Software Engineering Research (FoSER 2010), Santa Fe, NM, USA, November 2010, pp. 77-80.
  13. Tim Menzies and Thomas Zimmermann. "Goldfish Bowl Panel: Software Development Analytics." In Proceedings of the 34th International Conference on Software Engineering (ICSE 2012), Software Engineering in Practice, Zurich, Switzerland, June 2012, pp. 1032-1033.


बाहरी संबंध