Làm thế nào để hiển thị “nếu” điều kiện trên sơ đồ trình tự?


194

Tôi đã tự hỏi, làm thế nào người ta có thể biểu diễn ifcâu lệnh "" trên sơ đồ trình tự?

if (somethingShouldBeDone) {
       // Do it
} else {
       // Do something else
}

Nó có thể được đại diện ở tất cả? Vấn đề là ... trong mã của tôi, số lượng điều kiện hợp lý được kiểm tra để xác định nhiều hành động khác nhau. Nếu tôi định thể hiện các hành động, tôi muốn nói rõ rằng các hành động đó là do các sự kiện cụ thể gây ra.

Nếu có thể tạo một đại diện hình ảnh của một giải pháp.


1
Tôi biết câu hỏi này đã cũ và tôi chưa thực hiện tìm kiếm, nhưng nó khiến tôi tự hỏi liệu hiển thị phân nhánh thậm chí là một ý tưởng tốt cho sơ đồ trình tự. Tôi luôn nghĩ rằng các điều kiện cho chuỗi được mô tả rõ ràng trong kịch bản và do đó không có sự phân nhánh nào diễn ra trong chuỗi. Các đường dẫn khác được xử lý bằng cách mô tả một biến thể của kịch bản có sơ đồ trình tự riêng. Nó hơi chủ quan vì vậy có lẽ tôi nên đăng nó lên Meta hoặc có thể là Kỹ thuật phần mềm?
Kelly S. Pháp

Câu trả lời:


285

Nếu điều kiện khác, còn được gọi là các lựa chọn thay thế trong thuật ngữ UML thực sự có thể được biểu diễn trong sơ đồ tuần tự. Đây là một liên kết nơi bạn có thể tìm thấy một số tài nguyên tuyệt vời về chủ đề này http://www.ibm.com/developerworks/rational/l Library3101.html

phân nhánh với alt


Trong Visio, được Altgọi là cái gì khác? Tôi dường như không thể tìm thấy nó
James Raitsev

13
Bản thân Visio không phải là một công cụ mô hình hóa UML. Nếu bạn muốn sử dụng UML 2.0 thì bạn cần tìm một Visio Macintosh tốt, thực hiện đầy đủ các thông số kỹ thuật 2.0. Có một số mẫu miễn phí có sẵn trên web, bạn có thể muốn dùng thử một số trong số chúng :) Đây là một cái có vẻ tốt (không thử tất cả các tính năng mặc dù) softwareststicks.com/uml
GETah 14/11/11

Có công cụ UML nào khác ngoài Visio không. Kiến trúc sư doanh nghiệp có đủ tốt không?
Venkat Madhav

1
@VenkatMadhav Tôi thực sự không thể nói. Tôi chưa bao giờ sử dụng nó hết công suất nhưng từ bài đọc tôi tìm thấy trên google, nó sẽ khá tốt
GETah

@Venkat Cá nhân tôi là một fan hâm mộ của mô hình trực quan. ( visual-paradigm.com )
Thăm dò ý kiến ​​Cody

35

Nếu bạn dán

A.do() {
  if (condition1) {
   X.doSomething
  } else if (condition2) {
   Y.doSomethingElse
  } else {
   donotDoAnything
  }
}

vào https://www.zenuml.com . Nó sẽ tạo ra một sơ đồ cho bạn.Sơ đồ trình tự if / other


@ Gholamali-Irani bạn đã thử tiện ích mở rộng Chrome chưa?
Xiao Peng - ZenUML.com

Nếu là A.do(int condition)- Nếu .. khác ... khác, tất cả không thể xảy ra do kết quả của một cuộc gọi. Lưu lượng phụ thuộc vào đối số điều kiện. Sẽ thật đáng yêu nếu ZenUML có thể vẽ ra điều đó. Nó sẽ là ba cuộc gọi được đặt hàng trong thời gian.
Đầu bếp đấu sĩ

@ChefGladinator Tôi không chắc là tôi hiểu ý của bạn. Bạn có thể vui lòng thêm một số mã giả ở đây? Hoặc bạn có thể chỉ cho tôi trong trang web.
Xiao Peng - ZenUML.com

Chắc chắn, đây là mã: Wandbox.org/permlink/PURdGJc8YxJmpUh7 - có ba cuộc gọi được yêu cầu cho tất cả các điều kiện được đáp ứng. Chuỗi UML sẽ hiển thị ba cuộc gọi, không phải một cuộc gọi.
Đầu bếp đấu sĩ

Tất nhiên, sơ đồ Hoạt động tốt hơn để hiển thị phần bên trong thuật toán /
Đầu bếp đấu sĩ

2

Rất đơn giản, sử dụng đoạn Alt

Hãy lấy một ví dụ về sơ đồ trình tự cho máy ATM. Hãy nói ở đây bạn muốn

Thẻ IF được chèn hợp lệ rồi nhắc "Enter Pin" .... ELSE Dấu nhắc "Ghim không hợp lệ"

Sau đó, đây là sơ đồ trình tự cho cùng

Sơ đồ trình tự máy ATM

Hi vọng điêu nay co ich!


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.