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