วิธีสร้างไดอะแกรม UML (โดยเฉพาะไดอะแกรมลำดับ) จากโค้ด Java


434

ฉันจะสร้างไดอะแกรม UML (โดยเฉพาะไดอะแกรมลำดับ) จากโค้ด Java ที่มีอยู่ได้อย่างไร


3
ที่ไม่น่าจะเกิดขึ้น โค้ด Java จริงไม่มีโครงสร้างให้ดูสวยเหมือนไดอะแกรม UML
Stephan Eggermont

1
คำตอบมากมายที่ไม่ได้เรียงลำดับแผนภาพ Hmph
Bill K

@ บิลล์คำตอบของฉันใช้ไดอะแกรมลำดับที่อยู่ มันเป็นปลั๊กอิน Idea Intellij - stackoverflow.com/a/45239269/529187
Xiao Peng - ZenUML.com

1
คำถามนี้เป็นคำถามที่เหมาะสมมากขึ้นกับน้องสาวของเว็บไซต์แนะนำซอฟท์แว Stack แลกเปลี่ยน
Basil Bourque

คำตอบ:


257

ObjectAid UML Explorer

เป็นสิ่งที่ฉันใช้ ติดตั้งได้ง่ายจากที่เก็บ:

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

และสร้างไดอะแกรม UML ที่ค่อนข้างดี:

ภาพหน้าจอ

คำอธิบายจากเว็บไซต์:

ObjectAid UML Explorer นั้นแตกต่างจากเครื่องมือ UML อื่น ๆ มันใช้สัญกรณ์ UML เพื่อแสดงการแสดงกราฟิกของรหัสที่มีอยู่ที่ถูกต้องและทันสมัยเป็นตัวแก้ไขข้อความของคุณในขณะที่ใช้งานง่ายมาก คุณสมบัติที่เป็นเอกลักษณ์หลายอย่างทำให้เป็นไปได้:

  • ซอร์สโค้ดและไลบรารีของคุณเป็นรุ่นที่แสดงขึ้นมา แต่จะไม่ถูกออกแบบวิศวกรรมย้อนกลับในรูปแบบที่แตกต่างกัน
  • หากคุณอัปเดตโค้ดใน Eclipse ไดอะแกรมของคุณก็จะถูกอัพเดตเช่นกัน ไม่จำเป็นต้องกลับรหัสต้นฉบับของวิศวกร
  • การ Refactoring ปรับปรุงไดอะแกรมของคุณรวมถึงซอร์สโค้ด เมื่อคุณเปลี่ยนชื่อฟิลด์หรือย้ายคลาสไดอะแกรมของคุณจะสะท้อนการเปลี่ยนแปลงโดยไม่ต้องซิงค์
  • ไดอะแกรมทั้งหมดในเวิร์กสเปซ Eclipse ของคุณถูกอัพเดตด้วยการเปลี่ยนการเปลี่ยนแปลงตามความเหมาะสม หากจำเป็นพวกเขาจะถูกตรวจสอบจากระบบควบคุมเวอร์ชันของคุณ
  • ไดอะแกรมถูกรวมเข้ากับ Eclipse IDE อย่างสมบูรณ์ คุณสามารถลากคลาส Java จากมุมมองอื่นไปยังไดอะแกรมและข้อมูลที่เกี่ยวข้องกับไดอะแกรมจะแสดงในมุมมองอื่น ๆ

ง่ายกว่า Papyrus แต่มีตัวเลือกน้อยกว่าในการสร้างไดอะแกรม
lcardosobr

ใน ObjectAid มีวิธีจัดเรียงแผนภาพคลาสโดยอัตโนมัติหรือไม่
นำมาใช้ใหม่

4
วิธีการ >>> สร้างบัญชีที่นี่: objectaid.com/login (อีเมลการเปิดใช้งานถูกส่งภายใน 10 นาที) คลิกที่ Add-On Diagram ใบอนุญาตจะถูกส่งไปยังอีเมลของคุณ ทำตามobjectaid.com/installationนี้เพื่อติดตั้ง ObjectAid จากนั้นติดตั้ง GEF จากdownload.eclipse.org/tools/gef/updates/releases ตอนนี้คัดลอกใบอนุญาตวางใบอนุญาตจากอีเมลไปที่ Window-> Preferences-> ObjectAid สร้างไดอะแกรมอย่างไร objectaid.com/class-diagram
rluks

