सॉफ्टवेयर मीट्रिक: Difference between revisions
No edit summary |
No edit summary |
||
Line 2: | Line 2: | ||
{{Software development process}} | {{Software development process}} | ||
[[सॉफ्टवेयर इंजीनियरिंग]] और सॉफ्टवेयर | [[सॉफ्टवेयर इंजीनियरिंग]] और सॉफ्टवेयर डेवलपमेंट में '''सॉफ्टवेयर मीट्रिक''' उस डिग्री के माप का एक मानक है जिसके लिए सॉफ्टवेयर सिस्टम या प्रक्रिया में कुछ समानता होती है।<ref>{{Cite book|last=Fenton|first=Norman E.|url=https://www.worldcat.org/oclc/834978252|title=Software metrics : a rigorous and practical approach|date=2014|others=James Bieman|isbn=978-1-4398-3823-5|edition=3rd|location=Boca Raton, FL|oclc=834978252}}</ref><ref>{{Cite book|last1=Timóteo|first1=Aline Lopes|title=Software Metrics: A Survey|last2=Álvaro|first2=Re|last3=Almeida|first3=Eduardo Santana De|last4=De|first4=Silvio Romero|last5=Meira|first5=Lemos|citeseerx=10.1.1.544.2164}}</ref> यदि मीट्रिक एक माप नहीं है (मेट्रिक्स फंक्शन हैं, जबकि माप, मीट्रिक के अनुप्रयोग द्वारा प्राप्त संख्याएं हैं), हमेशा दो नियम को समानार्थक के रूप में उपयोग किया जाता है। चूंकि सभी विज्ञानों में मात्रात्मक माप आवश्यक हैं, इसलिए सॉफ्टवेयर डेवलपमेंट के लिए समान दृष्टिकोण लाने के लिए कंप्यूटर वैज्ञानिकों और सिद्धांतकारों द्वारा निरंतर प्रयास किया जाता है। लक्ष्य उदेश्य पुनः प्राप्त और परिमाण निर्धारित करने योग्य माप जिसमें सारणीसूची और बजट योजना, कॉस्ट(लागत) अनुमान, गुणवत्ता गारन्टी, टेस्टिंग, सॉफ्टवेयर [[डिबगिंग]], सॉफ्टवेयर प्रोग्राम और इष्टतम कार्य असाइनमेंट में कई अनुप्रयोग हो सकते हैं। | ||
== सामान्य सॉफ्टवेयर माप == | == सामान्य सॉफ्टवेयर माप == | ||
सामान्य सॉफ्टवेयर मापों में निम्नलिखित हैं: | सामान्य सॉफ्टवेयर मापों में निम्नलिखित हैं: | ||
* [[ एबीसी सॉफ्टवेयर मीट्रिक ]] | * [[ एबीसी सॉफ्टवेयर मीट्रिक ]] | ||
* [[संतुलित स्कोरकार्ड]] | * [[संतुलित स्कोरकार्ड|बैलेंस्ड स्कोरकार्ड]] | ||
* कोड | * कोड प्रति पंक्ति सॉफ्टवेयर [[सॉफ़्टवेयर बग|बग]] | ||
* [[कोड कवरेज़|कोड कवरेज(प्रसारण)]] | * [[कोड कवरेज़|कोड कवरेज(प्रसारण)]] | ||
* [[सामंजस्य (कंप्यूटर विज्ञान)|संसक्ति (कंप्यूटर विज्ञान)]] | * [[सामंजस्य (कंप्यूटर विज्ञान)|कोहेसन(संसक्ति) (कंप्यूटर विज्ञान)]] | ||
* | * कमेंट डेंसिटी <ref>{{cite web|title=वर्णनात्मक जानकारी (डीआई) मीट्रिक सीमाएँ|url=http://www.lsec.dnd.ca/qsd_current_version/eng_support/di/metrics.htm|work=Land Software Engineering Centre|access-date=19 October 2010|url-status=dead|archive-url=https://archive.today/20110706175332/http://www.lsec.dnd.ca/qsd_current_version/eng_support/di/metrics.htm|archive-date=6 July 2011}}</ref> | ||
* कॉनसेंट सॉफ्टवेयर घटक | * कॉनसेंट सॉफ्टवेयर घटक | ||
*[[ नारियल | रचनात्मक | *[[ नारियल | रचनात्मक कॉस्ट मॉडल]] | ||
* [[युग्मन (कंप्यूटर विज्ञान)]] | * [[युग्मन (कंप्यूटर विज्ञान)]] | ||
* साइक्लोमैटिक जटिलता (मैककेबे की जटिलता) | * साइक्लोमैटिक जटिलता (मैककेबे की जटिलता) | ||
* चक्रीय जटिलता | * चक्रीय जटिलता डेंसिटी <ref>{{Cite journal|last1=Gill|first1=G. K.|last2=Kemerer|first2=C. F.|date=December 1991|title=चक्रीय जटिलता घनत्व और सॉफ्टवेयर रखरखाव उत्पादकता|url=https://ieeexplore.ieee.org/document/106988|journal=IEEE Transactions on Software Engineering|volume=17|issue=12|pages=1284–1288|doi=10.1109/32.106988|issn=1939-3520}}</ref><ref>{{Cite web|title=maintainability - Does it make sense to compute cyclomatic complexity/lines of code ratio?|url=https://softwareengineering.stackexchange.com/questions/56056/does-it-make-sense-to-compute-cyclomatic-complexity-lines-of-code-ratio|access-date=2021-03-01|website=Software Engineering Stack Exchange}}</ref> | ||
* डिफेक्ट | * डिफेक्ट डेंसिटी - किसी घटक में पाए जाने वाले डिफेक्ट | ||
* डिफेक्ट क्षमता - किसी विशेष घटक में डिफेक्ट की अपेक्षित संख्या | * डिफेक्ट क्षमता - किसी विशेष घटक में डिफेक्ट की अपेक्षित संख्या | ||
* डिफेक्ट निवारण दर | * डिफेक्ट निवारण दर | ||
Line 36: | Line 36: | ||
== सीमाएँ == | == सीमाएँ == | ||
चूंकि सॉफ्टवेयर | चूंकि सॉफ्टवेयर डेवलपमेंट एक जटिल प्रक्रिया है, जिसमें तरीकों और उद्देश्यों दोनों पर उच्च भिन्नता होती है, इसलिए सॉफ्टवेयर गुणों को परिभाषित करना या मापना और एक वैध और समवर्ती माप मीट्रिक निर्धारित करना जटिल प्रक्रिया है, जब विशेष रूप से विस्तृत डिजाइन से पहले ऐसी भविष्यवाणी की जाती है। असुविधा और तर्क का एक अन्य स्रोत यह निर्धारित करना है कि कौन से मैट्रिक्स का उपयोग होता हैं और उनका क्या अर्थ है।<ref name="integration_watch"/><ref name="when_why_how">{{cite web|last=Kolawa|first=Adam|title=कब, क्यों और कैसे: कोड विश्लेषण|url=https://www.codeproject.com/Articles/28440/When-Why-and-How-Code-Analysis|work=The Code Project|date=7 August 2008|access-date=14 February 2021}}</ref> | ||
इसलिए सॉफ्टवेयर माप की व्यावहारिक उपयोगिता निम्नलिखित डोमेन तक सीमित कर दी गई है: | इसलिए सॉफ्टवेयर माप की व्यावहारिक उपयोगिता निम्नलिखित डोमेन तक सीमित कर दी गई है: | ||
* [[अनुसूची (परियोजना प्रबंधन)|निर्धारण]] | * [[अनुसूची (परियोजना प्रबंधन)|निर्धारण]] | ||
* सॉफ्टवेयर आकार | * सॉफ्टवेयर आकार | ||
* [[प्रोग्रामिंग जटिलता]] | * [[प्रोग्रामिंग जटिलता]] | ||
* सॉफ्टवेयर | * सॉफ्टवेयर डेवलपमेंट प्रयास का आकलन | ||
* [[सॉफ्टवेयर गुणवत्ता]] | * [[सॉफ्टवेयर गुणवत्ता]] | ||
एक विशिष्ट माप उपरोक्त | एक विशिष्ट माप उपरोक्त में से एक या अधिक, या उनके बीच संतुलन को टारगेट(लक्षित) कर सकता है, उदाहरण के लिए टीम प्रेरणा या प्रोजेक्ट के प्रदर्शन संकेतक के रूप में। | ||
इसके अतिरिक्त मेट्रिक्स स्टेटिक और डायनमिक प्रोग्राम कोड के साथ-साथ ऑब्जेक्ट ओरिएंटेड सॉफ्टवेयर (सिस्टम) के लिए भिन्न होते हैं।<ref>{{Cite book|last1=S|first1=Parvinder Singh|title=ऑब्जेक्ट ओरिएंटेड सिस्टम में बहुरूपता के लिए गतिशील मेट्रिक्स|last2=Singh|first2=Gurdev|citeseerx=10.1.1.193.4307}}</ref> | इसके अतिरिक्त मेट्रिक्स स्टेटिक और डायनमिक प्रोग्राम कोड के साथ-साथ ऑब्जेक्ट ओरिएंटेड सॉफ्टवेयर (सिस्टम) के लिए भिन्न होते हैं।<ref>{{Cite book|last1=S|first1=Parvinder Singh|title=ऑब्जेक्ट ओरिएंटेड सिस्टम में बहुरूपता के लिए गतिशील मेट्रिक्स|last2=Singh|first2=Gurdev|citeseerx=10.1.1.193.4307}}</ref> | ||
==स्वीकृति एवं जनमत== | ==स्वीकृति एवं जनमत== | ||
कुछ सॉफ्टवेयर | कुछ सॉफ्टवेयर डेवलपमेंट करने वाले डेवलपर्स यह बताते हैं कि सरलीकृत माप अधिक हानि पहुंचा सकते हैं।<ref>{{citation |last=Kaner|first=Dr. Cem|title=Software Engineer Metrics: What do they measure and how do we know?|year=2004|citeseerx=10.1.1.1.2542}}</ref> दूसरों के द्वारा नोटिस किया गया है कि मेट्रिक्स सॉफ्टवेयर डेवलपमेंट प्रक्रिया का एक अभिन्न पार्ट बन गए हैं।<ref name="integration_watch">{{cite web|last=Binstock|first=Andrew|title=एकीकरण निगरानी: मेट्रिक्स का प्रभावी ढंग से उपयोग करना|url=http://www.sdtimes.com/link/34157|work=SD Times|date=March 2010|publisher=BZ Media |access-date=19 October 2010}}</ref> प्रोग्रामर मनोविज्ञान पर माप के प्रभाव ने तनाव के कारण प्रदर्शन पर पड़ने वाले हानिकारक प्रभावों के बारे में चिंताएँ बढ़ा दी हैं, जबकि अन्य लोगों का मानना है कि इसका डेवलपर्स के अपने काम के प्रति मूल्य पर सकारात्मक प्रभाव पड़ता है, और उन्हें कम महत्व दिए जाने से रोका जाता है। कुछ लोगों का तर्क है कि कई माप पद्धतियों की परिभाषा सटीक नहीं है, और परिणामस्वरूप यह अक्सर अस्पष्ट होता है कि उनकी गणना करने वाले उपकरण किसी विशेष परिणाम पर कैसे पहुंचते हैं,जबकि अन्य तर्क देते हैं कि अपूर्ण परिमाणीकरण किसी से भी बेहतर नहीं है ("आप क्या नियंत्रित नहीं कर सकते हैं") आप माप नहीं सकते।") और साक्ष्य से पता चलता है कि सॉफ्टवेयर मेट्रिक्स का उपयोग सरकारी एजेंसियों, अमेरिकी सेना, नासा, आईटी सलाहकारों, शैक्षणिक संस्थानों, और वाणिज्यिक और शैक्षणिक डेवलपमेंट अनुमान सॉफ्टवेयर द्वारा व्यापक रूप से किया जा रहा है। | ||
== अग्रिम पठन == | == अग्रिम पठन == |
Revision as of 00:14, 8 August 2023
Part of a series on |
Software development |
---|
सॉफ्टवेयर इंजीनियरिंग और सॉफ्टवेयर डेवलपमेंट में सॉफ्टवेयर मीट्रिक उस डिग्री के माप का एक मानक है जिसके लिए सॉफ्टवेयर सिस्टम या प्रक्रिया में कुछ समानता होती है।[1][2] यदि मीट्रिक एक माप नहीं है (मेट्रिक्स फंक्शन हैं, जबकि माप, मीट्रिक के अनुप्रयोग द्वारा प्राप्त संख्याएं हैं), हमेशा दो नियम को समानार्थक के रूप में उपयोग किया जाता है। चूंकि सभी विज्ञानों में मात्रात्मक माप आवश्यक हैं, इसलिए सॉफ्टवेयर डेवलपमेंट के लिए समान दृष्टिकोण लाने के लिए कंप्यूटर वैज्ञानिकों और सिद्धांतकारों द्वारा निरंतर प्रयास किया जाता है। लक्ष्य उदेश्य पुनः प्राप्त और परिमाण निर्धारित करने योग्य माप जिसमें सारणीसूची और बजट योजना, कॉस्ट(लागत) अनुमान, गुणवत्ता गारन्टी, टेस्टिंग, सॉफ्टवेयर डिबगिंग, सॉफ्टवेयर प्रोग्राम और इष्टतम कार्य असाइनमेंट में कई अनुप्रयोग हो सकते हैं।
सामान्य सॉफ्टवेयर माप
सामान्य सॉफ्टवेयर मापों में निम्नलिखित हैं:
- एबीसी सॉफ्टवेयर मीट्रिक
- बैलेंस्ड स्कोरकार्ड
- कोड प्रति पंक्ति सॉफ्टवेयर बग
- कोड कवरेज(प्रसारण)
- कोहेसन(संसक्ति) (कंप्यूटर विज्ञान)
- कमेंट डेंसिटी [3]
- कॉनसेंट सॉफ्टवेयर घटक
- रचनात्मक कॉस्ट मॉडल
- युग्मन (कंप्यूटर विज्ञान)
- साइक्लोमैटिक जटिलता (मैककेबे की जटिलता)
- चक्रीय जटिलता डेंसिटी [4][5]
- डिफेक्ट डेंसिटी - किसी घटक में पाए जाने वाले डिफेक्ट
- डिफेक्ट क्षमता - किसी विशेष घटक में डिफेक्ट की अपेक्षित संख्या
- डिफेक्ट निवारण दर
- डीएसक्यूआई (डिजाइन संरचना गुणवत्ता सूचकांक)
- कार्य बिंदु और स्वचालित फंक्शन पॉइंट, एक ऑब्जेक्ट प्रबंधन समूह मानक[6]
- हालस्टेड जटिलता उपाय
- निर्देश पथ की लंबाई
- रख-रखाव सूचकांक
- कोड की स्रोत पंक्तियाँ - कोड की पंक्तियों की संख्या
- रन टाइम (प्रोग्राम जीवनचक्र चरण)
- लोडर (कंप्यूटिंग)
- प्रोग्राम का आकार (बाइनरी)
- भारित सूक्ष्म फंक्शन बिंदु
- चक्र समय (सॉफ्टवेयर)
- पहले पारित उपज
- सुधारात्मक प्रतिबद्धता प्रायिकता[7]
सीमाएँ
चूंकि सॉफ्टवेयर डेवलपमेंट एक जटिल प्रक्रिया है, जिसमें तरीकों और उद्देश्यों दोनों पर उच्च भिन्नता होती है, इसलिए सॉफ्टवेयर गुणों को परिभाषित करना या मापना और एक वैध और समवर्ती माप मीट्रिक निर्धारित करना जटिल प्रक्रिया है, जब विशेष रूप से विस्तृत डिजाइन से पहले ऐसी भविष्यवाणी की जाती है। असुविधा और तर्क का एक अन्य स्रोत यह निर्धारित करना है कि कौन से मैट्रिक्स का उपयोग होता हैं और उनका क्या अर्थ है।[8][9] इसलिए सॉफ्टवेयर माप की व्यावहारिक उपयोगिता निम्नलिखित डोमेन तक सीमित कर दी गई है:
- निर्धारण
- सॉफ्टवेयर आकार
- प्रोग्रामिंग जटिलता
- सॉफ्टवेयर डेवलपमेंट प्रयास का आकलन
- सॉफ्टवेयर गुणवत्ता
एक विशिष्ट माप उपरोक्त में से एक या अधिक, या उनके बीच संतुलन को टारगेट(लक्षित) कर सकता है, उदाहरण के लिए टीम प्रेरणा या प्रोजेक्ट के प्रदर्शन संकेतक के रूप में।
इसके अतिरिक्त मेट्रिक्स स्टेटिक और डायनमिक प्रोग्राम कोड के साथ-साथ ऑब्जेक्ट ओरिएंटेड सॉफ्टवेयर (सिस्टम) के लिए भिन्न होते हैं।[10]
स्वीकृति एवं जनमत
कुछ सॉफ्टवेयर डेवलपमेंट करने वाले डेवलपर्स यह बताते हैं कि सरलीकृत माप अधिक हानि पहुंचा सकते हैं।[11] दूसरों के द्वारा नोटिस किया गया है कि मेट्रिक्स सॉफ्टवेयर डेवलपमेंट प्रक्रिया का एक अभिन्न पार्ट बन गए हैं।[8] प्रोग्रामर मनोविज्ञान पर माप के प्रभाव ने तनाव के कारण प्रदर्शन पर पड़ने वाले हानिकारक प्रभावों के बारे में चिंताएँ बढ़ा दी हैं, जबकि अन्य लोगों का मानना है कि इसका डेवलपर्स के अपने काम के प्रति मूल्य पर सकारात्मक प्रभाव पड़ता है, और उन्हें कम महत्व दिए जाने से रोका जाता है। कुछ लोगों का तर्क है कि कई माप पद्धतियों की परिभाषा सटीक नहीं है, और परिणामस्वरूप यह अक्सर अस्पष्ट होता है कि उनकी गणना करने वाले उपकरण किसी विशेष परिणाम पर कैसे पहुंचते हैं,जबकि अन्य तर्क देते हैं कि अपूर्ण परिमाणीकरण किसी से भी बेहतर नहीं है ("आप क्या नियंत्रित नहीं कर सकते हैं") आप माप नहीं सकते।") और साक्ष्य से पता चलता है कि सॉफ्टवेयर मेट्रिक्स का उपयोग सरकारी एजेंसियों, अमेरिकी सेना, नासा, आईटी सलाहकारों, शैक्षणिक संस्थानों, और वाणिज्यिक और शैक्षणिक डेवलपमेंट अनुमान सॉफ्टवेयर द्वारा व्यापक रूप से किया जा रहा है।
अग्रिम पठन
- 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)