Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 125 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
125
Dung lượng
2,12 MB
Nội dung
TRNG I HC CễNG NGH Bảo vệ luận văn thạc sÜ Phân tích thiết kế hướng mẫu Học viên : Chu Thị Hồng Hải Người hướng dẫn : PGS.TS Nguyễn Văn Vỵ Chu Thị Hồng Hải – Luận văn Thạc sĩ TIEU LUAN MOI download : skknchat@gmail.com CÁC THUẬT NGỮ VIẾT TẮT Design pettern Coding Code Incidental or ad hoc GOF(gang of five) Creational Patterns Structual Patterns Behavioral Pattern POAD Use case diagram Class diagram Activity diagram Collaboration diagram Sequence diagram Implementation diagram Component diagram Framework IDOMS Abstract factory pattern FactoryPattern Base- class Singleton Pattern PROXY PATTERN proxy class Remote Proxy Virtual Proxy Monitor Proxy Protection proxy Cache proxy Firewall proxy Smart reference proxy Synchoronization Proxy Copy_ on_write proxy Adapter pattern Mẫu thiết kế Mã hóa Mã lệnh Sự xác định hay tuỳ hứng Nhóm thành viên Các mẫu tạo Các mẫu cấu trúc Các mẫu hành vi Phân tích thiết kế hướng mẫu Biểu đồ ca sử dụng Biểu đồ lớp Biểu đồ hành động Biểu đồ cộng tác Biểu đồ Biểu đồ thực thi Biểu đồ thành phần Khung làm việc Thành ngữ Mẫu chế tạo trừu tượng Mẫu chế tạo Lớp sở Mẫu đơn Mẫu uỷ nhiệm Lớp uỷ nhiệm Uỷ nhiệm từ xa Uỷ nhiệm ảo Uỷ nhiệm hình Chống uỷ nhiệm Khơng gian lưu trữ tạm thời Uỷ nhiệm bảo vệ Kiểm soát đối tượng bổ sung Uỷ nhiệm đồng Cho phép ghi vaò đĩa lúc Mẫu thích nghi wrapper pattern Mẫu bao bọc TIEU LUAN MOI download : skknchat@gmail.com DANH MỤC BẢNG BIỂU Hình1.1 Chúng ta biên soạn thiết kế việc sử dụng mẫu thiết kế khơng? Hình 1.2 Minh hoạ vịng đời mẫu Hình 2.1 Biểu đồ lớp cuả mẫu chế tạo Hình 2.2 Biểu đồ lớp mẫu chế tạo trừu tượng Hình 2.3 Biểu đồ lớp mẫu đơn Hình 2.4 Ví dụ mẫu đơn Hình 2.5 Ví dụ biểu đồ lớp đơn Hình 2.6 Biểu đồ lớp mẫu uỷ nhiệm Hình 2.7 Biểu đồ lớp mẫu thích nghi Hình 2.8 Hình minh hoạ phần tử mẫu phức hợp Hình 2.9 Minh hoạ phần tử Composite pattern Hình 2.10 Sơ đồ mối liên kết mẫu thiết kế Hình 3.1 Sơ đồ tổ chức trường đại học quản trị kinh doanh HN Hình 3.2.1 Mơ hình khái niệm (hình 1) Hình 3.2.2 Mơ hình khái niệm (hình 2) Hình 3.2.3 Mơ hình khái niệm (hình 3) Hình 3.3 Biểu đồ ca sử dụng gói “Cập nhật sinh viên ” Hình 3.4 Biểu đồ ca sử dụng gói “Quản lý lớp học ” Hình 3.5 Biểu đồ ca sử dụng gói “quản lý học phí” Hình 3.6 Biểu đồ ca sử dụng gói “Quản lý khen thưởng kỷ luật” Hình 3.7 Biểu đồ ca sử dụng gói “Quản lý thực tập” Hình 3.8 Biểu đồ ca sử dụng gói “Quản lý sinh viên trả nợ” Hình 3.9 Biểu đồ ca sử dụng gói “Quản lý sinh viên làm khố luận tốt nghiệp” Hình 3.10 Biểu đồ ca sử dụng gói “Quản lý cơng tác tốt nghiệp” Hình 3.11 Biểu đồ tuần t ự hệ thống “cập nhật sinh viên” TIEU LUAN MOI download : skknchat@gmail.com Hình 3.12 Biểu đồ lớp gói “ Cập nhật sinh viên” Hình 3.13 Biểu đồ khái niệm “ Cập nhật sinh viên” Hình 3.14 Biểu đồ gói “Thơng tin lớp học” Hình 3.15 Biểu đồ lớp gói “Thơng tin lớp học” Hình 3.16 Biểu đồ khái niệm “Phân lớp” Hình 3.17 Biểu đồ khái niệm “quản lý học phí” Hình 3.18 Biểu đồ lớp “quản lý học phí” Hình 3.19 Biểu đồ khái niệm lớp “Khen thưởng kỷ luật” Hình 3.20 Biểu đồ lớp “Khen thưởng kỷ luật” Hình 3.21 Biểu đồ khái niệm “Khen thưởng kỷ luật” Hình 3.22 Biểu đồ hệ thống “Quản lý học viên trả nợ” Hình 3.23 Biểu đồ lớp “Quản lý học viên trả nợ” Hình 3.24 Biểu đồ tu ần t ự “Quản lý học viên trả nợ” Hình 3.25 Biểu đồ khái niệm lớp “Quản lý khoá luận tốt nghiệp” Hình 3.26 Biểu đồ lớp “Quản lý khố luận tốt nghiệp” Hình 3.27 Biểu đồ lớp “Quản lý sinh viên thực tập” Hình 3.28 Biểu đồ lớp “Quản lý sinh viên thực tập” Hình 3.29 Biểu đồ tu ần t ự “Quản lý sinh viên thực tập” Hình 3.30 Biểu đồ tu ần t ự “Quản lý công tác tốt nghiệp” Hình 3.31 Biểu đồ l ớp “Quản lý cơng tác tốt nghiệp” Hình 3.32 Sơ đồ thiết kế lớp sinh viên ban đầu Hình 3.33 Sơ đồ thiết kế lớp sinh viên sau biến đổi Hình 3.34 Sơ đồ thiết kế lớp sinh viên Hình 3.35 Sơ đồ thiết kế lớp sinh viên áp d ụng mẫu Bridge Hình 3.36 Biểu đồ lớp “ Quản lý học phí” Hình 3.37 Biểu đồ lớp có áp dụng mẫu “ Quản lý học phí” TIEU LUAN MOI download : skknchat@gmail.com Hình 3.38 Biểu đồ lớp có áp dụng mẫu “ Quản lý học phí” Hình 3.39 Giao diện cập nhật sinh viên TIEU LUAN MOI download : skknchat@gmail.com MỤC LỤC MỤC LỤC Chương Error! Bookmark not defined MẪU THIẾT KẾ VÀ PHÂN TÍCH HƯỚNG MẪU 1.1 Giới thiệu chung 1.2 Chúng ta tái sử dụng gì? 1.3 Biên soạn mẫu thiết kế 1.4 Các thành phần mẫu thiết kế 1.5 Mô tả mẫu thiết kế 1.6 Thiết kế hướng mẫu 1.7 Phân tích thiết kế hướng đối tượng giải pháp 12 1.8 Mẫu thiết kế kỹ nghệ phần mềm 14 1.9 Đặc điểm chung mẫu 22 1.10 Những cách tiếp cận thành phần mẫu thiết kế 23 Chương Error! Bookmark not defined CÁC LOẠI MẪU THIẾT KẾ 24 2.1 Phân loại mẫu 24 2.2 Mẫu thiết kế với toán 24 2.3 Mẫu chế tạo 26 2.4 Mẫu chế tạo trừu tượng (Abstractfactory pattern) 28 2.5 Mẫu đơn 29 2.6 Mẫu uỷ nhiệm 33 2.7 Mẫu thích nghi 35 2.8 Mẫu bao bọc 37 2.9 Mẫu phức hợp 38 2.10 Sơ đồ mối liên kết mẫu thiết kế 39 Chương 40 ỨNG DỤNG MẪU 40 Phân tích thiết kế hệ thống Quản Lý Sinh Viên 40 3.1 Mơ tả tốn 40 3.2 Phát triển hệ thống quản lý 46 3.3 Mô tả ca sử dụng hệ thống 53 3.4 Phân tích hệ thống 78 3.5 Hợp đồng cho thao tác hệ thống 95 3.6 Biểu đồ lớp 106 3.7 Mô tả chi tiết lớp đối tượng 113 3.8 Thiết kế giao diện 117 KẾT LUẬN 119 TÀI LIỆU THAM KHẢO 120 TIEU LUAN MOI download : skknchat@gmail.com CHƢƠNG MẪU THIẾT KẾ VÀ PHÂN TÍCH HƢỚNG MẪU 1.1 Giới thiệu chung Chúng ta biết, khó xây dựng phần mềm khơng phải mã hố, mà định thiết kế ban đầu định theo bước trình thiết kế Những định ảnh hưởng tới tồn q trình xây dựng phát triển hệ thống đặc trưng quan trọng hệ thống xây dựng : tính dễ bảo trì, độ tin cậy, tính an tồn… Nhận xét làm cho nhiều nhà phát triển phần mềm khơng hài lịng họ phần lớn chuyên gia mã hoá Chúng ta biết rằng, thiết kế giai đoạn có vai trị định vòng đời phát triển hệ thống phần mềm Một thiết kế tốt cho sản phẩm tốt nói chung thiết kế tồi ảnh hưởng tới chất lượng cuối sản phẩm Câu hỏi đặt là: làm để có thiết kế tốt? Và làm để đánh giá thiết kế ta tốt chưa có sản phẩm cuối để kiểm định định giai đoạn thiết kế Yêu cầu kiến trúc phần mềm nhận nghịch lý từ lâu Sự thay đổi từ vòng đời phát triển mơ hình thác nước tới q trình gia tăng vòng đời nguyễn mẫu minh chứng đặc biệt Trong tổ chức nguyên mẫu luôn đánh giá kỹ Khi mà bạn khơng biết liệu ý tưởng bạn có thực không, cố gắng làm giảm lỗi xuất kiểm thử biết thứ nảy sinh giai đoạn cuối trình triển khai mã hố có nhiều vấn đề mà ta không ý thức từ giai đoạn thiết kế Thật khó để có người tin tưởng nêu vấn đề nhận lại câu trả lời hữu ích như: “ tơi triển khai trước, khơng làm việc vì…” “ Tơi triển khai trước có cách để thực TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10 Hơn triển khai theo cách có số ưu điểm số nhược điểm” Để có đáp án tốt cho câu hỏi đặt trên, khơng có phương án tốt xây dựng theo mẫu thiết kế (patterns) Các mẫu giới thiệu để sử dụng lời dẫn từ chuyên gia Sức mạnh thực đằng sau mẫu trừu tượng chúng giới thực Kinh nghiệm nhà thiết kế phát triển phần mềm giải pháp thiết kế đưa mẫu nhằm giảm bớt vấn đề pha thiết kế cho người sử dụng phát triển sau Những mẫu thiết kế chứa đựng kinh nghiệm họ giới thiệu chúng tới tất nhà thiết kế khác định dạng mà chúng xác định vấn đề cần giải quyết, giải nào? giải cách tốt vấn đề liên quan đến trình triển khai giải pháp Do đó, mẫu thiết kế kinh nghiệm đúc kết nhà phát triển thiết kế phần mềm suốt trình triển khai hàng loạt ứng dụng, sau tóm lược lại giai đoạn thiết kế với vài ví dụ Từ nhà thiết kế khác sử dụng triển khai mẫu cho việc phát triển ứng dụng Những định pha thiết kế nhân tố để phát triển ứng dụng Chúng ta cần phải đưa định thiết kế tốt Trong thực tế, đưa định thiết kế tốt trừ có kinh nghiệm vấn đề giải Các nhà thiết kế phát triển phần mềm có kinh nghiệm chuyển kinh nghiệm thành mẫu thiết kế Sau nhà thiết kế sau cần tìm mẫu phù hợp với mục đích áp dụng mà không cần tốn nhiều công sức pha thiết kế mà đạt mục tiêu thiết kế Vậy, thiết kế mẫu giúp tăng mức độ tái sử dụng 1.2 Chúng ta tái sử dụng gì? Việc sử dụng lại phần mềm cách tiếp cận để xúc tiến trình phát triển phần mềm Câu hỏi đặt là, sử dụng lạI gì? sử dụng nào? Đã từ lâu mã lệnh đối tượng sử dụng lại thường xuyên TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10 (LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10 Trước phát triển thành phần phần mềm, tìm Internet mã nguồn mở, sau mượn, sửa đổi dùng lại Việc sử dụng lại thiết kế thường so với sử dụng lại mã phức tạp khó khăn việc xây dựng thiết kế khởi tạo chúng Hơn nữa, mã hữu hình thiết kế dùng mã với chút thay đổi không thay đổi Tuy nhiên, chắn tìm hộp đen thành phần để thoả mãn tất yêu cầu chúng ta, mạo hiểm ta sửa đổi phần mã nguồn, sửa đổi phá vỡ mối liên kết thành phần đặc tính chức ban đầu Do đó, nhiều nhà phát triển phần mềm thích sử dụng lại ý tưởng giải pháp họ thực theo phương pháp Những thiết kế giới thiệu mức cao số mẫu mơ hình thiết kế mơ hình u cầu phải cài đặt thực thi Mẫu thiết kế thúc đẩy việc sử dụng lại sản phẩm pha thiết kế cung cấp mơ hình thiết kế mơ hình dùng lại Ở phạm vi rộng rãi, có khả thích nghi cao 1.3 Biên soạn mẫu thiết kế Khi xem xét công việc tài liệu có cho mẫu thiết kế, nhận thấy rằng, hầu hết cơng sức bỏ dành để tìm làm tài liệu cho mẫu Một phần nhỏ cơng việc cịn lạI liên quan đến tính hệ thống việc áp dụng thiết kế sử dụng lại để triển khai ứng dụng Vấn đề đáng ý là, biên soạn mẫu thiết kế để phát triển phần mềm tiếp cận cách kết hợp chúng để có nhiều hỗ trợ từ mơ hình thiết kế với ngơn ngữ mơ hình hố thống ( Unified Modeling Lauguge – UML) Nói chung, phân loại cách tiếp cận để thiết kế ứng dụng có sử dụng mẫu theo khía cạnh sau: TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10 (LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10 1.3.1 Xác định hay tuỳ hứng Một mẫu thiết kế cung cấp giải pháp với tập hợp đối tượng hệ nhằm áp dụng giải pháp 1.3.2 Có tính hệ thống Một cách tiếp cận có hệ thống để thiết kế mẫu cần áp dụng theo trình tự mẫu định Cách tiếp cận hệ thống phân loại sau: 1.3.2.1 Ngôn ngữ mẫu Một ngôn ngữ mẫu cung cấp tập hợp mẫu, chúng giải vấn đề miền đặc biệt Những ngôn ngữ mẫu không cung cấp tập hợp mẫu mà cung cấp mối quan hệ mẫu Chúng đưa tiến trình để áp dụng ngơn ngữ nhằm giải hồn tồn tập hợp cụ thể vấn đề thiết kế 1.3.2.2 Phát triển tiến trình Một tiến trình phát triển có hệ thống định nghĩa cách tiếp cận mẫu hợp thành, bước phân tích thiết kế, thiết kế mẫu, công cụ để tự động hoá bước phát triển Chúng ta chấp nhận tiến trình phát triển có tính hệ thống để phát triển mẫu, cách để làm mẫu thiết kế cho yêu cầu chung phát triển phần mềm nhằm cải thiện trình thực thi mẫu thiết kế có tính hệ thống phát triển phần mềm mà cần tới Định nghĩa kỹ thuật hợp thành sử dụng để xây dựng ứng dụng trình biên soạn mẫu thiết kế hỗ trợ kỹ thuật hợp thành với mơ hình ngơn ngữ riêng khung nhìn TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10 (LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10 106 Tiền điều kiện Đã có đối tượng Sinh viên, Sinh viên tốt nghiệp, Điểm thi, Điểm tổng kết Hậu điều kiện 3.5.28 Cập nhật kết tốt nghiệp Tên Cập nhật kết tốt nghiệp Trách nhiệm Ghi nhận sinh viên tốt nghiệp Tham chiếu Uc30 Ngoại lệ Đầu Thông báo kết cập nhật Tiền điều kiện Đã có đối tượng Sinh viên, Sinh viên tốt nghiệp Hậu điều kiện Giá trị thuộc tính Tốt nghiệp đối tượng Sinh viên tốt nghiệp cập nhật 3.5.29 Thống kê tình hình tốt nghiệp Tên Thống kê tình hình tốt nghiệp Trách nhiệm Thống kê kết xét tốt nghiệp Tham chiếu Uc31 Ngoại lệ Đầu Bản thống kê kết tốt nghiệp Tiền điều kiện Đã có đối tượng Sinh viên, Sinh viên tốt nghiệp Hậu điều kiện Không 3.6 Biểu đồ lớp 3.6.1 Áp dụng mẫu Bridge thiết kế lớp Sinhviên ý nghĩa Chúng ta biết thiết kế hướng đối tượng, thành phần thường tồn hai phần: thành phần ảo (abstraction) - định nghĩa trước chức phần (LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10 107 thực thi (implementation) - thực thi chức định nghĩa phần ảo Hai phần liên quan với thông qua quan hệ kế thừa Những thay đổi abstraction thường dẫn đến thay đổi implementation Mẫu Bridge sử dụng để tách thành phần ảo phần thực thi riêng biệt Nhờ phần thay đổi, chỉnh sửa cách độc lập linh động Thay liên hệ với quan hệ kế thừa, hai phần liên hệ với thông qua quan hệ chứa “aggregation” Bài toán thực tế Trong hệ thống sở liệu cũ trường sử dụng lớp đối tượng SINHVIEN (SV) để lưu tồn thơng tin vê sinh viên quản lý trường Do số lượng sinh viên ngày nhiều thông tin quản lý sinh viên phải tăng thêm lớp đối tượng SINHVIEN cần phải thay đổi thành (PIMSV- personal info manager) cho việc quản lý ngày thuận tiện Để thực mục đích phương án nhóm đối tượng thừa kế từ SV, đối tượng thực chức liệt kê khác nhau: Hình 3.32 Sơ đồ thiết kế lớp sinh viên ban đầu Tuy nhiên, giải pháp khơng thực tế có nhiều cách kết hợp với để tạo thành kiểu SV Như sơ đồ hiển thị loại thơng tin nhiệm vụ (TaskSV), có hai cách hiển thị khác unorderSV (LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10 108 prioritizedtaskSV Mỗi lần tạo kiểu vậy, phải tạo thêm kiểu kế thừa thời gian thiết kế rối rắm, trùng lặp nhiều Với thiết kế tốt cần dùng lớp NameSV, TaskSV, unorderSV, PrioritizedSV, sau kết hợp với Như không đỡ tốn thờI gian chi phí, mà yêu cầu, chức thực đắn đầy đủ Một giải pháp đề lớp đối tượng SV tách thành hai phần: + Svimterface (abstraction): Định nghĩa chức hiển thị hiển thị theo tên, theo chức danh, theo nhiệm vụ + Svimplementation (implementation): Thực thi cách hiển thị theo thứ tự, độ ưu tiên Client SVInterface TaskSV NameSV SVimplementer unorderSV PrioritizedSV Hình 3.33 Sơ đồ thiết kế lớp sinh viên sau biến đổi Các chức bên SVInterface khơng làm hết mà uỷ quyền thực việc hiển thị cho SVimplementer (LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10 109 Cấu trúc mẫu + Biểu đồ lớp chưa áp dụng mẫu Hình 3.34 Sơ đồ thiết kế lớp sinh viên + Biểu đồ lớp sau dùng mẫu (LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10 110 Hình 3.35 Sơ đồ thiết kế lớp sinh viên áp d ụng mẫu Bridge Thuận lợi hạn chế Thuận lợi Mẫu Bridge làm cho hệ thống trở lên linh động nhờ việc tách biệt thành phần trình diễn (abstraction) thành phần thực thi (implemetation) Nhờ thêm tính chấp nhận thay đổi, mà không gây ảnh hưởng lớn đến thành phần khác Hạn chế Mẫu Bridge kết hợp thành phần Abstraction Implemetation độc lập với Một vấn đề thường gặp sử dụng Bridge q trình thiết kế khơng phân biệt rõ ràng trách nhiệm thuộc Abstration trách nhiệm thuộc Implementation Trong tương lai mở rộng hệ thống, trách nhiệm thay đặt phần Abstraction ta lại thiết kế phần Implementation, dẫn tới việc khơng thực ngữ nghĩa ta mong đợi Và cách cuối phải tái tổ chức lại hệ thống Đây cơng việc khơng dễ dàng chút nào, khơng tốn thời gian, phát (LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10 111 sinh chi phí mà có nguy dẫn đến thay đổi dây chuyền thành phần khác 3.6.2 Áp dụng mẫu Bridge thiết kế sơ đồ lớp cho ca sử dụng “Quản lý học phí” + Biểu đồ lớp trước áp dụng mẫu Hình 3.36 Biểu đồ lớp “ Quản lý học phí” + Biểu đồ lớp sau áp dụng mẫu (LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10 112 Hình 3.37 Biểu đồ lớp có áp dụng mẫu “ Quản lý học phí” 3.6.3 Áp dụng Singleton thiết kế chức “Tìm kiếm sinh viên” Ý nghĩa Mẫu Singleton thiết kế để đảm bảo lớp tạo thể Bài toán thực tế Trong triển khai chương trình chức “tìm kiếm sinh viên” sử dụng nhiều lần nhiều ca sử dụng khác suốt trình thực thi (LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10(LUAN.VAN.THAC.SI).Phan.tich.va.thiet.ke.huong.mau.Luan.van.ThS.Cong.nghe.thong.tin.1.01.10 113 chương trình ln phải đảm bảo có tối đa hộp thoại tìm kiếm hữu hình Giải pháp Thiết kế cho lớp tự kiểm sốt thể Cụ thể lớp ln bảo đảm khơng khác tạo từ Thông thường, đối tượng muốn tạo từ class phải thơng qua hàm dựng(construtor) class Vì để ngăn khơng cho hàm dựng gọi Sau cung cấp phương thức tĩnh để tạo đối tượng Với giải pháp này, lớp đảm bảo ln có thể Client truy xuất instance lớp thông qua hàm khởi tạo Biểu đồ lớp Hình 3.38 Biểu đồ lớp “ Tìm kiếm” Các thành phần tham gia – Định nghĩa phương thức tĩnh để User truy xuất đến thể – Phương thức tuỳ trường hợp mà tạo hay trả Instance tương ứng 3.7 Mô tả chi tiết lớp đối tƣợng 3.7.1 Sinh viên Stt Tên trường MSV Tiêu đề Mã sinh viên Kiểu text Miền giá trị