ไม่สามารถติดตั้งใน eclipse juno 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.
Gunaseelan

1
รุ่นเชิงพาณิชย์ของ ObjectAid สามารถทำได้ดีกว่าเมื่อพูดถึงการสร้างไดอะแกรมตามลำดับเทียบกับฟรีเท่านั้นที่สามารถใช้สร้างไดอะแกรมระดับ !!
whoami

63

แก้ไข: ถ้าคุณเป็นนักออกแบบแล้วPapyrusเป็นตัวเลือกที่ดีที่สุดของคุณมันสูงมากและเต็มไปด้วยฟีเจอร์ต่าง ๆ แต่ถ้าคุณแค่อยากจะร่างไดอะแกรม UML และการติดตั้งง่าย ๆObjectAid จะสวยและไม่ต้องใช้ปลั๊กอินใด ๆ เพิ่งติดตั้งผ่าน Eclipse-Java EE และใช้งานได้ดี!


อัพเดท 11 ตุลาคม 2556

โพสต์ต้นฉบับของฉันคือในเดือนมิถุนายน 2012 หลายสิ่งหลายอย่างได้เปลี่ยนเครื่องมือจำนวนมากได้เติบโตขึ้นและคนอื่นไม่ได้ เนื่องจากฉันจะกลับไปทำแบบจำลองและได้รับการตอบกลับไปยังโพสต์ฉันตัดสินใจที่จะติดตั้งต้นกกอีกครั้งและจะตรวจสอบวิธีการสร้างแบบจำลอง UML อื่น ๆ ที่เป็นไปได้อีกครั้ง การสร้าง UML (พร้อมคุณสมบัติการซิงโครไนซ์) มีความสำคัญมากสำหรับนักออกแบบซอฟต์แวร์ แต่สำหรับนักพัฒนาทั่วไป

ฉันหวังว่าต้นกกมีวิธีที่ตรงไปตรงมาในการย้อนกลับคลาสวิศวกรลงในแผนภาพคลาส UML และมันจะเจ๋งมากถ้าวิศวกรรมย้อนกลับนั้นมีคุณสมบัติการซิงโครไนซ์ แต่โครงการปาไพรัสที่เต็มไปด้วยคุณสมบัติ การกระทำที่คุณทำกับต้นกกอาจไม่ให้การตอบสนองใด ๆ และไม่มีอะไรเกิดขึ้น แต่นั่นอยู่นอกเหนือขอบเขตคำถามนี้

คำตอบ (11 ตุลาคม 2013)

เครื่องมือ

  1. ดาวน์โหลด Papyrus
  2. ไปที่วิธีใช้ -> ติดตั้งซอฟต์แวร์ใหม่ ...
  3. ในเมนูแบบเลื่อนลงทำงานกับ:เลือก- ไซต์ที่ใช้ได้ทั้งหมด -
  4. ในตัวกรองให้พิมพ์Papyrus
  5. หลังจากการติดตั้งเสร็จสิ้นให้รีสตาร์ท Eclipse
  6. ทำซ้ำขั้นตอนที่ 1-3 และในเวลานี้ให้ติดตั้งModisco

