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

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

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

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

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

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

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

अग्रिम पठन

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