Mô hình hóa chuyên biệt miền cho ứng dụng web

12 315 0
Mô hình hóa chuyên biệt miền cho ứng dụng web

Đ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

1 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ PHẠM VĂN THANH MÔ HÌNH HÓA CHUYÊN BIỆT MIỀN CHO ỨNG DỤNG WEB LUẬN VĂN THẠC SĨ Hà Nội - 2015 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ PHẠM VĂN THANH MÔ HÌNH HÓA CHUYÊN BIỆT MIỀN CHO ỨNG DỤNG WEB Ngành: Công nghệ thông tin Chuyên ngành: Kỹ thuật phần mềm Mã số: 60480103 LUẬN VĂN THẠC SĨ NGƢỜI HƢỚNG DẪN KHOA HỌC: TS Đặng Đức Hạnh Hà Nội - 2015 LỜI CẢM ƠN Trƣớc hết, xin gửi lời biết ơn sâu sắc đến Tiến sĩ Đặng Đức Hạnh, môn Công nghệ phần mềm, khoa Công nghệ Thông tin, Trƣờng Đại học Công nghệ, Đại học Quốc Gia Hà Nội dành nhiều thời gian tâm huyết hƣớng dẫn, giúp đỡ hoàn thành luận văn tốt nghiệp cao học Nhân đây, xin chân thành cảm ơn Ban Giám hiệu Trƣờng Đại học Công nghệ, Đại học Quốc Gia Hà Nội quý thầy cô Khoa Công nghệ Thông tin, Trƣờng Đại học Công nghệ, Đại học Quốc Gia Hà Nội tạo điều kiện cho học tập hoàn thành tốt khóa học Đồng thời, xin cảm ơn tới Ban Giám đốc, đồng nghiệp Trung tâm Dịch vụ việc làm Thanh niên Trung ƣơng Đoàn, nơi công tác tạo điều kiện cho thời gian để tham gia đầy đủ khóa học Mặc dù có nhiều cố gắng để hoàn thiện luận văn nhƣng tránh khỏi đƣợc thiếu sót, mong nhận đƣợc đóng góp quý báu quý thầy cô, đồng nghiệp bạn Tôi xin chân thành cảm ơn / Hà Nội, ngày tháng 10 năm 2015 HỌC VIÊN Phạm Văn Thanh LỜI CAM ĐOAN Tôi xin cam đoan luận văn “Mô hình hóa chuyên biệt miền cho ứng dụng Web” viết dƣới hƣớng dẫn Tiến sĩ Đặng Đức Hạnh Nội dung luận văn có tham khảo số tài liệu không chép từ tài liệu đƣợc công bố Hà Nội, ngày tháng 10 năm 2015 HỌC VIÊN Phạm Văn Thanh MỤC LỤC Trang LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC DANH MỤC KÝ HIỆU, TỪ VIẾT TẮT ERROR! BOOKMARK NOT DEFINED DANH MỤC HÌNH VẼ ERROR! BOOKMARK NOT DEFINED MỞ ĐẦU CHƢƠNG 1: TỔNG QUAN VỀ MÔ HÌNH HÓA CHUYÊN BIỆT MIỀN 1.1 Khái niệm mô hình mô hình hóa 1.1.1 Khái niệm mô hình 1.1.2 Khái niệm mô hình hóa 1.2.3 Mô hình hoá trực quan 1.1.4 Mô hình hóa mục đích chung 10 1.2 Mô hình hóa chuyên biệt miền Error! Bookmark not defined 1.2.1 Cấu trúc mô hình hóa chuyên biệt miền Error! Bookmark not defined 1.2.2 Mô hình kiến trúc mô hình hóa chuyên biệt miền Error! Bookmark not defined 1.3 Ngôn ngữ mô hình hóa chuyên biệt miền Error! Bookmark not defined 1.4 Đặc điểm ý nghĩa mô hình hóa chuyên biệt miền Error! Bookmark not defined 1.4.1 Đặc điểm mô hình hóa chuyên biệt miền Error! Bookmark not defined 1.4.2 Ý nghĩa của mô hình hóa chuyên biệt miền ngƣời sử dụng Error! Bookmark not defined 1.4.3 Lợi ích mô hình hóa chuyên biệt miền Error! Bookmark not defined 1.4.4 So sánh DSM với ngôn ngữ mô hình mục đích chung khác Error! Bookmark not defined 6 CHƢƠNG 2: NGÔN NGỮ MÔ HÌNH HÓA CHUYÊN BIỆT MIỀN CHO ỨNG DỤNG WEB ERROR! BOOKMARK NOT DEFINED 2.1 Tổng quan phƣơng pháp xây dựng DSML Error! Bookmark not defined 2.1.1 Giai đoạn 1: Khảo sát miền Error! Bookmark not defined 2.1.2 Giai đoạn 2: Định nghĩa metamodel ràng buộc Error! Bookmark not defined 2.1.3 Giai đoạn 3: Xác định ký pháp cho ngôn ngữ Error! Bookmark not defined 2.1.4 Giai đoạn 4: Thao tác mô hình Error! Bookmark not defined 2.2 Kỹ thuật công cụ hỗ trợ xây dựng DSML Error! Bookmark not defined 2.2.1 Biểu diễn mô hình với Metamodel Error! Bookmark not defined 2.2.2 Ràng buộc miền ngôn ngữ OCL Error! Bookmark not defined 2.2.3 Một số công cụ hỗ trợ xây dựng DSML Error! Bookmark not defined 2.3 Vận dụng vào miền ứng dụng Web Error! Bookmark not defined 2.3.1 Khảo sát miền ứng dụng Web Error! Bookmark not defined 2.3.2 Định nghĩa Metamodel ràng buộc Error! Bookmark not defined 2.3.3 Xác định ký pháp ngôn ngữ mô hình hóa chuyên biệt miền cho ứng dụng Web Error! Bookmark not defined CHƢƠNG 3: CÀI ĐẶT VÀ THỰC NGHIỆM TRÊN ECLIPSE ERROR! BOOKMARK NOT DEFINED 3.1 Biểu diễn cú pháp trừu tƣợng DSL cho miền ứng dụng Web Error! Bookmark not defined 3.1.1 Mô hình Ecore Error! Bookmark not defined 3.1.2 Mô hình genmodel Error! Bookmark not defined 3.2 Biểu diễn cú pháp cụ thể Error! Bookmark not defined 3.2.1 Graphical Definition Model (GDM) WML.gmfgrahp Error! Bookmark not defined 3.2.2 Tooling Definition Model (TDM) Error! Bookmark not defined 3.2.3 Mapping Definition Model (MDM) Error! Bookmark not defined 3.3 Kỹ thuật sinh mã Error! Bookmark not defined 3.3.1 Các cách để xây dựng máy sinh mã Error! Bookmark not defined 7 3.3.2 Qui trình tạo máy sinh mã Error! Bookmark not defined 3.3.3 Mã nguồn mô hình EMF.model Error! Bookmark not defined 3.3.4 Các thành phần EMF.edit EMF.editor Error! Bookmark not defined 3.3.5 Code Generation (CG) Error! Bookmark not defined 3.4 Kết DSL cho miền ứng dụng Web Error! Bookmark not defined KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ERROR! BOOKMARK NOT DEFINED Kết đạt đƣợc: Error! Bookmark not defined Hƣớng phát triển: Error! Bookmark not defined TÀI LIỆU THAM KHẢO 11 63 MỞ ĐẦU Ngày nay, làm để giảm thời gian thiết kế, giảm chi phí phát triển ứng dụng phần mềm đại nhƣng lại phải tăng tính linh hoạt, hiệu phần mềm để cạnh tranh đáp ứng nhu cầu sử dụng phần mềm tất lĩnh vực khác đời sống xã hội Xuất phát từ mong muốn đó, năm qua giải pháp phát triển thƣ viện lớp đƣợc xây dựng hoàn chỉnh phục vụ cho phát triển phần mềm chƣa thể để đáp ứng đầy đủ đƣợc nhu cầu ngành công nghiệp phần mềm Việc phát triển phần mềm dạng thủ công, dựa vào sức ngƣời chủ yếu Vì vậy, việc nghiên cứu đƣa giải pháp cho phép phát triển phần mềm cách tự động đƣợc đề xuất phát triển Và giải pháp phát triển phần mềm hƣớng mô hình đƣợc xem giải pháp phù hợp phát triển ứng dụng phần mềm đại ngày Phát triển hƣớng mô hình đặt mô hình hóa làm vấn đề trọng tâm phát triển phần mềm, từ mô hình đƣợc dịch chuyển sang mã chƣơng trình triển khai nhờ sinh mã nguồn (code generator) Và phát triển hƣớng mô hình đặc biệt phù hợp với phát triển sản phẩm phần mềm hệ Một hƣớng tiếp cận phát triển hƣớng mô hình mô hình hóa chuyên biệt miền, việc xây dựng ngôn ngữ mô hình hóa chuyên biệt miền thƣờng đƣợc triển khai dƣới dạng dự án nhỏ khởi đầu dự án lớn Và kết dự án mô hình hóa chuyên biệt miền ngôn ngữ mô hình hóa thuộc miền cho phép mô hình hóa vấn đề dự án, kết thu đƣợc dịch chuyển mô hình dự án sang mã (code) triển khai, điều làm giảm bớt thời gian chi phí phát triển phần mềm Với ƣu điểm mô hình hóa chuyên biệt miền lợi ích mang lại phải phát triển ngôn ngữ cho phép mô hình hóa chuyên biệt miền, lựa chọn đề tài “Mô hình hóa chuyên biệt miền cho ứng dụng Web” làm đề tài luận văn Mục tiêu đề tài tìm hiểu phƣơng pháp phát triển phần mềm hƣớng mô hình với cách tiếp cận mô hình hóa chuyên biệt miền Trong phạm vi nghiên cứu đề tài tìm hiểu phƣơng pháp xây dựng ngôn ngữ mô hình hóa chuyên biệt miền cho ứng dụng Web cài đặt thử nghiệm với công cụ Eclipse 9 Luận văn bao gồm chƣơng sau: Chương Tổng quan mô hình hóa chuyên biệt miền: Giới thiệu tổng quan sở lý thuyết cho mô hình hóa chuyên biệt miền Chương Ngôn ngữ mô hình hóa chuyên biệt miền cho ứng dụng Web: Trình bày miền ứng dụng Web, xây dựng Metamodel cho miền cho ứng dụng Web luật ràng buộc Chương Cài đặt thực nghiệm Eclipse: Trình bày cài đặt kết thử nghiệm DSML cho miền ứng dụng Web phần mềm mã nguồn mở Eclipse 10 CHƢƠNG 1: TỔNG QUAN VỀ MÔ HÌNH HÓA CHUYÊN BIỆT MIỀN Trong chƣơng tập trung vào trình bày khái niệm mô hình hóa, mô hình hóa chuyên biệt miền, ngôn ngữ mô hình hóa chuyên biệt miền đặc điểm mô hình hóa chuyên biệt miền 1.1 Khái niệm mô hình mô hình hóa Trong số giai đoạn quy trình phát triển phần mềm có sử dụng mô hình hóa mục đích chung, ngôn ngữ UML đƣợc sử dụng để xây dựng biểu đồ pha phân tích thiết kế hệ thống Các mô hình đƣợc mô hình hóa UML thƣờng sử dụng có ý nghĩa làm tài liệu cho dự án chủ yếu, có phát sinh mã nguồn dừng lại mức thô, muốn sinh mã nguồn hoàn toàn tự động phải sử dụng ngôn ngữ mô hình hóa chuyên biệt miền để sinh mã nguồn từ miền [3] 1.1.1 Khái niệm mô hình Mô hình hình thức biểu diễn cách tổng quát thành phần hệ thống Mô hình cho phép hiểu rõ hệ thống mà cần phát triển 1.1.2 Khái niệm mô hình hóa Mô hình hóa trình chuyển giới thực thành mô hình cách [3] loại bỏ chi tiết không cần thiết giữ lại chi tiết quan trọng để biểu diễn đối tƣợng hình học, mô hình giúp dễ dàng hiểu giới thực 1.2.3 Mô hình hoá trực quan Là phƣơng thức tƣ vấn đề sử dụng mô hình đƣợc tổ chức xoay quanh khái niệm đời thực Mô hình giúp hiểu vấn đề, giao tiếp với ngƣời có liên quan đến dự án (khách hàng, chuyên gia lĩnh vực thuộc đề án, nhà phân tích, nhà thiết kế, …) 11 Ví dụ mô hình ô tô: Hình 1.1: Nhìn vấn đề ô tô người bình thường Mô hình Ô tô Thân xe Bánh xe Động Cửa xe Hình 1.2: Nhìn vấn đề ô tô chuyên gia phân tích 1.1.4 Mô hình hóa mục đích chung Trong pha phân tích thiết kế vòng đời phát triển phần mềm có sử dụng ngôn ngữ mô hình hóa mục đích chung (Ví dụ nhƣ UML) để mô hình hóa phần mềm nhƣng lúc phần mềm đƣợc triển khai nhƣ mô hình ban đầu; có sử dụng mô hình để tự động sinh code code đƣợc sinh thƣờng mã khung thô cần sử dụng tay để code hoàn thiện mô hình mang ý nghĩa làm tài liệu nhiều mục đích sinh code tự động Hình dƣới ví dụ mô hình hóa với UML Hình 1.3: Mô hình UML cho cửa sổ Windows Với mô hình hóa sử dụng ngôn ngữ mô hình hóa UML có thuận lợi là: Cho đến UML đƣợc phát triển tƣơng đối hoàn thiện đƣợc ngƣời dùng sử 12 TÀI LIỆU THAM KHẢO [1] MetaCase, http://www.metacase.com [2] WebML, http://www.webml.org [3] Robert A Maksimchuk, Michael W Engle, Bobbi J.Young, Ph.D.Jim Conallen, Kelli A Houston Grady Booch, “Object-Oriented Analysis and Design with Applications”, the United States on recycled paper at Courier in Westford, Massachusetts, April, 2007 [4] Sanna Sivonen, "Domain-specific modelling language and code generator for developing repositorybased", VTT Publications, Oulu, research project 2008 [5] Richard C Gronback, “Eclipse Modeling Project A Domain-Specific Language”,United States of America, 2009 [6] Rick Kuhn, "Role Based Access Control" American National Standards, Apr 2003 [7] David Dean, Anna Gerber, Gunnar Wagenknecht, Philippe Vanderheyden Bill Moore, “Eclipse Development using the Graphical Editing Framework and the Eclipse Modeling Framework”, ibm com/redbooks, 2004 [8] Petter Graff Vladimir Bacvanski, “Mastering Eclipse Modeling Framework”, 2005, Elipse [9] Reena Cherukuri Dr Saeed Rajput, Role Based Access Control Models, Slide [10] Elisa Chiarani (UNITN), Edith Felix (THA),Benjamin Fontan (THA), Charles Haley (OU), Fabio Massacci (UNITN), Zoltán Micskei (BME), Bashar Nuseibeh (OU), Federica Paci (UNITN), Thein Tun (OU) Yijun Yu (OU), Dániel Varró (BME) Gábor Bergmann (BME),"Methology For Evolutionary", 1.33, 2010 [11] Beatriz Marín, Oscar Pastor Giovanni Giachetti, "Integration Of Domain Specific Modeling Languages and UML", ©Technomathematics Research Foundation, 2009 [12] Steven Kelly and Juha-Pekka Tolvanen, “Domain-Specific Modeling: Enabling Full Code Generation”, AWiley-Interscience, 2008 [13] Marco Brambilla, Jordi Cabot, and Manuel Wimmer, “Model - Driven Software Engineering in Practic”, Morgan & Claypool Publishers, 2012 [14] Jordi Cabot(1) and Martin Gogolla(2), “Object Constraint Language (OCL): a Definitive Guide”, (1)INRIA / Ecole des Mines de Nantes (France), (2) University of Bremen (Germany) [15] Group Object Management, "Object Constraint Language", OMG, formal/06-05-01, 2006 [...]... nhƣ mô hình ban đầu; và nếu có sử dụng mô hình để tự động sinh ra code thì code đƣợc sinh ra thƣờng chỉ là mã khung thô và cần sử dụng tay để code hoàn thiện và các mô hình ở đây mang ý nghĩa làm tài liệu nhiều hơn mục đích sinh code tự động Hình dƣới đây là một ví dụ về mô hình hóa với UML Hình 1.3: Mô hình UML cho cửa sổ Windows Với mô hình hóa sử dụng ngôn ngữ mô hình hóa UML có thuận lợi là: Cho. ..11 Ví dụ mô hình về chiếc ô tô: Hình 1.1: Nhìn vấn đề ô tô của người bình thường Mô hình Ô tô Thân xe Bánh xe Động cơ Cửa xe Hình 1.2: Nhìn vấn đề ô tô của chuyên gia phân tích 1.1.4 Mô hình hóa mục đích chung Trong pha phân tích và thiết kế của vòng đời phát triển phần mềm có sử dụng ngôn ngữ mô hình hóa mục đích chung (Ví dụ nhƣ UML) để mô hình hóa phần mềm nhƣng không phải lúc... sử dụng ngôn ngữ mô hình hóa UML có thuận lợi là: Cho đến nay UML đã đƣợc phát triển tƣơng đối hoàn thiện và đƣợc ngƣời dùng sử 12 TÀI LIỆU THAM KHẢO [1] MetaCase, http://www.metacase.com [2] WebML, http://www.webml.org [3] Robert A Maksimchuk, Michael W Engle, Bobbi J.Young, Ph.D.Jim Conallen, Kelli A Houston Grady Booch, “Object-Oriented Analysis and Design with Applications”, the United States on

Ngày đăng: 28/08/2016, 10:26

Từ khóa liên quan

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

Tài liệu liên quan