2013-07-01 39 views
5

Tôi gặp một vấn đề tìm kiếm một công cụ để tạo ra một sơ đồ lớp cho các ứng dụng QtCreator tôi tôi đã cố gắng cả BOUMLUmbrello, nhưng cả hai đều có vấn đề với một số các lớp học.Công cụ để tự động tạo ra một sơ đồ lớp cho QT ứng dụng

Tôi đang làm việc trên Ubuntu.

+0

Bạn có thể kiểm tra xem có phiên bản tăng hợp lý cho Ubuntu hay không. –

Trả lời

6

doxygen có thể tạo nhiều sơ đồ (kế thừa, cộng tác, thậm chí cả luồng cuộc gọi), tôi nghĩ bạn nên thử nó.

Tôi đã sử dụng nó trong quá khứ và thậm chí nếu không nhận xét mã theo yêu cầu, nó có thể tạo ra các sơ đồ rất đẹp (mặc dù phức tạp).

Trích dẫn từ Features phần của tài liệu trực tuyến:

  • Sử dụng dấu chấm công cụ của bộ công cụ Graphviz để tạo ra bao gồm biểu đồ phụ thuộc, sơ đồ hợp tác, gọi đồ thị, biểu đồ cấu trúc thư mục, và hệ thống phân cấp lớp đồ họa đồ thị.

  • Tự động phát hiện các phần công cộng, được bảo vệ và riêng tư, cũng như phần tín hiệu và vị trí cụ thể của Qt. Khai thác của các thành viên lớp học tư nhân là tùy chọn.

Mặc dù doxygen bây giờ có thể được sử dụng trong bất kỳ dự án viết bằng một ngôn ngữ được hỗ trợ bởi doxygen, ban đầu nó được thiết kế đặc biệt để được sử dụng cho các dự án mà sử dụng bộ công cụ Qt Qt Software. Tôi đã cố gắng làm cho doxygen `Qt-compatible '. Đó là: Doxygen có thể đọc tài liệu chứa trong mã nguồn Qt và tạo một trình duyệt lớp trông khá giống với trình duyệt được tạo ra bởi Phần mềm Qt. Doxygen hiểu các phần mở rộng C++ được sử dụng bởi Qt như tín hiệu và khe và nhiều lệnh đánh dấu được sử dụng trong các nguồn Qt.

+0

FYI, một ví dụ tốt về việc sử dụng sơ đồ lớp trong Doxygen là tài liệu [QWT] (http://qwt.sourceforge.net), ví dụ: trong tài liệu này cho [QwtPlotHistogram] (http://qwt.sourceforge.net/class_qwt_plot_histogram.html). Tôi nghĩ rằng tất cả các cấu hình được sử dụng trong trường hợp cụ thể này có thể được tìm thấy trong [docs directory] (http://svn.code.sf.net/p/qwt/code/trunk/qwt/doc) của repo svn của nó. – NIA

+0

Để có được sơ đồ kiểu UML, bạn sẽ phải thay đổi một vài cài đặt mặc định. Các câu trả lời cho câu hỏi này [Câu hỏi về các biểu đồ Doxygen và UML] (http://stackoverflow.com/questions/9484879/graphviz-doxygen-to-generate-uml-class-diagrams) sẽ giúp ích. – jwernerny

1

Kiến trúc sư doanh nghiệp từ Hệ thống Sparx có thể nhập mã C++. Các sơ đồ rất tốt và các công cụ hỗ trợ thao tác cắt tròn (chỉnh sửa sơ đồ và tạo mã). Thật thú vị khi thấy nó làm gì với các tệp coc moc _ *. Cpp, nhưng có thể bạn sẽ muốn xóa chúng khỏi mô hình của mình.

Các vấn đề liên quan