2012-11-12 102 views
13

Tôi cố gắng để tìm thấy một cách để tạo ra các biểu đồ UML (sơ đồ trình tự, sơ đồ lớp, vv) từ mã # C của tôi viết bằng Visual Studio 2012.Làm cách nào để tạo sơ đồ UML từ mã C# được viết trong Visual Studio 2012 vào Visio 2010?

tôi thấy một liên kết trên http://office.microsoft.com/en-us/visio-help/about-reverse-engineering-code-to-the-uml-HP001208803.aspx rằng tôi có thể đưa dự án Visual Studio của tôi vào Visio.

Nhưng phần đầu tiên trong đó nói "Trong môi trường Visual Studio, kỹ thuật đảo ngược được kích hoạt từ lệnh trên menu Dự án". không làm việc cho tôi vì tôi không thể tìm thấy tùy chọn kỹ thuật đảo ngược trong menu Dự án.

Làm cách nào để tạo sơ đồ UML từ mã C# được viết trong Visual Studio 2012 vào Visio 2010?

Trả lời

12

Microsoft không còn coi Visio là công cụ kỹ thuật phần mềm nữa. Có một phiên bản được gọi là "Visio for Enterprise Architects", có tích hợp này với Visual Studio. Nó đã có sẵn với phiên bản cao cấp nhất của Visual Studio.

Tôi tin rằng đó là hỗ trợ với Visual Studio 2005 cuối cùng, mặc dù có thể đã 2003.

Visual Studio Ultimate giờ có riêng của mình được xây dựng trong các tính năng UML mà không dựa vào Visio.

+0

Điều này là không may, vì các tính năng UML tích hợp không hỗ trợ kỹ thuật đảo ngược C++. Tôi bây giờ có cùng một vấn đề như xEnOn (nhưng với C++ thay vì C#), và từ những gì bạn đang nói nó âm thanh như không có cách nào để đạt được những gì tôi muốn với một trong hai VS2012 của chính nó hoặc kết hợp với Visio? – JBentley

+0

Bạn đã kiểm tra Visual Studio 2012 Update 1 chưa? Họ thêm vào một loạt các tính năng của C++, và có lẽ hỗ trợ UML cho C++ là một trong số chúng. –

+0

Có, tôi đã thử Cập nhật 1. Vẫn không hỗ trợ C++, thật đáng buồn. Tôi thích rất nhiều tính năng khác của C++ mà họ đã thêm vào (các mẫu mục mới, hỗ trợ GPU, khung kiểm thử đơn vị, v.v.). – JBentley

0

Điều này tùy thuộc vào phiên bản sản phẩm bạn đang sử dụng. Tôi có Visual Studio Professional 2012 và tôi không thấy tùy chọn này. Điều này có ý nghĩa nếu bạn nhìn vào product features. Tuy nhiên, nếu bạn nhìn vào product features of Visual Studio 2012 Ultimate, bạn sẽ thấy mô hình UML và nhiều công cụ trực quan hóa khác.

+0

Đúng, nhưng tính năng Tạo mô hình UML này không liên quan đến Visio, đó là câu hỏi của bạn. –

0

Phiên bản không phải Ultimate của Visual Studio 2010 được phép cho thế hệ UML này bằng cách sử dụng Feature Pack, chưa được phát triển cho Visual Studio 2012. Như Dominic đã đề cập (ông đánh tôi với nó), Visual Studio 2012 Ultimate nên cho phép điều này mặc dù.

+0

-1: Gói tính năng không liên quan gì đến Visio –

5

Vụ nổ từ quá khứ. Đã một thời gian kể từ khi tôi thiết kế ngược bất kỳ thứ gì vào UML nên kiến ​​thức của tôi có thể đã lỗi thời. Trong mọi trường hợp, theo như tôi nhớ, kỹ thuật đảo ngược mã sử dụng Visio là một tính năng Visio không phải là một tính năng Visual Studio, nghĩ rằng một số phiên bản của Visual Studio có tính năng mô hình riêng của họ.

Để sử dụng Visio kỹ thuật đảo ngược, bạn cần chắc chắn rằng các addin Visio UML được cài đặt (nó nên có sẵn trong Professional trở lên các phiên bản của Visio, nhưng có thể không được cài đặt theo mặc định.)

Here 'sa khá cũ từng bước của quá trình cho một phiên bản cũ của Visio và Visual Studio. Tôi không nghĩ rằng quá trình này đã thay đổi nhiều (mặc dù rõ ràng các ngôn ngữ được hỗ trợ đã thay đổi.)

Trong mọi trường hợp tôi không bao giờ thích Visio cho UML (sự thật là tôi không bao giờ thích Visio.) Tôi thích thích Sparx System's Enterprise Architect để lập mô hình và kỹ thuật đảo ngược của họ khá tốt khi tôi sử dụng nó trên .Net 2.0. Tôi không biết làm thế nào phiên bản hiện tại của họ đối phó với các tính năng mới hơn. Tôi cũng thích môi trường mô hình "từ đầu" tốt hơn.

Cuối cùng, hãy nhớ rằng UML được coi là một mô hình không phải là ngôn ngữ lập trình. I E. nó có nghĩa là để truyền đạt thiết kế mức cao để kiến ​​trúc tổng thể của một giải pháp có thể dễ hiểu hơn; hoặc để mô hình hóa các tương tác động chính, một lần nữa, vì vậy các giải pháp được triển khai hoặc được đề xuất cho vấn đề được mô hình hóa có thể dễ hiểu hơn.

Sơ đồ UML được thiết kế ngược thường có quá nhiều thông tin để chúng hữu ích và rất khó để dịch các ngữ nghĩa chính xác của một ngôn ngữ cụ thể thành UML. Bạn có thể tốt hơn khi tạo sơ đồ từ đầu. Ngoài việc triển khai và sơ đồ gói, cần hiểu rằng biểu đồ UML đại diện cho tổng quan cấp cao hoặc đại diện tương tác động cao cấp cụ thể, không phải là biểu diễn tương tự.

0

Visual Studio Ultimate 2012 có thể tạo biểu đồ trình tự rất đẹp cho mã C# khi bạn chỉ cần chọn một thành viên (tên phương thức); và nó không liên tục ở vị trí của tôi nếu tôi làm tương tự cho trong mã VB.

Điều này trái ngược với Kiến trúc sư doanh nghiệp từ Sparx, công cụ CASE tiên tiến nhất cho UML và các mô hình khác AFAIK.

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