सॉफ्टवेयर एनालिटिक्स: Difference between revisions

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


== परिभाषाएँ ==
== परिभाषाएँ ==


* सॉफ्टवेयर एनालिटिक्स का उद्देश्य सॉफ्टवेयर कलाकृतियों से व्यावहारिक और कार्रवाई योग्य जानकारी प्राप्त करना है जो चिकित्सकों को सॉफ्टवेयर विकास, प्रणाली  और उपयोगकर्ताओं से संबंधित कार्यों को पूरा करने में मदद करता है।<ref name="IEEESoftware-2013" /> एक सॉफ्टवेयर प्रणाली  से बनी कलाकृतियों पर लागू एनालिटिक्स पर केंद्र।  सॉफ्टवेयर एनालिटिक्स का उद्देश्य सॉफ्टवेयर विकास, प्रणाली और उपयोगकर्ताओं से संबंधित कार्यों को प्रदर्शित करने में व्यवहारकर्ताओं की मदद करने वाली सॉफ्टवेयर कलाकृतियों से अच्छी और कार्यवाहीयोग्य जानकारी प्राप्त करना है।"[1] केंद्र एक सॉफ्टवेयर प्रणाली से मिलकर बनी कलाकृतियों पर विश्लेषण करने पर है।
* सॉफ्टवेयर वैश्लेषिकी    का उद्देश्य सॉफ्टवेयर कलाकृतियों से व्यावहारिक और कार्रवाई योग्य जानकारी प्राप्त करना है जो चिकित्सकों को सॉफ्टवेयर विकास, प्रणाली  और उपयोगकर्ताओं से संबंधित कार्यों को पूरा करने में मदद करता है।<ref name="IEEESoftware-2013" /> एक सॉफ्टवेयर प्रणाली  से बनी कलाकृतियों पर लागू वैश्लेषिकी    पर केंद्र।  सॉफ्टवेयर वैश्लेषिकी    का उद्देश्य सॉफ्टवेयर विकास, प्रणाली और उपयोगकर्ताओं से संबंधित कार्यों को प्रदर्शित करने में व्यवहारकर्ताओं की मदद करने वाली सॉफ्टवेयर कलाकृतियों से अच्छी और कार्यवाहीयोग्य जानकारी प्राप्त करना है।"[1] केंद्र एक सॉफ्टवेयर प्रणाली से मिलकर बनी कलाकृतियों पर विश्लेषण करने पर है।
* सॉफ्टवेयर एनालिटिक्स प्रबंधकों और सॉफ्टवेयर इंजीनियरों के लिए सॉफ्टवेयर डेटा पर एनालिटिक्स है, जिसका उद्देश्य सॉफ्टवेयर विकास व्यक्तियों और टीमों को बेहतर निर्णय लेने के लिए अपने डेटा को प्राप्त करने और साझा करने के लिए सशक्त बनाना है।<ref name="ICSESEIP12InfoNeeds"/> सॉफ्टवेयर एनालिटिक्स के विधियों और तकनीकों के लिए मुख्य उद्देश्यों को स्थिर करता है, सॉफ्टवेयर कलाकृतियों और सम्मिलित डेवलपर्स और टीमों की गतिविधियों दोनों पर ध्यान केंद्रित करता है।
* सॉफ्टवेयर वैश्लेषिकी    प्रबंधकों और सॉफ्टवेयर इंजीनियरों के लिए सॉफ्टवेयर डेटा पर वैश्लेषिकी    है, जिसका उद्देश्य सॉफ्टवेयर विकास व्यक्तियों और टीमों को बेहतर निर्णय लेने के लिए अपने डेटा को प्राप्त करने और साझा करने के लिए सशक्त बनाना है।<ref name="ICSESEIP12InfoNeeds"/> सॉफ्टवेयर वैश्लेषिकी    के विधियों और तकनीकों के लिए मुख्य उद्देश्यों को स्थिर करता है, सॉफ्टवेयर कलाकृतियों और सम्मिलित डेवलपर्स और टीमों की गतिविधियों दोनों पर ध्यान केंद्रित करता है।
* सॉफ्टवेयर एनालिटिक्स बड़े डेटा एनालिटिक्स की एक शाखा का प्रतिनिधित्व करता है। एसए सभी सॉफ्टवेयर कलाकृतियों के विश्लेषण से संबंधित है, न मात्र स्रोत कूट से, ये स्तर प्रबंधन बोर्ड के उच्च स्तर से भिन्न होते हैं और सॉफ्टवेयर डेवलपर्स द्वारा परियोजना प्रबंधन योजना और कार्यान्वयन के माध्यम से उद्यम दृष्टि और पोर्टफोलियो प्रबंधन की स्थापना करते हैं।<ref name="BIGDSE2015" /> विभिन्न हितधारकों सहित एक व्यापक वर्णक्रम को प्रदर्शित है।
* सॉफ्टवेयर वैश्लेषिकी    बड़े डेटा वैश्लेषिकी    की एक शाखा का प्रतिनिधित्व करता है। एसए सभी सॉफ्टवेयर कलाकृतियों के विश्लेषण से संबंधित है, न मात्र स्रोत कूट से, ये स्तर प्रबंधन बोर्ड के उच्च स्तर से भिन्न होते हैं और सॉफ्टवेयर डेवलपर्स द्वारा परियोजना प्रबंधन योजना और कार्यान्वयन के माध्यम से उद्यम दृष्टि और पोर्टफोलियो प्रबंधन की स्थापना करते हैं।<ref name="BIGDSE2015" /> विभिन्न हितधारकों सहित एक व्यापक वर्णक्रम को प्रदर्शित है।


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


