Luận văn Nghiên cứu và ứng dụng mẫu thiết kế trong phương pháp hướng đối tượng
MỤC LỤC
DANH MỤC THUẬT NGỮVÀ CÁC TỪVIẾT TẮT. i
DANH MỤC CÁC BẢNG . ii
DANH MỤC CÁC HÌNH VẼ. v
MỞ ĐẦU . 1
Chương 1. GIỚI THIỆU QUY TRÌNH PHÁT TRIỂN PHẦN MỀM VÀ
NGÔN NGỮMÔ HÌNH HÓA. 3
1.1 QUY TRÌNH PHÁT TRIỂN PHẦN MỀM. 3
1.1.1 Định nghĩa. 3
1.1.2 Phương pháp phát triển phần mềm hướng đối tượng . 4
1.1.3 Chu trình phát triển phần mềm xoắn ốc. 4
1.1.4 Tiến trình phát triển phần mềm RUP. 6
1.2 NGÔN NGỮMÔ HÌNH HÓA THỐNG NHẤT - UML . 10
1.2.1 Các đặc trưng của UML. 10
1.2.2 Mô hình khái niệm của UML . 11
1.2.3 Kiến trúc hệthống. 12
Chương 2. MẪU THIẾT KẾ. 15
2.1 KHÁI NIỆM CƠBẢN VỀMẪU THIẾT KẾ. 15
2.1.1 Một số định nghĩa . 15
2.1.2 Đặc điểm của mẫu thiết kế. 15
2.1.3 Các yếu tốxác định một mẫu thiết kế. 15
2.2 MỘT SỐMẪU THIẾT KẾ. 16
2.2.1 Mẫu GRASP . 17
2.2.2 Mẫu Gang of Four. 27
Chương 3. ỨNG DỤNG PHƯƠNG PHÁP HƯỚNG ĐỐI TƯỢNG VÀ
MẪU THIẾT KẾXÂY DỰNG PHẦN MỀM QUẢN LÝ THẺ
ĐIỆN THOẠI. 66
ii
3.1 GIỚI THIỆU BÀI TOÁN . 66
3.1.1 Phát biểu bài toán. 67
3.1.2 Các thành phần của hệthống . 67
3.1.3 Kiến trúc môi trường hệthống. 68
3.2 THU THẬP VÀ PHÂN TÍCH YÊU CẦU - MÔ HÌNH USE CASE . 69
3.2.1 Mục tiêu của hệthống. 69
3.2.2 Đặc tảcác chức năng hệthống . 69
3.2.3 Nhận biết và mô tảcác tác nhân và trường hợp sửdụng. 71
3.2.4 Biểu đồUse cases . 77
3.2.5 Mô hình hóa nghiệp vụ. 77
3.3 THU THẬP VÀ PHÂN TÍCH YÊU CẦU - MÔ HÌNH KHÁI NIỆM 82
3.3.1 Nhận biết các khái niệm (đối tượng) . 83
3.3.2 Thuộc tính của các lớp . 84
3.3.3 Nhận biết các quan hệcác khái niệm. 85
3.4 HÀNH VI HỆTHỐNG - CÁC BIỂU ĐỒTRÌNH TỰ. 87
3.4.1 Biểu đồtrình tựhệthống . 87
3.4.2 Giao kèo thao tác của hệthống. 88
3.5 THIẾT KẾHỆTHỐNG . 92
3.5.1 Các biểu đồcộng tác . 92
3.5.2 Biểu đồlớp thiết kế. 99
3.5.3 Thiết kếtriển khai . 102
3.5.4 Bổsung thiết kế. 106
3.5.5 Mô hình hóa dữliệu . 114
3.6 CÀI ĐẶT THIẾT KẾ. 115
3.6.1 Biểu đồthành phần . 115
3.6.2 Biểu đồtriển khai. 116
PHẦN KẾT LUẬN. 118
TÀI LIỆU THAM KHẢO . 119
Áp dụng Mẫu Singleton thiết kế lớp XuatThe và Thanhtoan 113 ii) Áp dụng mẫu GoF Remote Proxy và Proxy (a) (b) (c) Hình 3.39 Áp dụng mẫu Remote proxy: (a) tìm dịch vụ xác thực, (b) sử dụng Remote proxy và (c) các hành động Remote proxy Trong việc thanh toán bằng thẻ tín dụng, hệ thống cần phải giao dịch với một dịch vụ xác thực thẻ bên ngoài - CreditAuthorizationService. Trong 114 trường hợp này, theo mẫu GoF Remote Proxy, ta có thể tạo ra một lớp nội bộ làm đại diện liên lạc với dịch vụ thực và đối tượng CreditAuthorizationService được sử dụng để giao tiếp với bên ngoài. Khi thực hiện thanh toán bằng thẻ, hệ thống cần tìm dịch vụ xác thực thẻ, sau đó trên cơ sở remote proxy mới đề nghị dịch vụ này giao dịch với dịch vụ thực tế. Hình 3.39 thể hiện các biểu đồ cộng tác thực hiện việc tìm dịch vụ khi thanh toán bằng thẻ tín dụng, sử dụng mẫu Remote proxy và các hành động của nó. 3.5.5 MÔ HÌNH HÓA DỮ LIỆU Trên cơ sở phân tích và thiết kế, phần chính cơ sở dữ liệu của Hệ thống quản lý thẻ được thiết kế như hình 3.40. Hình 3.40 Biểu đồ quan hệ dữ liệu của hệ thống 115 3.6 CÀI ĐẶT THIẾT KẾ 3.6.1 BIỂU ĐỒ THÀNH PHẦN Hình 3.41 Biểu đồ thành phần Hệ thống quản lý thẻ 116 Thành phần là mô đun vật lý mã trình, thành phần phần mềm có thể là thư viện mã nguồn và các tệp chạy được. Mặc định mỗi lớp thiết kế sẽ có phần đặc tả và phần thân. Đặc tả chứa ghép nối lớp, thân chứa cài đặt của cùng lớp đó. Biểu đồ thành phần thể hiện các thành phần của hệ thống và phụ thuộc giữa chúng. Biểu đồ thành phần hệ thống quản lý thẻ được thiết kế như hình 3.41. 3.6.2 BIỂU ĐỒ TRIỂN KHAI Biểu đồ triển khai mô tả kiến trúc hệ thống của phần cứng khác nhau như bộ xử lý, các thiết bị và các thành phần phần mềm thực hiện trên kiến trúc đó. Hình 3.42 Biểu đồ triển khai hệ thống Hệ thống Quản lý thẻ tại Bưu điện Thành phố Hà Nội khi triển khai đầy đủ sẽ được xây dựng theo biểu đồ triển khai trong hình 3.41, trong đó: - Máy Dich vu CSDL: Là máy chứa CSDL của hệ thống quản lý thẻ. Mạng LAN tại Bưu điện Tp. HN 117 - Máy May1, May2: là các máy trạm tại Bưu điện Tp.HN thực hiện chương trình quản lý thẻ. - Máy Dich vu Datmua: Chứa trình dịch vụ Internet phục vụ việc đặt mua thẻ qua mạng. - ISP: Nhà cung cấp dịch vụ Internet. - Máy Dai ly: Là máy tính của đại lý có kết nối Internet để có thể đặt mua thẻ qua Internet. Tóm lược: Chương 3 đã trình bày kết quả ứng dụng phương pháp hướng đối tượng, quy trình RUP và mẫu thiết kế vào việc phân tích, thiết kế, xây dựng Hệ thống quản lý thẻ điện thoại trả trước tại Bưu điện Thành phố Hà Nội. Đặc biệt việc ứng dụng các mẫu thiết kế đã hỗ trợ rất nhiều cho việc quyết định gán trách nhiệm cho từng lớp thiết kế, xây dựng cấu trúc cũng như mối quan hệ giữa các lớp để làm cho hệ thống có khả năng tái sử dụng cao. 119 ii) Biểu đồ trình tự xuất thẻ ............................................................. 87 iii) Biểu đồ trình tự thanh toán bằng tiền mặt ................................. 88 3.4.2 giao kèo thao tác cỦa hỆ thỐng ................................................ 88 3.4.2.1 Hợp đồng nhập thẻ .............................................................. 89 3.4.2.2 Hợp đồng kết thúc phiên nhập thẻ ...................................... 89 3.4.2.3 Hợp đồng xuất thẻ ............................................................... 90 3.4.2.4 Hợp đồng kết thúc phiên xuất thẻ ....................................... 90 3.4.2.5 Hợp đồng tính dư nợ ........................................................... 91 3.4.2.6 Hợp đồng trả bằng tiền mặt................................................. 91 3.4.2.7 Hợp đồng khởi động hệ thống ............................................ 92 3.5 ThiẾt kẾ hỆ thỐng............................................................................ 92 3.5.1 Các biỂu đỒ cỘng tác................................................................ 92 3.5.1.1 Biểu đồ cộng tác cho Hợp đồng nhập thẻ ........................... 92 3.5.1.2 Biểu đồ cộng tác cho Hợp đồng kết thúc phiên nhập thẻ ... 93 3.5.1.3 Biểu đồ cộng tác cho Hợp đồng xuất thẻ ............................ 94 3.5.1.4 Biểu đồ cộng tác cho Hợp đồng kết thúc phiên xuất thẻ .... 94 3.5.1.5 Biểu đồ cộng tác cho Hợp đồng tính dư nợ của đại lý ....... 95 3.5.1.6 Biểu đồ cộng tác cho Hợp đồng thanh toán bằng tiền mặt . 97 3.5.1.7 Biểu đồ cộng tác cho Hợp đồng khởi động hệ thống ......... 98 3.5.2 BiỂu đỒ lỚp THIẾT KẾ............................................................ 99 3.5.2.1 Thiết kế lớp ......................................................................... 99 3.5.2.2 Bổ sung quan hệ giữa các lớp ........................................... 100 3.5.2.3 Bổ sung quan hệ phụ thuộc............................................... 101 121 Hình: Bảng 3.1 Các chức năng cơ bản của Hệ thống quản lý thẻ................................. 70 Hình 3.3 Biểu đồ UC của hệ thống ..................................................................... 77 Hình 3.4 Giao diện cho việc nhập thẻ ................................................................. 78 Hình 3.5 Giao diện cho việc xuất thẻ .................................................................. 79 Hình 3.6 Giao diện cho việc thanh toán.............................................................. 80 Hình 3.10 Biểu đồ trình tự nhập thẻ.................................................................... 87 Hình 3.11 Biểu đồ trình tự xuất thẻ..................................................................... 87 Hình 3.12 Biểu đồ trình tự thanh toán bằng tiền mặt.......................................... 88 Hình 3.13 Biểu đồ cộng tác hợp đồng nhập thẻ .................................................. 93 Hình 3.14 Biểu đồ cộng tác hợp đồng kết thúc phiên nhập thẻ .......................... 93 Hình 3.15 Biểu đồ cộng tác xuất thẻ ................................................................... 94 Hình 3.16 Biểu đồ cộng tác hợp đồng kết thúc phiên xuất thẻ ........................... 95 Hình 3.17 Biểu đồ cộng tác khởi tạo dư nợ ........................................................ 95 Hình 3.18 Biểu đồ cộng tác tính dư nợ ............................................................... 96 Hình 3.19 Biểu đồ cộng tác tính dư nợ ............................................................... 97 Hình 3.20 Biểu đồ cộng tác khởi động hệ thống ................................................ 98 Hình 3.27 Gói Domain Concepts ...................................................................... 104 Hình 3.33 Biểu đồ trình tự thanh toán bằng thẻ tín dụng ................................. 107 Hình 3.34 Biểu đồ trình tự thanh toán bằng séc................................................ 107 Hình 3.35 Polymorphism trong xác thực thanh toán ........................................ 110 122 Hình 3.36 Biểu đồ cộng tác khởi tạo hợp đồng TrabangThe ....................... 111 Hình 3.37 Biểu đồ cộng tác khởi tạo hợp đồng TrabangSec ....................... 111 Hình 3.38 Áp dụng Mẫu Singleton thiết kế lớp XuatThe và Thanhtoan.......... 112 Hình 3.39 Áp dụng mẫu Remote proxy: (a) tìm dịch vụ xác thực, (b) sử dụng Remote proxy và (c) các hành động Remote proxy.................................. 113 Hình 3.40 Biểu đồ quan hệ dữ liệu của hệ thống.............................................. 114 Hình 3.41 Biểu đồ thành phần Hệ thống quản lý thẻ ........................................ 115 Hình 3.42 Biểu đồ triển khai hệ thống .............................................................. 116 118 PHẦN KẾT LUẬN Luận văn đã trình bày những nghiên cứu về phương pháp phân tích, thiết kế hướng đối tượng, tiến trình phát triển phần mềm RUP (Rational Unified Process) và mẫu thiết kế. Trong đó, phần mẫu thiết kế tập trung nghiên cứu và trình bày về các mẫu GRASP (mẫu của những nguyên tắc chung trong ấn định trách nhiệm) và GoF (Gang of Four). Các kết quả nghiên cứu đã được ứng dụng vào việc phân tích, thiết kế, xây dựng thử nghiệm Hệ thống quản lý thẻ điện thoại trả trước tại Bưu điện Thành phố Hà Nội. Hệ thống được xây dựng theo phương pháp lập trình hướng đối tượng. Việc phân tích, thiết kế được thể hiện bằng ngôn ngữ UML thông qua công cụ Rational Rose và thực hiện theo quy trình RUP. Việc áp dụng một số mẫu thiết kế GRASP và GoF đã làm cho phân tích, thiết kế được thuận lợi và hiệu quả hơn, giúp cho chương trình có khả năng tái sử dụng cao hơn. Tuy nhiên với thời gian có hạn và nhiều kiến thức còn mới nên luận văn chắc chắn còn nhiều hạn chế. Chính vì vậy trong thời gian tới em mong muốn được tiếp tục nghiên cứu, tìm hiểu sâu hơn về các mẫu thiết kế và áp dụng thực hiện quy trình RUP cho việc xây dựng các bài toán lớn tại cơ quan. 119 TÀI LIỆU THAM KHẢO Tiếng Việt 1. Nguyễn Văn Ba (2005), Phân tích và thiết kế hệ thống thông tin, NXB Đại học quốc gia Hà Nội. 2. Đặng Văn Đức (2002), Phân tích thiết kế hướng đối tượng bằng UML, NXB Giáo dục. 3. Nguyễn Quý Minh, Tăng Nguyễn Trung Hiếu, Phạm Anh Vũ, Lê Hải Dương, Phương Lan (2005), Design patterns, NXB Phương đông . Tiếng Anh 4. C. Larman (1998), Applying UML and Patterns, Prentice Hall PTR . 5. E. Gamma, R. Helm, R. Johnson, J. Vlissides (1994), Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley. 6. F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal (1996), Pattern-Oriented Software Architecture - A System of Patterns (Vol.1), Wiley and Sons. 7. G. Booch, J. Rumbaugh, I. Jacobson (1999), The Unified Modeling Language User Guide, Addison Wesley. 8. P. Kruchten (2000), The Rational Unified Process: An Introduction (2nd Edition), Addison-Wesley Professional. 9. W. Pree (1995), Design Patterns for Object-Oriented Software Development, Addison-Wesley. 10. Z. Liu (2002), Object-Oriented Software Development with UML, UNU/IIST Report No.259.
File đính kèm:
- Luận văn Nghiên cứu và ứng dụng mẫu thiết kế trong phương pháp hướng đối tượng.pdf