ขั้นตอน

  1. ในโปรเจ็กต์ java ของคุณ (สมมติว่ามันชื่อว่า MyProject) สร้างโฟลเดอร์เช่น UML
  2. คลิกขวาที่ชื่อโครงการ -> Discovery -> Discoverer -> Discover Java และโมเดลสินค้าคงคลังจากโครงการ Java ไฟล์ที่ชื่อว่า MyProject_kdm.xmi จะถูกสร้างขึ้น ป้อนคำอธิบายรูปภาพที่นี่
  3. คลิกขวาที่ชื่อโครงการ -> ใหม่ -> โมเดลพาไพรัส -> แล้วเรียกว่า MyProject
  4. ย้ายไฟล์สามไฟล์ที่สร้างขึ้น MyProject.di, MyProject.notation, MyProject.uml ไปยังโฟลเดอร์ UML
  5. คลิกขวาที่ MyProject_kdm.xmi -> Discovery -> Discoverer -> Discover UML model จากรหัส KDM อีกครั้งคุณจะได้รับกล่องโต้ตอบคุณสมบัติตั้ง propization ให้เป็น TRUE เพื่อสร้างไฟล์ชื่อ MyProject.uml ป้อนคำอธิบายรูปภาพที่นี่

  6. ย้าย MyProject.uml ที่สร้างขึ้นซึ่งสร้างขึ้นที่รูทไปยังโฟลเดอร์ UML Eclipse จะถามคุณหากคุณต้องการแทนที่คลิกใช่ สิ่งที่เราทำในที่นี้คือเราแทนที่โมเดลที่ว่างเปล่าด้วยโมเดลที่สร้างขึ้น

  7. ALT + W -> แสดงมุมมอง -> papyrus -> model explorer

  8. ในมุมมองนั้นคุณจะพบชั้นเรียนของคุณเหมือนในภาพ ป้อนคำอธิบายรูปภาพที่นี่

  9. ในมุมมองรูปแบบรูทคลิกขวา -> แผนภาพใหม่ ป้อนคำอธิบายรูปภาพที่นี่

  10. จากนั้นเริ่มการจับคลาสไปยังไดอะแกรมจากมุมมอง

คุณสมบัติบางอย่าง

  • เพื่อแสดงองค์ประกอบคลาส (ตัวแปรฟังก์ชั่น ฯลฯ ) คลิกขวาที่คลาสใดก็ได้ -> ตัวกรอง -> แสดง / ซ่อนเนื้อหา Voila !!

  • คุณสามารถตั้งค่าสีที่เป็นมิตรเริ่มต้นจาก Window -> pereferences -> papyrus -> แผนภาพคลาส

  • การตั้งค่าที่สำคัญอย่างหนึ่งคือจัดเรียงเมื่อคุณปล่อยคลาสที่พวกเขาได้รับคลิ๊กขวาบนพื้นที่ว่างที่ไดอะแกรมของชั้นเรียนแล้วคลิกจัดเรียงทั้งหมด

  • ลูกศรในมุมมอง explorer ของโมเดลสามารถถูกคว้าไปยังไดอะแกรมเพื่อแสดงการวางนัยทั่วไปการทำให้เป็นจริงและอื่น ๆ

  • หลังจากนั้นการตั้งค่าทั้งหมดของคุณจะแสดงไดอะแกรมเช่น ป้อนคำอธิบายรูปภาพที่นี่

  • การซิงโครไนซ์ไม่พร้อมใช้งานเท่าที่ฉันรู้ว่าคุณจะต้องนำเข้าคลาสใหม่ด้วยตนเอง

นั่นคือทั้งหมดและอย่าซื้อผลิตภัณฑ์เชิงพาณิชย์เว้นแต่ว่าคุณต้องการมันจริงๆกระดาษปาปิรัสนั้นยอดเยี่ยมและมีความซับซ้อนแทนการบริจาคหรือสิ่งของ

ข้อจำกัดความรับผิดชอบ: ฉันไม่มีความสัมพันธ์กับคนต้นกก แต่จริงๆแล้วฉันไม่ชอบต้นกกเลยจนกระทั่งฉันได้ทำการวิจัยมากมายและมีประสบการณ์ด้วยความอดทน และจะกลับไปที่โพสต์นี้อีกครั้งเมื่อฉันลองใช้เครื่องมือฟรีอื่น ๆ


ฉันค้นหา Modisco ใน eclipse มันปรากฏขึ้นพร้อมกับ 0 ไม่ผิดพลาด โครงการนี้ยังมีชีวิตอยู่หรือถูกพาไป? มันกลายเป็นเครื่องมือที่ได้รับค่าจ้างหรือเปล่า ต้นกกจะไม่ทำงานหากไม่มีสิ่งนี้หรือไม่
R-JANA

