2009-05-26 14 views
8

HI सभी मैं अपने प्रोजेक्ट के रिलीज के अंत में हूं। इसलिए काम करने के लिए हमारे प्रबंधक ने हमें लिखे गए कोड के लिए क्लास आरेख तैयार करने के लिए कहा। यह 3500 जावा फाइलों के साथ मध्यम परियोजना है। मुझे लगता है कि हमें कक्षा आरेख तैयार करने की जरूरत है। सबसे पहले मुझे यह जानने की जरूरत है कि रिवर्स इंजीनियरिंग कैसे काम करता है। इसके अलावा मैंने Google (ग्रीन, वायलेट) में कुछ टूल्स की तलाश की लेकिन सुनिश्चित नहीं किया कि चाहे वे किसी भी मदद के हों। कृपया मुझे बताएं कि कैसे आगे बढ़ना है। इसके अलावा एक अच्छी शुरुआत ट्यूटोरियल की सराहना की जाती है।जनरेटिंग क्लास आरेख

उत्तर

7

मैं दृढ़ता सेBOUML की सिफारिश के साथ इंजीनियर वर्ग चित्र उल्टा करने के लिए सक्षम हो सकता है। इसका जावा रिवर्स सपोर्ट बिल्कुल रॉक सॉलिड है। ,

  • यह बहुत तेज (सबसे तेजी से यूएमएल उपकरण कभी बनाया, benchmarks की जाँच) है,
  • रॉक ठोस सी ++ है, जावा, PHP और अन्य लोगों के आयात का समर्थन:

    BOUML कई अन्य advanteges है

  • यह बहु (लिनक्स, विंडोज, अन्य OSes),
  • एक महान एसवीजी निर्यात समर्थन है, जो महत्वपूर्ण है, क्योंकि वेक्टर प्रारूप है, जो जैसे में तेजी से मापता में बड़े ग्राफ़ देख नहीं है फ़ायरफ़ॉक्स, बहुत सुविधाजनक है (आप जल्दी से "पक्षियों की आंख" दृश्य और कक्षा विवरण दृश्य के बीच स्विच कर सकते हैं),
  • यह पूर्ण विशेषीकृत, प्रभावशाली रूप से विकसित किया गया है (development history पर देखें, यह विश्वास करना मुश्किल है कि ऐसी तेज प्रगति संभव है)।
  • , प्लग इन का समर्थन मॉड्यूलर वास्तुकला है (यह अनुमति देता है user contributions, लग रहा है BOUML समुदाय की तरह बना रहा है)
+0

यह अच्छा है, और उपयोग करने में वास्तव में आसान है। हालांकि, आरेख एक बदसूरत हैं। –

+0

मैं बीओयूएमएल सिफारिश को दूसरा स्थान देता हूं। यह क्यूटी में लिखा गया है, इसलिए यह कहीं भी क्यूटी रन चलाता है, और मैंने इसे मैक ओएस एक्स और विंडोज पर इस्तेमाल किया है और यह अच्छी तरह से काम करता है। यह मेरी कोशिश की और सच्ची पसंदीदा, तर्कसंगत गुलाब की सबसे नज़दीकी चीज है, लेकिन यह बहुत बेहतर काम करता है! गुलाब हर समय दुर्घटनाग्रस्त होता था, हालांकि अब इसे आरएडी/ग्रहण में परिवर्तित कर दिया गया है, यह बेहतर लगता है। इस टिप्पणी के बारे में निश्चित नहीं है कि आरेख "बदसूरत" हैं, वे आपके मानक यूएमएल मॉडल बहुत अधिक हैं और वे बहुत "गुलाब की तरह" हैं। – michaelok

0

कुछ टूल्स उपलब्ध हैं जो आपको इन आरेखों को उत्पन्न करने में मदद करेंगे। ये लागत पैसे।

अन्यथा आप अपनी जावा फ़ाइलों को पार्स करने का प्रयास कर सकते हैं। यह एक सरल पार्सर बनाने के लिए सरल हो सकता है जो जावा फाइलें पढ़ता है और कक्षा का नाम और सभी आयात विवरणों को फ़ाइल में लिखता है और वहां से कक्षा आरेख उत्पन्न करता है, graphviz आपकी मदद कर सकता है।

+0

आप इस दृष्टिकोण को मुफ्त http://yuml.me यूएमएल आरेख जनरेटर के साथ जोड़ सकते हैं। लोग रेलवे डोमेन पर पावरहेल कक्षाओं और रूबी के लिए [पहले से ही यह कर रहे हैं] (http://yuml.me/wildthing) हैं। चूंकि आपके पास इतने सारे वर्ग हैं, इसलिए आपको 10-50 कक्षाओं को दिखाने के लिए चित्रों को थोड़ा सा तोड़ना होगा। – tobinharris

3

यह एक उपकरण से अधिक टूलचैन है और मैंने इसे स्वयं से बाहर नहीं किया है। लेकिन यह शायद एक शुरुआती बिंदु है। UMLGraph, ant और GraphViz का उपयोग करना। चरणबद्ध द्वारा चरणबद्ध कदम: in this article

1

यूएमएल मानक संस्करण (या बेहतर) के लिए विजुअल पैराडिग क्लास आरेखों में जावा फाइलों को रिवर्स करेगा।

6

आप जिस उपकरण का उपयोग करना चाहते हैं वह Doxygen है। यह जावाडोक के समान है, लेकिन कई भाषाओं में काम करता है। यदि निर्भरताएं आंकड़े हैं, और क्लास आरेख प्रस्तुत करने के लिए ग्राफ़विज़ को कॉल कर सकते हैं। यहां कुछ Java classes run through Doxygen का उदाहरण दिया गया है।

+0

वाह। बहुत अच्छा काम करता है। – Epaga

2

मैंने यूएमएल के लिए दृश्य पैराडिग का उपयोग किया है जो आप करना चाहते हैं और यह काफी अच्छा था।

विवरण के लिए here देखें।

बस उपकरण -> त्वरित रिवर्स पर जाएं और अपने पैकेज का चयन करें।

1

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

रिकॉर्ड के लिए, मेरी पसंद का मॉडलिंग टूल एंटरप्राइज़ आर्किटेक्ट Sparx Systems द्वारा है। यह जावा स्रोतों या .jar फ़ाइलों को उलट देगा। एक निशुल्क 30 दिन का परीक्षण संस्करण है।

+0

मैं मानता हूं कि सभी वर्गों को उत्पन्न करना एक दर्दनाक काम है। यह अभ्यास लोगों को अच्छी स्पर्ट में रखना है .:_) – GustyWind

0

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

टूल और आपके स्रोत कोड के बीच कोड सिंक्रनाइज़ करना बहुत आसान है। यदि आप चाहें तो द्वि-दिशात्मक भी।

आपके पीएम को गतिविधि और अनुक्रम आरेख भी पसंद हो सकते हैं जो इसे बना सकते हैं। मैं अक्सर तैनाती आरेखों का भी उपयोग करता हूं। यह सब एक उपकरण में रखना बहुत उपयोगी है।

1

ObjectAid बहुत अच्छा है। आप कक्षाओं को आरेख में खींच सकते हैं और उन्हें अपनी इच्छानुसार व्यवस्थित कर सकते हैं।

संबंधित मुद्दे