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

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

परिभाषाएँ

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

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

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

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

इतिहास
सॉफ्टवेयर अभियांत्रिकी सम्मेलनों में स्वचालित सॉफ्टवेयर अभियांत्रिकी (एएसई 2011) पर आईईईई/एसीएम अंतर्राष्ट्रीय सम्मेलन में एक ट्यूटोरियल सहित, सॉफ्टवेयर अभियांत्रिकी में मशीन लर्निंग टेक्नोलॉजीज पर अंतर्राष्ट्रीय कार्यशाला में एक वार्ता (एमएएलईटीएस 2011), एक ट्यूटोरियल और झांग द्वारा दी गई एक मुख्य बात सॉफ्टवेयर अभियांत्रिकी शिक्षा और प्रशिक्षण परआईईईई-CS सम्मेलन में झांग और उसके सहयोगियों द्वारा नॉर्थ कैरोलिना स्टेट यूनिवर्सिटी के ताओ शी के सहयोग से सॉफ्टवेयर वैश्लेषिकी पर कई संरक्षक और वार्ता के बाद सॉफ्टवेयर अभियांत्रिकी अनुसंधान समुदाय में यह शब्द अच्छी तरह से जाना जाने लगा।

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

यह भी देखें

 * खनन सॉफ्टवेयर भंडार
 * सॉफ्टवेयर की रखरखाव
 * सॉफ्टवेयर पुरातत्व
 * सॉफ्टवेयर डेवलपमेंट
 * सॉफ्टवेयर विकास प्रक्रिया
 * प्रयोगकर्ता का अनुभव
 * कंप्यूटर सॉफ्टवेयर
 * अनुप्रयोग प्रक्रिया सामग्री
 * सॉफ्टवेयर उद्योग
 * विश्लेषिकी

बाहरी संबंध

 * InfoWorld: Turn application metrics into business value
 * Microsoft Research Asia Software Analytics Group (SA)
 * Microsoft Research Redmond Empirical Software Engineering Group (ESE)
 * Software Analytics in Practice and Its Implications for Education and Training, Keynote by Dongmei Zhang at the 24th IEEE-CS Conference on Software Engineering Education and Training (CSEE&T 2012)
 * Software Analytics in Practice – Approaches and Experiences, Keynote slides by Dongmei Zhang at the 9th Working Conference on Mining Software Repositories (MSR 2012)
 * Software Analytics in Practice, Mini-tutorial slides by Dongmei Zhang and Tao Xie at the 34th International Conference on Software Engineering (ICSE 2012)
 * Software Analytics Pinterest
 * Microsoft Azure - Application Insights in Azure