Luận văn: Giới thiệu các phương pháp và các quy trình phát triển phầm mềm hiện có, tiến trình phát triển phần mềm RUP và ngôn ngữ mô hình hóa thống nhất UML .Trình bày khái niệm mẫu thiết kế, ứng dụng mẫu thiết kế và giới thiệu một số mẫu GRASP và GOF . Trình bày và ứng dụng phương pháp phân tích thiết kế vào bài toán Quản lý thẻ trả trước tại Bưu điện Thành phố Hà Nội.
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - LUẬN VĂN THẠC SĨ KHOA HỌC NGHIÊN CỨU VÀ ỨNG DỤNG MẪU THIẾT KẾ TRONG PHƯƠNG PHÁP HƯỚNG ĐỐI TƯỢNG NGÀNH : CÔNG NGHỆ THÔNG TIN MÃ SỐ : NGÔ THỊ THANH TÂM Người hướng dẫn khoa học : PGS.TS ĐẶNG VĂN ĐỨC HÀ NỘI 2007 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 Chương GIỚI THIỆU QUY TRÌNH PHÁT TRIỂN PHẦN MỀM VÀ NGƠN NGỮ MƠ HÌNH HĨA 1.1 QUY TRÌNH PHÁT TRIỂN PHẦN MỀM 1.1.1 Định nghĩa 1.1.2 Phương pháp phát triển phần mềm hướng đối tượng 1.1.3 Chu trình phát triển phần mềm xoắn ốc 1.1.4 Tiến trình phát triển phần mềm RUP 1.2 NGƠN NGỮ MƠ HÌNH HĨA THỐNG NHẤT - UML 10 1.2.1 Các đặc trưng UML 10 1.2.2 Mơ hình khái niệm UML 11 1.2.3 Kiến trúc hệ thống 12 Chương 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 mẫu thiết kế 15 2.1.3 Các yếu tố xác định 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 Ứ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 toán 67 3.1.2 Các thành phần 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 hệ thống 69 3.2.2 Đặc tả chức hệ thống 69 3.2.3 Nhận biết mô tả tác nhân 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 khái niệm (đối tượng) 83 3.3.2 Thuộc tính lớp 84 3.3.3 Nhận biết quan hệ 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 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 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 MỞ ĐẦU Phát triển phần mềm ngày trở lên phức tạp Việc thay đổi giao diện chương trình từ xâu ký tự sang giao diện đồ họa xu kiện, từ kiến trúc hệ thống đơn tầng, sở liệu tập trung sang kiến trúc hệ thống đa tầng khách/chủ, sở liệu phân tán, môi trường Internet làm tăng độ phức tạp hệ thống phần mềm Thách thức 20 năm tới việc xây dựng hệ thống phần mềm khơng phải tốc độ thực chương trình, kinh phí hay sức mạnh mà vấn đề độ phức tạp Vậy loại bỏ độ phức tạp cách nào? Các phương pháp tiếp cận hướng cấu trúc, tiếp cận hướng logíc, tiếp cận hướng đối tượng tiếp cận hướng tác tử giải vấn đề mức độ khác Tiếp cận hướng đối tượng tỏ lợi lập trình hệ thống phức tạp Thực tế cho thấy phát triển phần mềm hướng đối tượng đem lại phần mềm thương mại chất lượng cao, tin cậy, dễ mở rộng, dễ sử dụng lại, phù hợp với yêu cầu người dùng mong đợi Chúng cịn cho khả hồn thành phần mềm thời hạn với kinh phí thường phù hợp với dự kiến ban đầu Với mong muốn tìm hiểu ứng dụng phương pháp phát triển phần mềm hướng đối tượng để xây dựng ứng dụng hiệu cho ngành bưu điện, học viên lựa chọn tập trung nghiên cứu phương pháp phân tích thiết kế hướng đối tượng Mục đích luận văn là: nghiên cứu, nắm vững phương pháp phân tích thiết kế hướng đối tượng, mẫu thiết kế, sử dụng ngơn ngữ mơ hình hóa thống UML (Unified Modeling Language) công cụ phần mềm hỗ trợ xây dựng mơ hình hệ thống Rational Rose Đồng thời sử dụng số mẫu thiết kế vào công đoạn xây dựng mơ hình lớp q trình phân tích, thiết kế hệ thống phần mềm theo hướng đối tượng Bố cục luận văn gồm chương, phần mở đầu phần kết luận - Chương 1: Giới thiệu phương pháp quy trình phát triển phần mềm có, tiến trình phát triển phần mềm RUP (Rational Unified Process) ngôn ngữ mô hình hóa thống UML - Chương 2: Trình bày khái niệm mẫu thiết kế, ứng dụng mẫu thiết kế giới thiệu số mẫu GRASP (General Responsibility Assignment Software Patterns) GoF (Gang of Four) - Chương 3: Trình bày ứng dụng phương pháp phân tích thiết kế hướng đối tượng số mẫu thiết kế vào toán Quản lý thẻ trả trước Bưu điện Thành phố Hà Nội Các kết luận án bước đầu triển khai ứng dụng thử nghiệm hệ thống kinh doanh Thẻ trả trước Bưu điện thành phố Hà Nội Tuy nhiên với thời gian có hạn, luận văn cịn nhiều thiếu sót, mong nhận ý kiến đóng góp thầy cô giáo bạn bè đồng nghiệp Chương GIỚI THIỆU QUY TRÌNH PHÁT TRIỂN PHẦN MỀM VÀ NGƠN NGỮ MƠ HÌNH HĨA 1.1 QUY TRÌNH PHÁT TRIỂN PHẦN MỀM 1.1.1 ĐỊNH NGHĨA Quy trình phương pháp thực sản xuất sản phẩm Quy trình phát triển phần mềm (Software development/Engineering Process-SEP) phương pháp phát triển hay sản xuất sản phẩm phần mềm Có thể nói quy trình phát triển phần mềm có tính chất định để tạo sản phẩm chất luợng tốt với chi phí thấp suất cao Thơng thường quy trình bao gồm yếu tố sau: - Thủ tục - Danh sách kiểm định - Hướng dẫn công việc - Công cụ hỗ trợ - Biểu mẫu Với nhóm cơng việc chính: • Đặc tả yêu cầu: “đòi hỏi” cho yêu cầu chức phi chức • Phát triển phần mềm: Tạo phần mềm thỏa mãn yêu cầu “Đặc tả yêu cầu” • Kiểm thử phần mềm: Để bảo đảm phần mềm sản xuất đáp ứng “đòi hỏi” “Đặc tả yêu cầu” • Thay đổi phần mềm: Đáp ứng nhu cầu thay đổi khách hàng Tùy theo mơ hình phát triển phần mềm, nhóm cơng việc triển khai theo cách khác Để sản xuất sản phẩm phần mềm người ta dùng mơ hình khác Tuy nhiên khơng phải tất mơ hình thích hợp cho ứng dụng 1.1.2 PHƯƠNG PHÁP PHÁT TRIỂN PHẦN MỀM HƯỚNG ĐỐI TƯỢNG Quan điểm hướng đối tượng hình thành sở tiếp cận hướng hệ thống, coi hệ thống thực thể tổ chức từ thành phần mà xác định thừa nhận có quan hệ với thành phần khác Phương pháp tách vấn đề giải để hiểu chúng không dựa cở sở hệ thống làm mà dựa việc tích hợp hệ thống hệ thống làm Theo cách tiếp cận hướng đối tượng chức hệ thống biểu diễn thông qua cộng tác đối tượng, việc thay đổi, tiến hố chức khơng ảnh hưởng đến cấu trúc tĩnh phần mềm Sức mạnh tiếp cận hướng đối tượng việc tách (chia) nhập (thống nhất) thực nhờ tập phong phú chế tích hợp chúng; khả thống cao tách để xây dựng thực thể phức tạp từ thực thể đơn giản Tiếp cận hướng đối tượng tỏ lợi lập trình hệ thống phức tạp Những người phát triển phần mềm nhận thấy phát triển phần mềm hướng đối tượng đem lại phần mềm thương mại chất lượng cao, tin cậy dễ mở rộng dẽ sử dụng lại, phù hợp với yêu cầu người dùng mong đợi Chúng cho khả hồn thành phần mềm thời hạn khơng vượt kinh phí dự kiến ban đầu Phương pháp hướng đối tượng đời từ năm 1990 đến năm 1997 quy chuẩn qua ngôn ngữ mô hình hóa thống UML 1.1.3 CHU TRÌNH PHÁT TRIỂN PHẦN MỀM XOẮN ỐC Mọi hệ thống phải trải qua khởi đầu, triển khai, xây dựng, khai thác, bảo dưỡng kết thúc, vịng đời Khi quan tâm đến triển khai xây dựng tức quan tâm đến phát triển hệ thống, khía cạnh quy trình phát triển phần mềm (cịn gọi chu trình) tiếp nối thời kỳ phát triển hệ thống Có nhiều loại chu trình phát triển phần mềm khác chu trình thác nước, chu trình chữ V, chu trình tăng trưởng, chu trình xoắn ốc, [1] Trong chu trình xoắn ốc mơ hình tổng qt nhất, tất mơ hình khác xem thực mơ hình tổng qt này, hay xem mơ hình tổng hợp mơ hình khác Đặc biệt, chu trình xoắn ốc ứng dụng không phát triển phần mềm mà phát triển phần cứng Xác định mục tiêu, phương án ràng buộc Đánh giá phương án Thử nghiệm nguyên mẫu Thiết kế tạo lập nguyên mẫu Hình 1.1 Chu trình xoắn ốc Quy trình xoắn ốc (hình 1.1) hay quy trình lặp có đặc điểm : - Tiến trình lặp lặp lại dãy giai đoạn định - Qua vòng lặp, tạo phiên hoàn thiện dần - Nhấn mạnh khắc phục nguy (một nguy bắt nguồn từ sai sót đặc tả nhu cầu) Quy trình xoắn ốc cung cấp phần hệ thống để khách hàng đưa vào sử dụng môi trường hoạt động sản xuất thực mà khơng cần chờ tồn hệ thống hồn thành Để khách hàng sử dụng, phiên phải thực quy trình đầy đủ cơng việc từ phân tích yêu cầu với khả bổ sung hay thay đổi, thiết kế, thực kiểm nghiệm xem quy trình (chu trình) Các chu trình sử dụng mơ hình khác (thơng thường mơ hình thác nước) Mục tiêu phiên phát triển phần lõi nhóm chức quan trọng Sau phiên đưa vào sử dụng, kết đánh giá phản hồi lập kế hoạch cho chu trình phiên để thực hiện: • Những thay đổi cho phiên trước nhằm đáp ứng nhu cầu khách hàng tốt • Có thể thêm chức đặc điểm bổ sung Các vòng lặp tiếp tục xét thấy nguyên mẫu tốt để chuyển sang sản xuất thực Đây mơ hình tổng qt nhất, tất mơ hình khác xem thực mơ hình tổng qt này, hay xem mơ hình tổng hợp mơ hình khác Đặc biệt, chu trình xoắn ốc ứng dụng khơng phát triển phần mềm mà cịn phát triển phần cứng Quy trình phát triển RUP mà luận văn giới thiệu phần ví dụ điển hình quy trình 1.1.4 TIẾN TRÌNH PHÁT TRIỂN PHẦN MỀM RUP 1.1.4.1 Tổng quan quy trình phát triển RUP Một quy trình chuẩn cơng nhận q trình phân tích thiết kế, phát triển, thử nghiệm, triển khai chương trình định chất lượng chương trình thời điểm tiến hành triển khai thử nghiệm RUP tiến trình phát triển phần mềm hãng Rational xây dựng, cung cấp nguyên tắc tiếp cận để gán nhiệm vụ trách nhiệm tổ chức phát triển Mục tiêu đảm bảo sản phẩm phần mềm chất lượng cao mà thoả mãn nhu cầu người sử dụng, kế hoạch kinh phí [8] RUP bắt kịp nhiều phương pháp tốt việc phát triển phần mềm đại với mẫu phù hợp với nhiều dự án tổ chức Nó mơ tả cách tiếp cận thử nghiệm phương diện thương mại để triển khai có hiệu tới việc phát triển phần mềm cho nhóm phát triển phần mềm RUP cung cấp cho thành viên nhóm hướng dẫn, khn mẫu, cơng cụ hướng dẫn cần thiết cho nhóm để tận dụng thực hành tối ưu sau : i) Phát triển lặp: RUP chia trình phát triển thành chu kỳ khác nhau, chu kỳ đầu lựa chọn phát triển trước chức mấu chốt, định tồn thành cơng hay thất bại dự án, chu kỳ sinh phiên thi hành ứng dụng phát triển ii) Quản lý yêu cầu: Đảm bảo giải vấn đề gặp phải xây dựng hệ thống cần xây dựng; quản trị yêu cầu cho phép theo vết vấn đề đặt từ nhu cầu người sử dụng hệ thống đến đặc tính hệ thống, chức năng, vấn đề phân tích, thiết kế kịch thử nghiệm iii) Sử dụng kiến thức thành phần: Chia nhỏ hệ thống phần mềm thành phần nhỏ tương đối độc lập lại có quan hệ với theo ngun tắc định iv) Mơ hình trực quan phần mềm: RUP Sử dụng ngôn ngữ chuẩn UML để mơ hình hóa tồn hệ thống phần mềm cần phát triển v) Kiểm tra chất lượng phần mềm: RUP cho phép việc kiểm tra thử nghiệm thực tất chu kỳ phát triển ứng dụng kiểm tra mặt chính: kiểm tra mặt chức ứng dụng (thử nghiệm tất kịch 108 Tương tự, ta thiết kế biểu đồ trình tự thành tốn séc hình 3.34 3.5.4.2 Bổ sung hợp đồng tốn thẻ tín dụng séc Hợp đồng tốn thẻ tín dụng Tên gọi: TrabangThe(ccNum, expiryDate) Trách nhiệm: Tạo yêu cầu chứng thực cho việc toán thẻ Kiểu / Lớp: System (Hệ thống) Tham chiếu tới: Use case Thanh toán Kết quả: Một yêu cầu toán gửi đến cho phận kiểm duyệt thẻ Post-conditions: + Một toán thẻ pmt tạo + pmt liên kết với phiên toán + Một thẻ cc tạo ra, cc.number = ccNum, cc.expiryDate = expiryDate + cc liên kết với pmt + Một yêu cầu toán thẻ cpr tạo + pmt liên kết với cpr + cpr liên kết với dịch vụ xác thực thẻ CreditAuthorization Hợp đồng thao tác phản hồi kiểm tra thẻ Tên gọi: HandleCreditReply(reply: CreditPaymentReply) Trách nhiệm: Phản hồi trả lời kiểm duyệt từ phận kiểm duyệt Nếu chấp nhận hồn thành ghi nhận tốn Kiểu / Lớp: System (Hệ thống) Tham chiếu tới: Use case Thanh toán Kết quả: Nếu chấp nhận, phản hồi chấp nhận toán thẻ (creditPaymentApprovalReply) gửi đến cho phận tiếp nhận tài khoản (AccountReceivable) 109 Post-conditions: Nếu trả lời chấp nhận thì: + Một trả lời chấp nhận toán thẻ approval tạo + approval liên kết với AccountReceivable Nếu không chấp nhận: + Một trả lời từ chối toán thẻ denial tạo Hợp đồng toán bằng séc Tên gọi: TrabangSec(driversLicenceNum) Trách nhiệm: Tạo yêu cầu chứng thực cho việc toán séc Kiểu / Lớp: System (Hệ thống) Tham chiếu tới: Use case Thanh tốn Tiền điều kiện Phiên tiếp đón hồn thành Post-conditions: + Một toán séc pmt tạo + pmt liên kết với phiên toán + Một drivers License dl tạo ra, dl.number = driversLicenseNum + dl liên kết với pmt + Một yêu cầu toán séc cpr tạo + pmt liên kết với cpr + cpr liên kết với CreditAuthorizationService Hợp đồng thao tác phản hồi kiểm tra séc Tên gọi: HandleCheckReply(reply: CheckPaymentReply) Trách nhiệm: Phản hồi trả lời kiểm duyệt từ phận kiểm duyệt Nếu chấp nhận hồn thành phiên tốn ghi nhận toán Kiểu / Lớp: System (Hệ thống) Tham chiếu tới: Use case Thanh toán Tiền điều kiện: Yêu cầu kiểm tra séc gửi đến phận kiểm tra séc 110 Nếu trả lời chấp nhận thì: + Một trả lời chấp nhận tốn séc approval tạo Post-conditions: Nếu không chấp nhận: + Một trả lời từ chối toán séc denial tạo Khi thực hợp đồng TrabangThe, TrabangSec công việc chung cần thực kiểm tra xác thực - Authorize() Áp dụng mẫu Polymorphism GRASP, lớp phục vụ tốn gói Thanhtoan thiết kế hình 3.35 Mỗi hình thức tốn phải tự thực việc kiểm tra xác thực toán PhieuThanhtoan Tongthanhtoan TrabangTienm at TrabangThe Trabangsec Authorize() Authorize() Authorize() Polym orphism Hình 3.35 Polymorphism xác thực toán 3.5.4.3 Bổ sung biểu đồ cộng tác Biểu đồ cộng tác khởi tạo hợp đồng TrabangThe hợp đồng TrabangSec thiết kế hình 3.36 hình 3.37 Mẫu Creator Polymorphism áp dụng trình thiết kế để gán trách nhiệm cho lớp 111 Hình 3.36 Biểu đồ cộng tác khởi tạo hợp đồng TrabangThe Hình 3.37 Biểu đồ cộng tác khởi tạo hợp đồng TrabangSec 112 3.5.4.4 Áp dụng thêm mẫu thiết kế i) Áp dụng mẫu GoF Singleton Để bảo đảm suốt trình làm việc hệ thống, lớp XuatThe Thanhtoan tạo thể để tránh việc có nhiều phiên xuất thẻ xuất cho đại lý có nhiều phiên tốn thực cho đại lý, mẫu GoF Singleton áp dụng cho việc thiết kế lớp (Hình 3.38) Hình 3.38 Áp dụng Mẫu Singleton thiết kế lớp XuatThe Thanhtoan 113 ii) Áp dụng mẫu GoF Remote Proxy 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 (c) hành động Remote proxy Trong việc tốn thẻ tín dụng, hệ thống cần phải giao dịch với dịch vụ xác thực thẻ bên - CreditAuthorizationService Trong 114 trường hợp này, theo mẫu GoF Remote Proxy, ta tạo lớp nội làm đại diện liên lạc với dịch vụ thực đối tượng CreditAuthorizationService sử dụng để giao tiếp với bên Khi thực tốn thẻ, hệ thống cần tìm dịch vụ xác thực thẻ, sau sở remote proxy đề nghị dịch vụ giao dịch với dịch vụ thực tế Hình 3.39 thể biểu đồ cộng tác thực việc tìm dịch vụ tốn thẻ tín dụng, sử dụng mẫu Remote proxy hành động 3.5.5 MƠ HÌNH HĨA DỮ LIỆU Trên sở phân tích thiết kế, phần sở liệu Hệ thống quản lý thẻ thiết kế hình 3.40 Hình 3.40 Biểu đồ quan hệ liệu 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 mơ đun vật lý mã trình, thành phần phần mềm thư viện mã nguồn tệp chạy Mặc định lớp thiết kế có phần đặc tả phần thân Đặc tả chứa ghép nối lớp, thân chứa cài đặt lớp Biểu đồ thành phần thể thành phần hệ thống phụ thuộc chúng Biểu đồ thành phần hệ thống quản lý thẻ thiết kế 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 phần cứng khác xử lý, thiết bị thành phần phần mềm thực kiến trúc Mạng LAN Bưu điện Tp HN Hình 3.42 Biểu đồ triển khai hệ thống Hệ thống Quản lý thẻ Bưu điện Thành phố Hà Nội triển khai đầy đủ xây dựng theo biểu đồ triển khai hình 3.41, đó: - Máy Dich vu CSDL: Là máy chứa CSDL hệ thống quản lý thẻ 117 - Máy May1, May2: máy trạm Bưu điện Tp.HN thực 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 đại lý có kết nối Internet để đặt mua thẻ qua Internet Tóm lược: Chương trình bày kết ứng dụng phương pháp hướng đối tượng, quy trình RUP 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 Bưu điện Thành phố Hà Nội Đặc biệt việc ứng dụng mẫu thiết kế hỗ trợ nhiều cho việc định gán trách nhiệm cho lớp thiết kế, xây dựng cấu trúc mối quan hệ lớp để làm cho hệ thống có khả tái sử dụng cao 119 ii) Biểu đồ trình tự xuất thẻ 87 iii) Biểu đồ trình tự tốn 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ả 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ợ đại lý 95 3.5.1.6 Biểu đồ cộng tác cho Hợp đồng toán 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ệ 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 Hệ thống quản lý thẻ 70 Hình 3.3 Biểu đồ UC 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 tố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ự toán 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ự tốn thẻ tín dụng 107 Hình 3.34 Biểu đồ trình tự toán séc 107 Hình 3.35 Polymorphism xác thực tố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 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 (c) hành động Remote proxy 113 Hình 3.40 Biểu đồ quan hệ liệu 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 nghiên cứu 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) mẫu thiết kế Trong đó, phần mẫu thiết kế tập trung nghiên cứu trình bày mẫu GRASP (mẫu nguyên tắc chung ấn định trách nhiệm) GoF (Gang of Four) Các kết nghiên cứu ứ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 Bưu điện Thành phố Hà Nội Hệ thống 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ế thể ngơn ngữ UML thông qua công cụ Rational Rose thực theo quy trình RUP Việc áp dụng số mẫu thiết kế GRASP GoF làm cho phân tích, thiết kế thuận lợi hiệu hơn, giúp cho chương trình có khả tái sử dụng cao Tuy nhiên với thời gian có hạn nhiều kiến thức nên luận văn chắn nhiều hạn chế Chính thời gian tới em mong muốn tiếp tục nghiên cứu, tìm hiểu sâu mẫu thiết kế áp dụng thực quy trình RUP cho việc xây dựng toán lớn quan 119 TÀI LIỆU THAM KHẢO Tiếng Việt Nguyễn Văn Ba (2005), Phân tích thiết kế hệ thống thơng tin, NXB Đại học quốc gia Hà Nội Đặng Văn Đức (2002), Phân tích thiết kế hướng đối tượng UML, NXB Giáo dục 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 C Larman (1998), Applying UML and Patterns, Prentice Hall PTR E Gamma, R Helm, R Johnson, J Vlissides (1994), Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley F Buschmann, R Meunier, H Rohnert, P Sommerlad, M Stal (1996), Pattern-Oriented Software Architecture - A System of Patterns (Vol.1), Wiley and Sons G Booch, J Rumbaugh, I Jacobson (1999), The Unified Modeling Language User Guide, Addison Wesley P Kruchten (2000), The Rational Unified Process: An Introduction (2nd Edition), Addison-Wesley Professional 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 ... Chương Ứ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 Chương trình bày việc ứng dụng quy trình RUP phương pháp hướng đối tượng mẫu thiết kế việc... hiểu ứng dụng phương pháp phát triển phần mềm hướng đối tượng để xây dựng ứng dụng hiệu cho ngành bưu điện, học viên lựa chọn tập trung nghiên cứu phương pháp phân tích thiết kế hướng đối tượng. .. 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 Ứ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