25/05/2018, 09:06

Biểu đồ thành phần và biểu đồ triển khai

Biểu đồ thành phần (Component Diagram) là biểu đồ mô tả các thành phần và sự phụ thuộc của chúng trong hệ thống. Các thành phần của hệ thống có thể là: Thành phần mã nguồn , có ý nghĩa vào thời điểm dịch chương trình. Thông thường ...

Biểu đồ thành phần (Component Diagram) là biểu đồ mô tả các thành phần và sự phụ thuộc của chúng trong hệ thống. Các thành phần của hệ thống có thể là:

  • Thành phần mã nguồn, có ý nghĩa vào thời điểm dịch chương trình. Thông thường nó là tập các chương trình cài đặt các lớp. Trong C++, mỗi tệp .cpp và .h là một thành phần. Trước khi phát sinh mã chương trình, phải thực hiện ánh xạ từng tệp vào thành phần tương ứng, thông thường mỗi lớp được ánh xạ vào hai tệp (.cpp, và .h).
  • Thành phần mã nhị phân là mã trình nhị phân được dịch từ mã chương trình nguồn. Nó có thể là tệp mã đích (.obj), tệp thư viện tĩnh (.lib) hay tệp thư viện động (.dll). Thành phần nhị phân được sử dụng để liên kết, hoặc để thực thi chương trình (đối với thư viện động).
  • Thành phần thực thi là tệp chương trình có thể thực thi được (các tệp .exe). Nó là kết quả của chương trình liên kết các thành phần nhị phân.

Với biểu đồ thành phần, người phát triển hệ thống thực hiện dịch, triển khai hệ thống sẽ biết thư viện mã trình nào tồn tại và những tệp có thể thực thi (.exe) khi dịch và liên kết thành công.

Giữa các thành phần chỉ có một loại quan hệ phụ thuộc được biểu diễn bằng đường mũi tên đứt nét. Kết nối phụ thuộc cho biết thành phần phụ thuộc phải dịch sau thành phần kia.

Nên tránh phụ thuộc vòng tròn trong biểu đồ thành phần.

Biểu đồ thành phần mô tả sự phụ thuộc giữa các thành phần của hệ thống.

Sự phụ thuộc của các thành phần trong biểu đồ thành phần

Trong UML (và Rose) có một số biểu tượng biểu diễn cho các thành phần, đó là:

  • Thành phần: biểu tượng thành phần (hình 1) được sử dụng để biểu diễn module chương trình có các giao diện. Trong đặc tả có xác định kiểu Stereotype (AciveX, Applet, DLL, exe, v.v.).
  • Đặc tả và thân chương trình con: biểu tượng thành phần cho đặc tả chương trình con hình 2b, và đặc tả dạng cài đặt của chương trình con hình 2c. Chương trình con không chứa các định nghĩa lớp.
  • Chương trình chính: biểu tượng thành phần (tệp) chứa điểm vào của chương trình chính hình 2d, ví dụ trong C/C++ đó là tệp chứa hàm main().
  • Đặc tả và thân của gói: đặc tả gói hình 2e là tệp header chứa thông tin về các hàm thành phần của lớp, ví dụ đặc gói trong C/C++ là tệp .h định nghĩa các hàm prototype. Biểu tượng cho thân gói hình 2f gồm mã các lệnh của các hàm thành phần của lớp chứa trong gói. Trong C/C++, thành phần này là tệp .cpp.
  • Đặc tả và nội dung nhiệm vụ: các biểu tượng này (hình 2g, 2h) biểu diễn cho phần đặc tả và nội dung của những nhiệm vụ độc lập.
Các thành phần của hệ thống

Tương tự như các phần tử khác trong UML, đối với các thành phần cũng có thể bổ sung một số đặc tả chi tiết:

+ Stereotype: mẫu rập khuôn cho các biểu tượng sẽ được sử dụng để phân nhóm các thành phần. Nó có thể là một trong các lựa chọn: <none>, đặc tả chương trình con, chương trình chính, đặc tả gói, nội dung của gói, đặc tả nhiệm vụ, nội dung công việc, ActiveX, Applet, ứng dụng, v.v.

+ Ngôn ngữ: Rose cho phép lựa chọn ngôn ngữ lập trình cho từng thành phần, như C++, Java, Visual Basic, Oracle 8, v.v.

+ Khai báo: phụ thuộc được gộp vào mã chương trình cho mỗi thành phần. Lệnh #include của C++ được xem như là lệnh khai báo.

+ Lớp: trước khi phát sinh mã chương trình thì lớp phải được ánh xạ vào thành phần. Điều này báo cho Rose biết mã chương trình của lớp sẽ được ghi vào tệp nào. Có thể ánh xạ một hay nhiều lớp vào một thành phần.

Biểu đồ thành phần được xem như là tập các biểu tượng thành phần biểu diễn cho các thành phần vật lý trong một hệ thống. Ý tưởng cơ bản của biểu đồ thành phần là tạo ra cho những người thiết kế và phát triển hệ thống một bức tranh chung về các thành phần của hệ thống.

Biểu đồ triển khai (Deployment Diagram) chỉ ra cấu hình các phần tử xử lý lúc chương trình chạy, các nút trên mạng và các tiến trình phần mềm thực hiện trên những phần tử đó. Nó chỉ ra mối quan hệ giữa các phần cứng và phần mềm của hệ thống. Biểu đồ triển khai chỉ ra toàn bộ các nút trên mạng, kết nối giữa chúng và các tiến trình chạy trên chúng. Ví dụ, biểu đồ triển khai của hệ thống có thể tổ chức như hình 3.

Biểu đồ triển khai của hệ thống

Mỗi nút là một đối tượng vật lý (các thiết bị) có tài nguyên tính toán. Chúng có thể là máy tính, máy in, máy đọc ảnh, thiết bị truyền tin, v.v. Các nút được kết nối với nhau thông qua các giao thức (protocol) như các giao thức “TCP/IP” ở hình 3.

Các phần tử (nút) của biểu đồ triển khai

  • Bộ xử lý (Processor): bộ xử lý của máy tính, máy chủ, trạm làm việc, v.v.

Các bộ xử lý được đặc tả chi tiết bằng cách bổ sung thêm các thông tin:

+ Stereotype: để phân nhóm các bộ xử lý.

+ Đặc tính: mô tả các tính chất vật lý của mỗi bộ xử lý như: tốc độ tính toán, dung lượng bộ nhớ, v.v.

+ Lịch biểu (Schelduling): mô tả loại lịch biểu thời gian xử lý, bao gồm:

- Preemptive cho phép những tiến trình có mức ưu tiên cao hơn có thể chiếm quyền xử lý đối với những tiến trình có mức ưu tiên thấp hơn

- Non Preemptive không có ưu tiên, một tiến trình chỉ dừng khi nó tự kết thúc

- Cyclic chỉ ra chu kỳ điều khiển giữa các tiến trình

- Executive: các lịch biểu được điều khiển bằng thuật toán, bằng chương trình

- Manual: tiến trình được điều khiển bằng người sử dụng.

  • Thiết bị: là máy móc hay bộ phận phần cứng nhưng không phải là bộ xử lý trung tâm, như: màn hình, máy in, máy vẽ, v.v. Thiết bị cũng có thể đặc tả một số thông tin chi tiết như: Stereotype và một số tính chất vật lý.
  • Tiến trình(Process) là luồng thực hiện của một chương trình trong một bộ xử lý. Một chương trình thực thi được xem như là một tiến trình. Các tiến trình thường được gán các mức ưu tiên và bộ xử lý sẽ thực hiện những tiến trình có mức ưu tiên cao hơn.
0