Ánh xạ giữa mô hình xem kiến ​​trúc 4 + 1 & UML


15

Tôi hơi bối rối về cách mô hình xem kiến ​​trúc 4 + 1 ánh xạ sang UML.

Wikipedia đưa ra ánh xạ sau:

  • Khung nhìn logic: Sơ đồ lớp, Sơ đồ truyền thông, Sơ đồ tuần tự.
  • Quan điểm phát triển: Sơ đồ thành phần, Sơ đồ gói
  • Chế độ xem: Sơ đồ hoạt động
  • Khung nhìn vật lý: Sơ đồ triển khai
  • Kịch bản: Sơ đồ ca sử dụng

Vai trò trên giấy của Sơ đồ trình tự UML Xây dựng trong Khái niệm vòng đời đối tượng đưa ra ánh xạ sau:

  • Chế độ xem logic (sơ đồ lớp (CD), sơ đồ đối tượng (OD), sơ đồ trình tự (SD), sơ đồ cộng tác (COD), sơ đồ biểu đồ trạng thái (SCD), sơ đồ hoạt động (AD))
  • Quan điểm phát triển (sơ đồ gói, sơ đồ thành phần),
  • Chế độ xem quy trình (sơ đồ ca sử dụng, CD, OD, SD, COD, SCD, AD),
  • Chế độ xem vật lý (sơ đồ triển khai) và
  • Xem trường hợp sử dụng (sơ đồ ca sử dụng, OD, SD, COD, SCD, AD) kết hợp bốn đề cập ở trên.

Trang web UML 4 + 1 Xem Tài liệu trình bày ánh xạ sau:

Xem tài liệu UML 4 + 1

Cuối cùng, trang trắng Áp dụng Kiến trúc Chế độ xem 4 + 1 với UML 2 cung cấp một ánh xạ khác:

  • Biểu đồ lớp xem logic , sơ đồ đối tượng, biểu đồ trạng thái và cấu trúc hỗn hợp
  • Sơ đồ trình tự xem quy trình, sơ đồ truyền thông, sơ đồ hoạt động, sơ đồ thời gian, sơ đồ tổng quan tương tác
  • Sơ đồ thành phần xem phát triển
  • Sơ đồ triển khai khung nhìn vật lý
  • Xem trường hợp sử dụng sơ đồ ca sử dụng, sơ đồ hoạt động

Tôi chắc chắn tìm kiếm thêm sẽ tiết lộ các ánh xạ khác là tốt.

Mặc dù nhiều người thường có quan điểm khác nhau, tôi không hiểu tại sao lại như vậy ở đây. Đặc biệt, mỗi sơ đồ UML mô tả hệ thống từ một khía cạnh cụ thể. Vì vậy, ví dụ, tại sao "sơ đồ trình tự" được coi là mô tả "chế độ xem logic" của hệ thống bởi một tác giả, trong khi một tác giả khác coi nó là mô tả "chế độ xem quy trình"?

Bạn có thể vui lòng giúp tôi làm rõ sự nhầm lẫn?

Câu trả lời:


18

Mặc dù tôi thường đồng ý với câu trả lời của Bart van Ingen Schenau , tôi nghĩ rằng một vài điểm cần được xây dựng thêm.

Ưu điểm của Mô hình Chế độ xem 4 + 1 là nó ánh xạ các bên liên quan đến loại thông tin mà họ cần, mà không yêu cầu các ký hiệu mô hình cụ thể được sử dụng. Trọng tâm là đảm bảo rằng tất cả các nhóm có thông tin để hiểu hệ thống và tiếp tục thực hiện công việc của họ.

Mô hình kiến ​​trúc phần mềm 4 + 1 được mô tả trong Bản thiết kế kiến ​​trúc của Philippe Kruchten - Mô hình kiến ​​trúc phần mềm "4 + 1" được xuất bản lần đầu trong Phần mềm của IEEE (tháng 11 năm 1995). Ấn phẩm này không có tài liệu tham khảo cụ thể về UML. Trên thực tế, bài viết sử dụng ký hiệu Booch cho chế độ xem logic, mở rộng cho ký hiệu Booch cho chế độ xem quy trình và chế độ xem, gọi ra việc sử dụng "một số hình thức" để phát triển chế độ xem vật lý và ký hiệu mới cho các tình huống.

