Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 159 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
159
Dung lượng
1,8 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ĩ 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 wrapper pattern 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” 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 đồ t Hình 3.26 Biểu đồ Hình 3.27 Biểu đồ Hình 3.28 Biểu đồ Hình 3.29 Biểu đồ Hình 3.30 Biểu đồ Hình 3.31 Biểu đồ Hình 3.32 Sơ đồ thi Hình 3.33 Sơ đồ thi Hình 3.34 Sơ đồ thi Hình 3.35 Sơ đồ thi 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í” 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 MỤC LỤC MỤC LỤC Chương 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 1.8.Mẫu thiết kế kỹ nghệ phần mềm 1.9.Đặc điểm chung mẫu 1.10 Những cách tiếp cận thành phần mẫu thiết kế Chương CÁC LOẠI MẪU THIẾT KẾ 2.1.Phân loại mẫu 2.2.Mẫu thiết kế với toán 2.3.Mẫu chế tạo 2.4.Mẫu chế tạo trừu tượng (Abstractfactory pattern) 2.5.Mẫu đơn 2.6.Mẫu uỷ nhiệm 2.7.Mẫu thích nghi 2.8.Mẫu bao bọc 2.9.Mẫu phức hợp 2.10 Sơ đồ mối liên kết mẫu thiết kế Chương ỨNG DỤNG MẪU Phân tích thiết kế hệ thống Quản Lý Sinh Viên 3.1.Mơ tả tốn 3.2.Phát triển hệ thống quản lý 3.3.Mô tả ca sử dụng hệ thống 3.4.Phân tích hệ thống 3.5.Hợp đồng cho thao tác hệ thống 3.6.Biểu đồ lớp 3.7.Mô tả chi tiết lớp đối tượng 3.8.Thiết kế giao diện KẾT LUẬN TÀI LIỆU THAM KHẢO 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ã hoá, 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 chun 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 ngun mẫu ln đánh giá kỹ Khi mà bạn 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 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 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 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 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 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 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 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 tố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 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 - Ten Hodem Quequan Ngaysinh Noithuongtru Dienchinhsach SoCMT Gioitinh 10 Quoctich 11 Tenlop 12 Tennganh 13 Tenkhoa Các thao tác Tạo() : Tạo sinh viên Sua() : Sửa thông tin sinh viên có sở liệu Xem() : Xem sinh viên laymasinhvien() : Thực việc lấy mã sinh viên để phục vụ việc tìm kiếm tham chiếu đến lớp khác Laydssv(tenlop) Timkiemsv(msv) 3.7.2 Lớp Stt Tên trường Malop Tenlop GiaovienCN - Si so Makhoa Manganh Các thao tác Tạo() : Tạo lớp Sua() : Sửa thơng tin lớp có sở liệu Xem(): Xem sinh viên laymalop() : Thực việc lấy mã lớp giúp cho việc xếp lớp sinh viên tính học phí 3.7.3 Mơn học Stt Tên trường Mamon Tenmon DVHT - Các thao tác Tạo() : Tạo môn học Sua() : Sửa thơng mơn học có sở liệu Laymon() : Lấy tên môn Xem() : Xem nội dung môn 3.7.4 Chuyên ngành Stt Tên trường Macn Tencn - Các thao tác Tạo() : Tạo chuyên ngành 116 Sua() : Sửa chuyên ngành có sở liệu Laychuyennganh() : Lấy tên chuyên ngành Xem() : Xem chuyên ngành 3.7.5 Đối tượng Stt Tên trường Madt Têndt Chedomg - Các thao tác Tạo() : Tạo đối tượng Sua() : Sửa đối tượng có sở liệu Laydoituong() : Lấy đối tượng phục vụ cho việc tính chế độ miễn giảm học phí cho sinh viên Xem() : Xem đối tượng 3.7.6 Học phí Stt Tên trường Malop Mahk Hphi - Các thao tác Tạo() : Tạo đối tượng Sua() : Sửa đối tượng có sở liệu Layhọcphi() : Lấy học phí phục vụ cho việc nộp học phí 117 3.8 Thiết kế giao diện 3.8.1 Giao diện ” Cập nhật sinh viên” GiaoG Hình 3.39 Giao diện cập nhật sinh viên Giao diện cho phép cán phòng đào tạo cập nhật danh sách sinh viên vào trường Cán phòng đào tạo cập nhật cách nhập đầy đủ thông tin vào ô trống Sau cán phòng đào tạo nhập xong thông tin muốn lưu vào sở liệu chọn nút “Đồng ý” cịn khơng muốn lưu chọn nút “ thốt” Chu Thị Hồng Hải 118 Luận văn thạc sỹ 3.8.1 Giao diện ” Cập nhật học phí” Hình 3.40 Giao diện cập nhật học phí Giao diện cho phép nhân viên phịng kế toán nhập danh sách số tiền sinh viên đóng học phí theo kỳ Sau nhân viên phịng kế tốn nhập đầy đủ thơng tin sinh viên nộp học phì muốn lưu thơng tin vào sở liệu chọn nút ” Đồng ý”, lúc hệ thống kiểm tra thông tin nhập vào thơng tin chấp nhận lưu vào sở dưc liệu, khơng thơng báo liệu chưa hợp lệ Nếu nhân viên phòng kế tốn ấn nút ”Thốt” khỏi chức không lưu liệu vừa nhập 119 KẾT LUẬN Luận văn nghiên cứu vấn đề ” Mẫu thiết kế phân tích hướng mẫu” Đây vấn đề mẻ, nhiên luận văn trình bày chi tiết khái niệm mẫu, đồng thời giới số mẫu 23 mẫu nhóm tác giả Erich Gamma, Richard Helm, Ralph Johnson, Johnson Vilissides Do thời gian có hạn, số mẫu chưa trình bày luận văn Phần ứng dụng luận văn tiến hành phân tích thiết kế hệ thống “ Quản lý sinh viên trường Đại Học Quản Trị Kinh Doanh Hà Nội” có áp dụng số mẫu phân tích để cài đặt Đây hệ thống tương đối phức tạp thơng tin hệ thống thường xuyên biến động, đòi hỏi hệ thống cần phải xử lý Số lượng thông tin cần quản lý tương đối lớn Các phép xử lý hệ thống chủ yếu theo lô, tiến hành đồng thời nhiều thao tác, mặt khác tính chất nghiệp vụ địi hỏi hệ thống cần phải có độ tin cậy cao, tính bảo mật tốt lại đảm bảo cho nhiều đối tượng khác truy nhập thơng tin hệ thống Q trình xây dựng hệ thống “ Quản lý sinh viên trường Đại Học Quản Trị Kinh Doanh Hà Nội” phần nắm bắt cách tiếp cận với toán quản lý, phương pháp phân tích, thiết kế, xây dựng tốn dựa phương pháp lập trình hướng đối tượng, thơng qua áp dụng kiến thức trang bị nhà trường vào thực tế Đồng thời nắm sử dụng công cụ trợ giúp cho q trình phân tích thiết kế xây dựng tốn lập trình hướng đối tượng UML sử dụng số mẫu phân tích Đề tài “Mẫu thiết kế phân tích hướng mẫu” đạt số kết định nhiên đề tài cần phát triển hướng sau: Tiếp tục nghiên cứu sâu mẫu để có khả vận dụng nhiều mẫu hoạt động thiết kế Tiếp tục triển khai tiếp tốn quản lý hồn thiện chức có để trợ giúp tốt cho cơng việc quản lý sinh viên trường Chu Thị Hồng Hải 120 TÀI LIỆU THAM KHẢO Luận văn thạc sỹ ... 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... quan sát mẫu Mẫu trạng thái Hình1 .1 Có thể soạn thảo thiết kế việc sử dụng mẫu thiết kế không? 1. 7 Phân tích thiết kế hƣớng đối tƣợng giải pháp Chúng ta phát triển phân tích thiết kế hướng đối... nêu Trong phân tích thiết kế hướng đối tượng, mẫu liên quan đến thiết kế mức cao, phần tử chúng kết hợp giai đoạn thiết kế để 13 đạt thiết kế đầy đủ xác Cách tiếp cận phân tích thiết kế hướng đối