2010-07-27 29 views
5

Công cụ Kỹ thuật Vòng lặp UML có đồng bộ hóa liền mạch?Có công cụ nào giúp giữ cho các mô hình UML đồng bộ với mã hoàn toàn liền mạch không?

Hợp lý Bộ công cụ để làm điều đó. Nhưng nó rất đắt tiền và khó khăn khi vẽ (tồi tệ hơn những ngày Rose) rằng nó không nằm trong tầm với của hầu hết các phòng ban.

Điều tuyệt vời là miễn phí Bouml dường như làm một công việc tuyệt vời. Nó chỉ cảm thấy quá clunky để sử dụng. Nó có rất nhiều chức năng, miễn phí (!), Rất nhanh và ngược lại các kỹ sư phức tạp C++ rất tốt. Nó cũng có một số hỗ trợ sơ đồ đẹp, bao gồm một sơ đồ trình tự rất tốt đẹp. Mặc dù giao diện không được đánh bóng (và liên tục mở các hộp thoại trên màn hình ngoài cùng bên phải), nhưng nó có sự khởi đầu của một sản phẩm rất có khả năng. Đó là một sự xấu hổ rằng giao diện là như vậy xương trần và đòi hỏi chi tiêu của rất nhiều nỗ lực. Có lẽ đó là bởi vì tác giả đặt hầu hết thời gian của mình vào chức năng thực tế. Có ai có kinh nghiệm sử dụng Bouml trong suốt vòng đời sản phẩm không?

Đó rời đắt tiền MagicDraw, rất có khả năng chưa hợp lý giá Enterprise Architect và slick-tìm Visual Paradigm. Trong số này, chỉ có Visual Paradigm có vấn đề đảo ngược kỹ thuật các tiêu đề C++ của dự án của tôi.

MagicDraw có cảm giác kỳ lạ, cũ kỹ. Nó làm một công việc tốt ở kỹ thuật đảo ngược, mặc dù nó vẫn còn để được xem liệu kỹ thuật khứ hồi của các dự án C++ phức tạp có liền mạch hay không. Họ muốn trên $ 1800 cho phiên bản đa ngôn ngữ, do đó, nó có giá tương tự như Công cụ Rational.

Kiến trúc sư doanh nghiệp, mặc dù rẻ hơn nhiều so với hầu hết, có vẻ như nó có thể là tính năng hoàn chỉnh nhất. Nó phân tích và tạo ra C++ một cách hoàn hảo. Ngay cả các bình luận và định dạng vẫn còn nguyên vẹn. Có những tài liệu đào tạo tuyệt vời. Nhưng nó không xử lý Objective-C, vì vậy ít hữu ích hơn cho các dự án mã hỗn hợp iOS và Mac OS X. Tự động tạo biểu đồ trình tự âm thanh tuyệt vời, nhưng âm thanh như nó chỉ hoạt động trên các dự án Windows .NET.

Kiến trúc sư trực quan (> $ 800 cho đa ngôn ngữ 2 chiều) là thanh công cụ tạo mô hình phần mềm đẹp nhất mà tôi đã gặp. Mặc dù nó có thể có một số vấn đề về chuyến đi khứ hồi còn lại, nó là một niềm vui để sử dụng để xây dựng các mô hình bằng tay. Nó thậm chí còn đẹp hơn Rose là theo một số cách. Nó có một cách trực quan để đưa lên các công cụ bạn cần ngay tại con trỏ. Tuy nhiên, như tôi đã đề cập, nó hiện thiếu mục tiêu để giữ cho mô hình đồng bộ với nguồn. Và nó thậm chí không cung cấp thông báo rằng quá trình nhập không hoàn toàn hoạt động hoặc các lớp trùng lặp đã được tạo (có cùng tên). Nó cũng làm cho việc nhập các thông số tin nhắn trở nên khó khăn, bằng cách sử dụng các hộp thoại, trong khi những thứ khác cho phép các tham số được thay đổi ngay trên sơ đồ. (Các Bouml miễn phí trội về điều này, cũng như MagicDraw và những người khác.)

