जावा कोड से यूएमएल आरेख (विशेषकर अनुक्रम आरेख) कैसे उत्पन्न करें?


434

मैं मौजूदा जावा कोड से यूएमएल आरेख (विशेषकर अनुक्रम आरेख) कैसे उत्पन्न कर सकता हूं?


3
ऐसा होने की संभावना नहीं है। UML चित्र के रूप में सुंदर दिखने के लिए वास्तविक जावा कोड संरचित नहीं है।
Stephan Eggermont

1
इतने सारे उत्तर जो अनुक्रम आरेखों को संबोधित नहीं करते हैं। हम्फ़
बिल के

@ मेरे जवाब में पता अनुक्रम आरेख है। यह एक Intellij Idea plugin है - stackoverflow.com/a/45239269/529187
जिओ पेंग - ZenUML.com

1
यह प्रश्न बहन साइट सॉफ़्टवेयर अनुशंसा स्टैक एक्सचेंज के लिए अधिक उपयुक्त है ।
तुलसी बोर्क

जवाबों:


257

ऑब्जेक्ट यूएमएल एक्सप्लोरर

क्या मैंने इस्तेमाल किया है। यह भंडार से आसानी से स्थापित है:

Name:     ObjectAid UML Explorer
Location: http://www.objectaid.com/update/current

और काफी अच्छा यूएमएल आरेख बनाता है:

स्क्रीनशॉट

वेबसाइट से विवरण:

ObjectAid UML एक्सप्लोरर अन्य UML टूल से अलग है। यह यूएमएल नोटेशन का उपयोग मौजूदा कोड के चित्रमय प्रतिनिधित्व को दिखाने के लिए करता है जो आपके टेक्स्ट एडिटर की तरह सटीक और अद्यतित है, जबकि उपयोग करने में बहुत आसान है। कई अनूठी विशेषताएं इसे संभव बनाती हैं:

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

पैपिरस की तुलना में आसान है, लेकिन आरेख बनाने के लिए कम विकल्पों के साथ।
lcardosobr

ObjectAid में, क्या क्लास डायग्राम को ऑटो करने का एक तरीका है?
पुन: प्रयोज्य

4
HowTo >>> यहां अकाउंट बनाएं: objectaid.com/login (सक्रियण ईमेल 10 मिनट में भेजा गया था), आरेख जोड़ें पर क्लिक करें, लाइसेंस आपके ईमेल पर भेज दिया जाएगा। ObjectAid को स्थापित करने के लिए इस objectaid.com/installation का पालन करें , फिर GEF को download.eclipse.org/tools/gef/updates/releases से इंस्टॉल करें। अब ईमेल से विंडो में कॉपी-पेस्ट लाइसेंस-> प्राथमिकताएं-> ObjectAid आरेख कैसे बनाएं? objectaid.com/class-diagram
rluks

ग्रहण जूनो में स्थापित नहीं किया जा सकता। An error occurred while installing the items session context was:(profile=epp.package.java, phase=org.eclipse.equinox.internal.p2.engine.phases.Install, operand=null --> [R]com.objectaid.uml 1.1.3, action=). Failed to prepare partial IU: [R]com.objectaid.uml 1.1.3.
गुनासेलान

1
ObjectAid का कमर्शियल वर्जन तब बेहतर कर सकता है जब वह आरेख अनुक्रम उत्पन्न करने के लिए आता है। बनाम केवल वर्ग चित्र बनाने के लिए मुफ्त का उपयोग किया जा सकता है !!
whoami

63

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


अद्यतन 11 अक्टूबर 2013

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

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

उत्तर (11 अक्टूबर 2013)

उपकरण

  1. Papyrus डाउनलोड करें
  2. मदद पर जाएँ -> नया सॉफ़्टवेयर स्थापित करें ...
  3. के साथ काम में: ड्रॉप-डाउन, का चयन करें - सभी उपलब्ध साइटें--
  4. फ़िल्टर में, पपीरस में टाइप करें
  5. स्थापना समाप्त होने के बाद ग्रहण को पुनः आरंभ करें
  6. 1-3 चरण दोहराएं और इस बार, मोडिस्को स्थापित करें

