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.
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.
Bài tiếp: Công cụ sử dụng để xây dựng các bản vẽ UML
Bài trước: Bản vẽ Component Diagram