Vận dụng các mẫu thiết kế để giải quyết bài toán quản lý theo công nghệ hướng đối tượng

104 510 0
Vận dụng các mẫu thiết kế để giải quyết bài toán quản lý theo công nghệ hướng đối tượng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Đức Toàn VẬN DỤNG CÁC MẪU THIẾT KẾ ĐỂ GIẢI QUYẾT BÀI TOÁN QUẢN LÝ THEO CÔNG NGHỆ HƯỚNG ĐỐI TƯỢNG LUẬN VĂN THẠC SỸ Hà nội, 11/2006 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Đức Toàn VẬN DỤNG CÁC MẪU THIẾT KẾ ĐỂ GIẢI QUYẾT BÀI TOÁN QUẢN LÝ THEO CÔNG NGHỆ HƯỚNG ĐỐI TƯỢNG Ngành: Công nghệ thông tin Mã số: 1.01.10 LUẬN VĂN THẠC SỸ Người hướng dẫn khoa học : PGS TS Nguyễn Văn Vỵ Hà nội, 11/2006 Hanoi, November 2006 CÁC THUẬT NGỮ VIẾT TẮT Design pettern GOF(gang of five) Creational patterns Structual patterns Behavioral pattern Framework IDOMS Abstract factory pattern Factory pattern Base- object 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ế Nhóm thành viên Các mẫu tạo sinh Các mẫu cấu trúc Các mẫu hành vi Khung làm việc Thành ngữ Mẫu chế tạo trừu tượng Mẫu chế tạo Đối tượng sở 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 MỤC LỤC CHƢƠNG I MẪU THIẾT KẾ 1.1 Mẫu thiết kế gì? 1.2 Lịch sử mẫu 1.3 Các thành phần mẫu thiết kế 1.3.1 Tên mẫu 1.3.2 Vấn đề 1.3.3 Giải pháp 1.3.4 Hệ 1.4 Mô tả mẫu thiết kế 1.4.1 Tên gọi phân loại 1.4.2 Mục đích 10 1.4.3 Các tên gọi khác 10 1.4.4 Lý sử dụng 10 1.4.5 Khả áp dụng 10 1.4.6 Cấu Trúc 10 1.4.7 Kết Quả 10 1.4.8.Triển Khai 11 1.5 Vai trò mẫu phát triển phần mềm 11 1.6 Mẫu thiết kế kỹ nghệ phần mềm 12 1.6.1 Những mẫu thiết kế vòng đời phát triển phần mềm 12 1.6.2 Vòng đời mẫu 13 1.7 Đặc điểm chung mẫu 14 CHƢƠNG 15 CÁC LOẠI MẪU THIẾT KẾ 15 Luận văn thạc sỹ Nguyễn Đức Toàn 2.1 Phân loại mẫu 15 2.2 Mẫu thiết kế với toán 15 2.3 Mẫu chế tạo (Factory Pattern) 16 2.3.1 Định nghĩa 16 2.3.2 Đặc điểm 17 2.3.3 Phân loại 17 2.3.4 Một biểu đồ lớp UML mẫu chế tạo 18 2.4 Mẫu chế tạo trừu tượng (Abstract Factory Pattern) 18 2.4.1 Định nghĩa 18 2.4.2 Thiết kế động với mẫu chế tạo trừu tượng 18 2.4.3 Biểu đồ lớp UML mẫu 19 2.5 Mẫu đơn (Singleton Pattern) 19 2.5.1 Định nghĩa 20 2.5.2 Lợi ích 20 2.5.3 Trường hợp sử dụng 20 2.5.4 Cách thực 21 2.5.5 Ứng dụng mẫu đơn 21 2.5.6 Nhận xét 22 2.6 Mẫu uỷ nhiệm (Proxy Pattern) 22 2.6.1 Định nghĩa 22 2.6.2 Phân loại 22 2.6.3 Đặc điểm chung 24 2.6.4 Biểu đồ lớp UML mẫu 24 2.7 Mẫu thích nghi (Adapter Pattern) 24 2.7.1 Định nghĩa 24 2.7.2 Đặc điểm 25 2.7.3 Phạm vi ứng dụng 25 Luận văn thạc sỹ Nguyễn Đức Toàn 2.7.4 Biểu đồ lớp UML mẫu 25 2.8 Sơ đồ mối liên kết mẫu thiết kế 26 CHƢƠNG 27 ỨNG DỤNG MẪU 27 Phân tích, thiết kế hệ thống “ Quản lý khám chữa bệnh “ 27 3.1 Mô tả toán 27 3.1.1 Bài toán 27 3.1.2 Các vấn đề cần giải 27 3.2 Phát triển hệ thống 28 3.2.1 Các chức hệ thống 28 3.2.2 Các khái niệm mô hình lĩnh vực 29 3.3 Xác định tác nhân, ca sử dụng mô tả ca sử dụng 35 3.3.1 Xác định tác nhân 35 3.3.2 Xác định ca sử dụng 39 3.3.3 Mô hình ca sử dụng 44 3.3.4 Mô tả chi tiết ca sử dụng 48 3.4 Phân tích hệ thống 59 3.4.1 Ca sử dụng cập nhật thông tin phòng khám (Clinic) 59 3.4.2 Ca sử dụng cập nhật thông tin loại phòng khám (Provider Type) 61 3.4.3 Ca sử dụng cập nhật loại quyền sử dụng (BenefitScheme) 63 3.4.4 Ca sử dụng cập nhật toán theo đợt tới công ty (Invoice) 67 3.4.5 Ca sử dụng cập nhật thông tin khám (EmpVisit) 70 3.5 Biểu đồ lớp 73 3.5.1 Áp dụng mẫu Uỷ nhiệm (Proxy) 73 3.5.2 Áp dụng mẫu tạo (Factory) 74 3.5.3 Áp dụng mẫu đơn (Singleton) 75 3.5.4 Biểu đồ lớp chưa áp dụng mẫu 77 Luận văn thạc sỹ Nguyễn Đức Toàn 3.5.5 Biểu đồ lớp sau áp dụng mẫu 78 3.6 Mô tả chi tiết đối tượng 79 3.6.1 ClinicVO 79 3.6.2 ClinicRdb 79 3.6.3 ProviderTypeVO 79 3.6.4 ProviderTypeRdb 80 3.6.5 DiagnosisVO 80 3.6.6 DiagnosisRdb 80 3.6.7 DrugVO 80 3.6.8 DrugRdb 81 3.6.9 LabVO 81 3.6.10 LabRdb 81 3.6.11 XRayVO 82 3.6.12 XRayRdb 82 3.6.13 GroupVO 82 3.6.14 GroupRdb 83 3.6.15 UserVO 83 3.6.16 UserRdb 83 3.6.17 UserRoleTypeVO 84 3.6.18 UserRoleTypeRdb 84 3.6.19 UserRoleVO 84 3.6.20 UserRoleRdb 84 3.6.21 CompanyVO 85 3.6.22 CompanyRdb 85 3.6.23 BenefitSchemeVO 85 3.6.24 BenefitSchemeRdb 86 3.6.25 BSInPanelVO 86 Luận văn thạc sỹ Nguyễn Đức Toàn 3.6.26 BSInPanelRdb 87 3.6.27 VisitDisplayVO 87 3.6.28 VisitDisplayRdb 87 3.6.29 BatchVO 88 3.6.30 BatchRdb 88 3.6.31 InvoiceVO 88 3.6.32 InvoiceRdb 89 3.6.33 PaymentAdviceVO 89 3.6.34 PaymentAdviceRdb 89 3.6.35 EmployeeVO 89 3.6.36 EmployeeRdb 90 3.6.37 DependantVO 90 3.6.38 DependantRdb 91 3.6.39 EmpVisitVO 91 3.6.40 EmpVisitRdb 92 3.6.41 DrugVisitVO 92 3.6.42 DrugVisitRdb 92 3.6.43 LabVisitVO 93 3.6.44 LabVisitRdb 93 3.6.45 XRayVisitVO 93 3.6.46 XRayVisitRdb 93 3.7 Cấu hình phần cứng 94 3.8 Thiết kế giao diện 95 KẾT LUẬN 98 Luận văn thạc sỹ Nguyễn Đức Toàn CHƢƠNG I MẪU THIẾT KẾ 1.1 Mẫu thiết kế gì? Nhìn chung, mẫu mô tả vấn đề thường xuyên xuất thiết kế, triển khai phần mềm giải pháp cho theo cách sử dụng lại Những mẫu thiết kế có ý nghĩa thực tế tốt, chúng phương tiện thiết kế để làm tài liệu để truyền đạt kiến thức, kinh nghiệm chuyên gia cho người học Mẫu mô tả giải pháp chung vấn đề thiết kế thường “lặp lại” nhiều dự án Nói cách khác, mẫu xem “khuôn dạng” có sẵn áp dụng cho nhiều tình khác để giải vấn đề cụ thể Trong hệ thống phần mềm hướng đối tượng nào, bắt gặp vấn đề lặp lại a Các mẫu phân tích Các mẫu phân tích (Analysis Patterns) để hiểu vấn đề từ yêu cầu bên Martin Fowler định nghĩa mẫu phân tích “ Nhóm khái niệm đại diện cho cấu trúc chung mô hình nghiệp vụ” b Các mẫu kiến trúc Các mẫu kiến trúc (Structual Patterns) mô tả sơ đồ tổ chức với cấu trúc cho hệ thống phần mềm Nó cung cấp tập hợp định nghĩa hệ thống thành phần Đồng thời rõ trách nhiệm thành phần qui tắc nguyên tắc cho việc tạo lập mối quan hệ chúng Những mẫu kiến trúc phương tiện kiến trúc, cung cấp tài liệu cho hệ thống hỗn tạp phức tạp Do giúp quản lý ứng dụng phức tạp c Mẫu thiết kế Mẫu thiết kế (Design pettern) cung cấp sơ đồ để làm mịn hệ thống con, thành phần hệ thống phần mềm mối quan hệ chúng Nó mô tả cấu trúc, xác định thành phần truyền thông nhằm giải vấn đề thiết kế chung ngữ cảnh đặc biệt Mẫu chiến lược, mẫu trạng thái mẫu uỷ nhiệm ví dụ cho phạm trù d Thành ngữ Luận văn thạc sỹ Nguyễn Đức Toàn Thành ngữ (idoms) loại mẫu đặc biệt mức thấp dành cho ngôn ngữ lập trình Một thành ngữ miêu tả để thực khía cạnh đặc biệt thành phần mối quan hệ chúng sử dụng đặc tính ngôn ngữ lập trình cho như: C++, Java Smalltalk Các mẫu kinh nghiệm thiết kế kiểm chứng Phần lớn mẫu tìm làm tài liệu mẫu xây dựng lên từ nhiều dự án tiến hành thực tế mẫu sáng chế Các mẫu cách mô tả ngắn gọn hiệu để truyền đạt khái niệm kinh nghiệm nhà phát triển từ vấn đề thực tế 1.2 Lịch sử mẫu Ý tưởng mẫu phần mềm phát triển đa dạng Kiến trúc sư Christopher Alexander trường đại học California Berkeley người phát triển tảng mẫu Từ “mẫu” gần gắn liền với nghiệp hoạt động giáo sư Giáo sư nhóm nghiên cứu ông khoảng 20 năm để phát triển cách tiếp cận tới kiến trúc thông thường có sử dụng mẫu Alexander giới thiệu 250 mẫu với nhiều mức độ trừu tượng từ kiến trúc thành phố đến thiết kế phòng Kiến trúc sư thành lập khung mẫu miêu tả mẫu giải pháp vấn đề mức ngữ cảnh Ông phát triển nguyên mẫu từ mẫu dùng công việc ông kiến trúc Kent Beck Ward Cunningham[1] say mê áp dụng ý tưởng Alexander để phát triển mẫu phần mềm Họ tập hợp mẫu nói đặc tả giao diện người dùng Kent tập trung vào thành ngữ cho Smalltalk Ward diễn đạt kinh nghiệm hệ thống nghiệp vụ (hệ thống kế toán) Erich Gamma xuất ấn phẩm vấn đề sử dụng mẫu phát triển phần mềm năm 1991 Cuốn sách viết Đức, sách không ý nhiều Bruce Anderson nhà lãnh đạo cộng đồng mẫu Ông thành lập ngân hàng mẫu OOPSLA vào đầu năm 1990 Jim Coplien miêu tả thành ngữ C++ lập trình C++ tiên tiến Theo cách đó, thành ngữ có liên quan tới ý tưởng giải pháp cung cấp tài liệu cho vấn đề thường xuyên Một nhóm có tên Hillside Group hình thành nhằm khai thác sâu ý tưởng thúc đẩy sử dụng mẫu trình phát triển phần mềm Họ xây dựng mẫu nhằm dẫn dắt hỗ trợ thành viên cộng đồng mẫu Nhóm hình thành với tên PLOP vào năm 1994 Luận văn thạc sỹ Nguyễn Đức Toàn 3.6.26 BSInPanelRdb - Các giao diện: BSInPanelRdb GetInstance() boolean AddBSInPanel (BSInPanelVO bSInPanelVO) boolean EditBSInPanel (BSInPanelVO bSInPanelVO) boolean DeleteBSInPanel (BSInPanelVO bSInPanelVO) BSInPanelVO[] FindBSInPanel (String key) BSInPanelVO FindBSInPanelById (String id) 3.6.27 VisitDisplayVO TT Kiểu varchar int Varchar varchar varchar varchar varchar varchar Tên id version name showMC showDiagnosis showDrug showLab showXRay Độ rộng 16 50 1 1 3.6.28 VisitDisplayRdb - Các giao diện: VisitDisplayRdb GetInstance() boolean AddVisitDisplay (VisitDisplayVO visitDisplayVO) boolean EditVisitDisplay (VisitDisplayVO visitDisplayVO) boolean DeleteVisitDisplay (VisitDisplayVO visitDisplayVO) VisitDisplayVO[] FindVisitDisplay (String key) VisitDisplayVO FindVisitDisplayById (String id) 87 Ràng buộc Định danh Luận văn thạc sỹ Nguyễn Đức Toàn 3.6.29 BatchVO TT Kiểu varchar int varchar datetime datetime datetime varchar Tên id version batchNo batchDate paymentAdviceDate invoiceDate groupName Độ rộng 16 16 8 50 Ràng buộc Định danh Độ rộng 16 16 50 50 8 8 8 Ràng buộc Định danh 3.6.30 BatchRdb - Các giao diện: BatchRdb GetInstance() boolean AddBatch (BatchVO batchVO) BatchVO[] FindBatch (String key) BatchVO FindBatchById (String id) 3.6.31 InvoiceVO TT 10 11 12 13 14 15 Kiểu varchar int varchar datetime varchar varchar int float money money money money money money Tên id version invoiceNo invoiceDate companyName groupName totalVisit totalMcDays lowestFee highestFee averageFee totalDrugsFees totalXRayFees totalLabFees 88 Luận văn thạc sỹ 16 Nguyễn Đức Toàn totalVisitWithMcDays int 3.6.32 InvoiceRdb - Các giao diện: InvoiceRdb GetInstance() boolean AddInvoice (InvoiceVO invoiceVO) InvoiceVO[] FindInvoice (String key) InvoiceVO FindInvoiceById (String id) 3.6.33 PaymentAdviceVO TT 10 11 12 Kiểu varchar int varchar datetime varchar int float money money money money Tên id version paymentAdviceNo paymentAdviceDate clinicName totalVisits totalMcDays lowestFee highestFee averageFee toalClaims Độ rộng 16 16 50 8 8 Ràng buộc Định danh 3.6.34 PaymentAdviceRdb - Các giao diện: PaymentAdviceRdb GetInstance() boolean AddPaymentAdvice (PaymentAdviceVO paymentAdviceVO) PaymentAdviceVO[] FindPaymentAdvice (String key) PaymentAdviceVO FindPaymentAdviceById (String id) 3.6.35 EmployeeVO TT Kiểu varchar Tên id 89 Độ rộng 16 Ràng buộc Định danh Luận văn thạc sỹ 10 11 12 13 14 15 Nguyễn Đức Toàn version companyName name nric dob gender address emailAddress startDate cardNo noOfDependant creationDate lastModified benefitSchemeName int varchar varchar varchar dtetime varchar varchar varchar dtetime varchar int datetime datetime varchar 50 50 20 150 100 20 8 50 3.6.36 EmployeeRdb - Các giao diện: EmployeeRdb GetInstance() boolean AddEmployee (EmployeeVO employeeVO) boolean EditEmployee (EmployeeVO employeeVO) boolean DeleteEmployee (EmployeeVO employeeVO) EmployeeVO[] FindEmployee() EmployeeVO FindEmployeeById() 3.6.37 DependantVO TT Kiểu varchar int varchar varchar varchar datetime varchar Tên id version employeeName name nric dob gender 90 Độ rộng 16 50 50 20 Ràng buộc Định danh Luận văn thạc sỹ 10 11 12 13 Nguyễn Đức Toàn relationship startDate cardNo creationDate lastModified benefitSchemeName varchar datetime varchar datetime datetime varchar 20 20 8 50 3.6.38 DependantRdb - Các giao diện: DependantRdb GetInstance() boolean AddDependant (DependantVO dependantVO) boolean EditDependant (DependantVO dependantVO) boolean DeleteDependant (DependantVO dependantVO) DependantVO[] FindDependant (String key) DependantVO FindDependantById (String id) 3.6.39 EmpVisitVO TT 10 11 12 13 14 15 Kiểu varchar int varchar datetime varchar varchar varchar varchar varchar varchar varchar varchar float datetime varchar Tên id version name visitDate clinicName patientName patientNric companyName groupName employeeName dependantName providerTypeName mcDay mcStartDate diagnosisPriName 91 Độ rộng 16 50 50 50 20 50 50 50 50 50 8 50 Ràng buộc Định danh Luận văn thạc sỹ 16 17 18 19 20 21 22 Nguyễn Đức Toàn diagnosisSecName drugFee labFee xRayFee totalFee creationDate batchNo varchar money money money money datetime varchar 50 8 8 16 3.6.40 EmpVisitRdb - Các giao diện: EmpVisitRdb GetInstance() boolean AddEmpVisit (EmpVisitVO empVisitVO) boolean EditEmpVisit (EmpVisitVO empVisitVO) boolean DeleteEmpVisit (EmpVisitVO empVisitVO) EmpVisitVO[] FindEmpVisit (String key) EmpVisitVO FindEmpVisitById (String id) 3.6.41 DrugVisitVO TT Kiểu varchar int varchar varchar varchar money Tên id version empVisitName drugName unit unitPrice Độ rộng 16 50 50 10 3.6.42 DrugVisitRdb - Các giao diện: DrugVisitRdb GetInstance() boolean AddDrugVisit (DrugVisitVO drugVisitVO) boolean EditDrugVisit (DrugVisitVO drugVisitVO) boolean DeleteDrugVisit (DrugVisitVO drugVisitVO) 92 Ràng buộc Định danh Luận văn thạc sỹ Nguyễn Đức Toàn DrugVisitVO[] FindDrugVisit (String key) DrugVisitVO FindDrugVisitById (String id) 3.6.43 LabVisitVO TT Kiểu varchar int varchar varchar money Tên id version empVisitName labName amount Độ rộng 16 50 50 Ràng buộc Định danh Độ rộng 16 50 50 Ràng buộc Định danh 3.6.44 LabVisitRdb - Các giao diện: LabVisitRdb GetInstance() boolean AddLabVisit (LabVisitVO labVisitVO) boolean EditLabVisit (LabVisitVO labVisitVO) boolean DeleteLabVisit (LabVisitVO labVisitVO) LabVisitVO[] FindLabVisit (String key) LabVisitVO FindLabVisitById (String id) 3.6.45 XRayVisitVO TT Kiểu varchar int varchar varchar money Tên id version empVisitName xRayName amount 3.6.46 XRayVisitRdb - Các giao diện: XRayVisitRdb GetInstance() boolean AddXRayVisit (XrayVisitVO xRayVisitVO) 93 Luận văn thạc sỹ Nguyễn Đức Toàn boolean EditXRayVisit (XrayVisitVO xRayVisitVO) boolean DeleteXRayVisit (XrayVisitVO xRayVisitVO) XrayVisitVO[] FindXRayVisit (String key) XRayVisitVO FindXRayVisitById (String id) 3.7 Cấu hình phần cứng Cơ sở liệu chọn phải đủ mạnh để quản lý khối lượng liệu lớn với tần suất truy cập liệu cao, đáp ứng dịch vụ trực tuyến đảm bảo yêu cầu an toàn liệu Các sở liệu mà đáp ứng yêu cầu MySQL, SQL server, oracle Hệ thống sử dụng hệ quản trị sở liệu SQL server 2005 Hiện Java ngôn ngữ hướng đối tượng mạnh mẽ sử dụng rộng rãi Do hệ thống em sử dụng ngôn ngữ Java để cài đặt 94 Luận văn thạc sỹ Nguyễn Đức Toàn 3.8 Thiết kế giao diện Sau sô giao diện chương trình “Quản lý khám chữa bệnh” a Giao diện login Hình 3.33 Giao diện login Khi đăng nhập vào hệ thống người dùng phải nhập tài khoản (UserId) mật (Password) vào form đăng nhập Hệ thống kiểm tra, nêu tài khoản mật hợp lệ ứng với quyền đăng nhập tương ứng tài khoản mà hệ thống form quản lý tương ứng Nếu sai yêu cầu nhập lại tài khoản mật 95 Luận văn thạc sỹ Nguyễn Đức Toàn b Giao diện danh sách tổng công ty (Group) Hình 3.34 Giao diện danh sách tổng công ty (Group) Khi người dùng chọn menu Group bên trái hệ thống danh sách Group Sau ta chọn chức tìm kiếm Group cách nhập điều kiện tìm kiếm nhấn nút Search Ta thêm Group cách nhấn nút Add Khi muốn sửa đổi thông tin Group ta nhấn vào Group Ngoài ta thêm người dùng cho Group cách nhận vào link User tương ứng Group 96 Luận văn thạc sỹ Nguyễn Đức Toàn c Giao diện thêm lần khám Hình 3.35 Giao diện thêm lần khám (EmpVisit) Khi người dùng chọn chức thêm lần khám hệ thống hiển thị form thêm lần khám (Add empvisit) Sau nhập thông tin cần thiết người dùng ấn nút OK để đồng ý Cancel muốn huỷ 97 Luận văn thạc sỹ Nguyễn Đức Toàn 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 thiệu 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ý khám chữa bệnh ” 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 Quá trình xây dựng hệ thống “ Quản lý khám chữa bệnh ” 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 toá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 trình phân tích thiết kế xây dựng toá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 toán quản lý hoàn thiện chức có để trợ giúp tốt cho công việc quản lý việc khám chữa bệnh 98 Danh Mục Hình Hình 1.1 Minh hoạ vòng đời mẫu 13 Hình 2.1 Biểu đồ lớp lớp chế tạo 18 Hình 2.2 Biểu đồ lớp mẫu chế tạo trừu tượng 19 Hình 2.3 Minh hoạ biểu đồ lớp mẫu đơn 19 Hình 2.4 Ví dụ mẫu đơn 20 Hình 2.5 Biểu đồ lớp mẫu đơn 21 Hình 2.6 Biểu đồ lớp mẫu uỷ nhiệm 24 Hình 2.7 Biểu đồ lớp thích nghi 25 Hình 3.1 Mô hình khái niệm mức nghiệp vụ (hình 1) 31 Hình 3.2 Mô hình khái niệm mức nghiệp vụ (hình 2) 32 Hình 3.3 Mô hình khái niệm mức nghiệp vụ (hình 3) 33 Hình 3.4 Mô hình khái niệm mức nghiệp vụ (hình 4) 34 Hình 3.5 Biểu đồ ca sử dụng mức gộp hệ thống 44 Hình 3.6 Biểu đồ ca sử dụng mức gộp Admin login 45 Hình 3.7 Biểu đồ ca sử dụng mức gộp Group login 46 Hình 3.8 Biểu đồ ca sử dụng mức gộp Company login 47 Hình 3.9 Biểu đồ ca sử dụng mức gộp Clinic login 47 Hình 3.10 Ca sử dụng mức gộp Employee Login 48 Hình 3.11 Biểu đồ hệ thống ca sử dụng cập nhật thông tin Clinic 59 Hình 3.12 Mô hình khái niệm ca sử dụng cập nhật thông tin Clinic 60 Hình 3.13 Biểu đồ đối tượng khái niệm ca sử dụng cập nhật thông tin Clinic 60 Hình 3.14 Biểu đồ hệ thống ca sử dụng cập nhật thông tin ProviderType 61 Hình 3.15 Mô hình khái niệm ca sử dụng cập nhật thông tin ProviderType 62 Luận văn thạc sỹ Nguyễn Đức Toàn Hình 3.16 Biểu đồ đối tượng khái niệm ca sử dụng cập nhật thông tin ProviderType 63 Hình 3.17 Biểu đồ hệ thống ca sử dụng cập nhật thông tin BenefitScheme 64 Hình 3.18 Mô hình khái niệm ca sử dụng cập nhật thông tin BenefitScheme 65 Hình 3.19 Biểu đồ đối tượng khái niệm ca sử dụng cập nhật thông tin BenefitScheme 66 Hình 3.20 Biểu đồ hệ thống ca sử dụng cập nhật thông tin Invoice 67 Hình 3.21 Mô hình khái niệm ca sử dụng cập nhật thông tin Invoice 68 Hình 3.22 Biểu đồ đối tượng khái niệm ca sử dụng cập nhật thông tin Invoice 69 Hình 3.23 Biểu đồ hệ thống ca sử dụng cập nhật thông tin EmpVisit 70 Hình 3.24 Mô hình khái niệm ca sử dụng cập nhật thông tin EmpVisit 71 Hình 3.25 Biểu đồ đối tượng khái niệm ca sử dụng cập nhật thông tin EmpVisit 72 Hình 3.26 Áp dụng mẫu Proxy vào trình thao tác với sở liệu 73 Hình 3.27 Sơ đồ thiết kế lớp Clinic áp dụng mẫu Proxy 74 Hình 3.28 Áp dụng mẫu Factory pha login 75 Hình 3.29 Mô tả khái quát lớp ObjectRdb áp dụng mẫu đơn 76 Hình 3.30 Lớp ClinicRdb sau áp dụng mẫu đơn 76 Hình 3.31 Biểu đồ lớp trước áp dụng mẫu 77 Hình 3.32 Biểu đồ lớp sau áp dụng mẫu 78 Hình 3.33 Giao diện login 95 Hình 3.34 Giao diện danh sách tổng công ty (Group) 96 Hình 3.35 Giao diện thêm lần khám (EmpVisit) 97 100 Tài liệu tham khảo [1] Nguyễn văn Vỵ “ Phân tích thiết kế hệ thống hướng đối tượng” , giảng cao học khoa công nghệ trường ĐHQGHN, 2004 [2] Nguyễn Văn Vỵ “ Phân tích thiết kế hệ thống thông tin đại hướng cấu trúc hướng đối tượng “, NXB thống kê, 2002 [3] Đoàn Văn Ban “ Phân tích thiết kế hướng đối tượng UML “, ging, 2003 [4] Đặng Văn Đức “ Phân tích thiết kế hướng đối tượng UML”, NXB giáo dục,2002 [5] Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides “Design Pattern elements of reuseable objected software- gang of four “,1999 [6] Craig Larma, “ Applying UML and petterns, An introduction to object- oriented analysis and design “, 2004 [7] Cood P and Yourdon E, “ Object- oriendted analysis “, second edittion yourdon press, 233 pp 1990 [8] Sherif M, Yacoub, Hany H , Ammar Pattern- “ Oriented Analysis and Design: Composing Patterrns to Design Software Systems “, 2003 [9] http://en.wikipedia.org/wiki/Design_pattern_(computer_science) [10] http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/patterns/ [...]... giải quyết vấn đề của các lớp, đối tượng được thiết kế theo mẫu 1.4.5 Khả năng áp dụng Mẫu cho biết có thể áp dụng trong trường hợp nào Đồng thời, chỉ ra những trường hợp thiết kế chưa tốt mà mẫu có thể khắc phục được cùng với cách nhận biết những lỗi thiết kế đó 1.4.6 Cấu Trúc Cấu trúc mẫu là mô tả bằng hình ảnh của các đối tượng được sử dụng trong thiết kế mẫu Các thành phần tham gia, các lớp/ đối tượng. .. các mẫu thiết 9 Luận văn thạc sỹ Nguyễn Đức Toàn kế đựơc phân thành ba nhóm: nhóm mẫu tạo sinh (creational), nhóm cấu trúc (structural) và nhóm hành vi (behavioral) 1.4.2 Mục đích Mẫu thiết kế cho biết: - Mẫu thiết kế có chức năng gì - Lý do và mục đích của mẫu thiết kế - Mẫu thiết kế giải quyết bài toán cụ thể nào 1.4.3 Các tên gọi khác Một mẫu thiết kế có thể có nhiều tên gọi khác nhau tuỳ theo cách... mất nhiều công sức trong việc làm tài liệu có chất lượng cao trong thiết kế phần mềm như những mẫu thiết kế Trong khi có rất nhiều sự chú ý được quan tâm để tìm và làm tài liệu cho các mẫu thiết kế, thì các kỹ thuật để triển khai và gắn kết các giải pháp thiết kế đã được chứng minh này vẫn còn thiếu các hệ thống hỗ trợ Thiết kế các ứng dụng bằng cách triển khai có hệ thống các mẫu thiết kế không phải... những mẫu thiết kế Phiên bản tiếp theo của các ứng dụng hướng đối tượng và các khung làm việc sẽ chứa các mẫu rõ ràng Các mẫu cũng sẽ tiếp tục được sử dụng để làm tài liệu mẫu và nội dung của các khung làm việc Những miền và những chủ đề chính khác cũng đem lại nhiều lợi ích từ quá trình tập hợp các mẫu nhỏ cụ thể như sau: a Phân phối các đối tượng Những ứng dụng tính toán song song và các đối tượng. .. lớp bằng UML của mẫu Hình 2.7 Biểu đồ lớp thích nghi 25 Luận văn thạc sỹ Nguyễn Đức Toàn 2.8 Sơ đồ mối liên kết các mẫu thiết kế Hình dưới đây cho ta các mẫu thiết kế khác nhau và mối quan hệ liên kết giữa chúng Hình 2.8 Sơ đồ mối liên kết các mẫu thiết kế 26 CHƢƠNG 3 ỨNG DỤNG MẪU Phân tích, thiết kế hệ thống “ Quản lý khám chữa bệnh “ 3.1 Mô tả bài toán 3.1.1 Bài toán Hệ thống Quản lý khám chữa bệnh”... gồm 23 mẫu chia làm 3 phạm trù: theo hành vi, theo cấu trúc, và tạo sinh Peter Coad gần đây cũng nghiên cứu về các mẫu hướng đối tượng Trong đó, ông đã mô tả 7 loại mẫu cơ bản trong phân tích và thiết kế hướng đối tượng Ông làm việc dựa trên các mẫu, tức là nhờ vào việc phân tích một ứng dụng của miền đã được đưa ra và sử dụng công nghệ hướng đối tượng để xây dựng các ứng dụng Douglas Schmidt cũng là... cấu thành thiết kế để xây dựng ứng dụng sử dụng các mẫu Những mô hình thiết kế linh hoạt cần phải được phát triển để hỗ trợ cho kỹ thuật này Tái sử dụng phần mềm trong các ứng dụng thực tế là một nhiệm vụ khó Nó thực sự quan trọng để giảm bớt công sức phát triển và đảm bảo chất lượng phần mềm cao hơn Các mẫu thiết kế có tác dụng thúc đẩy trong việc sử dụng lại các sản phẩm trong pha thiết kế, bởi vì... Mô tả mẫu thiết kế Cách thức mô tả góp phần quan trọng trong việc hiểu và áp dụng mẫu thiết kế Những tiêu chí cơ bản trong mô tả các mẫu thiết kế bao gồm: đơn giản, chính xác và đầy đủ Như vậy, cần có một khuôn dạng mô tả thích hợp để đáp ứng các mẫu thiết kế khác nhau Đồng thời, khuôn dạng này cũng cho phép người xây dựng và người sử dụng có chung một cách nhìn và tiếp cận đối với mẫu thiết kế Theo. .. những người mới trong cộng đồng mẫu 1.3 Các thành phần của mẫu thiết kế Mỗi mẫu thiết kế (Design Pattern) trước tiên mô tả một bài toán mà ta gặp nhiều lần, rồi mô tả những yếu tố căn bản nhất để giải quyết bài toán theo cách mà ta có thể áp dụng lại nhiều lần Dựa trên mô tả như trên về các mẫu thiết kế, ta thấy chúng bao gồm những thành phần cơ bản sau: 1.3.1 Tên mẫu Tên mẫu (Pattern Name) là tên gọi... được bài toán cần giải quyết và giải pháp thực hiện hay kết quả Việc đặt tên mẫu thiết kế cho phép mô tả các bài toán và giải pháp một cách ngắn gọn Nó tạo thành một ngôn ngữ trong cộng đồng những người thiết kế Ví dụ, khi nói đến mẫu thiết kế "Facade " (bề mặt), ta hình dung ngay đến 8 Luận văn thạc sỹ Nguyễn Đức Toàn mô hình thiết kế một đối tượng với vai trò “interfacce” (giao diện) của một tập các ... ĐẠI HỌC CÔNG NGHỆ Nguyễn Đức Toàn VẬN DỤNG CÁC MẪU THIẾT KẾ ĐỂ GIẢI QUYẾT BÀI TOÁN QUẢN LÝ THEO CÔNG NGHỆ HƯỚNG ĐỐI TƯỢNG Ngành: Công nghệ thông tin Mã số: 1.01.10 LUẬN VĂN THẠC SỸ Người hướng. .. Mục đích Mẫu thiết kế cho biết: - Mẫu thiết kế có chức - Lý mục đích mẫu thiết kế - Mẫu thiết kế giải toán cụ thể 1.4.3 Các tên gọi khác Một mẫu thiết kế có nhiều tên gọi khác tuỳ theo cách gọi... 1.4.4 Lý sử dụng Mẫu ngữ cảnh mô tả toán thiết kế gặp phải cách thức giải vấn đề lớp, đối tượng thiết kế theo mẫu 1.4.5 Khả áp dụng Mẫu cho biết áp dụng trường hợp Đồng thời, trường hợp thiết kế

Ngày đăng: 30/11/2015, 16:09

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan