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

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

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

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

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

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

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

अग्रिम पठन

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