ใช้งาน STS และไม่สำเร็จ
R-JANA

@ R-JANA ฉันไม่ทราบว่าสถานะปัจจุบันของ Modisco คืออะไร แต่ฉันจะกลับไปที่โพสต์นี้โดยเร็วเพราะฉันกำลังจะติดตั้งกระดาษปาปิรัสเร็ว ๆ นี้และจะต้องอัปเดต ฉันแนะนำให้คุณลองติดตั้งต้นกกด้วยตนเองโดยคำนึงถึงโพสต์ปัจจุบันของฉัน ฉันคิดว่าการเปลี่ยนแปลงเกิดขึ้นมากมายตั้งแต่ฉันโพสต์คำตอบนี้
Ismail Marmoush

มีตัวเลือกปลั๊กอินสำหรับกกที่เพิ่มฟังก์ชั่น Java วิศวกรรมย้อนกลับเป็น: wiki.eclipse.org/Java_reverse_engineering ด้วยวิธีนี้มันเป็นวิธีที่ง่ายกว่าในการเพิ่มองค์ประกอบไดอะแกรมจากแหล่งที่มาคุณสามารถลากคลาสลงในไดอะแกรม
Markus Ende

42

codebase ของคุณคืออะไร Java หรือ C ++

ข้อความแสดงแทน

eUML2 สำหรับ Java เป็น UML modeler ที่ออกแบบมาสำหรับ Java developper ใน Eclipse รุ่นฟรีสามารถใช้เพื่อการค้า รองรับคุณสมบัติดังต่อไปนี้:

  • CVS และการสนับสนุนทีม
  • ออกแบบมาสำหรับโครงการขนาดใหญ่ที่มีมุมมองหลายแบบและปรับแต่งได้
  • สอดคล้องกับ Helios
  • การซิงโครไนซ์รหัส / โมเดลเรียลไทม์
  • UML2.1 เป็นไปตามมาตรฐานและการสนับสนุน OMG XMI
  • การสนับสนุน JDK 1.4 และ 1.5
  • รุ่นเชิงพาณิชย์ให้:

  • วิศวกรรมย้อนกลับขั้นสูง

  • เครื่องมือการวิเคราะห์การพึ่งพาที่แท้จริงที่มีประสิทธิภาพ
  • โปรไฟล์ UML และ MDD
  • เครื่องมือฐานข้อมูล
  • รองรับเทมเพลตที่ปรับแต่งได้

20
นี่เป็นเครื่องมือที่ยากมากในการติดตั้ง ฉันพยายามประมาณครึ่งชั่วโมงโดยไม่ประสบความสำเร็จ ข้อเสนอแนะอื่น ๆ ?
Jonathan

2
ไม่สามารถหา eUML2 เป็น Update Managaer ของฉันและฉันไม่ต้องการที่จะแพ็คการตั้งค่า Eclipse ใหม่เพียงแค่คุณสมบัตินี้ ฉันใช้ Eclipse "Helios" และไปทางนี้: ช่วยเหลือ - ติดตั้งซอฟต์แวร์ใหม่ - Helios download.eclipse.org/releases/helios - Modeling
OneWorld

3
ฉันรู้ว่านี่เป็นโพสต์เก่า แต่ปัญหาส่วนใหญ่เกี่ยวกับการติดตั้ง eUML2 ดูเหมือนจะได้รับการแก้ไข
Andy

7
eUML เป็นอึจริง มันเปลี่ยนรูปแบบรหัสของฉันและเพิ่มแท็กทุกที่ ตอนนี้รหัสของฉันสกปรกมากจนฉันต้องการยกเลิกการเปลี่ยนแปลง ปัญหาคือไม่มีการเลิกทำและรหัสของคุณจะเปลี่ยนไปตลอดกาล ฉันขอแนะนำให้สำรองข้อมูลโครงการของคุณก่อนที่จะใช้ eUML crapper :-)
UML GURU

31
คุณเคยได้ยินเกี่ยวกับการควบคุมเวอร์ชันหรือไม่?
กลืน elysium

