Deployment Diagram là bản vẽ
giúp chúng ta xác định sẽ triển khai hệ thống phần mềm như thế nào. Đồng thời,
xác định chúng ta sẽ đặt các thành phần phần mềm (component) lên hệ thống ra
sao.
Deployment Diagram thể hiện rõ kiến trúc triển khai nên nó sẽ
ảnh hưởng đến sự thiết kế, phát triển, hiệu năng, khả năng mở rộng của hệ thống
v.v…
Chúng ta xem một ví dụ về deployment diagram như sau:
Hình 1.
Ví dụ về Deployment Diagram
Bản vẽ trên mô tả hệ thống được triển khai trên 03 Server khác
nhau gồm Webserver, Application Server, DB server và 02 thiết bị truy cập đầu
cuối.
1. Các thành phần của Deployment Diagram
Node
Node là một thành phần vật lý, nó có thể là thiết bị phần cứng
hoặc một môi trường nào đó mà các thành phần phần mềm được thực hiện.
Hình 2.
Ký hiệu về Node
Relationship
Deployment Diagram sử dụng quan hệ Association và Dependence để
thể hiện mối quan hệ giữa các node với nhau. Các ký hiệu của chúng như sau:
Hình 3. Ký hiệu về Association
Hình 4. Ký hiệu về Dependence
Việc xác định quan hệ giữa các thành phần và kết nối chúng lại
với nhau chúng ta sẽ có bản vẽ Deployment Diagram.
2. Xây dựng Deployment Diagram
Thực hiện các bước sau đây để xây dựng bản vẽ Deployment
Diagarm.
Bước 1: Xác định các thành phần phần cứng sẽ tham gia vào việc triển khai hệ thống
Việc này liên quan đến kiến trúc hệ thống, hiệu năng, khả năng
mở rộng và cả vấn đề tài chính và hạ tầng của hệ thống nên bạn cần có kinh
nghiệm về kiến trúc hệ thống để làm được việc này.
Bước 2: Xác định các thành phần để triển khai lên các Node
Khi đã có phần cứng, bước tiếp theo chúng ta xác định những component
liên quan để triển khai trên mỗi node.
Bước 3: Xác định các quan hệ và hoàn tất bản vẽ
Xác định các mối quan hệ giữa các thành phần với nhau và nối
chúng lại để hoàn tất bản vẽ.
3. Thực hành xây dựng Deployment Diagram cho hệ thống eCommerce
Xem xét hệ thống eCommerce mà chúng ta đã bàn ở bài 3 và tiến
hành xây dựng bản vẽ Deployment Diagram cho hệ thống này. Thực hiện các bước
sau đây:
Bước 1: Xác định các Node và bố trí các thành phần lên node
– Để tăng
cường an ninh và sức chịu đựng cho hệ thống chúng ta bố trí phần cho người dùng
bên ngoài công ty (Guest và Customer) ra một Server riêng gọi là Web eCommerce
Server.
– Website
chứa phần tương tác với nhân viên công ty đặt lên một Node riêng gọi là Web
Management Server.
– Phần
Bussiness được đưa ra một Server ứng dụng gọi là Application Server.
– Database
được đặt lên một Server gọi là Database Server.
– Phần
PaymentGateWay có thể được đặc trên Web eCommerce Server
– Bổ sung
thêm các thiết bị bảo mật và hạ tầng.
Bước 2: Xác định quan hệ giữa các thành phần và hoàn tất bản vẽ
Xem xét các thành phần gọi với nhau để hoàn tất chức năng, chúng
ta sẽ xác định các quan hệ của chúng. Biểu diễn lên bản vẽ chúng ta sẽ có
Deployment Diagram như sau:
Hình 5.
Bản vẽ deployment diagram cho hệ thống eCommerce
Nếu theo mô hình này, hệ thống cần 4 Server và 01 thiết bị mạng
là Firewall để triển khai nhằm đảm bảo an ninh, sức chịu đựng khi có đông người
sử dụng và khả năng mở rộng hệ thống. Tuy nhiên, nếu hệ thống của bạn ít người
sử dụng và cần tiết kiệm chi phí, bạn có thể triển khai trên một hoặc hai
Server chứ không cần thiết phải triển khai trên nhiều Server như mô hình trên.
Ngoài ra, bạn cũng có thể hiệu chỉnh lại để bản vẽ trên để trở nên hấp dẫn và
chi tiết hơn như trên hình 1.
4. Ứng dụng của Deployment Diagram
Deployment Diagram có thể ứng dụng vào các trường hợp sau:
– Làm tài
liệu để triển khai hệ thống.
– Sử dụng
trong thiết kế kiến trúc cho hệ thống.
– Dùng
trong giao tiếp với khách hàng, các nhà đầu tư.
5. Kết luận
Cũng như Component Diagram, deployment diagram là một bản vẽ khá
đơn giản và dễ xây dựng nhưng có ảnh hưởng rất lớn đến quá trình phát triển,
triển khai và kinh phí xây dựng dự án. Do vậy, các bạn nên dành thời gian cho
bản vẽ này để tránh những khó khăn trong quá trình phát triển các sản phẩm phần
mềm.
Chúng ta đã tìm hiểu và thực tập xây dựng các bản vẽ cần thiết
trong quá trình thiết kế một hệ thống phần mềm. Trong bài tiếp theo chúng ta sẽ
bàn về việc sử dụng công cụ để vẽ các bản vẽ UML nhằm tăng năng suất thiết kế.
Mời các bạn đọc tiếp.
0 nhận xét:
Đăng nhận xét