Thực hành Phân tích thiết kế hướng đối tượng - Bài thực hành 05: Thực hành về xây dựng biểu đồ thành phần và triển khai

1. Mục tiêu

 Trình bày được các thành phần của biểu đồ thành phần và triển khai (Component

Diagram & Deployment Diagram)

 Xây dựng được biểu đồ thành phần và biểu đồ triển khai cho hệ thống

 Sử dụng thành thạo phần mềm để biểu diễn hai biểu đồ trên

2. Biểu đồ thành phần - Component Diagram

2.1. Khái niệm:

Khi thiết kế các hệ thống phức tạp chúng ta nên chia chúng ra thành nhiều hệ

thống con (subsystem) để dễ thiết kế. Mỗi hệ thống con sau khi xây dựng có thể đóng gói

thành một thành phần phần mềm được triển khai độc lập.

Bản vẽ Component Diagram sẽ giúp chúng ta thể hiện cách chia hệ thống ra nhiều

thành phần và quan hệ của chúng.

pdf8 trang | Chia sẻ: tieuaka001 | Lượt xem: 928 | Lượt tải: 1download
Nội dung tài liệu Thực hành Phân tích thiết kế hướng đối tượng - Bài thực hành 05: Thực hành về xây dựng biểu đồ thành phần và triển khai, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Thực hành Phân tích thiết kế hướng đối tượng ThS. Dương Thành Phết – Khoa CNTT HUTECH Trang 1 Bài tập thực hành 05: THỰC HÀNH VỀ XÂY DỰNG BIỂU ĐỒ THÀNH PHẦN VÀ TRIỂN KHAI (Component Diagram & Deployment Diagram) 1. Mục tiêu  Trình bày được các thành phần của biểu đồ thành phần và triển khai (Component Diagram & Deployment Diagram)  Xây dựng được biểu đồ thành phần và biểu đồ triển khai cho hệ thống  Sử dụng thành thạo phần mềm để biểu diễn hai biểu đồ trên 2. Biểu đồ thành phần - Component Diagram 2.1. Khái niệm: Khi thiết kế các hệ thống phức tạp chúng ta nên chia chúng ra thành nhiều hệ thống con (subsystem) để dễ thiết kế. Mỗi hệ thống con sau khi xây dựng có thể đóng gói thành một thành phần phần mềm được triển khai độc lập. Bản vẽ Component Diagram sẽ giúp chúng ta thể hiện cách chia hệ thống ra nhiều thành phần và quan hệ của chúng. Component Diagram là bản vẽ cho biết cấu trúc của hệ thống theo thành phần phần mềm. Chúng ta xem một ví dụ về Component Diagram như sau: Ví dụ trên cho thấy hệ thống phần mềm ATM chia ra thành 5 thành phần là ATM UI, Server, User, DBMS Server và Printer. Trong đó ATM UI sử dụng chức năng của các thành phần còn lại để vận hành hệ thống. 2.2. Các thành phần của Component Diagram:  Component: Thực hành Phân tích thiết kế hướng đối tượng ThS. Dương Thành Phết – Khoa CNTT HUTECH Trang 2 Component là một thành phần phần mềm được đóng gói độc lập, nó có thể được triển khai độc lập trên hệ thống và có khả năng tương tác với các thành phần khác khi thực hiện các chức năng của hệ thống.  Component Dependence: Component Dependence thể hiện quan hệ giữa các thành phần với nhau. Các thành phần phần mềm luôn cần sử dụng một số chức năng ở các thành phần khác trong hệ thống nên quan hệ Dependence được sử dụng thường xuyên. 2.3. Ứng dụng của Component Diagram Component được sử dụng vào các công việc sau:  Thể hiện cấu trúc của hệ thống  Cung cấp đầu vào cho bản vẽ Deployment  Hỗ trợ cho việc thiết kế kiến trúc phần mềm 2.4.. Xây dựng Component Diagram Để xây dựng bản vẽ Component chúng ta thực hiện các bước sau:  Bước 1: Chia hệ thống thành những SubSystem  Bước 2: Xác định các thành phần và vẽ --------------- Bài tập 1. Thực hành xây dựng Component Diagram cho hệ thống eCommerce “Một công ty chuyên kinh doanh về các thiết bị điện tử và công nghệ thông tin trong nhiều năm nay và đã có một lượng khách hàng nhất định.Để mở rộng hoạt động kinh doanh của mình, công ty mong muốn xây dựng một hệ thống thương mại điện tử nhằm mở rộng phạm vi kinh doanh trên mạng Internet. Hệ thống mới phải đảm bảo cho khách hàng viếng thăm Website dễ dàng lựa chọn các sản phẩm, xem các khuyến mãi cũng như mua hàng. Việc thanh toán có thể được thực hiện qua mạng hoặc thanh toán trực tiếp tại cửa hàng. Khách hàng có thể nhận hàng tại cửa hàng hoặc sử dụng dịch vụ chuyển hàng có phí của công ty. Ngoài ra, hệ thống cũng cần có phân hệ để đảm bảo cho công ty quản lý các hoạt động kinh doanh như số lượng hàng có trong kho, quản lý đơn đặt hàng, tình trạng giao hàng, thanh toán v.v Thực hành Phân tích thiết kế hướng đối tượng ThS. Dương Thành Phết – Khoa CNTT HUTECH Trang 3 Thông tin chi tiết các chức năng các bạn có thể tham khảo thêm tại các Website bán hàng. Hướng dẫn. Bước 1: Chia hệ thống thành các SubSystem như sau:  Chia phần Website phục vụ cho đối tượng bên ngoài công ty là Guest và Customer ra một gói riêng để dễ triển khai và bảo mật. Thành phần này gọi là EcommerceWeb.  Phần Website phục vụ cho đối tượng bên trong công ty được chia thành một gói gọi là ManagementWeb.  Phần Bussiness được sử dụng để tương tác CSDL và xử lý các nghiệp vụ.  Phần PaymentGateway để xử lý thanh toán trực tuyến.  Phần Database Server cũng được tách ra một gói riêng. Lưu ý: việc phân chia này tùy thuộc vào nhu cầu tổ chức phát triển và triển khai của hệ thống. Bạn cần có kinh nghiệm về kiến trúc hệ thống khi tham gia thiết kế bản vẽ này. Bước 2: Xác định quan hệ và vẽ ta được bản vẽ Component Diagram Việc chia ra các gói sẽ giúp chúng ta thuận tiện trong quá trình thiết kế, phát triển và triển khai. Bạn có thể triển khai mỗi thành phần trên một Server riêng để tăng năng lực cho hệ thống. 3. Bản vẽ triển khai - Deployment Diagram: 3.1. Khái niệm: 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. Thực hành Phân tích thiết kế hướng đối tượng ThS. Dương Thành Phết – Khoa CNTT HUTECH Trang 4 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.vChúng ta xem một ví dụ về deployment diagram như sau: 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. 3.2. 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: Ký hiệu về Association 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. 3.3.. Ứng dụng của Deployment Diagram Deployment Diagram có thể ứng dụng vào các trường hợp sau: Thực hành Phân tích thiết kế hướng đối tượng ThS. Dương Thành Phết – Khoa CNTT HUTECH Trang 5  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ư. 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. 3.4. 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ẽ. Bài tập2. Thực hành xây dựng Deployment Diagram cho hệ thống eCommerce Xem xét hệ thống eCommerce 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. Thực hành Phân tích thiết kế hướng đối tượng ThS. Dương Thành Phết – Khoa CNTT HUTECH Trang 6 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: 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. Bài tập 3: Mô tả chức năng và yêu cầu của HỆ THỐNG QUẢN LÝ THƯ VIỆN Xây dựng hệ thống quản lý thư viện cho trường Đại học gồm các hoạt động quản lý thông tin sách, quản lý thông tin độc giả, quản lý hoạt động mượn trả sách:  Sinh Viên của trường muốn mượn sách của thư viện thì trước tiên phải đăng ký làm thẻ thư viện theo lớp, thông tin về thẻ thư viện gồm (Mã độc giả, họ tên, lớp, ngày sinh, giới tính), khi đó thủ thư thực hiện nhập thông tin về thẻ thư viện vào hệ thống và in thẻ thư viện giao cho sinh viên, khi thông tin về thẻ thư viện có sai sót hệ thống cho phép thủ thư sửa, khi độc giả bị loại bỏ khỏi thư viện hệ thống cho phép xóa thẻ thư viện.  Các cuốn sách trong thư viện được quản lý thông tin theo đầu sách, mỗi đầu sách trong thư viện có nhiều bản sao khác nhau. Thông tin về đầu sách gồm (Mã đầu sách, tên đầu sách, nhà xuất bản, số trang, kích thước, tác giả, số lượng sách), thông tin về bản sao các đầu sách gồm (mã đầu, mã sách, tình trạng, ngaynhap). Khi thư viện nhập sách mới về thủ thư có nhiệm vụ nhập thông tin sách vào trong thư viện, nếu thông tin Thực hành Phân tích thiết kế hướng đối tượng ThS. Dương Thành Phết – Khoa CNTT HUTECH Trang 7 về sách có thay đổi hoặc loại bỏ ra khỏi thư viện, thủ thư thực hiện sửa thông tin sách hoặc xóa sách.  Thư viện quản lý các đầu sách theo các chuyên ngành, các đầu sách được phân thành các chuyên ngành khác nhau. Thông tin chuyên ngành gồm (Mã chuyên ngành, tên chuyên ngành, mô tả).  Mỗi một độc giả một lần mượn chỉ được mượn một cuốn sách, khi độc giả muốn mượn sách vào tìm sách trong thư viện và ghi thông tin vào phiếu mượn gồm mã sách, mã độc giả và gửi cho thủ thư. Thủ thư tiến hành ghi nhận thông tin phiếu mượn vào trong hệ thống, giữ lại thẻ của độc giả và giao sách cho độc giả. Thông tin phiếu mượn gồm (Mã sách, mã độc giả, mã thủ thư cho mượn sách, ngày mượn, tình trạng).  Khi độc giả trả sách thủ thư thực hiện chức năng trả sách để ghi nhận tình trạng trả sách cho phiếu mượn.  Định kỳ thủ thư phải làm các báo cáo thống kê gửi lên lãnh đạo thư viện các báo cáo gồm: Thông tin các đầu sách cho mượn nhiều nhất, thông tin về các độc giả chưa trả sách.  Để quản lý người dùng hệ thống, trong thư viện có một nhân viên đóng người quản trị vai trò làm. Nhân viên này có quyền quản lý thông tin người dùng hệ thống. Khi có nhân viên thư viện mới người quản trị cập nhật thông tin thủ thư vào hệ thống, tạo tài khoản và cấp quyền cho nhân viên thư viện. Khi thông tin nhân viên thư viện có sai sót hoặc loại bỏ ra khỏi hệ thống thì người quản trị sửa hoặc xóa thông tin nhân viên thư viện ra khỏi hệ thống.  Người dùng hệ thống phải đăng nhập trước khi thực hiện. Yêu cầu: 1. Xây dựng biểu đồ thành phần của hệ thống quản lý thư viện 2. Xây dựng biểu đồ triển khai của hệ thống quản lý thư viện Hướng dẫn thực hiện 1. Xây dựng biểu đồ thành phần của hệ thống quản lý thư viện: Phân tích bài toán: Bước 1: Dựa vào kiến trúc hệ thống phần mềm sẽ triển khai, xác định các thành phần của hệ thống. Xác định các lớp, các gói thuộc mỗi một thành phần (Một thành phần có thể gồm nhiều thành phần nhỏ bên trong, tùy thuộc vào quy mô của dự án). Ví dụ trong hệ thống quản lý thư viện chọn kiến trúc tập trung dữ liệu, Multi layer có thể gồm các gói sau: Thực hành Phân tích thiết kế hướng đối tượng ThS. Dương Thành Phết – Khoa CNTT HUTECH Trang 8  Bound_QuanLyThuVien: Gồm các lớp bound thuộc tầng trình diễn.  Ctr_QuanLyThuVien: Gồm các lớp control đảm nhận nghiệp vụ các UC  DaTa_QuanLyThuVien: Gồm các lớp đảm nhận nhiệm vụ tương tác với cơ sở dữ liệu.  Entity_QuanLyThuVien: Gồm các lớp mô tả cấu trúc dữ liệu. Bước 2: Xác định mối quan hệ phụ thuộc giữa các thành phần (thành phần A phụ thuộc vào thành phần B nếu trong A có ít nhất một lớp sử dụng dịch vụ của một lớp khác trong thành phần B). Minh họa: 2. Xây dựng biểu đồ triển khai hệ thống. Phân tích:  Dựa trên kiến trúc hệ thống, xác định các Node triển khai.  Xác định liên kết giữa các Node. Liên kết giữa các Node là giao thức, cách thức mà các Node trao đổi thông tin với nhau. Ví dụ các dạng truyền thông giữa các hệ thống như: TCP/IP, hồng ngoại, Bluetooth Với hệ thống quản lý thư viện trên, lựa chọn kiến trúc tập trung dữ liệu. Có biểu đồ triển khai như sau: Minh họa: Các bài tập tự làm 1. Lựa trọn kiến trúc triển khai khác, xây dựng lại biểu đồ thành phần và biểu đồ triển khai cho hệ thống quản lý thư viện. --------Hết Lab 05---------

Các file đính kèm theo tài liệu này:

  • pdflab05_3727.pdf