2011-08-16 77 views
35

Sự khác biệt thực tế giữa việc sử dụng biểu đồ sơ đồ và sơ đồ hoạt động UML là gì? Tôi có một số suy nghĩ, nhưng có lẽ tôi đang thiếu một con voi trong phòng?Sơ đồ sơ đồ so với sơ đồ hoạt động UML

sơ đồ đồ:

  1. Sử dụng rộng rãi;
  2. Dễ hiểu bởi người không lập trình;
  3. Cũ?

sơ đồ UML Hoạt động:

  1. chuẩn;
  2. Hỗ trợ đồng thời;
  3. Cú pháp ít được biết đến, nhưng vẫn đủ đơn giản.

Đối với trường hợp đặc biệt của tôi ghi lại một khối logic ứng dụng cụ thể, tôi quyết định đi với sơ đồ lưu đồ. Nhiều người trong công ty sẽ có thể hiểu họ.

Trả lời

16

Nó có vẻ là một sở thích, nhưng nếu chúng ta có một ngôn ngữ chuẩn hóa để mô tả hệ thống phần mềm, tại sao chúng ta sử dụng cái gì khác? Điều này có thể dẫn đến thói quen xấu của việc lạm dụng lưu đồ. Sơ đồ hoạt động thực sự đơn giản. Nhưng nếu bạn quyết định mô tả một khía cạnh phức tạp hơn của hệ thống hoặc cố gắng thay đổi phần bạn mô tả, bạn có thể phải chuyển đổi. Vì vậy, chỉ cần sử dụng UML và ngăn chặn sự nhầm lẫn trong tương lai.

14

Khi bạn lưu ý, sơ đồ hoạt động vốn có thể bao gồm đồng thời và thời gian. Nếu bạn nhìn vào this example cribbed từ Wikipedia (mà tôi sẽ chèn nếu chỉ hỗ trợ định dạng SVG) bạn có thể quan sát phần với hai thanh ngang nặng và hai hoạt động song song của "ý tưởng hiện tại" và "ý tưởng ghi". Điều đó được đọc là "bắt đầu các hoạt động này song song, và chỉ tiếp tục khi cả hai đều hoàn thành." Lưu đồ không thể diễn đạt điều này trong ký hiệu.

Thực tế, việc sử dụng biểu đồ hoạt động cho phép bạn suy nghĩ rõ ràng về các quy trình đồng thời. Tôi nghĩ bạn sẽ thấy rằng bất cứ ai có thể đọc một sơ đồ sẽ nhanh chóng thích ứng.

+1

Cảm ơn, Charlie, tôi cũng đã đề cập đến điểm đó trong bài đăng gốc. Trong trường hợp của tôi, logic là đơn luồng, do đó, cả sơ đồ hoạt động và sơ đồ hoạt động đều phù hợp. –

1

Bạn có thể tạo mã nguồn từ UML và ngược lại; do đó đặc tính "tiêu chuẩn hóa" mà bạn đã nói đến.

+0

Tôi tin rằng điều này áp dụng nhiều hơn cho sơ đồ lớp. Tôi cũng chưa tìm thấy một máy phát điện khứ hồi phong nha, có thể xây dựng lại sơ đồ khi mã đã thay đổi. –

+0

@Vladimir Sinenko: nếu bạn có thể tạo mã triển khai lôgic của các mô hình hoạt động, đừng cố tìm kiếm hai chiều - chỉ cần thay đổi mô hình hoạt động - bạn sẽ tránh được nhiều vấn đề –

1

Bản thân UML được sử dụng để chia sẻ sự hiểu biết của bạn. Chia sẻ sự hiểu biết theo cách được chuẩn hóa. Vì trường hợp của bạn là đặc biệt và việc sử dụng sơ đồ của sơ đồ UML là cung cấp một bản phác thảo không chính thức, biểu đồ hoạt động có thể được sử dụng ở đây. Nhưng do đó, có thể lưu đồ thị vì không có chủ nghĩa parellism nào tham gia ở đây. Tôi đã luôn luôn tìm thấy các đối số sau đây để được hữu ích. Các artifct mà tôi đang sản xuất sẽ mang lại lợi ích cho ai? Và tôi có thể thể hiện dòng chảy theo cách tự giải thích bằng cách sử dụng biểu đồ luồng không. Và nếu có, thì bạn nên tiếp tục và sử dụng biểu đồ lưu lượng. Nhưng nếu các sơ đồ lớp, chuỗi vv của bạn có định dạng UML, sẽ có ý nghĩa khi có sơ đồ hoạt động của bạn trong UML cũng như vì tính nhất quán (đối số ở đây sẽ là, nếu mọi người có thể hiểu lớp học, ngữ nghĩa UML theo trình tự, sau đó y không hoạt động sơ đồ.).

9

Theo trang web Agile Modeling:

Trong nhiều cách UML sơ đồ hoạt động là tương đương với đối tượng theo định hướng của lưu đồ và sơ đồ luồng dữ liệu (DFDS) từ sự phát triển cấu trúc.

Từ IBM:

Tuy nhiên, biểu đồ dòng chảy không bao gồm Và khẳng định, và lưu đồ cho các hoạt động không thể nhận sự kiện.

Có lẽ đây là lý do tại sao biểu đồ luồng dễ hiểu hơn vì biểu đồ hoạt động có khái niệm về phát triển hướng đối tượng và đồng thời.