มีเครื่องมือที่สามารถแยกวิเคราะห์ไฟล์ C ++ ภายในโปรเจ็กต์และสร้าง UML จากมันได้หรือไม่
มีเครื่องมือที่สามารถแยกวิเคราะห์ไฟล์ C ++ ภายในโปรเจ็กต์และสร้าง UML จากมันได้หรือไม่
คำตอบ:
นี่คือตัวเลือกบางส่วน:
คำแนะนำทีละขั้นตอนในการ 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
ฉันเชื่อว่าEnterprise Architectทำได้
ฉันได้พัฒนาเครื่องมือที่เรียกว่าDoxygraphซึ่งสามารถแยกวิเคราะห์ XML ที่สร้างโดย Doxygen และเปลี่ยนเป็นแผนภาพคลาส UML แบบโต้ตอบซึ่งคุณสามารถดูในเว็บเบราว์เซอร์หรือนำเข้าสู่ซอฟต์แวร์ใด ๆ ที่สามารถอ่านไฟล์ Graphviz "dot" ได้
ฉันพบว่า Wikipedia สามารถเป็นแหล่งข้อมูลที่ดีเยี่ยมเกี่ยวกับเครื่องมือดังกล่าวโดยเฉพาะอย่างยิ่งสำหรับตารางเปรียบเทียบ มีหน้าเป็นเครื่องมือ UML ดูโดยเฉพาะคอลัมน์ภาษาวิศวกรรมย้อนกลับ
UML Studioทำสิ่งนี้ได้ดีจากประสบการณ์ของฉันและจะทำงานใน "โหมดฟรีแวร์" สำหรับโครงการขนาดเล็ก
ดูเหมือนว่าUmbrelloจะสร้าง UML ที่ดีที่สุดจากโค้ด C ++ (แนะนำให้ใช้เวอร์ชันล่าสุด> = 2.22) เปรียบเทียบกับautodiaบรรทัดคำสั่งสำหรับDiaและเครื่องมืออื่น ๆ
StarUMLไม่ได้สร้างไดอะแกรมที่ดีสำหรับฉัน: การนำเข้าแปลก ๆ ใช้ไม่ได้ใช้งานไม่ได้สำหรับหลาย ๆ คน: https://github.com/staruml/Cpp/issues
ฉันใช้ Rational Rose และ Rational Rhapsody สำหรับงานวิศวกรรมย้อนกลับโครงการขนาดใหญ่ ฉันต้องการ Rational Rhapsody ในการรับไฟล์คลาส UML สำหรับ C ++!
ใครก็ตามที่ต้องการ UML สมควรได้รับRational Rose :)
StarUMLทำอย่างนั้นและฟรี น่าเสียดายที่ไม่ได้รับการอัปเดตมาระยะหนึ่งแล้ว มีโปรเจ็กต์หน่อสองโปรเจ็กต์ (เนื่องจากผู้ดูแลโครงการไม่อนุญาตให้ยึดครอง) แต่พวกเขาก็เสียชีวิตเช่นกัน