== दृष्टिकोण ==
== दृष्टिकोण ==
सॉफ्टवेयर एनालिटिक्स के विधि, तकनीक और उपकरण सामान्यतः सॉफ्टवेयर विस्तार पर्यावरण और पारिस्थितिकी तंत्र  में संग्रहीत कई गुना डेटा स्रोतों में पाई जाने वाली जानकारी को इकट्ठा करने, मापने, विश्लेषण करने और विज़ुअलाइज़ करने पर निर्भर करते हैं। सॉफ्टवेयर प्रणाली  एनालिटिक्स को लागू करने के लिए अच्छी तरह से अनुकूल हैं, क्योंकि एक ओर, ज्यादातर औपचारिक और सटीक डेटा उपलब्ध है और दूसरी ओर, सॉफ्टवेयर प्रणाली का प्रबंधन करना बेहद मुश्किल है --- संक्षेप में: सॉफ्टवेयर प्रोजेक्ट अत्यधिक औसत दर्जे के होते हैं, लेकिन अक्सर अप्रत्याशित।<ref name="ICSESEIP12InfoNeeds"/>
सॉफ्टवेयर वैश्लेषिकी के विधि, तकनीक और उपकरण सामान्यतः सॉफ्टवेयर विस्तार पर्यावरण और पारिस्थितिकी तंत्र  में संग्रहीत कई गुना डेटा स्रोतों में पाई जाने वाली जानकारी को इकट्ठा करने, मापने, विश्लेषण करने और कल्पना करने पर निर्भर करते हैं। सॉफ्टवेयर प्रणालियो के लिए विश्लेषण लागू करने के लिए अच्छी तरह से उपयुक्त हैं क्योंकि एक ओर अधिकांश तर्कसंगत और सटीक डेटा उपलब्ध होता है और दूसरी ओर, सॉफ्टवेयर प्रणाली को प्रबंधित करना अत्यंत कठिन होता है, संक्षेप में कहें तो "सॉफ्टवेयर परियोजनाएं अत्यधिक मापनीय होती हैं, लेकिन प्रायः अप्रत्याशित होती हैं।<ref name="ICSESEIP12InfoNeeds"/>मूल डेटा स्रोतों में स्रोत कोड, "चेक-इन, कार्य आइटम, बग रिपोर्ट्स और टेस्ट प्रशस्तियाँ जैसे सॉफ्टवेयर भंडारमें रिकॉर्ड किए जाते हैं जैसे सीवीएस, सबवर्सन, जीआईटी और बगजिला निष्पादन ट्रेस या लॉग भी ध्यान में लिए जा सकते हैं


