2010-05-29 28 views
9

Tôi cần tạo một sơ đồ lớp UML cho một dự án. Tôi đã sử dụng Sparx Enterprise Architect trong quá khứ để tạo mã nguồn từ một sơ đồ vì vậy tôi đang sử dụng nó.Chuyển đổi Kiến trúc Doanh nghiệp Sparx (từ nguồn sang UML)

Dự án đã hoàn thành nên tất cả các mã được thực hiện và tôi thực sự không muốn viết tất cả các lớp/hàm theo cách thủ công, vì vậy tôi đã cố tạo sơ đồ từ mã nguồn nhưng dường như không thể tìm thấy một cách để làm điều đó. Tôi đã tìm kiếm trực tuyến và trên trang web của họ nhưng không có gì.

Bất kỳ trợ giúp nào được đánh giá cao.

+0

Giá trị nào bạn nghĩ bạn đang thêm bằng cách thực hiện việc này? Tôi muốn dính vào một sơ đồ gói thể hiện trách nhiệm trong các mô-đun và sử dụng một cái gì đó như doxygen để lập tài liệu cho dự án như được xây dựng. –

+0

Tôi đã làm điều đó bởi vì tôi đã phải (và không ai nói với tôi trước). Tôi luôn luôn tài liệu dự án với doxygen mặc dù. – user228938

+0

Tôi không chắc chắn có ý nghĩa gì nhiều; Doxygen có thể tạo ra các biểu đồ lớp kiểu UML. – Clifford

Trả lời

6

Nó được gọi là "reverse engineering" để nhập mã vào mô hình. Sau khi nó ở trong mô hình, bạn có thể tạo biểu đồ.

+1

Khái niệm kỹ thuật đảo ngược là tốt đẹp nhưng thực tế là khác nhau !! Nếu bạn xem xét chi tiết tại mô hình thì bạn sẽ nhận ra rằng ít hơn 50% dự án đã thực sự được ánh xạ tới mô hình. Tôi đã thử java đảo ngược nhưng đảo ngược khác có thể được tốt hơn. –

+0

Thậm chí có giá trị bởi vì nếu bạn tạo mã từ mô hình của bạn và sau đó tạo lại một mô hình từ mã của bạn, bạn đã mất 70% mô hình sơ đồ lớp ban đầu !! Vấn đề là không có khả năng truy nguyên giữa mô hình và tạo mã. Chỉ có EclipseUML Omondo cho phép tính năng này bởi vì chúng có tùy chọn hợp nhất. –

+1

@ roko-sifredi - Một vài năm trước, tôi thấy rằng Sparx Enterprise Architect làm việc tốt cho kỹ thuật khứ hồi, sử dụng C#. – ChrisW

10

Dành cho phiên bản 8 của EA Corporate Edition. Mở hoặc tạo dự án. Tạo sơ đồ lớp trống. Lựa chọn menu: Dự án -> Mã nguồn Kỹ thuật -> Nhập tệp Hộp thoại thư mục mở ra để bạn chọn tệp.

Tôi có 'thiết kế đảo ngược' nhiều dự án C++, lớn và nhỏ. Bạn sẽ dành thời gian đáng kể để dọn dẹp. Nó sẽ phụ thuộc vào chất lượng của dự án, cấu trúc và mã của nó.

Sau đó, bạn có thể tạo báo cáo tài liệu về nó (Project-> Documentation) mà tôi thấy rất hữu ích, báo cáo HTML, để điều hướng mã.

1

cho rằng trước tiên bạn nên sử dụng các tùy chọn Reverse Engineering nhưng như một số người dùng khác đã chỉ ra, đây không phải là một sức mạnh từ EA. tôi đã thử trong quá khứ (phiên bản 7.3 tôi nghĩ) để làm điều đó với C, Python và Java Projects và kết quả không phải lúc nào cũng thỏa đáng.

Tôi không biết ngôn ngữ lập trình nào là mã của bạn, nhưng đối với C, nếu bạn sử dụng hướng dẫn tiền xử lý, bạn sẽ gặp nhiều vấn đề và không tương thích trong kết quả.

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