कदम

  1. आपके जावा प्रोजेक्ट में (मान लें कि इसे MyProject कहा जाता है) एक फ़ोल्डर बनाएं जैसे कि यूएमएल
  2. प्रोजेक्ट के नाम पर राइट क्लिक करें -> डिस्कवरी -> डिस्कवर -> जावा प्रोजेक्ट से जावा और इन्वेंट्री मॉडल की खोज करें, MyProject_kdm.xmi नामक एक फ़ाइल उत्पन्न होगी। यहां छवि विवरण दर्ज करें
  3. प्रोजेक्ट नाम फ़ाइल पर राइट क्लिक करें -> नया -> पेपिरस मॉडल -> और इसे MyProject कहें।
  4. तीन जेनरेट की गई फ़ाइलें MyProject.di, MyProject.notation, MyProject.uml को UML फ़ोल्डर में ले जाएं
  5. MyProject_kdm.xmi पर राइट क्लिक करें - डिस्कवरी -> खोजकर्ता -> केडीएम कोड से यूएमएल मॉडल को फिर से खोजें आपको MyProject.uml नामक एक फ़ाइल उत्पन्न करने के लिए TRUE को क्रमबद्धता प्रोप सेट मिलेगा। यहां छवि विवरण दर्ज करें

  6. मूव जनरेट किया गया MyProject.uml जो रूट पर, UML फ़ोल्डर में जनरेट किया गया था, एक्लिप्स आपसे पूछेगा कि क्या आप उसे क्लिक करना चाहते हैं। हमने यहाँ क्या किया था कि हमने एक खाली मॉडल को एक उत्पन्न के साथ बदल दिया।

  7. ALT + W -> शो व्यू -> पेपिरस -> मॉडल एक्सप्लोरर

  8. उस दृश्य में, आपको चित्र में जैसे अपनी कक्षाएं मिलेंगी यहां छवि विवरण दर्ज करें

  9. दृश्य में राइट क्लिक रूट मॉडल -> नया आरेख यहां छवि विवरण दर्ज करें

  10. फिर दृश्य से आरेख तक कक्षाएं हथियाना शुरू करें

कुछ सुविधाएं

  • वर्ग तत्वों (चर, कार्यों आदि) को दिखाने के लिए किसी भी वर्ग पर राइट क्लिक करें -> फिल्टर -> शो / सामग्री छिपाएँ Voila !!

  • आपके पास विंडो से डिफ़ॉल्ट डिफ़ॉल्ट रंग सेटिंग्स हो सकती हैं -> पेरेफेरेंस -> पेपिरस -> वर्ग आरेख

  • एक बहुत महत्वपूर्ण सेटिंग व्यवस्था है जब आप कक्षाओं को छोड़ते हैं तो उन्हें एक वर्ग आरेख पर किसी खाली स्थान पर एक तंग दाहिने क्लिक पर क्लिक करें और सभी व्यवस्थित करें पर क्लिक करें

  • मॉडल एक्सप्लोरर दृश्य में तीर सामान्यीकरण, बोध आदि दिखाने के लिए आरेख को पकड़ा जा सकता है

  • उस सब के बाद आपकी सेटिंग्स चित्र जैसे दिखेंगी यहां छवि विवरण दर्ज करें

  • सिंक्रोनाइज़ेशन अभी तक उपलब्ध नहीं है क्योंकि मुझे पता है कि आपको किसी भी नई कक्षाओं को मैन्युअल रूप से आयात करने की आवश्यकता होगी।

यह सब है, और जब तक आपको वास्तव में इसकी आवश्यकता नहीं है, तब तक व्यावसायिक उत्पादों को न खरीदें, पपीरस वास्तव में दान या कुछ के बजाय महान और परिष्कृत है।

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


मैंने ग्रहण में मोडिस्को की खोज की। यह 0 के साथ दिखाया गया है। क्या यह परियोजना जीवित है या इसे दूर ले जाया गया है? क्या यह पेड टूल बन गया। क्या इसके बिना पपीरस नहीं चलेगा?
R-JANA

प्रयुक्त एसटीएस और असफल।
R-JANA

@ R-JANA मुझे नहीं पता कि मोडिस्को की वर्तमान स्थिति क्या है, लेकिन मैं इस पोस्ट पर वापस जा रहा हूँ ASAP कारण मैं जल्द ही पेपिरस स्थापित करने वाला हूँ और इसे अपडेट करना होगा। मैं आपको सलाह देता हूं कि आप अपने वर्तमान पोस्ट को ध्यान में रखते हुए, पपीरस स्थापित करने के लिए प्रयास करें; मुझे लगता है कि जब से मैंने यह उत्तर पोस्ट किया है, बहुत बदलाव हुआ है।
इस्माइल मर्मूस