9

ฉันเป็นหนึ่งในผู้เขียนดังนั้นคำตอบจึงสามารถมีอคติได้ มันเป็นโอเพนซอร์ส (Apache 2.0) แต่ปลั๊กอินไม่ฟรี คุณไม่ต้องจ่าย (ชัด) ถ้าคุณโคลนและสร้างมันในเครื่อง

บน Intellij IDEA, ZenUML สามารถสร้างไดอะแกรมลำดับจากโค้ด Java ป้อนคำอธิบายรูปภาพที่นี่

ตรวจสอบได้ที่https://plugins.jetbrains.com/plugin/12437-zenuml-support

รหัสที่มา: https://github.com/ZenUml/jetbrains-zenuml


1
@hc_dev ขอบคุณสำหรับการเตือนความจำของคุณ เพิ่มบันทึกย่อนั้น
Xiao Peng - ZenUML.com

7

วิธีการเกี่ยวกับPlantUML ? มันไม่ได้สำหรับวิศวกรรมย้อนกลับ !!! สำหรับวิศวกรรมก่อนรหัส


4
ไม่ตอบคำถามซึ่งขอเครื่องมือวิศวกรรมย้อนกลับอย่างชัดเจน
jmite

1
ฉันไม่แน่ใจว่าถูกต้องสมบูรณ์ PlantUML ยังสามารถอธิบายรหัสด้วยไดอะแกรม ลองเปิดมุมมองที่เกี่ยวข้องในไฟล์คลาส
Erez A. Korn

1
ใช่ฉันสามารถตรวจสอบได้ว่าคลาสไดอะแกรมนั้นสร้างขึ้นโดยอัตโนมัติจากไฟล์ Java ในปลั๊กอิน Eclipse
HRJ

1
ฉันลองสิ่งนี้ แต่ถ้ารหัส PlantUML ของคุณซับซ้อนเกินไปคุณใช้เวลาพยายามหาสาเหตุที่รูปวาดไม่ทำงานอย่างถูกต้องและมีปัญหา มันดีสำหรับไดอะแกรมขนาดเล็กเท่านั้น
trusktr

ใน Intellij รวม PlantUML กับ Sketch It! และ graphviz สามารถสร้างไดอะแกรมคลาสจากรหัส ทำงานได้ดีที่สุดสำหรับแพ็คเกจขนาดเล็กดูเหมือนว่า pngs จะไม่ถูกสร้างขึ้นอย่างสมบูรณ์เมื่อไดอะแกรมมีขนาดใหญ่เกินไป
Melissa Loos

6

ฉันพัฒนาปลั๊กอิน maven ที่สามารถทั้งคู่เรียกใช้จาก CLI เป็นเป้าหมายปลั๊กอินหรือนำเข้าเป็นการพึ่งพาและใช้ parser โดยทางโปรแกรม@see Main#main()เพื่อรับแนวคิดเกี่ยวกับวิธีการ

มันแสดงผลรหัสPlantUML src ของแพคเกจที่ต้องการซ้ำซึ่งคุณสามารถแก้ไขได้ด้วยตนเองหากจำเป็น (หวังว่าคุณจะไม่ทำ) จากนั้นโดยการวางรหัสในหน้า plantUML หรือโดยการดาวน์โหลด jar ของโรงงานคุณสามารถแสดงแผนภาพ UML เป็นภาพ png

ลองใช้งานได้ที่นี่https://github.com/juanmf/Java2PlantUML

ตัวอย่างแผนภาพผลลัพธ์: ป้อนคำอธิบายรูปภาพที่นี่

ผลงานใด ๆ เป็นมากกว่าการต้อนรับ มันมีชุดตัวกรองที่ปรับแต่งผลลัพธ์ แต่ฉันยังไม่ได้เปิดเผยสิ่งเหล่านี้ในปลั๊กอิน CLI params

