Các quy tắc chuyển đổi mô hình yêu cầu sang mô hình điều hướng [3].. Trang 10 M Ở ĐẦU Phương pháp phát triển ph n mầ ềm hướng mô hình là quá trình phát triể ận t p trung vào mô hình hóa
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Trần Quốc Khánh NGHIÊN CỨU XÂY DỰNG PHƢƠNG PHÁP CHUYỂN ĐỔI MƠ HÌNH TÍCH HỢP RÀNG BUỘC TRONG PHÁT TRIỂN ỨNG DỤNG WEB HƢỚNG MƠ HÌNH THEO KỸ THUẬT UWE Chuyên ngành: Kỹ thuật phần mềm LUẬN VĂN THẠC SĨ KỸ THUẬT NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Huỳnh Quyết Thắng HÀ NỘI – 2018 Tai ngay!!! Ban co the xoa dong chu nay!!! 17057204814031000000 LỜI CAM ĐOAN Tôi – Trần Quốc Khánh – cam kết luận văn cơng trình nghiên cứu thân hướng dẫn PGS.TS Huỳnh Quyết Thắng Các kết nêu luận văn trung thực, khơng phải chép tồn văn cơng trình khác Hà Nội, ngày tháng năm 2018 Học viên Trần Quốc Khánh LỜI CAM ĐOAN DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ DANH MỤC HÌNH .6 DANH MỤC BẢNG MỞ ĐẦU 10 Mục đích nghiên cứu luận văn 11 Nội dung luận văn 11 Các đóng góp khoa học luận văn 12 Chương 1: Tổng quan kỹ thuật UWE ngôn ngữ ràng buộc OCL .13 1.1 Kiến trúc hướng mơ hình 13 1.1.2 Giới thiệu 13 1.1.2 Các kỹ thuật Web hướng mơ hình 13 1.2 Kỹ thuật UWE 15 1.2.1 Mơ hình u cầu u cầu 18 1.2.2 Mơ hình nội dung 18 1.2.3 Mơ hình điều hướng 19 1.2.4 Mơ hình xử lý 19 1.2.5 Mơ hình trình bày 20 1.2.6 Mô hình MVC thành phần tương ứng UWE 20 1.3 Ngôn ngữ ràng buộc OCL 23 1.3.1 Khái niệm OCL 23 1.3.2 Cú pháp OCL 24 1.4 Vấn đề xây dựng quy tắc chuyển đổi mơ hình ràng buộc OCL nhiệm vụ luận văn 25 1.5 Tiểu kết chương 31 Chương 2: Xây dựng quy tắc chuyển đổi mơ hình UWE 32 2.1 Giới thiệu phương pháp chuyển đổi mơ hình UWE 32 2.1.1 Quy tắc có chuyển đổi mơ hình xử lý 32 2.1.2 Quy tắc có chuyển đổi mơ hình trình bày 32 2.2 Hoàn thiện quy tắc chuyển đổi từ mơ hình u cầu sang mơ hình xử lý .33 2.2.1 Quy tắc chuyển đổi U2P 34 2.2.3 Quy tắc chuyển đổi S2P 36 2.2.3 Quy tắc chuyển đổi U2U 38 2.2.4 Quy tắc chuyển đổi S2S 39 2.3 Hồn thiện quy tắc chuyển đổi mơ hình u cầu sang mơ hình trình bày 41 2.3.1 Quy tắc chuyển đổi D2G 42 2.3.2 Quy tắc chuyển đổi P2E 43 2.4 Tiểu kết chương 44 Chương 3: Tích hợp OCL 46 3.1 Giới thiệu phương pháp 46 3.1.1 Tích hợp OCL 46 3.1.2 Chuyển đổi OCL 47 3.2 Tích hợp chuyển đổi OCL từ mơ hình u cầu sang mơ hình xử lý .47 3.2.1 Chuyển đổi ràng buộc bất biến 48 3.2.2 Chuyển đồi ràng buộc tiền điều kiện- hậu điều kiện 50 3.3 Tích hợp chuyển đổi ràng buộc bất biến từ mơ hình u cầu sang mơ hình trình bày .52 3.4 Tiểu kết chương 53 Chương 4: Xây dựng công cụ MTO-Plugin thử nghiệm 54 4.1 Xây dựng MTO-Plugin .54 4.2 Thử nghiệm đánh giá .57 4.2.1 Chuyển đổi sang mơ hình trình bày 61 4.2.2 Chuyển đổi sang mô hình xử lý 66 4.3 Tiểu kết chương 74 KẾT LUẬN 75 DANH MỤC THAM KHẢO .77 DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ Từ viết tắt, thuật ngữ Từ viết đầy đủ MDSD Model Driven Software Development MDWE Model Driven Web Enginnering UWE Uml-based Web Engineering WebSA Web Software Architecture MDA Model Driven Architecture CIM Computation Independent Model PIM Platform Independent Model PSM Platform Specific Model UML Unified Modeling Language MOF Query View Transformation MVC Model View Controller CSS Cascading Style Sheets XML eXtensible Markup Language XSLT eXtensible Stylesheet Language Transformation DTD Document Type Definition OCL Object Constraints Language HTML Hypertext Markup Language OMG Object Management Group CWM Common Warehouse Metamodel MDE Model Driven Engineering ISM Impl Specific Model MDD Model Driven Development ALT Atlas Transformation Language QVT Query/Views/Transformation OOHDM OOHDMA W2000 (HDM) Object Oriented Hypermedia Design Method Object Oriented Hypermedia Design Method Approach Hypertext Design Model DANH MỤC HÌNH Hình 1.1 Cấu trúc MDA cho kỹ thuật Web [2,13] 14 Hình 1.2 UWE metamodel [6] 16 Hình 1.3 UWE profile cho mơ hình yêu cầu [6,16] 18 Hình 1.4 UWE profile cho mơ hình nội dung [6,16] 19 Hình 1.5 UWE profile cho mơ hình điều hướng [6, 16] .20 Hình 1.6 UWE profile cho mơ hình xử lý [6, 16] .21 Hình 1.7 UWE profile cho mơ hình trình bày [6,16] 22 Hình 1.8 Mơ hình MVC Web [12] 22 Hình 1.9 Mối liên hệ mơ hình UWE với mơ hình MVC [3] 23 Hình 1.10 Tổng quan chuyển đổi mơ hình ActionUWE 27 Hình 1.11 Chuyển đổi từ CIM tới PIM từ PIM sang PIM UWE [5] .28 Hình 1.12 Phương pháp chuyển đổi mơ hình .28 Hình 1.13 Các quy tắc chuyển đổi mơ hình u cầu sang mơ hình nội dung [3] 29 Hình 1.14 Các quy tắc chuyển đổi mơ hình u cầu sang mơ hình điều hướng [3] 29 Hình 1.15 Các quy tắc chuyển đổi có sang mơ hình xử lý [3] 30 Hình 1.16 Các quy tắc chuyển đổi có sang mơ hình trình bày [3] 30 Hình 2.1 Biểu đồ diễn tiến chuyển đổi quy tắc U2P 35 Hình 2.2 Biểu đồ diễn tiến chuyển đổi quy tắc U2P 36 Hình 2.3 Biểu đồ diễn tiến chuyển đổi quy tắc S2P 37 Hình 2.4 Biểu đồ diễn tiến chuyển đổi quy tắc S2P 38 Hình 2.5 Biểu đồ diễn tiến chuyển đổi quy tắc U2U 39 Hình 2.6 Biễu đồ diễn tiến quy tắc S2S 40 Hình 2.7 Biểu đồ diễn tiến chuyển đổi quy tắc D2G 43 Hình 2.8 Biểu đồ diễn tiến xử lý cho quy tắc P2E 45 Hình 3.1 Giao diện HTML chuyển đổi từ mơ hình tích hợp OCL .46 Hình 3.2 Chuyển đổi mơ hình chuyển đổi OCL 47 Hình 3.3 Chuyển đổi mơ hình mã nguồn tích hợp ràng buộc OCL .48 Hình 3.4 Biểu đồ diễn tiến chuyển đổi bất biến mô hình xử lý 49 Hình 3.5 Biểu đồ chuyển đổi tiền điều kiện – hậu điều kiện mơ hình xử lý 51 Hình 3.6 Biểu đồ diễn tiến chuyển đổi ràng buộc bất biên mơ hình trình bày 53 Hình 4.1 Kiến trúc MagicDraw MTO-Plugin 55 Hình 4.2 Cài đặt MTO-Plugin 55 Hình 4.3 Cơ chế khởi tạo chạy plugin Magic Draw 56 Hình 4.4 Giao diện cơng cụ MTO-Plugin 57 Hình 4.5 Sơ đồ Usecase AddressBook 57 Hình 4.6 Activity diagram cho Create Contact 59 Hình 4.7 Activity diagram cho Update Contact 60 Hình 4.8 Activity diagram Search Contact 61 Hình 4.9 Activity diagram Delete Contact 61 Hình 4.10 Kết chuyển đổi Quy tắc D2G .62 Hình 4.11 Kết chuyển đổi quy tắc P2E 62 Hình 4.12 Kết chuyển đổi ràng buộc bất biến mơ hình trình bày 63 Hình 4.13 Kết chuyển đổi mơ hình trình bày ban đầu 63 Hình 4.14 Kết chuyển đổi mơ hình trình bày sau bổ sung quy tắc 64 Hình 4.15 Trang Home mơ hình hóa tay 65 Hình 4.16 CreateContact, SearchContact mơ hình hóa tay 66 Hình 4.18 Kết chuyển đổi Quy tắc S2P .67 Hình 4.19 Kết chuyển đổi Quy tắc U2U 68 Hình 4.20 Kết chuyển đổi Quy tắc S2S .68 Hình 4.21 Kết chuyển đổi ràng buộc bất biến tiền điều kiện- hậu điều kiện mơ hình xử lý .69 Hình 4.22 Mơ hình lớp xử lý ban đầu 69 Hình 4.23 Mơ hình lớp xử lý chuyển đổi với quy tắc bổ sung 70 Hình 4.24 Chuyển đổi sang mơ hình luồng xử lý ban đầu 70 Hình 4.25 Mơ hình luồng xử lý sau bổ sung quy tắc 71 Hình 4.26 Mơ hình lớp xử lý mơ hình hóa tay 72 Hình 4.27 Mơ hình luồng xử lý mơ hình hóa tay .73 DANH MỤC BẢNG Bảng So sánh kỹ thuật Web hướng mô hình [2,13] 15 Bảng Các thành phần UWE stereo type [6,16] 17 Bảng Các thành phần tương ứng DisplayAction type Prentation element 42 Bảng Các thành phần tương ứng với Pin type giao diện .44 Bảng Các pin create update contact diagram .58 Bảng Các ràng buộc OCL tích hợp activity diagram .58 LỜI CẢM ƠN Để hồn thành luận văn tốt nghiệp này, em xin chân thành cảm ơn thầy hướng dẫn luận văn tốt nghiệp, PGS.TS Huỳnh Quyết Thắng, Bộ môn Công nghệ phần mềm, Trường đại học Bách Khoa Hà Nội Thầy nhiệt tình hướng dẫn, truyền đạt kiến thức cần thiết định hướng cho em trình thực đề tài Em xin chân thành cảm ơn giúp đỡ quý báu anh Trần Đình Diễn, nghiên cứu sinh Bộ mơn Công nghệ phần mềm, trường đại học Bách Khoa Hà Nội Em xin chân thành cảm ơn thầy cô giáo Bộ môn Công nghệ phần mềm, trường Đại học Bách Khoa Hà Nội Dù cố gắng luận văn chắn khơng tránh khỏi thiếu sót, em mong nhận ý kiến đóng góp thầy cô Em xin chân thành cảm ơn! MỞ ĐẦU Phương pháp phát triển phần mềm hướng mơ hình q trình phát triển tập trung vào mơ hình hóa hệ thống UML chuyển đổi mơ hình ngữ nghĩa mức cao xuống mơ hình cụ thể từ xuống mã nguồn Nó giúp cho việc phát triển ứng dụng nhanh chóng hiệu Ứng dụng Web ứng dụng phổ biến, có đặc trưng riêng Chính để áp dụng phương pháp phát triển phần mềm hướng mơ hình vào xây dựng ứng dụng Web đòi hỏi thành phần bổ sung vào UML Kỹ thuật Web hướng mơ hình UWE phát triển để đáp ứng yêu cầu Không đáp ứng quy định kiến trúc MDA, UWE đưa thành phần đặc thù ứng dụng Web Tuy nhiên phương pháp phát triển ứng dụng Web hướng mơ hình theo kỹ thuật UWE việc mơ hình hóa tất mơ hình UWE tồn số nhược điểm sau: Thứ nhất: Việc mơ hình hóa mơ hình làm cho việc phát triển ứng dụng Web tốn thời gian chi phí; Thứ hai: Với ứng dụng Web thường bao gồm nhiều thành phần thành phần phụ thuộc vào tảng cơng nghệ khác nhau, việc đảm bảo tính thống mơ cần cập nhật đồng mơ hình có thay đổi khó khăn Bằng việc xây dựng quy tắc chuyển đổi mơ hình, từ mơ hình u cầu chuyển đổi sang mơ hình khác mơ hình nội dung, mơ hình điều hướng, mơ hình xử lý, mơ hình trình bày cách tự động Dựa mơ hình chuyển đổi, sinh mã nguồn tự động cho ứng dụng Web Do giúp tiết kiệm thời gian, chi phí đảm bảo tính thống mơ hình UWE 10