สร้าง UML จากรหัส C ++? [ปิด]


113

มีเครื่องมือที่สามารถแยกวิเคราะห์ไฟล์ C ++ ภายในโปรเจ็กต์และสร้าง UML จากมันได้หรือไม่

คำตอบ:


74

นี่คือตัวเลือกบางส่วน:

คำแนะนำทีละขั้นตอนในการ Reverse Engineering Code ลงใน UML Diagrams ด้วย Microsoft Visio 2000 - http://msdn.microsoft.com/en-us/library/aa140255(office.10).aspx

BoUML - http://bouml.fr/features.html

StarUML - http://staruml.sourceforge.net/en/

วิศวกรรมย้อนกลับของแผนภาพคลาส UML จากโค้ด C ++ ต่อหน้าคอนเทนเนอร์ที่พิมพ์ไม่ชัดเจน (2001) - http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.27.9064

Umbrello UML Modeller - http://uml.sourceforge.net/

รายการเครื่องมืออื่น ๆ ให้ดู - http://plg.uwaterloo.ca/~migod/uml.html


ยอมรับคำตอบที่ละเอียดมากขึ้น
แก๊ก

1
BoUML ( bouml.fr ) พร้อมใช้งานสำหรับ Linux, Windows และ Mac
Rhubbarb

2
ดูคำถามที่คล้ายกันที่นี่และที่นี่และที่นี่
Keshava GN

8
BoUML ไม่ฟรี!
เจาะลึก

2
StarUML ล้มเหลวอย่างหนักในการสร้างสิ่งที่เป็นประโยชน์ไม่ว่าอย่างไรก็ตาม
bitmask

53

หากเป็นเพียงไดอะแกรมที่คุณต้องการdoxygenก็ทำได้ดีทีเดียว


2
ฉันเพิ่งได้ลำดับชั้นที่สมบูรณ์ในโครงการ + 300K LOC ด้วย Doxygen มันทำงานได้ดีจริงๆ!
HFSDev

15

ฉันเชื่อว่าEnterprise Architectทำได้


2
แน่นอนมันทำได้และทำได้ดี ฉันใช้มันมาหลายปีแล้วและสำหรับฉันแล้วมันเป็นเครื่องมือราคา / ประสิทธิภาพที่ดีที่สุดสำหรับมัน (ในบรรดาเครื่องมือที่ฉันใช้) ฉันได้ลองใช้ StarUML และ Together แล้ว - อันแรกมีศักยภาพ แต่ก็ยังไม่สมบูรณ์ อย่างที่สองคือช้าอย่างเจ็บปวด
Fabio Ceconello

ฉันไม่ได้ลอง Rational Rose เพราะมันสูงกว่าช่วงราคาที่ฉันยอมรับได้
Fabio Ceconello

15

ฉันได้พัฒนาเครื่องมือที่เรียกว่าDoxygraphซึ่งสามารถแยกวิเคราะห์ XML ที่สร้างโดย Doxygen และเปลี่ยนเป็นแผนภาพคลาส UML แบบโต้ตอบซึ่งคุณสามารถดูในเว็บเบราว์เซอร์หรือนำเข้าสู่ซอฟต์แวร์ใด ๆ ที่สามารถอ่านไฟล์ Graphviz "dot" ได้


2
แอปพลิเคชั่นที่ดีมาก! นอกเหนือจากความจริงที่ว่ามันขึ้นอยู่กับ libs ที่ฉันไม่มี (ดาวน์โหลดในภายหลังจาก cpan) แล้วทุกอย่างก็ทำงานได้อย่างสมบูรณ์ ขอบคุณ!
Rubens

8

ฉันพบว่า Wikipedia สามารถเป็นแหล่งข้อมูลที่ดีเยี่ยมเกี่ยวกับเครื่องมือดังกล่าวโดยเฉพาะอย่างยิ่งสำหรับตารางเปรียบเทียบ มีหน้าเป็นเครื่องมือ UML ดูโดยเฉพาะคอลัมน์ภาษาวิศวกรรมย้อนกลับ


5

UML Studioทำสิ่งนี้ได้ดีจากประสบการณ์ของฉันและจะทำงานใน "โหมดฟรีแวร์" สำหรับโครงการขนาดเล็ก


คุณสามารถเรียกใช้งานได้ในโหมดฟรี (จำกัด ) ภายใต้ไวน์
SChepurin

3

ดูเหมือนว่าUmbrelloจะสร้าง UML ที่ดีที่สุดจากโค้ด C ++ (แนะนำให้ใช้เวอร์ชันล่าสุด> = 2.22) เปรียบเทียบกับautodiaบรรทัดคำสั่งสำหรับDiaและเครื่องมืออื่น ๆ

StarUMLไม่ได้สร้างไดอะแกรมที่ดีสำหรับฉัน: การนำเข้าแปลก ๆ ใช้ไม่ได้ใช้งานไม่ได้สำหรับหลาย ๆ คน: https://github.com/staruml/Cpp/issues


2

ฉันใช้ Rational Rose และ Rational Rhapsody สำหรับงานวิศวกรรมย้อนกลับโครงการขนาดใหญ่ ฉันต้องการ Rational Rhapsody ในการรับไฟล์คลาส UML สำหรับ C ++!


1

ใครก็ตามที่ต้องการ UML สมควรได้รับRational Rose :)


2
โปรแกรมดี แต่แพงมาก!
ak3nat0n

ลิงก์ในคำตอบนี้ล้าสมัย ลิงค์ปัจจุบันคือwww-01.ibm.com/software/rational/products/swarchitect/cpp
Dan Nissenbaum

1
ทั้งลิงก์ต้นฉบับและลิงก์ในความคิดเห็นล้าสมัย ไม่รู้จะหาเวอร์ชั่นปัจจุบันได้ที่ไหน
Bruno Alexandre Rosa

ไม่พบหน้าผลิตภัณฑ์
nurp

1

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


1
StarUML ไม่ได้สร้างไดอะแกรมที่ดีสำหรับการนำเข้าแปลก ๆ สำหรับฉัน @Rhubbarb ทำงานภายใต้ Linux และ Mac เช่นกัน
Aleksey Kontsevich

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