เป็นสิ่งสำคัญที่จะต้องทราบว่าไม่ จำกัด เฉพาะไฟล์ * .java ของคุณ แต่สามารถแสดง UML diagrams src จากการพึ่งพา maven ของคุณได้เช่นกัน การเข้าใจไลบรารีที่คุณพึ่งพานั้นเป็นประโยชน์ มันตรวจสอบคลาสที่คอมไพล์ด้วยการสะท้อนจึงไม่จำเป็นต้องใช้แหล่งที่มา

เป็นคนแรกที่ติดดาวที่ GitHub: P


4

ฉันอยากจะแนะนำEclipseUML จาก Omondoสำหรับการใช้งานทั่วไปแม้ว่าฉันจะประสบปัญหาบางอย่างไม่กี่เดือนกลับมาด้วยโครงการเว็บของฉัน พวกเขามีรุ่นฟรีในจุดหนึ่งในเวลา แต่ที่คาดคะเนไม่ได้รับการส่งเสริมอีกต่อไป

หากคุณจริงๆกระตือรือร้นในแผนภาพลำดับวิศวกรรมย้อนกลับจากซอร์สโค้ดฉันอยากจะแนะนำjTracert

เท่าที่โครงการของ Eclipse นั้นเกี่ยวข้องกับเครื่องมือ Eclipse UML2โครงการอาจสนับสนุนวิศวกรรมย้อนกลับแม้ว่าฉันจะไม่เคยเห็นการใช้งานจริงในทางปฏิบัติ

โครงการMoDisco (Model Discovery) โครงการ Eclipse GMT ดูเหมือนจะชัดเจนในการบรรลุวัตถุประสงค์ของคุณ รายการเครื่องมือเฉพาะเทคโนโลยีที่จะเป็นสถานที่ที่ดีที่จะเริ่มต้นด้วย


ไม่พบคุณลักษณะย้อนกลับทางวิศวกรรมในเครื่องมือ UML2 (
OneWorld

2
jTracert ถูกยกเลิกแล้ว ผู้สืบทอดของ jTracert ซึ่งเป็นเครื่องมือใหม่ที่ชื่อ jSonde ได้รับอนุญาตภายใต้ GPL v3 jsonde.com
อัลไพน์

Omondo นั้นดีที่สุดสำหรับ java การรวมเข้าด้วยกันสะอาดจริงๆไม่มีการผสมผสานระหว่างรุ่นและรหัส สุดยอด แต่แพงเกินไป เราได้รับอนุญาตให้ซื้อใบอนุญาตเพียงใบเดียว แต่เราเป็นผู้สร้างแบบจำลองมากกว่า 20 รายที่ใช้เพราะความปลอดภัยขึ้นอยู่กับการเข้าสู่ระบบชื่อผู้ใช้ หมายความว่าหากผู้ใช้ 10 คนมีการเข้าสู่ระบบเหมือนกันทุกคนสามารถใช้งานได้ เราได้รับสิทธิ์การใช้งานพร้อมชื่อผู้ใช้งานผู้ดูแลระบบ :-)
UML GURU

jSondeไม่สามารถใช้ได้ใน URL ที่แสดงข้างต้น คุณสามารถค้นหาเว็บไซต์และรหัสแหล่งที่มาใน Github: github.com/bedrin/jsonde
Jaime

3

ฉันพบปลั๊กอินสีเขียวใช้งานง่ายมากและสร้างไดอะแกรมคลาสจากซอร์สโค้ด ให้มันลอง :). เพียงแค่คัดลอกปลั๊กอินไปยังปลั๊กอินของคุณ


2
สีเขียวดูเหมือนว่ามันมีศักยภาพ อย่างไรก็ตามในที่ทำงานของฉันเรามีโปรเจ็กต์ที่มีคลาส ~ 700 คลาสและมันก็สับไปสักหน่อยแล้วก็ตาย
Appak

3

คุณสามารถลองใช้ตัวดัดแปลง netbeans UML ได้ ฉันใช้มันเพื่อสร้าง javacode ที่ฉันใช้ในโครงการ eclipse ของฉัน คุณสามารถอิมพอร์ตโปรเจ็กต์ eclipse ใน netbeans และทำให้การตั้งค่า eclipse ซิงค์กับการตั้งค่าโปรเจ็กต์ netbeans

