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

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

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

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

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

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

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

अग्रिम पठन

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