2009-06-29 20 views
7

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

  • कितना आसान इसे बदलने के लिए/सॉफ्टवेयर बढ़ाने, मजबूती
  • है यदि यह सॉफ्टवेयर का एक आम/सामान्य पर्याप्त टुकड़ा है, कैसे पुन: प्रयोज्य यह
  • है:

    वहाँ माप इन सवालों का जवाब है

  • कितने दोष कोड
  • इस बदल दिया जाने की आवश्यकता है के साथ जुड़े रहे थे/recoded
  • कब तक इस कोड के आसपास
  • कर दिया गया है 10
  • डेवलपर करें जैसे कोड को डिज़ाइन और कार्यान्वित किया गया है

ऐसा लगता है कि इनमें से अधिकांश को सीएम और बग रिपोर्टिंग टूल के साथ निकटता से बंधने की आवश्यकता होगी।

+2

समुदाय विकी ... –

उत्तर

0

एक अच्छा thread वर्ष चर्चा समूह योएल सॉफ्टवेयर पर इस बारे में से नहीं है।

0

मुझे पता है कि कुछ SVN स्टेट कार्यक्रमों प्रस्तुत प्रति बदल लाइनों पर एक सिंहावलोकन प्रदान करते हैं। यदि आपके पास बगट्रैकिंग सिस्टम है और सुविधाओं को जोड़कर बग फिक्स करने वाले व्यक्ति इत्यादि हैं तो बग ठीक होने पर उनकी प्रतिबद्ध संख्या बता रहे हैं, तो आप गणना कर सकते हैं कि प्रत्येक बग/नए फीचर अनुरोध से कितनी लाइन प्रभावित हुई थी। यह आपको परिवर्तनशीलता का माप दे सकता है।

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

0

आप कुछ आर्थिक तरीका में या प्रोग्रामर के रास्ते में यह कर सकता है।

आर्थिक रास्ते से मामले में आप कोड में सुधार, बगों, नई सुविधाओं और इतने पर जोड़ने की लागत mesaure। यदि आप दूसरा तरीका चुनते हैं, तो आप यह मापना चाहेंगे कि आपके कार्यक्रम के साथ कितने कर्मचारी काम करते हैं और मानव घंटों में औसत बग को कहें, कहें, ढूंढें और ठीक करें। निश्चित रूप से वे निर्दोष नहीं हैं, क्योंकि लागत बाजार की स्थिति पर निर्भर करती है और मानव घंटे वास्तविक लोगों और उनके कौशल पर निर्भर करते हैं, इसलिए दोनों विधियों को गठबंधन करना बेहतर होता है।

इस तरह से आप कुछ उपकरणों के लिए अपने कोड की गुणवत्ता mesaure को मिलता है। बेशक आपको अपने प्रोजेक्ट और अन्य कारकों के आकार को ध्यान में रखना चाहिए, लेकिन मुझे उम्मीद है कि मुख्य विचार स्पष्ट है।

1

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

आपके प्रश्नों के अनेक क्षेत्रों को अलग ढंग से मात्रा निर्धारित कर रहे हैं या मात्रा करने के लिए बहुत व्यक्तिपरक हैं अवधि है, तो आप श्रेणियों है कि आम लक्ष्यों के अनुरूप में समूह इन होना चाहिए। फिर आप प्रत्येक श्रेणी के लिए "महत्व" कारक असाइन कर सकते हैं और उससे कुछ मीट्रिक प्राप्त कर सकते हैं।

उदाहरण के लिए आप अपने कोड की सिंटैक्टिक गुणवत्ता को मापने के लिए static code analysis tools का उपयोग कर सकते हैं और उससे कुछ मीट्रिक प्राप्त कर सकते हैं।

आप संस्करण नियंत्रण प्रणाली के साथ एकीकृत बग ट्रैकिंग टूल का उपयोग करके कोड की बग/लाइनों से मेट्रिक्स भी प्राप्त कर सकते हैं।

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

जबकि मेट्रिक्स काफी अमूर्त और व्यक्तिपरक हो सकता है, यदि आप इसे समय समर्पित करते हैं और हमेशा उन्हें सुधारने का प्रयास करते हैं, तो यह आपको उपयोगी जानकारी दे सकता है।

कुछ बातें सॉफ्टवेयर प्रक्रिया हालांकि में मीट्रिक के बारे में ध्यान दें:

  1. जब तक आप उन्हें अच्छी तरह से करते हैं, मैट्रिक्स अच्छे से अधिक नुकसान साबित हो सकता है।
  2. मेट्रिक्स अच्छी तरह से करना मुश्किल है।
  3. आपको व्यक्तिगत प्रदर्शन को रेट करने या बोनस योजनाओं की पेशकश करने के लिए मीट्रिक का उपयोग करने में सावधान रहना चाहिए। एक बार ऐसा करने के बाद हर कोई सिस्टम को धोखा देने की कोशिश करेगा और आपकी मीट्रिक बेकार साबित होगी।
1

आप रूबी उपयोग कर रहे हैं, वहाँ कुछ उपकरण से locs/विधि और तरीके/क्लास Saikuros cyclomatic जटिलता लेकर मीट्रिक के साथ मदद करने के लिए कर रहे हैं।

मेरा मालिक वास्तव में हम एक गहरे लाल रंग का सम्मेलन पिछले साल में उपयोग सॉफ्टवेयर मीट्रिक पर एक प्रस्तुति, these are the slides.

एक दिलचस्प उपकरण आप एक बार में मेट्रिक्स का एक बहुत लाता है metric_fu है कि आयोजन किया। यह आपके कोड के दिलचस्प पहलुओं की बहुत जांच करता है। सामग्री जो बहुत समान है, बहुत बदलती है, इसमें बहुत सारी शाखाएं हैं। सभी संकेत आपके कोड बेहतर हो सकते हैं :)

मुझे कल्पना है कि अन्य भाषाओं के लिए इस तरह के बहुत सारे टूल भी हैं।

0

एक और ग्राहक केंद्रित मीट्रिक सॉफ़्टवेयर विक्रेता के लिए बग को ठीक करने और नई सुविधाओं को लागू करने के लिए औसत समय होगा।

आपके बग ट्रैकिंग सॉफ़्टवेयर की तिथि बनाई गई और बंद जानकारी के आधार पर गणना करना बहुत आसान है।

यदि आपका औसत बग फिक्सिंग/सुविधा कार्यान्वयन का समय बेहद अधिक है, तो यह खराब सॉफ़्टवेयर गुणवत्ता के लिए संकेतक भी हो सकता है।

0

आप निम्नलिखित page नमूना भूखंड सहित सॉफ़्टवेयर गुणवत्ता के विभिन्न पहलुओं का वर्णन कर सकते हैं। मापने के लिए आवश्यक कुछ गुणवत्ता विशेषताओं को सोनार जैसे टूल का उपयोग करके प्राप्त किया जा सकता है।

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