सॉफ्टवेयर मीट्रिक

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

सामान्य सॉफ़्टवेयर माप
सामान्य सॉफ़्टवेयर मापों में शामिल हैं:
 * एबीसी सॉफ्टवेयर मीट्रिक
 * संतुलित स्कोरकार्ड
 * कोड की प्रति पंक्ति सॉफ़्टवेयर बग
 * कोड कवरेज़
 * सामंजस्य (कंप्यूटर विज्ञान)
 * टिप्पणी घनत्व
 * कॉनसेंट सॉफ्टवेयर घटक
 * नारियल
 * युग्मन (कंप्यूटर विज्ञान)
 * साइक्लोमैटिक जटिलता (मैककेबे की जटिलता)
 * चक्रीय जटिलता घनत्व
 * दोष घनत्व - किसी घटक में पाए जाने वाले दोष
 * दोष क्षमता - किसी विशेष घटक में दोषों की अपेक्षित संख्या
 * दोष निवारण दर
 * डीएसक्यूआई (डिजाइन संरचना गुणवत्ता सूचकांक)
 * कार्य बिंदु और स्वचालित फ़ंक्शन पॉइंट, एक ऑब्जेक्ट प्रबंधन समूह मानक
 * हालस्टेड जटिलता उपाय
 * निर्देश पथ की लंबाई
 * रखरखाव #सॉफ्टवेयर इंजीनियरिंग
 * कोड की स्रोत पंक्तियाँ - कोड की पंक्तियों की संख्या
 * रन टाइम (प्रोग्राम जीवनचक्र चरण)
 * लोडर (कंप्यूटिंग)
 * बाइनरी फ़ाइल|प्रोग्राम का आकार (बाइनरी)
 * भारित सूक्ष्म कार्य बिंदु
 * चक्र समय (सॉफ्टवेयर)
 * पहले पारित उपज
 * सुधारात्मक प्रतिबद्धता संभाव्यता

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

एक विशिष्ट माप उपरोक्त पहलुओं में से एक या अधिक, या उनके बीच संतुलन को लक्षित कर सकता है, उदाहरण के लिए टीम प्रेरणा या परियोजना प्रदर्शन के संकेतक के रूप में।

इसके अतिरिक्त मेट्रिक्स स्थिर और गतिशील प्रोग्राम कोड के साथ-साथ ऑब्जेक्ट ओरिएंटेड सॉफ़्टवेयर (सिस्टम) के लिए भिन्न होते हैं। रेफरी>

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

अग्रिम पठन

 * J. Smith, Introduction to Linear Programming, Acme Press, 2010. An introductory text.


 * Reijo M.Savola, Quality of security metrics and measurements, Computers & Security, Volume 37, September 2013, Pages 78-90.

यह भी देखें

 * GQM|लक्ष्य प्रश्न-मीट्रिक
 * स्थैतिक कोड विश्लेषण के लिए उपकरणों की सूची
 * ऑर्थोगोनल दोष वर्गीकरण
 * सॉफ्टवेयर इंजीनियरिंग
 * सॉफ़्टवेयर पैकेज मेट्रिक्स

बाहरी संबंध

 * Software Metrics (SQA.net)
 * Software Engineering Metrics: What do they measure and how do we know
 * NASA Standard NASA-STD-8739.8 (Software Assurance and Software Safety Standard)
 * HIS Source Code Metrics (outdated but for reference; related see AUTOSAR)
 * HIS Source Code Metrics version 1.3.1 01.04.2008 (outdated but for reference; related see AUTOSAR)
 * A framework for source code metrics
 * NASA.gov
 * SonarQube Metric Definitions
 * Metrics of Object Oriented Software (2010)