Papyrus के लिए एक वैकल्पिक प्लग-इन है, जो जावा रिवर्स इंजीनियरिंग कार्यक्षमता जोड़ता है: wiki.eclipse.org/Java_reverse_engineering । इसके साथ, आरेख स्रोत से जोड़ना आसान है, आप कक्षाओं को आरेख में भी खींच सकते हैं।
मार्कस एंडे 10

42

आपका कोडबेस क्या है? जावा या सी ++?

वैकल्पिक शब्द

जावा के लिए eUML2 एक शक्तिशाली यूएमएल मॉडलर है जो एक्लिप्स में जावा डेवलपर के लिए बनाया गया है। मुफ्त संस्करण का उपयोग व्यावसायिक उपयोग के लिए किया जा सकता है। यह निम्नलिखित विशेषताओं का समर्थन करता है:

  • सीवीएस और टीम का समर्थन
  • कई और अनुकूलन मॉडल विचारों के साथ बड़ी परियोजना के लिए डिज़ाइन किया गया
  • Helios आज्ञाकारी
  • वास्तविक समय कोड / मॉडल तुल्यकालन
  • UML2.1 ओएमजी XMI का अनुपालन और समर्थन
  • जेडीके 1.4 और 1.5 का समर्थन करता है
  • वाणिज्यिक संस्करण प्रदान करता है:

  • उन्नत उलट इंजीनियरिंग

  • शक्तिशाली सच्चे निर्भरता उपकरण का विश्लेषण करते हैं
  • यूएमएल प्रोफाइल और एमडीडी
  • डेटाबेस उपकरण
  • अनुकूलन टेम्पलेट का समर्थन

20
यह स्थापित करने के लिए एक बहुत ही मुश्किल उपकरण है। मैंने लगभग आधे घंटे तक बिना किसी सफलता के प्रयास किया। कोई अन्य सुझाव?
जोनाथन

2
खिचड़ी भाषा eUML2 मेरा अपडेट मानेगर है और मैं इस सुविधा को बस एक नया ग्रहण सेटअप पैक नहीं करना चाहता। मैं ग्रहण "हेलिओस" का उपयोग कर रहा हूं और इस तरह से जा रहा हूं: सहायता - नया सॉफ़्टवेयर स्थापित करें - हेलिओस डाउनलोड करें
।eclipse.org

3
मुझे पता है कि यह एक पुरानी पोस्ट है, लेकिन eUML2 को स्थापित करने के साथ ज्यादातर समस्याओं का समाधान हो गया है।
एंडी

7
eUML असली बकवास है। इसने मेरे कोड प्रारूप को बदल दिया है और हर जगह टैग जोड़े हैं। मेरा कोड अब इतना गंदा है कि मैं बदलाव को पूर्ववत करना पसंद करता हूं। समस्या यह है कि कोई पूर्ववत नहीं है और आपका कोड हमेशा के लिए बदल दिया जाता है। मैं eUML क्रैपर का उपयोग करने से पहले आपकी परियोजना का बैकअप लेने की सलाह दूंगा :-)
यूएमएल गुरु

31
क्या आपने कभी संस्करण-नियंत्रण के बारे में सुना है?
ईलाज के लिए तैयार

9

मैं लेखकों में से एक हूं, इसलिए इसका जवाब पक्षपाती हो सकता है। यह ओपन-सोर्स (Apache 2.0) है, लेकिन प्लगइन मुफ्त नहीं है। यदि आप क्लोन करते हैं और स्थानीय स्तर पर इसका निर्माण करते हैं तो आपको (जाहिर है) भुगतान नहीं करना होगा।

Intellij IDEA पर, ZenUML जावा कोड से अनुक्रम आरेख उत्पन्न कर सकता है। यहां छवि विवरण दर्ज करें

इसे https://plugins.jetbrains.com/plugin/12437-zenuml-support पर देखें

स्रोत कोड: https://github.com/ZenUml/jetbrains-zenuml


1
@hc_dev, आपके अनुस्मारक के लिए धन्यवाद। उस नोट को जोड़ा।
जिओ पेंग - ZenUML.com

7

