2008-10-11 69 views
26

Có bất kỳ công cụ hay chuỗi công cụ nào tốt cho phép hình ảnh UML ở định dạng .svg được tạo từ tệp nguồn văn bản không? Lý do cho câu hỏi này là tôi muốn tự động hóa việc tạo các hình ảnh này để tránh phải tạo và cập nhật bộ ảnh này theo cách thủ công.Hiển thị sơ đồ UML từ tệp văn bản

Trả lời

12

UMLGraph là chương trình tạo sơ đồ UML (chủ yếu là Sơ đồ lớp và Sơ đồ trình tự) từ mô tả dựa trên văn bản. Nó được dự định sẽ được sử dụng với mã nguồn java, nhưng với một số thay đổi, mã nguồn phong cách C++ cũng có thể được sử dụng như được mô tả bởi this blog entry.

Trích từ trang web UMLGraph:

Các plotutils GNU pic2plot chương trình có thể sau đó xử lý sơ đồ trình tự để tạo PNG, PNM, (giả) GIF, SVG, AI, Postscript, CGM, FIG, PCL, HPGL, Regis hoặc bản vẽ TEK.

+1

Đã thử điều này cho sơ đồ trình tự; tìm thấy nó cực kỳ khó tính (các sơ đồ tuần tự được thực hiện với các macro pic, chứ không phải Java - tôi có thể lấy các mẫu để làm việc, nhưng các macro của riêng tôi không thành công mặc dù có giá trị như tôi có thể biết), và kết quả đầu ra mẫu trông khủng khiếp bitmap hoặc SVG (trên Ubuntu 14.04 với pic2plot 2.6). Đối với các biểu đồ trình tự, tôi sẽ tránh ... – Adrian

+0

Bạn nên kiểm tra http://www.zenuml.com. Nó là một trực tuyến để chuyển đổi TEXT vào sơ đồ trình tự ngay lập tức. –

0

công cụ UML miễn phí JUDE cho phép tạo biểu đồ UML từ mã nguồn Java. Tôi không biết nếu nó làm cho các ngôn ngữ khác.

+0

Hey Jorn, Jude bây giờ gọi là 'Astah' (http://astah.net/editions/professional) và sơ đồ có thể được tạo ra từ mã nguồn Java và C++ và C# sử dụng các plugin miễn phí (http://astah.net/features/plugins). – Satomi

21

tôi đã tạo ra một danh sách các công cụ mà chấp nhận một mô tả mô hình văn bản như là đầu vào ở đây:

http://modeling-languages.com/uml-tools-textual-notations-define-uml-models/

+0

Có bình thường khi các từ khóa SQL được in trong chữ hoa trên trang web không? (Tôi đoán chúng là các từ khóa SQL, nhưng tôi không chắc chắn.) – leemes

+0

Không, tôi đã sửa lỗi này trong trang công cụ UML chính được tham chiếu ở đó. Tại sao điều này xảy ra là một cái gì đó tôi vẫn không hoàn toàn chắc chắn –

1

Enterprise Architect làm khá tốt công việc trong việc tạo ra sơ đồ tự động, từ mã nguồn (trong khác nhau ngôn ngữ) cũng như từ cơ sở dữ liệu hoặc các nguồn khác.

11

PlantUML là một công cụ tốt giúp chuyển đổi văn bản thành biểu đồ uml được chuẩn hóa.

bạn có điều này như một plugin cho confluenze

+1

PlantUML có sẵn như là một ứng dụng java độc lập, và cũng có các phiên bản plugin cho [một loạt các wiki, trình soạn thảo và IDE] (http://plantuml.sourceforge.net/running .html). Theo mặc định nó có vẻ như để tạo ra các tệp png, nhưng có thể xuất ra svg với các cờ thích hợp. – Alan

+2

+1 xác định cho PlantUML, đặc biệt là đối với sơ đồ trình tự - ít phức tạp hơn macro pic trong UMLGraph, ứng dụng GUI nhỏ sẽ tự động hiển thị biểu đồ của bạn mỗi khi bạn lưu và thông báo lỗi hữu ích hơn nhiều. – Adrian

3

Còn có một công cụ gọi là JS Sequence Diagrams, cho phép tạo ra các sơ đồ trình tự UML từ văn bản đơn giản.

Sử dụng underscore.jsRaphaël để tạo sơ đồ.

Nó được BSD Giản được cấp phép và mã nguồn có sẵn tại GitHub

0

Nếu bạn thích JS Chuỗi Sơ đồ, bạn cũng nên kiểm tra UMLet trong đó có một tiền đề tương tự (có thể để xác định sơ đồ thông qua văn bản, tương tự như một mô tả graphviz) và để cho công cụ tìm ra biểu đồ và vị trí.

IMHO, cách tiếp cận này chưa nhận được đủ sự công khai hoặc lực kéo. Phân tích nguồn đầy đủ về chuyến đi là khó khăn và trong nhiều trường hợp "quá nhiều công việc" cho các cuộc hội thoại thiết kế đơn giản hoặc tài liệu nhanh. Sự phức tạp của bố cục trong các công cụ của doanh nghiệp ngăn chặn tất cả trừ các tài liệu lớn nhất từ ​​việc sử dụng chúng. Và Agile bị không có doc vì giá quá dốc.

Vì những lý do đó, tôi muốn xem thêm các công cụ sử dụng phương pháp này.

1

Đối với biểu đồ trình tự, tôi thực sự thích Mscgen. Định dạng văn bản đơn giản trong, sơ đồ đáng yêu.

"Mscgen là một chương trình nhỏ mà phân tích giới thiệu Chart nhắn Trình tự và tạo ra PNG, SVG, EPS hoặc bản đồ hình ảnh phía máy chủ (ismaps) là đầu ra" - http://www.mcternan.me.uk/mscgen/

ví dụ Đầu vào có dạng:

# MSC for some fictional process 
msc { 
    hscale = "2"; 

    a,b,c; 

    a->b [ label = "ab()" ] ; 
    b->c [ label = "bc(TRUE)"]; 
    c=>c [ label = "process(1)" ]; 
    c=>c [ label = "process(2)" ]; 
    ...; 
    c=>c [ label = "process(n)" ]; 
    c=>c [ label = "process(END)" ]; 
    a<<=c [ label = "callback()"]; 
    --- [ label = "If more to run", ID="*" ]; 
    a->a [ label = "next()"]; 
    a->c [ label = "ac1()\nac2()"]; 
    b<-c [ label = "cb(TRUE)"]; 
    b->b [ label = "stalled(...)"]; 
    a<-b [ label = "ab() = FALSE"]; 
} 

Tạo đầu ra như thế này:

Sequence diagram for a fictional process

1

Tôi biết đây là một chủ đề cũ nhưng vẫn còn, tôi muốn chia sẻ thêm một công cụ mà tôi thấy cực kỳ hữu ích và thân thiện với người dùng: https://www.websequencediagrams.com/

Đây là công cụ trực tuyến giúp bạn và chạy nhanh chóng.

Nó cũng có nhiều bố cục đẹp mắt khác nhau.
Dưới đây là hai ví dụ:

enter image description here

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