Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
612,64 KB
Nội dung
ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN NGUYỄN QUANG HUY NGHIÊN CỨU MẪU THIẾT KẾ KIẾN TRÚC PHẦN MỀM TRONG JAVA LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên - 2010 Số hóa Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN NGUYỄN QUANG HUY NGHIÊN CỨU MẪU THIẾT KẾ KIẾN TRÚC PHẦN MỀM TRONG JAVA Chuyên ngành: Khoa học máy tính Mã số: 60.48.01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC PGS TS Đặng Văn Đức Thái Nguyên - 2010 Số hóa Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn -i- LỜI CAM ĐOAN Tôi xin cam đoan luận văn “Nghiên cứu mẫu thiết kế kiến trúc phần mềm Java” công trình nghiên cứu hướng dẫn khoa học PGS.TS Đặng Văn Đức, tham khảo nguồn tài liệu rõ trích dẫn danh mục tài liệu tham khảo Các nội dung công bố kết trình bày luận văn trung thực chưa công bố công trình Thái Nguyên, tháng 10 năm 2010 Nguyễn Quang Huy Số hóa Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn - ii - Lời cảm ơn Tôi xin gửi lời cảm ơn sâu sắc tới PGS.TS Đặng Văn Đức – Viện Công nghệ thông tin, người tận tình có bảo cần thiết để giúp đỡ suốt trình nghiên cứu phát triển luận văn Xin chân thành cảm ơn quý Thầy cô khoa Sau đại học trường Đại học Thái Nguyên nhiệt tình giảng dạy, trang bị cho kiến thức quý báu suốt thời gian học tập trường Xin chân thành cảm ơn bạn lớp, đồng nghiệp đơn vị nơi công tác tạo điều kiện cho hoàn thành luận văn Xin gửi lời cảm ơn tới gia đình động viên suốt trình học hoàn thành luận văn Số hóa Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn - iii - MỤC LỤC LỜI CAM ĐOAN i MỤC LỤC iii DANH MỤC CÁC TỪ VIẾT TẮT v MỞ ĐẦU CHƢƠNG I TỔNG QUAN VỀ MẪU THIẾT KẾ VÀ NGÔN NGỮ MÔ HÌNH HÓA THỐNG NHẤT UML 1.1 Tổng quan mẫu thiết kế 1.1.1 Vấn đề thiết kế phần mềm hướng đối tượng 1.1.2 Lịch sử Mẫu thiết kế 1.1.3 Mẫu thiết kế ? 1.1.4 Một số vấn đề mẫu thiết kế 1.2 Ngôn ngữ mô hình hóa thống UML 1.2.1 Khái quát UML 1.2.2 Biểu đồ lớp (Class Diagrams) 1.2.3 Lược đồ trình tự (Sequence Diagrams) 14 Chƣơng II CÁC MẪU THIẾT KẾ KIẾN TRÚC PHẦN MỀM TRONG JAVA 16 2.1 Mẫu khởi tạo 16 2.1.1 Factory Method 16 2.1.2 Singleton 17 2.1.3 Abstract Factory 18 2.1.4 Prototype 20 2.1.5 Builder 20 2.2 Mẫu cấu trúc 22 2.2.1 Decorator 22 2.2.2 Adapter 23 2.2.3 Façade 24 2.2.4 Proxy 25 2.2.5 Bridge 26 2.2.6 Composite 28 Số hóa Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn - iv - 2.2.7 Flyweight 30 2.3 Mẫu hành vi 31 2.3.1 Mẫu Chain of Responsibility 32 2.3.2 Command 35 2.3.3 Interperter 37 2.3.4 Iterator 38 2.3.5 Mediator 39 2.3.6 Memento 40 2.3.7 Observer 41 2.3.8 Sate 42 2.3.9 Strategy 43 2.3.10 Template Method 44 2.3.11 Visitor 45 2.4 Mẫu tương tranh 46 2.4.1 Critical Section 46 2.4.2 Consistent Lock Order 49 2.4.3 Guarded Suspension 51 2.4.4 Read-Write Lock 52 Chƣơng III PHÁT TRIỂN CHƢƠNG TRÌNH THỬ NGHIỆM 55 3.1 Cơ sở lý thuyết 55 3.1.1 Giao dịch phân tán 55 3.1.2 Các vấn đề xung đột liệu số giải thuật điều khiển 56 3.2 Xây dựng chương trình thử nghiệm 60 3.2.1 Sơ đồ UML 60 3.2.2 Lập trình mođun demo 62 3.2.3 Đánh giá kết thu 64 KẾT LUẬN 65 HƢỚNG PHÁT TRIỂN 66 TÀI LIỆU THAM KHẢO 67 Số hóa Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn -v- DANH MỤC CÁC TỪ VIẾT TẮT UML Unified Modeling Language CSDL Cơ sở liệu DBMS Database Management System (Hệ quản trị CSDL) V Validation (Thẩm tra) R Read (Đọc) C Computation (Tính toán) W Write (Ghi) Số hóa Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn -1- MỞ ĐẦU Ngôn ngữ lập trình Java Sun Microsystems giới thiệu vào tháng năm 1995 Từ đó, trở thành công cụ lập trình lập trình viên chuyên nghiệp Java sử dụng rộng rãi để viết chương trình chạy Internet Nó ngôn ngữ lập trình hướng đối tượng độc lập thiết bị, không phụ thuộc vào hệ điều hành Nó không dùng để viết ứng dụng chạy đơn lẻ hay mạng mà để xây dựng trình điều khiển thiết bị cho điện thoại di động, PDA, … Các phương pháp phân tích thiết kế hướng đối tượng phát triển mạnh mẽ góp phần đáng kể vào việc cải tiến chất lượng phần mềm nhờ vào khả xây dựng lớp đối tượng có tính tái sử dụng cao, dễ bảo trì mở rộng Ngôn ngữ UML (Unified Modeling Language) đề xuất để sử dụng ngôn ngữ chuẩn để mô hình hóa thành tố phần mềm trình phân tích thiết kế hướng đối tượng Tuy nhiên, phương pháp hướng đối tượng tập trung chủ yếu vào hoạt động tổng thể tiến trình phát triển phần mềm hướng đối tượng Những phương pháp thường không giải vấn đề chi tiết nảy sinh trình thiết kế phần mềm Để bổ sung cho phương pháp hướng đối tượng, mẫu thiết hướng đối tượng tiếp cận độc đáo, đề xuất để giải vấn đề nảy sinh trình thiết kế phần mềm hướng đối tượng Các mẫu GoF có tầm quan trọng ảnh hưởng lớn giới nghiên cứu giới công nghiệp phần mềm Rất nhiều công trình đặc sắc khác mẫu thiết kế hướng đối tượng đề xuất để giải nhiều vấn đề đặc thù cho lĩnh vực ứng dụng phần mềm Trong đó, quan tâm đến việc nghiên cứu mẫu thiết kế để áp dụng trình phát triển phần mềm hướng đối tượng, đặc biệt giải vấn đề cài đặt giao diện người dùng vấn đề liên quan đến ứng dụng Java Vì thế, thực đề tài luận văn: “Nghiên cứu mẫu thiết kế kiến trúc phần mềm Java” Số hóa Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn -2- Mục tiêu đề tài nghiên cứu, nắm vững phương pháp phân tích thiết kế hướng đối tượng ngôn ngữ mô hình hóa thống UML (Unified Modeling Language) Đồng thời sử dụng số mẫu thiết kế vào công đoạn xây dựng kiến trúc phần mềm ngôn ngữ Java Bố cục luận văn bao gồm phần mở đầu, phần kết luận ba chương nội dung tổ chức sau: Chương I Tổng quan mẫu thiết kế ngôn ngữ mô hình hóa thống UML Chương trình bày tổng quan mẫu thiết kế kiến trúc phần mềm hướng đối tượng, lịch sử phát triển, định nghĩa mẫu thiết kế số vấn đề mẫu Khái quát ngôn ngữ mô hình hóa thống UML, biểu đồ cấu trúc, biểu đồ hành vi, biểu đồ quản lý mô hình, ký pháp UML… Chương II Các mẫu thiết kế kiến trúc phần mềm Java Trong chương tập trung vào trình bày mẫu thiết kế kiến trúc phần mềm Java bao gồm mẫu khởi tạo, mẫu cấu trúc, mẫu hành vi, mẫu tương tranh Các mẫu mô tả, định nghĩa đưa mô hình UML sau ví dụ áp dụng Chương III Phát triển chương trình thử nghiệm Trong chương phát triển ứng dụng sử dụng mẫu thiết kế, chủ yếu tập trung minh họa việc sử dụng mẫu tương tranh để giải xung đột môi trường mạng, môi trường đa tiến trình Chương trình phân tích thiết kế UML lập trình mô-đun demo Java Số hóa Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn -3- CHƢƠNG I TỔNG QUAN VỀ MẪU THIẾT KẾ VÀ NGÔN NGỮ MÔ HÌNH HÓA THỐNG NHẤT UML 1.1 Tổng quan mẫu thiết kế 1.1.1 Vấn đề thiết kế phần mềm hướng đối tượng Việc thiết kế phần mềm hướng đối tượng công việc khó, việc thiết kế một phần mềm hướng đối tượng phục vụ cho mục đích dùng lại khó Chúng ta phải tìm đối tượng phù hợp, đại diện cho lớp đối tượng Sau thiết kế giao diện kế thừa cho chúng, thiết lập mối quan hệ chúng Thiết kế phải đảm bảo giải vấn đề tại, tiến hành mở rộng tương lai mà tránh phải thiết kế lại phần mềm Và tiêu trí quan trọng phải nhỏ gọn Thiết kế phần mềm hướng đối tượng phục vụ cho mục đích dùng lại công việc khó, phức tạp mong chờ thiết kế đúng, đảm bảo tiêu trí Thực tế cần phải thử nghiệm sau vài lần sau sửa chữa lại Đứng trước vấn đề, người phân tích thiết kế tốt đưa nhiều phương án giải quyết, phải duyệt qua tất phương án chọn cho phương án tốt Phương án tốt dùng dùng lại nhiều lần, dùng gặp vấn đề tương tự Mà phân tích thiết kế phần mềm hướng đối tượng ta gặp lại vấn đề tương tự 1.1.2 Lịch sử Mẫu thiết kế Ý tưởng dùng mẫu xuất phát từ ngành kiến trúc, Alexander, Ishikawa, Silverstein, Jacobson, Fiksdahl-King Angel (1977) lần đưa ý tưởng dùng mẫu chuẩn thiết kế xây dựng truyền thông Họ xác định lập sưu liệu mẫu có liên quan để dùng để giải vấn đề thường xảy thiết kế cao ốc Mỗi mẫu cách thiết kế, chúng phát triển hàng trăm năm giải pháp cho vấn đề mà người ta làm lĩnh vực xây dựng thường gặp Các giải pháp tốt có ngày hôm qua trình sàng lọc tự nhiên Mặc dù nghành công nghệ phần mềm lịch sử Số hóa Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn data error !!! can't not read data error !!! can't not read data error !!! can't not read data error !!! can't not read data error !!! can't not read data error !!! can't not read data error !!! can't not read data error !!! can't not read data error !!! can't not read data error !!! can't not read data error !!! can't not read data error !!! can't not read data error !!! can't not read data error !!! can't not read data error !!! can't not read data error !!! can't not read ... kiến trúc phần mềm Java Trong chương tập trung vào trình bày mẫu thiết kế kiến trúc phần mềm Java bao gồm mẫu khởi tạo, mẫu cấu trúc, mẫu hành vi, mẫu tương tranh Các mẫu mô tả, định nghĩa đưa... THỐNG NHẤT UML 1.1 Tổng quan mẫu thiết kế 1.1.1 Vấn đề thiết kế phần mềm hướng đối tượng Việc thiết kế phần mềm hướng đối tượng công việc khó, việc thiết kế một phần mềm hướng đối tượng phục vụ... bao gồm phần mở đầu, phần kết luận ba chương nội dung tổ chức sau: Chương I Tổng quan mẫu thiết kế ngôn ngữ mô hình hóa thống UML Chương trình bày tổng quan mẫu thiết kế kiến trúc phần mềm hướng