Bài toán

Một phần của tài liệu LUẬN VĂN:NGHIÊN CỨU THIẾT KẾ THEO HỢP ĐỒNG VÀ XÂY DỰNG CÔNG CỤ HỖ TRỢ ppt (Trang 48 - 51)

Giả sử chúng ta có một hệ thống Stock Quoter (Hình 9) [5] Đây là một hệ thống phức tạp với nhiều thành phần kết nối với nhau.

Hình 9: Kiến trúc CCM của hệ thống Stock Quoter.

Để có thể giới thiệu công cụ một cách dễ hiểu với người đọc, chúng ta sẽ tiếp cận với hệ thống đơn giản trước. Hệ thống Stock Quoter đơn giản gồm 2 thành phần với các cổng notifier_out, notifier_in, quoter_info_out, quoter_info_in (Hình 10) [12]

Hình 10: Giao diện thành phần CORBA và các cổng.

Hình vẽ minh họa hệ thống Stock Quoter bằng cách sử dụng mô hình thành phần CORBA. Thành phần Stock Distributor biểu diễn hệ cơ sở dữ liệu chứng khoán thời gian thực. Khi các giá trị của cổ phiếu thay đổi, nó đẩy một eventype có chứa tên cổ phiếu thông qua một cổng event source (notifier_out) đến cổng event sink (notifier_in) tương ứng của một hoặc nhiều thành phần Stock Broker khác. Nếu các thành phần StockBroker này cần những thông tin khác của cổ phiếu, chúng có thể yêu cầu một hành động thông qua cổng receptacle (quoter_info_in) của thành phần StockBroker đến cổng facets (quoter_info_out) của thành phần StockDistributor.

Dưới đây là sự thực thi của thành phần StockBroker và StockDistributor. Các cổng được định nghĩa như sau:

component StockBroker {

consumesStockName notifier_in;

usesStockQuoter quoter_info_in; };

component StockDistributor supports Trigger {

publishesStockName notifier_out;

providesStockQuoter quoter_info_out;

attributelong notification_rate; };

Thành phần StockBroker chứa hai cổng tương ứng với hai chức năng mà nó thực hiện. Một eventtype gọi là notifier_in sẽ tiếp nhận thông tin từ thành phần StockDistributor khi giá trị cổ phiếu thay đổi. Ở hình trên, cổng notifier_in được kết nối với cổng notifier_out của thành phần StockDistributor khi kiến trúc CCM được triển khai và cấu hình công cụ khi ứng dụng được thực hiện. Nó sử dụng giao diện StockQuoter được cung cấp bởi thành phần StockDistributor mà báo cáo thông tin về cổ phiếu như giá cổ phiếu tăng hay giảm hay giá trị giao dịch của cổ phiếu trong ngày.

Thành phần StockDistributor xuất một eventtype được gọi là notifier_out để đẩy thông tin về thành phần StockBroker khi mà giá trị cổ phiếu thay đổi. Ngoài ra, nó còng định nghĩa một cổng facet được gọi là quoter_info_out trong đó chứa các thông tin thêm về một cổ phiếu cụ thể. Tiếp theo, thành phần này còn định nghĩa một thuộc tính attribute có tên là notification_rate mà quản trị hệ thống có thể sử dụng để kiểm soát tốc độ của thành phần StockDistributor, cơ sở dữ liệu bảng giá cổ phiếu và đẩy những thay đổi cho thành phần StockBroker để người dùng có thể theo dõi trực tiếp.

Sau quá trình phân tích, thiết kế, lập trình và kiểm thử chúng tôi đã xây dựng (mặc dù chưa hoàn thiện) ứng dụng đặc tả và kiểm chứng. Dưới đây là một số giao diện của ứng dụng

Một phần của tài liệu LUẬN VĂN:NGHIÊN CỨU THIẾT KẾ THEO HỢP ĐỒNG VÀ XÂY DỰNG CÔNG CỤ HỖ TRỢ ppt (Trang 48 - 51)

Tải bản đầy đủ (PDF)

(61 trang)