प्लांटयूएमएल के बारे में कैसे ? यह रिवर्स इंजीनियरिंग के लिए नहीं है !!! यह आप कोड से पहले इंजीनियरिंग के लिए है।


4
सवाल का जवाब नहीं देता, जो स्पष्ट रूप से एक रिवर्स इंजीनियरिंग टूल के लिए पूछता है।
jmite

1
मुझे यकीन नहीं है कि यह पूरी तरह से सही है। प्लांटयूएमएल आरेखों के साथ कोड का वर्णन करने में भी सक्षम है। संबंधित दृश्य को एक क्लास फाइल में खोलने की कोशिश करें
Erez A. Korn

1
हाँ, मैं यह सत्यापित कर सकता हूं कि ग्रहण के प्लगइन में वर्ग फाइलें जावा फाइलों से ऑटो बनाई गई हैं।
HRJ

1
मैंने यह कोशिश की, लेकिन अगर आपका प्लान्टयूएमएल कोड बहुत जटिल हो जाता है, तो आप अपना सारा समय यह पता लगाने में लगाते हैं कि ड्राइंग ठीक से क्यों प्रस्तुत नहीं करेगा और इसमें ग्लिट्स हैं। यह केवल छोटे आरेखों के लिए अच्छा है।
trusktr

इंटेलीज में, स्केच इट के साथ प्लांटयूएमएल का संयोजन! और ग्रेविविज़ कोड से क्लायडीग्राम उत्पन्न कर सकता है। छोटे पैकेजों के लिए सबसे अच्छा काम करता है, आरेख पूरी तरह से बड़े होने पर पूर्ण रूप से निर्मित नहीं लगते हैं।
मेलिसा लूज

6

मैंने एक मावेन प्लगइन विकसित किया है , जो दोनों सीएलआई से एक प्लगइन लक्ष्य के रूप में चलाया जा सकता है, या निर्भरता के रूप में आयात कर सकता है और प्रोग्रामर का उपयोग @see Main#main()कैसे कर सकता है, इस विचार को प्राप्त करने के लिए।

यह पुनरावर्तक रूप से वांछित पैकेजों के PlantUML src कोड का प्रतिपादन करता है जिसे आप ज़रूरत पड़ने पर मैन्युअल रूप से संपादित कर सकते हैं (उम्मीद है कि आप नहीं करेंगे)। फिर, प्लांटयूएमएल पेज में कोड पेस्ट करके, या प्लांट के जार को डाउनलोड करके आप पीएमएल छवि के रूप में यूएमएल आरेख को प्रस्तुत कर सकते हैं।

इसे यहाँ देखें https://github.com/juanmf/Java2PlantUML

उदाहरण आउटपुट आरेख: यहां छवि विवरण दर्ज करें

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

यह ध्यान रखना महत्वपूर्ण है कि यह आपकी * .java फाइलों तक सीमित नहीं है, यह यूएमएल आरेख src आप से निर्भरता के रूप में अच्छी तरह से प्रस्तुत कर सकते हैं। आपके द्वारा निर्भर पुस्तकालयों को समझना बहुत आसान है। यह वास्तव में प्रतिबिंब के साथ संकलित कक्षाओं का निरीक्षण करता है ताकि किसी स्रोत की आवश्यकता न हो

GitHub: P पर इसे स्टार करने वाले पहले व्यक्ति बनें


4

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

यदि आप वास्तव में स्रोत कोड से रिवर्स इंजीनियरिंग अनुक्रम आरेख के लिए उत्सुक हैं, तो मैं jTracert की सिफारिश करूंगा

जहां तक ​​एक्लिप्स प्रोजेक्ट्स की बात है, तो एक्लिप्स यूएमएल 2 टूल्स प्रोजेक्ट रिवर्स इंजीनियरिंग का समर्थन कर सकता है, हालांकि मैंने कभी भी इसका उपयोग अभ्यास में नहीं देखा है।

MoDisco (मॉडल डिस्कवरी) परियोजना ग्रहण जीएमटी परियोजना अपने लक्ष्य को प्राप्त करने में स्पष्ट हो रहा है। प्रौद्योगिकी विशिष्ट उपकरणों की सूची शुरू करने के लिए एक अच्छी जगह होगी।


UML2 टूल्स में रिवर्स इंजीनियरिंग सुविधा नहीं मिली है;
OneWorld