Thay vì cố gắng ánh xạ từng chế độ xem thành các loại sơ đồ cụ thể, hãy xem xét đối tượng mục tiêu của mỗi chế độ xem là gì và thông tin họ cần. Biết rằng, hãy xem các loại mô hình khác nhau và loại nào cung cấp thông tin cần thiết.

Khung nhìn logic được thiết kế để giải quyết các mối quan tâm của người dùng cuối về việc đảm bảo rằng tất cả các chức năng mong muốn của họ được hệ thống nắm bắt. Trong một hệ thống hướng đối tượng, điều này thường ở cấp độ lớp. Trong các hệ thống phức tạp, bạn có thể cần một khung nhìn gói và phân tách các gói thành nhiều sơ đồ lớp. Trong các mô hình khác, bạn có thể quan tâm đến việc biểu diễn các mô-đun và các chức năng mà chúng cung cấp. Kết quả cuối cùng phải là ánh xạ của chức năng cần thiết đến các thành phần cung cấp chức năng đó.

Khung nhìn quy trình được thiết kế cho những người thiết kế toàn bộ hệ thống và sau đó tích hợp các hệ thống con hoặc hệ thống vào một hệ thống các hệ thống. Khung nhìn này hiển thị các tác vụ và quy trình mà hệ thống có, giao diện với thế giới bên ngoài và / hoặc giữa các thành phần trong hệ thống, các thông điệp được gửi và nhận và cách xử lý hiệu suất, tính sẵn sàng, khả năng chịu lỗi và tính toàn vẹn.

Quan điểm phát triển chủ yếu dành cho các nhà phát triển, những người sẽ xây dựng các mô-đun và các hệ thống con. Nó sẽ hiển thị các phụ thuộc và mối quan hệ giữa các mô-đun, cách các mô-đun được tổ chức, tái sử dụng và tính di động.

Chế độ xem vật lý chủ yếu dành cho các nhà thiết kế hệ thống và quản trị viên, những người cần hiểu các vị trí vật lý của phần mềm, các kết nối vật lý giữa các nút, triển khai và cài đặt và khả năng mở rộng.

Cuối cùng, các kịch bản giúp nắm bắt các yêu cầu để tất cả các bên liên quan hiểu cách sử dụng hệ thống này.

Khi bạn hiểu mỗi chế độ xem được cung cấp là gì, bạn có thể chọn sử dụng ký hiệu mô hình nào và ở mức độ chi tiết nào được yêu cầu. Đoạn cuối của Bart đặc biệt đúng - bạn có thể hiển thị nhiều mức độ chi tiết khác nhau trong các mô hình UML của mình bằng cách tập trung vào các yếu tố thiết kế cụ thể hoặc kết hợp nhiều loại sơ đồ khác nhau thành một bộ. Ngoài ra, bạn có thể muốn xem xét vượt ra ngoài UML sang các ký hiệu mô hình hóa khác để mô tả tốt hơn kiến ​​trúc hệ thống của bạn - SysML , mô hình hóa thực thể hoặc IDEF .


The logical view is designed to address the end user's concerns about ensuring that all of their desired functionality is captured by the system. In an object-oriented system, this is often at the class level. Bạn không thấy rằng, nếu chúng tôi muốn làm điều gì đó cho người dùng cuối, ít nhất chúng tôi phải giao tiếp với họ và nói một ngôn ngữ. Hãy thử hiển thị sơ đồ lớp của bạn cho người dùng của bạn và hãy xem họ sẽ nói gì.
Pavel

1
@ JimJim2000 Tôi không nói rằng nó dành cho người dùng cuối. Nếu bạn có một tập hợp các yêu cầu và bạn ánh xạ chúng thành các phần tử trong chế độ xem logic, bạn có thể đảm bảo rằng có các thành phần (gói, lớp, hàm) được thiết kế để giải quyết từng yêu cầu. Tôi không thể nghĩ ra rất nhiều mô hình từ bất kỳ ngôn ngữ mô hình nào mà tôi sẽ hiển thị cho người dùng cuối và mong họ nhận được. Có thể một Sơ đồ hoạt động từ UML.
Thomas Owens