ฉันลองใช้ตัวดัดแปลง UML หลายตัวสำหรับ eclipse และไม่พอใจกับมัน พวกมันไม่เสถียรซับซ้อนหรือน่าเกลียดธรรมดา ;-)


แค่อยากจะพูดถึงว่าฉันยังใช้ Netbeans UML modeller และไม่ชนกับปัญหาในกรณีที่ค่อนข้างง่ายของฉัน UI ไม่ง่ายเกินไป แต่ก็ใช้ได้ทั้งหมด ตัวดัดแปลงยังมีคุณสมบัติขั้นสูงบางอย่างเช่นการสร้างรหัสเอนทิตี JPA จากรุ่นหากฉันจำได้อย่างถูกต้อง
Tuukka Mustonen

1
น่าเสียดายที่ดูเหมือนว่าปลั๊กอิน UML ไม่ได้รับการสนับสนุนอีกต่อไป เห็นได้ชัดว่ามีการเขียนปลั๊กอินใหม่แต่ไม่ได้ช่วยใครเลยเพราะวางปลั๊กอินเก่าลงก่อนที่การเขียนจะเสร็จสมบูรณ์
Appak

นั่นเป็นคนเกียจคร้าน :-( หวังว่าการเขียนจะใช้เวลาไม่นาน :-)
Patrick Cornelissen

1
UML สำหรับ NetBeans ถูกทำขึ้นโดยรองประธาน พวกเขาจะไม่ทำมันอีกต่อไปมีเพียง VP UML ของพวกเขาเท่านั้นที่พร้อมใช้งานในขณะนี้ด้วยรุ่นฟรีที่อ่อนแอ
Gangnus

2

ใช้ IntelliJ IDEA ในการสร้างคลาสแผนภาพเลือกแพ็คเกจและกดCtrl+ Alt+ U:ป้อนคำอธิบายรูปภาพที่นี่

โดยค่าเริ่มต้นจะแสดงชื่อคลาสเท่านั้นและไม่ขึ้นต่อกันทั้งหมด หากต้องการเปลี่ยน: คลิกขวา -> แสดงหมวดหมู่ ... และแสดงการอ้างอิง: ป้อนคำอธิบายรูปภาพที่นี่

วิธีสร้างไดอะแกรมการอ้างอิง (แผนภาพการปรับใช้ UML) และคุณใช้ maven go View -> เครื่องมือ Windows -> โครงการ Maven และกดCtrl+ Alt+ U: ป้อนคำอธิบายรูปภาพที่นี่

ผลลัพธ์: ป้อนคำอธิบายรูปภาพที่นี่

นอกจากนี้ยังเป็นไปได้ที่จะสร้างไดอะแกรมอื่น ๆ เพิ่มเติม โปรดดูเอกสาร


2

คุณสามารถใช้การสร้างการประเมินผล 30 วันของ EclipseUML สำหรับ Eclipse 3.5: http://www.uml2.org/eclipse-java-galileo-SR2-win32_eclipseUML2.2_package_may2010.zip นี่ไม่ใช่รุ่น 3.6 ใหม่สวย แต่สวยและ ไม่ต้องการให้คุณซื้อเพื่อทำการทดสอบและวิศวกรรมย้อนกลับ

วิศวกรรมย้อนกลับ: http://www.forum-omondo.com/documentation_eclipseuml_2008/reverse/reverse/reverse_engineering_example.html

การสาธิตแฟลชสด: http://www.ejb3.org/reverse.swf

EclipseUML Omondo เป็นเครื่องมือที่ดีที่สุดในโลกสำหรับ Java ดูเหมือนว่าเฉพาะ eUML ที่จะแข่งขันกับมันในตลาดการซิงโครไนซ์สดนี้ แต่ eUML เพิ่มแท็กโมเดลในโค้ดซึ่งแย่มาก ๆ และไม่ต้องไปหาฉัน


1

ไกลโดยเครื่องมือที่ดีที่สุดฉันได้ใช้สำหรับงานด้านวิศวกรรมย้อนกลับและ Java สะดุดรอบ -> UML คือร่วมกันบอร์แลนด์ มันขึ้นอยู่กับ Eclipse (ไม่ใช่แค่ปลั๊กอินตัวเดียว) และใช้งานได้ดีจริงๆ