2
jTracert को अब बंद कर दिया गया है। JTracert का उत्तराधिकारी, एक नया टूल जिसे jonde कहा जाता है, अब GPL v3 के तहत लाइसेंस प्राप्त है। jsonde.com
अल्पाइन

ओमांडो जावा के लिए सबसे अच्छा है। वास्तव में स्वच्छ एकीकरण, मॉडल और कोड के बीच कोई मिश्रण नहीं। शानदार लेकिन बहुत महंगा। हमें केवल एक लाइसेंस खरीदने की अनुमति दी गई है लेकिन हम इसका उपयोग करते हुए 20 से अधिक मॉडलर हैं क्योंकि सुरक्षा उपयोगकर्ता नाम लॉगिन पर आधारित है। इसका मतलब है कि अगर 10 उपयोगकर्ताओं के पास एक ही लॉगिन है तो वे सभी इसका उपयोग कर सकते हैं। हमें व्यवस्थापक उपयोगकर्ता नाम :-)
UML GURU

jSondeयूआरएल ऊपर दिखाए में उपलब्ध नहीं है। आप एक वेबसाइट और जीथब में स्रोत कोड पा सकते हैं : github.com/bedrin/jsonde
Jaime

3

मुझे स्रोत कोड से वर्ग आरेख का उपयोग करने और उत्पन्न करने के लिए ग्रीन प्लगइन बहुत सरल लगा। कोशिश करो :)। बस अपने प्लगइन dir को प्लगइन कॉपी करें।


2
ग्रीन ऐसा लगता है जैसे इसमें क्षमता है। हालांकि मेरे काम में हमारे पास एक प्रोजेक्ट है जिसमें ~ 700 कक्षाएं हैं और यह थोड़े समय के लिए चुगता है।
अप्पा

3

आप netbeans UML मॉडेलर को भी आजमा सकते हैं। मैंने इसका उपयोग जेवैकॉड बनाने के लिए किया है जो मैंने अपने ग्रहण परियोजनाओं में उपयोग किया था। तुम भी netbeans में ग्रहण परियोजनाओं को आयात कर सकते हैं और ग्रहण सेटिंग्स netbeans परियोजना सेटिंग्स के साथ समन्वयित रखने के लिए।

मैंने ग्रहण के लिए कई यूएमएल मॉडेलर्स की कोशिश की और उनसे संतुष्ट नहीं था। वे अस्थिर, जटिल या सीधे सादे बदसूरत थे। ;-)


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

1
दुर्भाग्य से ऐसा लगता है कि UML प्लगइन अब समर्थित नहीं है। प्लगइन का एक फिर से लिखना जाहिरा तौर पर चल रहा है, लेकिन इससे किसी को भी मदद नहीं मिलती है क्योंकि उन्होंने पुराने प्लगइन को फिर से लिखने से पहले गिरा दिया था।
अप्पा

यह एक अजीब बात है :-( चलो आशा करते हैं कि फिर से लिखना बहुत लंबा नहीं लगता है :-)
पैट्रिक कॉर्नेलिसन

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

2

IntelliJ आईडिया का उपयोग करना। वर्ग रेखाचित्र का चयन पैकेज और प्रेस उत्पन्न करने के लिए Ctrl+ Alt+ U:यहां छवि विवरण दर्ज करें

डिफ़ॉल्ट रूप से, यह केवल वर्ग नाम और सभी निर्भरता नहीं दिखाता है। इसे बदलने के लिए: राइट क्लिक करें -> श्रेणियाँ दिखाएँ ... और निर्भरता दिखाएँ: यहां छवि विवरण दर्ज करें

निर्भरता आरेख (यूएमएल तैनाती आरेख) genarate करने के लिए और आप Maven का उपयोग जाना देखें -> उपकरण विंडोज -> Maven परियोजनाओं और प्रेस Ctrl+ Alt+ U: यहां छवि विवरण दर्ज करें

परिणाम: यहां छवि विवरण दर्ज करें

इसके अलावा अधिक अन्य आरेख उत्पन्न करना संभव है। प्रलेखन देखें ।


2

आप ग्रहण 3.5 के लिए एक्लिप्स यूएमएल के 30 दिनों के मूल्यांकन बिल्ड का उपयोग कर सकते हैं: http://www.uml2.org/eclipse-java-galileo-SR2-win32_eclipseUML2.2_package_mile2010.zip यह नवीनतम 3.6 बिल्ड नहीं है, लेकिन बहुत अच्छा है और परीक्षण और रिवर्स इंजीनियरिंग के लिए आपको इसे खरीदने की आवश्यकता नहीं है।