कोर डेटा स्रोतों में स्रोत कूट , चेक-इन, कार्य आइटम, बग रिपोर्ट और परीक्षण निष्पादन शामिल हैं [...] सॉफ्टवेयर रिपॉजिटरी जैसे सीवीएस, सबवर्सन, जीआईटी और बगजिला में दर्ज हैं।<ref>Harald Gall, Tim Menzies, [[Laurie Williams (software engineer)|Laurie Williams]], and Thomas Zimmerman. "Software Development Analytics". Dagstuhl Reports, Vol. 4, Issue 6, pp. 64-83.</ref> टेलीमेट्री के साथ-साथ निष्पादन अंश या लॉग को भी ध्यान में रखा जा सकता है।
स्वचालित विश्लेषण, बड़े पैमाने पर डेटा और व्यवस्थित तर्क लगभग सभी स्तरों पर निर्णय लेने में सहायता करते हैं। सामान्य तौर पर, सॉफ्टवेयर वैश्लेषिकी    द्वारा नियोजित प्रमुख तकनीकों में [[ यंत्र अधिगम | यंत्र अधिगम]] , [[डेटा खनन]], सांख्यिकी, पैटर्न पहचान, सूचना विज़ुअलाइज़ेशन के साथ-साथ बड़े पैमाने पर डेटा कंप्यूटिंग और प्रोसेसिंग जैसी विश्लेषणात्मक तकनीकें शामिल हैं। उदाहरण के लिए, सॉफ़्टवेयर वैश्लेषिकी    टूल उपयोगकर्ताओं को [[सॉफ्टवेयर नक्शा]] के माध्यम से व्युत्पन्न विश्लेषण परिणामों को मैप करने की अनुमति देते हैं, जो प्रणाली  कलाकृतियों और सहसंबद्ध सॉफ़्टवेयर मेट्रिक्स की अंतःक्रियात्मक खोज का समर्थन करते हैं। [[चुस्त सॉफ्टवेयर विकास]] कंपनियों में सॉफ्टवेयर गुणवत्ता मॉडल के शीर्ष पर विश्लेषणात्मक तकनीकों का उपयोग करने वाले सॉफ्टवेयर वैश्लेषिकी    टूल भी हैं, जो सॉफ्टवेयर गुणों (जैसे, विश्वसनीयता) का आकलन करने और उनके सुधार के लिए कार्रवाई करने में सहायता करते हैं।<ref>{{Cite journal|last1=Martínez-Fernández|first1=Silverio|last2=Vollmer|first2=Anna Maria|last3=Jedlitschka|first3=Andreas|last4=Franch|first4=Xavier|last5=Lopez|first5=Lidia|last6=Ram|first6=Prabhat|last7=Rodriguez|first7=Pilar|last8=Aaramaa|first8=Sanja|last9=Bagnato|first9=Alessandra|date=2019|title=Continuously assessing and improving software quality with software analytics tools: a case study|journal=IEEE Access|volume=7|pages=68219–68239|doi=10.1109/ACCESS.2019.2917403|issn=2169-3536|url=https://upcommons.upc.edu/bitstream/2117/133374/1/FINAL-Access-Paper-preprint.pdf|doi-access=free}}</ref>


स्वचालित विश्लेषण, बड़े पैमाने पर डेटा और व्यवस्थित तर्क लगभग सभी स्तरों पर निर्णय लेने में सहायता करते हैं। सामान्य तौर पर, सॉफ्टवेयर एनालिटिक्स द्वारा नियोजित प्रमुख तकनीकों में [[ यंत्र अधिगम ]], [[डेटा खनन]], सांख्यिकी, पैटर्न पहचान, सूचना विज़ुअलाइज़ेशन के साथ-साथ बड़े पैमाने पर डेटा कंप्यूटिंग और प्रोसेसिंग जैसी विश्लेषणात्मक तकनीकें शामिल हैं। उदाहरण के लिए, सॉफ़्टवेयर एनालिटिक्स टूल उपयोगकर्ताओं को [[सॉफ्टवेयर नक्शा]] के माध्यम से व्युत्पन्न विश्लेषण परिणामों को मैप करने की अनुमति देते हैं, जो प्रणाली  कलाकृतियों और सहसंबद्ध सॉफ़्टवेयर मेट्रिक्स की अंतःक्रियात्मक खोज का समर्थन करते हैं। [[चुस्त सॉफ्टवेयर विकास]] कंपनियों में सॉफ्टवेयर गुणवत्ता मॉडल के शीर्ष पर विश्लेषणात्मक तकनीकों का उपयोग करने वाले सॉफ्टवेयर एनालिटिक्स टूल भी हैं, जो सॉफ्टवेयर गुणों (जैसे, विश्वसनीयता) का आकलन करने और उनके सुधार के लिए कार्रवाई करने में सहायता करते हैं।<ref>{{Cite journal|last1=Martínez-Fernández|first1=Silverio|last2=Vollmer|first2=Anna Maria|last3=Jedlitschka|first3=Andreas|last4=Franch|first4=Xavier|last5=Lopez|first5=Lidia|last6=Ram|first6=Prabhat|last7=Rodriguez|first7=Pilar|last8=Aaramaa|first8=Sanja|last9=Bagnato|first9=Alessandra|date=2019|title=Continuously assessing and improving software quality with software analytics tools: a case study|journal=IEEE Access|volume=7|pages=68219–68239|doi=10.1109/ACCESS.2019.2917403|issn=2169-3536|url=https://upcommons.upc.edu/bitstream/2117/133374/1/FINAL-Access-Paper-preprint.pdf|doi-access=free}}</ref>




Line 23: Line 22:
{{Expert needed|Software|reason=it misrepresents the history of software analytics, strengthening a single researcher group that claims to have coined the expression software analytics|date=August 2017}}
{{Expert needed|Software|reason=it misrepresents the history of software analytics, strengthening a single researcher group that claims to have coined the expression software analytics|date=August 2017}}


मई 2009 में, सॉफ्टवेयर एनालिटिक्स को पहली बार गढ़ा और प्रस्तावित किया गया था जब डोंमेई झांग ने माइक्रोसॉफ्ट रिसर्च एशिया (एमएसआरए) में सॉफ्टवेयर एनालिटिक्स ग्रुप (एसए) की स्थापना की थी। झांग और उनके सहयोगियों द्वारा सॉफ्टवेयर इंजीनियरिंग सम्मेलनों में सॉफ्टवेयर इंजीनियरिंग सम्मेलनों में झांग और उनके सहयोगियों द्वारा सॉफ्टवेयर इंजीनियरिंग अनुसंधान समुदाय में ट्यूटोरियल की एक श्रृंखला के बाद यह शब्द अच्छी तरह से जाना जाता है। स्वचालित सॉफ़्टवेयर इंजीनियरिंग पर IEEE/ACM अंतर्राष्ट्रीय सम्मेलन (ASE 2011),<ref name="ASE2011" />सॉफ्टवेयर इंजीनियरिंग में मशीन लर्निंग टेक्नोलॉजीज पर अंतर्राष्ट्रीय कार्यशाला (MALETS 2011) में एक वार्ता,<ref name="MALETS" />सॉफ्टवेयर इंजीनियरिंग शिक्षा और प्रशिक्षण पर IEEE-CS सम्मेलन में झांग द्वारा दिया गया एक ट्यूटोरियल और एक मुख्य भाषण,<ref name="CSEETKeynote" /><ref name="CSEETTutorial" />सॉफ्टवेयर इंजीनियरिंग पर अंतर्राष्ट्रीय सम्मेलन में एक ट्यूटोरियल - प्रैक्टिस ट्रैक में सॉफ्टवेयर इंजीनियरिंग,<ref name="ICSETutorial" />और खनन सॉफ्टवेयर रिपॉजिटरी पर कार्य सम्मेलन में झांग द्वारा दी गई एक मुख्य वार्ता।<ref name="MSRKeynote" />
मई 2009 में, सॉफ्टवेयर वैश्लेषिकी    को पहली बार गढ़ा और प्रस्तावित किया गया था जब डोंमेई झांग ने माइक्रोसॉफ्ट रिसर्च एशिया (एमएसआरए) में सॉफ्टवेयर वैश्लेषिकी    ग्रुप (एसए) की स्थापना की थी। झांग और उनके सहयोगियों द्वारा सॉफ्टवेयर इंजीनियरिंग सम्मेलनों में सॉफ्टवेयर इंजीनियरिंग सम्मेलनों में झांग और उनके सहयोगियों द्वारा सॉफ्टवेयर इंजीनियरिंग अनुसंधान समुदाय में ट्यूटोरियल की एक श्रृंखला के बाद यह शब्द अच्छी तरह से जाना जाता है। स्वचालित सॉफ़्टवेयर इंजीनियरिंग पर IEEE/ACM अंतर्राष्ट्रीय सम्मेलन (ASE 2011),<ref name="ASE2011" />सॉफ्टवेयर इंजीनियरिंग में मशीन लर्निंग टेक्नोलॉजीज पर अंतर्राष्ट्रीय कार्यशाला (MALETS 2011) में एक वार्ता,<ref name="MALETS" />सॉफ्टवेयर इंजीनियरिंग शिक्षा और प्रशिक्षण पर IEEE-CS सम्मेलन में झांग द्वारा दिया गया एक ट्यूटोरियल और एक मुख्य भाषण,<ref name="CSEETKeynote" /><ref name="CSEETTutorial" />सॉफ्टवेयर इंजीनियरिंग पर अंतर्राष्ट्रीय सम्मेलन में एक ट्यूटोरियल - प्रैक्टिस ट्रैक में सॉफ्टवेयर इंजीनियरिंग,<ref name="ICSETutorial" />और खनन सॉफ्टवेयर रिपॉजिटरी पर कार्य सम्मेलन में झांग द्वारा दी गई एक मुख्य वार्ता।<ref name="MSRKeynote" />


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





Revision as of 23:22, 16 May 2023

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

परिभाषाएँ

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

उद्देश्य

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

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

दृष्टिकोण

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

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


इतिहास

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

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


यह भी देखें

संदर्भ

  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. 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.
  5. 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.
  6. 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
  7. 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.
  8. 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.
  9. 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
  10. 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.
  11. 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.
  12. 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.


बाहरी संबंध