9

Lý do bạn không thể tìm thấy ánh xạ một-một giữa các chế độ xem của Mô hình kiến ​​trúc 4 + 1 và các sơ đồ UML khác nhau là vì ánh xạ như vậy không tồn tại.

Điều mà tất cả các tác giả đang cố gắng nói với 'ánh xạ' của họ là đối với mỗi chế độ xem, có một bộ sơ đồ UML khác nhau có thể hữu ích để truyền đạt thông tin mà bạn muốn nói trong chế độ xem đó.

Ngoài ra, một số sơ đồ UML có thể được sử dụng theo các cách khác nhau, bằng cách nhấn mạnh các yếu tố khác nhau trong sơ đồ, điều này làm cho chúng hữu ích cho nhiều chế độ xem. Nhưng ngay cả khi một loại sơ đồ UML có thể được sử dụng trong nhiều chế độ xem, bạn sẽ vẽ một sơ đồ khác (hoặc bộ sơ đồ) cho mỗi chế độ xem.


2

Mặc dù tôi đồng ý với cách tiếp cận câu trả lời của Thomas Owens để phục vụ cho nhu cầu của người dùng cuối của bạn, nhưng một điều không được đề cập là lý do tại sao định nghĩa ban đầu về "Kiến trúc mô hình 4 + 1 của Kruchten không thực hiện tài liệu tham khảo cụ thể về UML là do bài báo được viết vào năm 1995 (dưới dạng câu trả lời), nhưng UML không thực sự được sử dụng như một tiêu chuẩn cho đến năm 1997 .

Việc sử dụng liên tục Ký hiệu Booch trong bài viết cho thấy rằng việc liên quan đến từng khung nhìn mô hình với sơ đồ UML cụ thể có thể phù hợp, vì Grady Booch là một trong những người tham gia vào việc phát triển UML.

Chính vì điều này mà rất nhiều tác giả khác nhau coi các sơ đồ UML khác nhau có thể áp dụng cho từng chế độ xem, vì nhiều sơ đồ UML có thể được xem xét trong một số lượng "trừu tượng" của Ký hiệu Booch mà định nghĩa ban đầu của mô hình 4 + 1 dựa vào để đại diện cho mỗi quan điểm.

Hy vọng điều này sẽ làm sáng tỏ thêm một chút cho bất cứ ai khác nhìn vào điều này.


1

Bạn vẫn sử dụng VCR mà bạn đã mua lại vào năm 1995.? 4 + 1 được áp dụng trước đó khi phần mềm còn ở giai đoạn sơ khai. Nhưng ngay cả sau đó, không ai từng sử dụng nhiều hơn 2 hoặc 3 "lượt xem". Trong 20 năm qua, kỹ thuật phần mềm đã thay đổi. Ngày nay, phạm vi / bối cảnh và khái niệm và logic và vật lý và ... tất cả đều khác biệt. Rất nhiều giải pháp COTS phải được tích hợp, v.v. Ngày nay, chúng ta đang nói về bản đồ cảnh quan, hiện thực hóa dịch vụ và hàng tá các quan điểm và quan điểm khác. Cách tốt nhất để xem xét nó là thông qua một khung phân loại đơn giản như Zachman: 6 lượt xem và 6 quan điểm. Hãy để đó là điểm khởi đầu của bạn. 6 quan điểm là: khái niệm theo ngữ cảnh hoặc kinh doanh hợp lý hoặc phân phối vật lý hoặc công nghệ hệ thống hoặc tạo tác doanh nghiệp

6 quan điểm là: dữ liệu hoặc Chức năng gì hoặc Mạng như thế nào hoặc Nơi mọi người hoặc Ai thời gian hoặc Khi động lực hoặc Tại sao

