सॉफ्टवेयर मीट्रिक
Part of a series on |
Software development |
---|
सॉफ्टवेयर इंजीनियरिंग और सॉफ्टवेयर विकास में, एक सॉफ्टवेयर मीट्रिक उस डिग्री के माप का एक मानक है जिसके लिए सॉफ्टवेयर सिस्टम या प्रक्रिया में कुछ समानता होती है।[1][2] यदि मीट्रिक एक माप नहीं है (मेट्रिक्स फंक्शन हैं, जबकि माप मीट्रिक के अनुप्रयोग द्वारा प्राप्त संख्याएं हैं), हमेशा दो शब्दों को समानार्थक शब्द के रूप में उपयोग किया जाता है। चूंकि सभी विज्ञानों में मात्रात्मक माप आवश्यक हैं, इसलिए सॉफ्टवेयर विकास के लिए समान दृष्टिकोण लाने के लिए कंप्यूटर विज्ञान चिकित्सकों और सिद्धांतकारों द्वारा निरंतर प्रयास किया जाता है। लक्ष्य वस्तुनिष्ठ, प्रतिलिपि प्रस्तुत करने योग्य और मात्रात्मक माप प्राप्त करना है, जिसमें अनुसूची और बजट योजना, लागत अनुमान, गुणवत्ता, परीक्षण, सॉफ्टवेयर डिबगिंग, सॉफ्टवेयर प्रोग्राम अनुकूलन और इष्टतम कार्मिक कार्य असाइनमेंट में कई मूल्यवान अनुप्रयोग हो सकते हैं।
सामान्य सॉफ्टवेयर माप
सामान्य सॉफ्टवेयर मापों में शामिल हैं:
- एबीसी सॉफ्टवेयर मीट्रिक
- संतुलित स्कोरकार्ड
- कोड की प्रति पंक्ति सॉफ्टवेयर बग
- कोड कवरेज(प्रसारण)
- संसक्ति (कंप्यूटर विज्ञान)
- टिप्पणी घनत्व[3]
- कॉनसेंट सॉफ्टवेयर घटक
- रचनात्मक लागत मॉडल
- युग्मन (कंप्यूटर विज्ञान)
- साइक्लोमैटिक जटिलता (मैककेबे की जटिलता)
- चक्रीय जटिलता घनत्व[4][5]
- डिफेक्ट घनत्व - किसी घटक में पाए जाने वाले डिफेक्ट
- डिफेक्ट क्षमता - किसी विशेष घटक में डिफेक्ट की अपेक्षित संख्या
- डिफेक्ट निवारण दर
- डीएसक्यूआई (डिजाइन संरचना गुणवत्ता सूचकांक)
- कार्य बिंदु और स्वचालित फंक्शन पॉइंट, एक ऑब्जेक्ट प्रबंधन समूह मानक[6]
- हालस्टेड जटिलता उपाय
- निर्देश पथ की लंबाई
- रख-रखाव सूचकांक
- कोड की स्रोत पंक्तियाँ - कोड की पंक्तियों की संख्या
- रन टाइम (प्रोग्राम जीवनचक्र चरण)
- लोडर (कंप्यूटिंग)
- प्रोग्राम का आकार (बाइनरी)
- भारित सूक्ष्म फंक्शन बिंदु
- चक्र समय (सॉफ्टवेयर)
- पहले पारित उपज
- सुधारात्मक प्रतिबद्धता संभाव्यता[7]
सीमाएँ
चूंकि सॉफ्टवेयर विकास एक जटिल प्रक्रिया है, जिसमें कार्यप्रणाली और उद्देश्यों दोनों पर उच्च भिन्नता होती है, इसलिए सॉफ्टवेयर गुणों और मात्राओं को परिभाषित करना या मापना और एक वैध और समवर्ती माप मीट्रिक निर्धारित करना मुश्किल होता है, खासकर जब विस्तृत डिजाइन से पहले ऐसी भविष्यवाणी की जाती है। कठिनाई और बहस का एक अन्य स्रोत यह निर्धारित करना है कि कौन से मैट्रिक्स मायने रखते हैं और उनका क्या मतलब है।[8][9] इसलिए सॉफ़्टवेयर माप की व्यावहारिक उपयोगिता निम्नलिखित डोमेन तक सीमित कर दी गई है:
- अनुसूची (परियोजना प्रबंधन)
- सॉफ्टवेयर आकार
- प्रोग्रामिंग जटिलता
- सॉफ्टवेयर विकास प्रयास का आकलन
- सॉफ्टवेयर गुणवत्ता
एक विशिष्ट माप उपरोक्त पहलुओं में से एक या अधिक, या उनके बीच संतुलन को लक्षित कर सकता है, उदाहरण के लिए टीम प्रेरणा या परियोजना प्रदर्शन के संकेतक के रूप में।
इसके अतिरिक्त मेट्रिक्स स्थिर और गतिशील प्रोग्राम कोड के साथ-साथ ऑब्जेक्ट ओरिएंटेड सॉफ़्टवेयर (सिस्टम) के लिए भिन्न होते हैं। रेफरी>Gosain, Anjana; Sharma, Ganga (2015). Mandal, J. K.; Satapathy, Suresh Chandra; Kumar Sanyal, Manas; Sarkar, Partha Pratim; Mukhopadhyay, Anirban (eds.). "ऑब्जेक्ट ओरिएंटेड सॉफ़्टवेयर के लिए डायनामिक सॉफ़्टवेयर मेट्रिक्स: एक समीक्षा". Information Systems Design and Intelligent Applications. Advances in Intelligent Systems and Computing (in English). New Delhi: Springer India. 340: 579–589. doi:10.1007/978-81-322-2247-7_59. ISBN 978-81-322-2247-7.</ref>[10]
स्वीकृति एवं जनमत
कुछ सॉफ़्टवेयर विकास व्यवसायी बताते हैं कि सरलीकृत माप फायदे से अधिक नुकसान पहुंचा सकते हैं।[11] दूसरों ने नोट किया है कि मेट्रिक्स सॉफ़्टवेयर विकास प्रक्रिया का एक अभिन्न अंग बन गए हैं।[8] प्रोग्रामर मनोविज्ञान पर माप के प्रभाव ने तनाव, प्रदर्शन की चिंता और मेट्रिक्स को धोखा देने के प्रयासों के कारण प्रदर्शन पर हानिकारक प्रभावों के बारे में चिंताएं बढ़ा दी हैं, जबकि अन्य लोगों का मानना है कि इसका डेवलपर्स के अपने काम के प्रति मूल्य पर सकारात्मक प्रभाव पड़ता है, और उन्हें कम महत्व दिए जाने से रोका जाता है। कुछ लोगों का तर्क है कि कई माप पद्धतियों की परिभाषा सटीक नहीं है, और परिणामस्वरूप यह अक्सर अस्पष्ट होता है कि उनकी गणना करने वाले उपकरण किसी विशेष परिणाम पर कैसे पहुंचते हैं, रेफरी>Lincke, Rüdiger; Lundberg, Jonas; Löwe, Welf (2008), "Comparing software metrics tools" (PDF), International Symposium on Software Testing and Analysis 2008, pp. 131–142</ref> जबकि अन्य लोगों का तर्क है कि अपूर्ण परिमाणीकरण किसी न होने से बेहतर है ("आप जिसे माप नहीं सकते उसे आप नियंत्रित नहीं कर सकते।")। रेफरी>DeMarco, Tom (1982). सॉफ्टवेयर परियोजनाओं को नियंत्रित करना: प्रबंधन, मापन और अनुमान. ISBN 0-13-171711-1.</ref> साक्ष्य से पता चलता है कि सॉफ्टवेयर मेट्रिक्स का व्यापक रूप से सरकारी एजेंसियों, अमेरिकी सेना, नासा द्वारा उपयोग किया जा रहा है। रेफरी>"नासा मेट्रिक्स प्लानिंग एंड रिपोर्टिंग वर्किंग ग्रुप (MPARWG)". Earthdata.nasa.gov. Archived from the original on 2011-10-22. Retrieved 2013-05-19.</ref> आईटी सलाहकार, शैक्षणिक संस्थान, रेफरी>"यूएससी सेंटर फॉर सिस्टम्स एंड सॉफ्टवेयर इंजीनियरिंग". Sunset.usc.edu. Retrieved 2013-05-19.</ref> और विकास आकलन सॉफ्टवेयर की वाणिज्यिक और शैक्षणिक तुलना।
अग्रिम पठन
- 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.[12]
यह भी देखें
- GQM|लक्ष्य प्रश्न-मीट्रिक
- स्थैतिक कोड विश्लेषण के लिए उपकरणों की सूची
- ऑर्थोगोनल डिफेक्ट वर्गीकरण
- सॉफ्टवेयर इंजीनियरिंग
- सॉफ़्टवेयर पैकेज मेट्रिक्स
संदर्भ
- ↑ Fenton, Norman E. (2014). Software metrics : a rigorous and practical approach. James Bieman (3rd ed.). Boca Raton, FL. ISBN 978-1-4398-3823-5. OCLC 834978252.
{{cite book}}
: CS1 maint: location missing publisher (link) - ↑ Timóteo, Aline Lopes; Álvaro, Re; Almeida, Eduardo Santana De; De, Silvio Romero; Meira, Lemos. Software Metrics: A Survey. CiteSeerX 10.1.1.544.2164.
- ↑ "वर्णनात्मक जानकारी (डीआई) मीट्रिक सीमाएँ". Land Software Engineering Centre. Archived from the original on 6 July 2011. Retrieved 19 October 2010.
- ↑ Gill, G. K.; Kemerer, C. F. (December 1991). "चक्रीय जटिलता घनत्व और सॉफ्टवेयर रखरखाव उत्पादकता". IEEE Transactions on Software Engineering. 17 (12): 1284–1288. doi:10.1109/32.106988. ISSN 1939-3520.
- ↑ "maintainability - Does it make sense to compute cyclomatic complexity/lines of code ratio?". Software Engineering Stack Exchange. Retrieved 2021-03-01.
- ↑ "OMG स्वचालित फ़ंक्शन प्वाइंट विशिष्टता को अपनाता है". Omg.org. 2013-01-17. Retrieved 2013-05-19.
- ↑ Amit, Idan; Feitelson, Dror G. (2020-07-21). "सुधारात्मक प्रतिबद्धता संभाव्यता कोड गुणवत्ता मीट्रिक". arXiv:2007.10912 [cs.SE].
- ↑ 8.0 8.1 Binstock, Andrew (March 2010). "एकीकरण निगरानी: मेट्रिक्स का प्रभावी ढंग से उपयोग करना". SD Times. BZ Media. Retrieved 19 October 2010.
- ↑ Kolawa, Adam (7 August 2008). "कब, क्यों और कैसे: कोड विश्लेषण". The Code Project. Retrieved 14 February 2021.
- ↑ S, Parvinder Singh; Singh, Gurdev. ऑब्जेक्ट ओरिएंटेड सिस्टम में बहुरूपता के लिए गतिशील मेट्रिक्स. CiteSeerX 10.1.1.193.4307.
- ↑ Kaner, Dr. Cem (2004), Software Engineer Metrics: What do they measure and how do we know?, CiteSeerX 10.1.1.1.2542
- ↑ Savola, Reijo M. (2013-09-01). "Quality of security metrics and measurements". Computers & Security (in English). 37: 78–90. doi:10.1016/j.cose.2013.05.002. ISSN 0167-4048.
बाहरी संबंध
- 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)