Tạo UML từ mã C ++? [đóng cửa]


113

Có công cụ nào có thể phân tích cú pháp các tệp C ++ trong một dự án và tạo UML từ nó không?

Câu trả lời:


74

Dưới đây là một số tùy chọn:

Hướng dẫn từng bước để đảo ngược mã kỹ thuật thành sơ đồ UML với 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/

Thiết kế ngược của sơ đồ lớp UML từ mã C ++ với sự hiện diện của các vùng chứa được gõ yếu (2001) - http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.27.9064

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

Danh sách các công cụ khác để xem - http://plg.uwaterloo.ca/~migod/uml.html


Đồng ý với câu trả lời thấu đáo hơn.
gak

1
BoUML ( bouml.fr ) có sẵn cho Linux, Windows và Mac.
Rhubbarb

2
Xem các câu hỏi tương tự tại đâyđâyđây .
Keshava GN,

8
BoUML không miễn phí!
deepdive

2
StarUML đã không thành công trong việc tạo ra bất kỳ thứ gì hữu ích.
bitmask

53

Nếu nó chỉ là sơ đồ mà bạn muốn, doxygen thực hiện một công việc khá tốt.


2
Tôi vừa có hệ thống phân cấp lớp hoàn chỉnh trên một dự án + 300K LOC với Doxygen, nó thực sự hoạt động khá tốt!
HFSDev

15

Tôi tin rằng Enterprise Architect có thể làm được điều đó.


2
Thật vậy, nó làm, và làm tốt. Tôi đã sử dụng nó trong nhiều năm và đối với tôi, nó là công cụ hiệu suất / giá cả tốt nhất cho nó (trong số những công cụ tôi đã sử dụng). Tôi cũng đã thử StarUML và Together - cái đầu tiên có tiềm năng, nhưng vẫn chưa hoàn thiện. Thứ hai là chậm một cách đau đớn.
Fabio Ceconello

Tuy nhiên, tôi đã không thử Rational Rose, vì nó cao hơn mức giá chấp nhận được của tôi.
Fabio Ceconello

15

Tôi đã phát triển một công cụ có tên Doxygraph có thể phân tích cú pháp XML do Doxygen tạo ra và biến nó thành một biểu đồ lớp UML tương tác mà bạn có thể xem trong trình duyệt web hoặc nhập vào bất kỳ phần mềm nào có thể đọc tệp Graphviz "dot".


2
Ứng dụng rất hay! Ngoài thực tế là nó phụ thuộc vào khá nhiều lib mà tôi không có (tải xuống sau đó từ cpan), toàn bộ mọi thứ hoạt động hoàn hảo. Cảm ơn!
Rubens


5

Theo kinh nghiệm của tôi, UML Studio thực hiện điều này khá tốt và sẽ chạy ở "chế độ phần mềm miễn phí" cho các dự án nhỏ.


Bạn có thể chạy nó ở chế độ miễn phí (hạn chế) trong Wine.
SChepurin

3

Có vẻ như Umbrello tạo ra UML tốt nhất từ ​​mã C ++ (đề xuất sử dụng phiên bản mới nhất> = 2.22) so với tính năng autodia dòng lệnh cho Dia và các công cụ khác.

StarUML đã không tạo ra sơ đồ tốt cho tôi: nhập lạ, không sử dụng được, không hoạt động với nhiều người: https://github.com/staruml/Cpp/issues


2

Ai muốn UML xứng đáng với Rational Rose :)


2
chương trình tốt nhưng rất tốn kém!
ak3nat0n

Liên kết trong câu trả lời này đã lỗi thời. Các liên kết hiện nay là www-01.ibm.com/software/rational/products/swarchitect/cpp
Dan Nissenbaum

Cả liên kết gốc và liên kết trong bình luận đều đã lỗi thời. Không biết tìm phiên bản hiện tại ở đâu.
Bruno Alexandre Rosa

không thể tìm thấy trang sản phẩm.
nurp

2

Tôi đã sử dụng Rational Rose và Rational Rhapsody cho các dự án lớn về thiết kế ngược. Tôi thích Rational Rhapsody hơn để tải các tệp lớp UML cho C ++!


1

StarUML thực hiện điều đó và nó miễn phí. Thật không may, nó đã không được cập nhật trong một thời gian. Có một vài dự án nhánh (vì quản trị viên của dự án sẽ không cho phép tiếp quản) nhưng chúng cũng đã chết.


1
StarUML đã không sản xuất sơ đồ tốt cho tôi nhập khẩu kỳ lạ. @Rhubbarb, nó cũng hoạt động trên Linux và Mac.
Aleksey Kontsevich

Bản phát hành mới nhất bây giờ là tháng 8 năm 2018, vì vậy nó đã được chọn lại
bart vào
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.