Hãy xem một ví dụ. Nếu chúng tôi chỉ quan tâm đến dữ liệu, chúng tôi sẽ bắt đầu với chế độ xem phạm vi và nói: "Phạm vi của chúng tôi là CRM". Trong chế độ xem khái niệm cho quan điểm dữ liệu, chúng tôi sẽ đưa ra một số mô hình ngữ nghĩa cho CRM. Mô hình sẽ là khái niệm, khái niệm thông tin kinh doanh hơn là các đối tượng dữ liệu. Tiếp theo, trong chế độ xem logic, chúng tôi sẽ tạo mô hình dữ liệu lôgic từ mô hình khái niệm về CRM của chúng tôi. Chúng tôi có thể sử dụng phương pháp ER để tạo ra mô hình dữ liệu logic. Sau đó, trong chế độ xem vật lý, chúng tôi sẽ tạo mô hình dữ liệu vật lý. Ở đây, chúng tôi sẽ xác định các loại dữ liệu cụ thể cho nền tảng db mà chúng tôi lựa chọn, các chỉ mục, v.v. Cuối cùng, trong chế độ phân phối, chúng tôi sẽ có tập lệnh DDL của chúng tôi, trong khi ở chế độ xem doanh nghiệp hoạt động, chúng tôi sẽ có tệp nhị phân được triển khai trên một số máy chủ cơ sở dữ liệu và ánh xạ vào cấu trúc dữ liệu nội bộ của nhà cung cấp DBMs. Chúng tôi lặp lại điều này cho mọi quan điểm hoặc cột. Ngoài ra, nếu có nhiều hơn một bên liên quan, chúng tôi sẽ tạo nhiều hơn một mô hình cho mỗi kết hợp quan điểm / chế độ xem. Bây giờ bạn đã có tính phân loại này, bạn có thể xác định quan điểm và quan điểm của riêng mình và sắp xếp chúng vào phân loại này. Ví dụ, đối với các sáng kiến ​​cấp doanh nghiệp, tất cả các quan điểm sau đây đều quan trọng: ứng dụng hợp tác hành vi ứng dụng hợp tác ứng dụng cấu trúc ứng dụng sử dụng chức năng kinh doanh thực hiện quy trình hợp tác kinh doanh và triển khai cơ sở hạ tầng cơ sở hạ tầng sử dụng cơ sở hạ tầng Bây giờ bạn đã có tính phân loại này, bạn có thể xác định quan điểm và quan điểm của riêng mình và sắp xếp chúng vào phân loại này. Ví dụ, đối với các sáng kiến ​​cấp doanh nghiệp, tất cả các quan điểm sau đây đều quan trọng: ứng dụng hợp tác hành vi ứng dụng hợp tác ứng dụng cấu trúc ứng dụng sử dụng chức năng kinh doanh thực hiện quy trình hợp tác kinh doanh và triển khai cơ sở hạ tầng cơ sở hạ tầng sử dụng cơ sở hạ tầng Bây giờ bạn đã có tính phân loại này, bạn có thể xác định quan điểm và quan điểm của riêng mình và sắp xếp chúng vào phân loại này. Ví dụ, đối với các sáng kiến ​​cấp doanh nghiệp, tất cả các quan điểm sau đây đều quan trọng: ứng dụng hợp tác hành vi ứng dụng hợp tác ứng dụng cấu trúc ứng dụng sử dụng chức năng kinh doanh thực hiện quy trình hợp tác kinh doanh và triển khai cơ sở hạ tầng cơ sở hạ tầng sử dụng cơ sở hạ tầng

Krutchen's 4 + 1 không thể đáp ứng tất cả các nhu cầu này


3
Câu trả lời này rất thiên vị và tôi không đồng ý với lý do của bạn về lý do tại sao Kruchten 4 + 1 "quá cũ". 20 năm trước là 1999. Phần mềm chưa ở giai đoạn sơ khai; Kruchten vẫn nói về sự liên quan của 4 + 1, đặc biệt là trong môi trường nhanh nhẹn. Có một quan điểm lý do và quan điểm có sự hiện diện trong các tiêu chuẩn của IEEE về mô tả kiến ​​trúc.
Zimano
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.