Có ai đó đã tìm thấy một công cụ kỹ thuật vòng lặp đa ngôn ngữ (Java, C++, C#, ObjC++, Python, Ruby, SQL) cho các dự án thế giới thực, nơi tùy chỉnh được xử lý (như thông số tùy chỉnh trên thư), nhưng không bị xóa bởi lần nhập mã nguồn tiếp theo?

Và nơi tất cả định dạng và nhận xét được lưu giữ hoàn toàn trên thế hệ. Đóng là không thực sự đủ tốt. Nếu các công cụ làm rối loạn định dạng mã nguồn, không nhà phát triển nào muốn công cụ chạy trên nguồn của mình.

Trả lời

3

Peter Coad's Together-J từng có sơ đồ và trình chỉnh sửa cùng nhau trong một IDE (do đó tên). Thay đổi sơ đồ và thay đổi mã; tương tự cho cách khác.

Công cụ và trình chỉnh sửa UML đều chậm một chút. Tôi nghĩ máy móc trong ngày không đủ mạnh và không thể hiện được lợi thế tốt nhất.

Tôi tin rằng Peter Coad đã bán nó cho Borland. Có vẻ như Borland không thuộc lĩnh vực kinh doanh IDE. Bạn vẫn có thể nhận được nó here.

Tôi nghĩ IntelliJ là IDE Java tốt nhất hiện có. Bạn có thể tạo một số sơ đồ UML đẹp bằng cách sử dụng nó.

Câu hỏi thực sự là: Tại sao UML lại quan trọng như vậy? Tôi muốn có mã. Tôi thường làm đủ UML để có được ý tưởng trên, viết mã với các bài kiểm tra đơn vị, và sau đó đảo ngược kỹ thuật nó cho tài liệu. Bạn không thể gỡ lỗi hoặc biểu đồ UML thử nghiệm đơn vị. Tốt hơn để có mã làm việc.

+0

Có, Together-J khá xuất sắc, nhưng như bạn nói, quá chậm đối với các máy trong ngày. Và biểu đồ/mã chia nhỏ trên/dưới là một mánh lới quảng cáo tuyệt vời, nhưng nhanh chóng nhận ra rằng bạn muốn sử dụng bất động sản trên màn hình của mình cho mã. : -> Vậy tại sao UML lại quan trọng? Nó chỉ ra rằng nó giống như xem một hình ảnh, chứ không phải là đọc một mô tả của cảnh. Nó chưng cất thông tin trong đoạn mã đến các yếu tố cần thiết cho một mục đích cụ thể. Một mục đích có nghĩa là truyền đạt thông tin quan trọng cho các kiến ​​trúc sư khác, những người thực hiện. Chỉ hữu ích nếu được cập nhật). Do đó, yêu cầu "liền mạch". – Rubski

+0

Tôi hiểu ý tưởng đằng sau UML. Tôi không đồng ý với giá trị. Tôi thấy nó tốt cho việc phác họa ý tưởng. Một biểu diễn đầy đủ, đầy đủ, đầy đủ của một hệ thống phức tạp nhanh chóng trở nên khó hiểu từ hình ảnh vì nó chỉ là một cái nhìn từ mã. – duffymo

+0

Tôi thấy quan điểm của bạn. Vì vậy, để làm rõ, câu hỏi của tôi liên quan đến việc không tự động tạo các sơ đồ UML cho một hệ thống, nhưng liệu một công cụ tồn tại sẽ giữ lại một vài sơ đồ được kiến ​​trúc sư tạo ra hay không. Đây có lẽ là những điều thực tế làm tăng thêm sự hiểu biết về hệ thống, để ghi lại các tương tác quan trọng theo cách thủ công, loại bỏ các lớp, hoạt động, tham số và tương tác không liên quan. Vì vậy, những gì sẽ được đồng bộ chỉ là vài tương tác đã được mô hình hóa, và tất nhiên, tên, loại, v.v. Cảm ơn bạn lần nữa cho đầu vào của bạn. – Rubski

2

Bouml ... liên tục mở các hộp thoại trên màn hình ngoài cùng bên phải

trong một cấu hình đa màn hình tốt nhất là để chỉ cho Bouml mà màn hình phải được sử dụng theo mặc định, nếu không cho Bouml bạn có chỉ là một rất lớn màn hình bao gồm tất cả các màn hình của bạn. Tất nhiên để chỉ ra một màn hình mặc định không có nghĩa là bạn không thể sử dụng (các) cái khác, và có thể di chuyển các hộp thoại/cửa sổ chính mà bạn muốn. Định nghĩa của màn hình mặc định để sử dụng được thực hiện thông qua the environment dialog.

0

Kiến trúc sư doanh nghiệp dường như làm tốt công việc này. Như bạn chỉ ra, nó có giá hợp lý. Và nó cũng sẽ tạo ra các sơ đồ và tài liệu, cũng như nhập/xuất mã nguồn.

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