ตอนนี้ Together เป็นMicro Focus Together
Jaime

0

ฉันแนะนำ PlantUML เครื่องมือนี้มีประโยชน์มากและใช้งานง่าย PlantUML มีปลั๊กอินสำหรับ Netbeans ที่คุณสามารถสร้างแผนภาพ UML ได้จากโค้ด java ของคุณ

คุณสามารถติดตั้งปลั๊กอิน PlantUML ในเน็ตโดยวิธีนี้:

เมนู Netbeans -> เครื่องมือ -> ปลั๊กอิน

ตอนนี้เลือกปลั๊กอินที่พร้อมใช้งานแล้วค้นหา PlantUML แล้วติดตั้ง

สำหรับข้อมูลเพิ่มเติมไปที่เว็บไซต์: www.plantuml.com


0

ฉันสังเกตเห็นว่าปลั๊กอิน SequenceDiagram สำหรับ Intellij ก็เป็นตัวเลือกที่ดีเช่นกัน


1
ตรวจสอบรุ่นนี้: - quora.com/What-is-the-best-tool-to-generate-UML-diagrams , stackoverflow.com/questions/4449291/ (วิศวกรรมย้อนกลับ) && สำหรับการร่างภาพ: - guru99.com/ best-uml-tools.html (จำไม่ได้ว่าเครื่องมือฟรีทั้งหมดไม่สามารถสร้างไดอะแกรมลำดับอาจสนับสนุนไดอะแกรมคลาสฉันได้ใช้ SequenceDiagram สำหรับการสร้าง & draw.io สำหรับการสร้าง UML diagrams ด้วยตนเอง)
whoami

0

เครื่องมือสร้างแบบจำลองอีกอย่างสำหรับ Java คือเว็บไซต์ของฉัน ( GitUML ) สร้างไดอะแกรม UML จากรหัส Java หรือ Python ที่เก็บไว้ในที่เก็บ GitHub

แนวคิดสำคัญอย่างหนึ่งของ GitUML คือการจัดการปัญหาอย่างใดอย่างหนึ่งกับ "เอกสาร": แผนภาพนั้นล้าสมัยอยู่เสมอ ด้วย GitUML ไดอะแกรมจะอัปเดตโดยอัตโนมัติเมื่อคุณกดรหัสโดยใช้ git

เรียกดูไดอะแกรม UML ชุมชนมีบางรูปแบบการออกแบบ Java ท่องไปกับที่เก็บ GitHub ยอดนิยมและเห็นภาพสถาปัตยกรรมและรูปแบบในนั้น

เบราว์เซอร์ไดอะแกรม

สร้างไดอะแกรมโดยใช้จุดและคลิก ไม่มีตัวแก้ไขการลากลากเพียงคลิกที่คลาสในแผนผังที่เก็บที่คุณต้องการให้เห็นภาพ:

เลือกคลาส Java ที่คุณต้องการให้เห็นภาพ

เทคโนโลยีพื้นฐานคือ PlantUML ซึ่งหมายความว่าคุณสามารถปรับแต่งไดอะแกรมของคุณด้วยมาร์กอัป PlantUML เพิ่มเติม


0

มีเครื่องมือฟรีชื่อbinarydocซึ่งสามารถสร้างUML Sequence DiagramหรือControl Flow Graph( CFG) จากbytecode(แทนซอร์สโค้ด) ของวิธีการจาวา

นี่คือไดอะแกรมตัวอย่างbinarydoc ที่สร้างขึ้นสำหรับวิธีการ java java.net.AbstractPlainSocketImpl.getInputStream :

  • กราฟการควบคุมการไหลของวิธีการjava.net.AbstractPlainSocketImpl.getInputStream:

กราฟควบคุมการไหล

  • แผนภาพลำดับ UMLของวิธีการjava.net.AbstractPlainSocketImpl.getInputStream:

แผนภาพลำดับ UML

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.