रिवर्स इंजीनियरिंग: http://www.forum-omondo.com/documentation_eclipseuml_2008/reverse/reverse/reverse_engineering_example.html

लाइव फ्लैश डेमो: http://www.ejb3.org/reverse.swf

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


1

अब तक मैंने सबसे अच्छा उपकरण रिवर्स इंजीनियरिंग, और राउंड ट्रिपिंग जावा के लिए इस्तेमाल किया है -> यूएमएल बोरलैंड्स टुगेदर है । यह एक्लिप्स (केवल एक प्लगइन नहीं) पर आधारित है और वास्तव में अच्छी तरह से काम करता है।



0

मेरा सुझाव है कि PlantUML। यह उपकरण बहुत उपयोगी और उपयोग में आसान है। PlantUML में Netbeans के लिए एक प्लगइन है जिससे आप अपने java कोड से UML आरेख बना सकते हैं।

आप इस विधि से netbeans में PlantUML प्लगइन स्थापित कर सकते हैं:

Netbeans मेनू -> उपकरण -> प्लगइन

अब उपलब्ध प्लगिन का चयन करें और फिर प्लांटयूएमएल ढूंढें और इसे स्थापित करें।

अधिक जानकारी के लिए वेबसाइट: www.plantuml.com पर जाएं


0

मैंने देखा है Intellij के लिए SequenceDiagram प्लगइन भी एक अच्छा विकल्प है।


1
पीढ़ी के लिए यह जांचें: - quora.com/What-is-the-best-tool-to-generate-UML-diagrams , stackoverflow.com/questions/4449291/… (रिवर्स इंजीनियरिंग) और स्केचिंग के लिए & lt ; - guru99.com/ सबसे यूएमएल-tools.html (याद रखें, सब मुफ़्त उपकरण अनुक्रम आरेख उत्पन्न नहीं करता है, केवल वर्ग चित्र का समर्थन कर सकते मैं यूएमएल चित्र के मैनुअल निर्माण के लिए पीढ़ी और draw.io के लिए इस्तेमाल किया अनुक्रम आरेख है)
Whoami

0

जावा के लिए एक और मॉडलिंग टूल (मेरी) वेबसाइट GitUML है । GitHub रिपॉजिटरी में संग्रहीत जावा या पायथन कोड से यूएमएल आरेख उत्पन्न करें।

GitUML के साथ एक महत्वपूर्ण विचार "प्रलेखन" के साथ समस्याओं में से एक को संबोधित करना है: कि आरेख हमेशा पुराने हैं। GitUML के साथ, जब आप git का उपयोग करके कोड को धक्का देते हैं, तो चित्र स्वचालित रूप से अपडेट हो जाते हैं।

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

आरेख ब्राउज़र

बिंदु और क्लिक का उपयोग करके चित्र बनाएं। कोई ड्रैग ड्रॉप संपादक नहीं है, बस रिपॉजिटरी ट्री में उन कक्षाओं पर क्लिक करें जिन्हें आप देखना चाहते हैं:

उन जावा कक्षाओं का चयन करें जिन्हें आप कल्पना करना चाहते हैं

अंतर्निहित प्रौद्योगिकी प्लांटयूएमएल आधारित है, जिसका अर्थ है कि आप अतिरिक्त प्लांटयूएमएल मार्कअप के साथ अपने आरेखों को परिष्कृत कर सकते हैं।


0

बाइनरीडोक नाम का एक निशुल्क उपकरण है जो जावा विधि के (स्रोत कोड के बजाय ) उत्पन्न , या ( ) कर सकता है ।UML Sequence DiagramControl Flow GraphCFGbytecode

यहाँ एक नमूना चित्र है binarydoc जावा विधि के लिए उत्पन्न java.net.AbstractPlainSocketImpl.getInputStream :

  • नियंत्रण प्रवाह विधि का ग्राफjava.net.AbstractPlainSocketImpl.getInputStream :

नियंत्रण प्रवाह ग्राफ

  • विधि का यूएमएल अनुक्रम आरेखjava.net.AbstractPlainSocketImpl.getInputStream :

यूएमएल सीक्वेंस डायग्राम

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.