क्या आज के उद्योग में सॉफ्टवेयर प्रोजेक्ट मीट्रिक्स लोकप्रिय है?


9

मुझे एक डेवलपर का सामना करना पड़ा जो अपनी टीमों के प्रोजेक्ट पर कुछ बाहरी सलाह चाहता था। मुझे पता चला कि वे कंपनियों के अधिकारियों, परियोजना प्रबंधक और डेवलपर्स के लिए एक विशाल सॉफ़्टवेयर सूट विकसित कर रहे हैं जो मैट्रिक्स की स्वचालित रूप से गणना कर सकते हैं और उन्हें प्रति पुनरावृत्ति ग्राफ़ कर सकते हैं।

एक कंप्यूटर विज्ञान पृष्ठभूमि से एक छात्र के रूप में, मैं मैट्रिक्स और उनके महत्व पर बहुत कम जानता हूं, लेकिन मेरे प्रश्न हैं:

  1. क्या अधिकांश कंपनियों के पास कोई रास्ता है, अर्थपूर्ण मैट्रिक्स को मापने के लिए एक सुरुचिपूर्ण कार्यक्रम नहीं होना चाहिए?
  2. एकल, या संयुक्त, जो आपकी परियोजनाओं के दायरे और अनुमानों को कम करने में आपकी मदद करते हैं?
  3. मैट्रिक्स का विश्लेषण करने वाले व्यक्ति के रूप में, आप उनमें से कितनी बार निर्णय लेते हैं? अर्थात। प्रति सप्ताह परीक्षण विफल हो रहे हैं?
  4. क्या आपको लगता है कि मेट्रिक्स की पढ़ाई शुरू करने से आपको प्रोजेक्ट को बेहतर तरीके से समझने में मदद मिली है?

यह निश्चित नहीं है कि क्यों लेकिन डेवलपर्स प्रोजेक्ट ने मुझे परेशान किया और मुझे अधिक जानना चाहिए। यदि य

जवाबों:


6

मेट्रिक्स पर कुछ किताबें जो आपके कॉलेज के पुस्तकालय में सॉफ़्टवेयर क्वालिटी इंजीनियरिंग में शायद सॉफ़्टवेयर मेट्रिक्स और मेट्रिक्स और मॉडल शामिल हैं । उन 2 को आपको एक शुरुआती जगह देनी चाहिए। औद्योगिक दुनिया में, बहुत कम कंपनियों के पास किसी भी प्रकार का मीट्रिक माप कार्यक्रम है।

क्या अधिकांश कंपनियों के पास कोई रास्ता है, अर्थपूर्ण मैट्रिक्स को मापने के लिए एक सुरुचिपूर्ण कार्यक्रम नहीं होना चाहिए?

विजुअल स्टूडियो में कुछ कोड विश्लेषण टूल शामिल हैं जो आपको आरंभ कर सकते हैं। अधिकांश कंपनियों के पास सबसे खराब मीट्रिक को मापने के लिए कुछ भी नहीं है: कोड की लाइनें। "बस हो गया" उद्योग में भारी ड्राइविंग बल प्रतीत होता है, और रखरखाव की चिंताओं को प्रबंधकों की चिंताओं पर बहुत कम ध्यान दिया जाता है "क्या मुझे इस साल अपना बोनस मिलेगा?" और "क्या यह उस समय में किया जाएगा जब मैंने वादा किया था?" यहां तक ​​कि वृद्धिशील परिवर्तनों के साथ साल-दर-साल चलने वाले उत्पादों के साथ, उन 2 चिंताओं ने डेवलपर्स की स्थिरता और बग का पता लगाने / रोकथाम की चिंताओं को बौना कर दिया।

एकल, या संयुक्त, जो आपकी परियोजनाओं के दायरे और अनुमानों को कम करने में आपकी मदद करते हैं?

मुझे लगता है कि चक्रवाती जटिलता और युग्मन इस बात के प्रबल संकेतक हैं कि कोड को बनाए रखना कितना कठिन है या कितना कठिन है। यदि साइक्लोमैटिक जटिलता 20 के आसपास है, तो मुझे लगता है कि परीक्षण करना लगभग असंभव होगा (क्योंकि इसमें कोड के माध्यम से 2 ^ 20 पथ तक होंगे) और छोटे टुकड़ों में विघटित होना चाहिए। आप जटिलता को समाप्त नहीं कर सकते, लेकिन आप इसे अधिक प्रबंधनीय विखंडू में बदल सकते हैं।

यदि आप अनुमान की तलाश कर रहे हैं , तो आप शायद फ़ंक्शन बिंदुओं की जांच करना चाहते हैं ।

कोड कवरेज% प्रत्येक पुनरावृत्ति को बहुत कम कर रहा है, क्या आप मुद्दे के अपने डेवलपर्स को सचेत करते हैं

मुझे लगता है कि अधिकांश प्रबंधक चेक-इन की संख्या और बग्स की संख्या के बारे में परवाह करते हैं। मेरा वर्तमान प्रबंधक इकाई परीक्षण का विरोध करता है (वह सोचता है कि यह समय की बर्बादी है) और मेरे पिछले प्रबंधक ने महसूस किया कि इकाई परीक्षणों पर खर्च किया गया समय ऐसा था जिसे इसे पहली जगह में लिखने में खर्च किया जाना चाहिए था।

