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

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

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

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

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

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

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

अग्रिम पठन

 * 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)