डेवलपर्स द्वारा उपयोग किए जाने वाले विहित तर्क यह है कि यदि आप कुछ मापते हैं, तो केवल वही है जो आपको मिलेगा। यह तर्क इस विचार से आता है कि एकमात्र मीट्रिक कोड की लाइनें हैं।


विस्तृत उत्तर और प्रासंगिक लिंक के लिए धन्यवाद। बस एक अनुवर्ती कार्रवाई के रूप में: 1. प्रबंधक चेक-इन की संख्या के बारे में क्यों परवाह करेगा? हो सकता है कि चेक-इन की हमारी परिभाषा अलग हो। 2. कोड की सबसे खराब मीट्रिक होने के क्या मायने हैं? इसमें सबसे बुरा यह है कि इस परियोजना के बारे में कोई अच्छा संकेत नहीं है?
रस के

@Russ, एक डेवलपर जो कोड में जाँच नहीं कर रहा है, को काम नहीं करने के रूप में देखा जाएगा। LOC सबसे खराब है कि यह खेल के लिए तुच्छ है। इंडेंटिंग कोड के के एंड आर और ऑलमैन शैली के बीच अंतर पर एक नज़र डालें: en.wikipedia.org/wiki/Indent_style । ऑलमैन शैली केवल एक अलग लाइन पर खुले {डालकर एक उच्च एलओसी गिनती देगी। डिस्क्लेमर: मुझे K & R स्टाइल से नफरत है क्योंकि मुझे मैचिंग ओपन {शायद ही ज्यादा समय बिताए बिना कहां के वाल्डो खेलते हुए मिल जाए।
तंगुरेना

In the industrial world, very few companies have any sort of metric measurement program at all.2 या उच्चतर सीएमएमआई रेटिंग वाली किसी भी कंपनी के पास जगह में माप / मैट्रिक्स विश्लेषण कार्यक्रम होगा। माप और मैट्रिक्स का एकत्रीकरण एक परिपक्वता स्तर 2 आवश्यकता है। CMMI परिपक्वता स्तर 4 को मापित परियोजना प्रबंधन की आवश्यकता होती है, उन मापों और मैट्रिक्स के आधार पर, पहचान की गई समस्याओं पर कार्रवाई करने के लिए मूल कारण विश्लेषण जैसी चीजों के साथ। CMMI स्तर 4 (या 5) में बड़ी संख्या में संगठन हैं।
थॉमस ओवेन्स

2

मैं सॉफ्टवेयर मेट्रिक्स के बारे में बात कर रहा था, जहां स्पीकर ने कुछ, IMHO, व्यावहारिक बिंदु बनाए। इन चीजों के साथ थोड़ा अनुभव होने के बाद भी, मैं अभी भी साज़िश और प्रेरित था, लेकिन मैं यह नहीं कह सकता कि यह गलत है या सही।

मुख्य विचार थे:

  • कोई भी विलक्षण मीट्रिक अपने आप में उपयोगी नहीं है।
  • एक पूर्ण लक्ष्य (यानी XX% कोड कवरेज) सेट करना सार्थक नहीं है।
  • इतिहास के बिना एक मीट्रिक उपयोगी है।

तो, इसे हल करने के लिए:

  • कई मीट्रिक दिखाएं, जैसे:
    • # लाइनों की कुल / बदल गया
    • # कमिट करता है
    • % कोड कवरेज़
    • # परीक्षणों की
    • साइक्लोमेटिक कम्पलेक्सिटी
    • फ़ाइल / पैकेज / ... निर्भरता
    • ...
  • क्यूए / सीआई से डेटा दिखाएं:
    • # बग / वृद्धि / परिवर्तन (मुझे व्यक्तिगत रूप से लगता है कि यह वर्गीकरण महत्वपूर्ण है)
    • # कुल / जोड़ा / नियत
  • इन मेट्रिक्स को ग्राफ़ पर दिखाएं जो समय के साथ रुझान दिखाते हैं

इस तरह, जब टिकट तेजी से तय होते हैं, तो कोई यह देख सकता है कि क्या कोड की गुणवत्ता नीचे जाती है। इसके अलावा, जब बग डेटाबेस के साथ बहुत अधिक नहीं हो रहा है, तो कोड की गुणवत्ता बढ़ सकती है, क्योंकि रिफ्लेक्टरिंग किए जा रहे हैं।

इसे संक्षिप्त करना: यह इस प्रकार का गतिशील व्यवहार है जो महत्वपूर्ण है और जो आपको कच्चे डेटा के बजाय सूचना देता है (जो कि एकल मीट्रिक का मान होगा)।

मैं इस योजना के अनुसार हमारे सीआई कनेक्टेड लावा लैंप के बगल में एक वाइडस्क्रीन टीवी पर कुछ ग्राफ डालने की योजना बना रहा हूं। ;)


अच्छे से कहा। मैंने बहुत सारे लेख पढ़े हैं कि कैसे अकेले मेट्रिक्स बेकार हैं, जैसा कि आपने उल्लेख किया है, और इतिहास महत्वपूर्ण है। उत्तर देने के लिए समय निकालने के लिए धन्यवाद।
रस के
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.