Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 99 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
99
Dung lượng
4,05 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN HUY HỒNG THAO TÁC MƠ HÌNH TRONG PHÁT TRIỂN HƢỚNG MƠ HÌNH LUẬN VĂN THẠC SĨ CƠNG NGHỆ THÔNG TIN Hà Nội-2014 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CƠNG NGHỆ NGUYỄN HUY HỒNG THAO TÁC MƠ HÌNH TRONG PHÁT TRIỂN HƢỚNG MƠ HÌNH LUẬN VĂN THẠC SĨ CƠNG NGHỆ THƠNG TIN Ngành: Cơng nghệ thơng tin Chuyên ngành: Kỹ thuật phần mềm Mã số: 60480103 NGƢỜI HƢỚNG DẪN KHOA HỌC: TS ĐẶNG ĐỨC HẠNH Hà Nội-2014 LỜI CAM ĐOAN Tôi xin cam đoan cơng trình nghiên cứu riêng tơi, đƣợc thực qua hƣớng dẫn khoa học TS Đặng Đức Hạnh Các nội dung nghiên cứu kết đạt đƣợc trình bày luận văn hồn tồn trung thực, tổng hợp, đúc kết bổ sung biên soạn theo hiểu biết minh thông qua nghiên cứu từ tài liệu tham khảo: Sách, báo cáo khoa học tài liệu đƣợc công bố website, thƣ viện điện tử cá nhân - tổ chức nghiên cứu khoa học khắp giới Hà Nội, tháng 10 năm 2014 Ngƣời thực Nguyễn Huy Hoàng i LỜI CẢM ƠN Lời đầu tiên, Luận văn xin cảm ơn đề tài nghiên cứu khoa học cấp Đại học Quốc gia Hà Nội, mã số QG.14.06 TS Đặng Đức Hạnh làm chủ đề tài Luận văn hoàn thành đƣợc hỗ trợ phần đề tài nghiên cứu nêu Tôi xin gửi lời cảm ơn sâu sắc tới TS Đặng Đức Hạnh – Giảng viên Bộ 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, ngƣời định hƣớng nghiên cứu, tận tình hƣớng dẫn tơi hồn thành luận văn Với thân tơi, lĩnh vực nghiên cứu nhƣng qua định hƣớng cách tiếp cận, hƣớng dẫn phƣơng pháp nghiên cứu Thầy thu đƣợc kiến thức định sau thực luận văn Em xin gửi lời cảm ơn sâu sắc tới giảng viên Khoa Công nghệ Thông tin – Trƣờng Đại học Công nghệ - ĐHQG Hà Nội, giảng viên sau đại học khố K18 trƣờng Đại học Cơng nghệ - ĐHQGHN, ngƣời giảng dạy, truyền đạt cho tơi kiến thức q báu suốt q trình học tập trƣờng Cuối cùng, tối xin gửi lời cảm ơn tới tất bạn bè khoá sau đại học K18 ngành CNTT, đồng nghiệp, ngƣời thân gia đình tạo điều kiện, giúp đỡ tơi q trình học tập thực luận văn Mặc dù luận văn hoàn thành nhƣng kiến thức ngƣời thực hạn chế nên chắn đề tài nhiều vấn đề hạn chế Tôi chân thành mong nhận đƣợc ý kiến góp ý tất ngƣời để có định hƣớng nghiên cứu Hà Nội, tháng 10 năm 2014 Ngƣời thực Nguyễn Huy Hoàng ii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN .ii MỤC LỤC iii DANH MỤC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT vi DANH MỤC HÌNH ẢNH VÀ ĐỒ THỊ vii DANH MỤC BẢNG BIỂU x CHƢƠNG MỞ ĐẦU 1.1 Đặt vấn đề 1.2 Phạm vi nghiên cứu 1.3 Cấu trúc luận văn CHƢƠNG TỔNG QUAN PHÁT TRIỂN HƢỚNG MƠ HÌNH 2.1 Phƣơng pháp phát triển phần mềm truyền thống 2.2 Giới thiệu phát triển hƣớng mơ hình - MDD 2.3 Các khái niệm phát triển hƣớng mơ hình 2.3.1 Model 2.3.2 Metamodel 2.3.3 Metametamodel 2.3.4 Chuyển đổi mơ hình .7 2.3.5 Mơ hình nguồn 2.3.6 Mơ hình đích .7 2.3.7 Ngôn ngữ chuyển mô hình 2.3.8 Luật chuyển mơ hình 2.3.9 Ánh xạ 2.4 Kiến trúc hƣớng mơ hình – MDA 2.4.1 Giới thiệu kiến trúc hướng mơ hình 2.4.2 Các kiểu mơ hình MDA .9 2.4.3 Những Lợi ích MDA mang lại 11 2.5 Một số chuẩn liên quan MDD .12 2.5.1 UML - Unified Modeling Language 13 2.5.2 XMI - XML Metadata Interchange 14 2.5.3 MOF - Meta Object Facility 14 2.5.4 OCL Object Contraint Language 14 iii CHƢƠNG 3.1 CHUYỂN ĐỔI MƠ HÌNH TRONG MDD 16 Các hƣớng tiếp cận giải vấn đề chuyển mơ hình 16 3.1.1 Chuyển đổi mơ hình sang mã nguồn 16 3.1.2 Chuyển đổi mơ hình sang mơ hình 17 3.2 Một số công cụ chuyển đổi mơ hình 18 3.2.1 EMF - Eclipse Modeling Framework .18 3.2.2 Atlas Transformation Language - ATL .20 3.2.3 AndroMDA 20 3.2.4 ArcStyler 20 3.2.5 OptimaJ .20 3.2.6 QVT - Query/View/Transformation 21 3.3 Một số phƣơng pháp sinh mã hƣớng mơ hình 21 3.3.1 Phương pháp Template + Filterling 22 3.3.2 Phương pháp Template + Metamodel .23 3.3.3 Phương pháp sinh mã Inline-Code 24 3.4 Ngôn ngữ xây dựng Template sinh mã 25 3.4.1 Sử dụng ngôn ngữ .25 3.4.2 Sử dụng ngôn ngữ chuyên biệt miền 26 3.4.3 Sử dụng ngơn ngữ chuyển đổi mơ hình chun dụng .26 CHƢƠNG 4.1 CÔNG CỤ CHUYỂN ĐỔI MƠ HÌNH ACCELEO M2T 31 Tổng quan Acceleo 31 4.1.1 Lịch sử phát triển Acceleo 31 4.1.2 Kiến trúc Acceleo M2T .31 4.1.3 Nguyên lý Acceleo M2T 32 4.1.4 Template Acceleo M2T 33 4.2 Công cụ chuyển đổi mơ hình Acceleo – JavaEE Generator 37 4.2.1 Các mơ hình sử dụng Accleo JavaEE Generator 37 4.2.2 Module sinh mã Acceleo-JavaEE Generator 42 CHƢƠNG 5.1 CÀI ĐẶT VÀ THỰC NGHIỆM VỚI ACCELEO M2T 47 Nội dung phạm vi thực nghiệm 47 5.1.1 Nội dung thực nghiệm .47 5.1.2 Phạm vi thực nghiệm 49 5.2 Thiết kế mơ hình 49 5.2.1 Mơ hình thực thể (Entity model) .50 5.2.2 Mô hình trình diễn (Cinematic Model) .51 iv 5.3 Cập nhật công cụ Acceleo JavaEE Generator .70 5.3.1 Bổ sung template sinh mã SQL 70 5.3.2 Cập nhật template sinh mã Hibernate 73 5.4 Thực sinh mã đánh giá kết .74 5.4.1 Sinh mã ứng dụng Công báo điện tử 74 5.4.2 Đánh giá hiệu sinh mã Acceleo JavaEE Generator 75 KẾT LUẬN 78 TÀI LIỆU THAM KHẢO 79 PHỤ LỤC 81 v DANH MỤC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT API ATL CASE CIM CWM DSL DSM EMF EMOF JET JMI JSP M2M M2T MDA MDD MDE MDR MDRE MDSD MDSE MOF MVC OCL OMG PIM PM PSM QVT RTM UI UML XMI XML Application Programming Interface ATLAS Transformation Language Computer Aided Software Engineering Computation Independent Model Common Warehouse Metamodel Domain-Specific Language Domain-Specific Metamodel Eclipse Modeling Framework Essensial MOF Java Emitter Templates Java Metadata Interface Java Server Pages Model to Model Model to Text Model-Driven Architecture Model-Driven Development Model-Driven Engineering Metadata Repository Model Driven Reverse Engineering Model-Driven Software Development Model-Driven Software Engineering Meta-Object Facility Model-View-Controller Object Constraint Language Object Management Group Platform-Independent Model Platform Model Platform-Specific Model Query/View/Transformation Run Time Modeling User Interface Unified Modeling Language XML Metadata Interchange eXtensible Markup Language vi DANH MỤC HÌNH ẢNH VÀ ĐỒ THỊ Hình 2.1 Mình hoạ phƣơng pháp phát triển phần mềm truyền thống .3 Hình 2.2 Áp dụng chuẩn MDA với mơ hình thác nƣớc Hình 2.3 Mơ hình đƣợc viết ngôn ngữ mô tả hệ thống [3] Hình 2.4 Biểu diễn khái niệm metamodel [3] Hình 2.5 Mơ tả chuyển đổi mơ hình [3] Hình 2.6 Mô kiến trúc – MDA Hình 2.7 Kiến trúc metadata MOF [3] Hình 2.8 Các mơ hình MDA [1] 10 Hình 2.9 Khả tƣơng tác sử dụng cầu nối MDA 12 Hình 2.10 Mối liên hệ chuẩn OMG 13 Hình 3.1 Khung Eclipse Modeling Framework [8] .19 Hình 3.2 Mơ hình Ecore nguồn [6] .19 Hình 3.3 Chuyển đổi mơ hình sang mã theo MDA .22 Hình 3.4 Mơ hình phƣơng pháp Template + Fillerling 22 Hình 3.5 Mơ hình phƣơng pháp Template + Metamodel 24 Hình 3.6 Mơ hình phƣơng pháp sinh mã Inline-Code 24 Hình 3.7 Sinh mã dựa Template 25 Hình 3.8 JET Engine .27 Hình 3.9 Quy trình chuyển đổi JET 28 Hình 3.10 Quy trình chuyển đổi oAW [5] 29 Hình 4.1 Minh hoạ kiến trúc Acceleo M2T [15] 32 Hình 4.2 Nguyên lý Acceleo M2T 32 Hình 4.3 Các bƣớc sinh mã Acceleo M2T 34 Hình 4.4 Ví dụ mơ hình nguồn biểu diễn lớp NhanVien 34 Hình 4.5 Metamodel biểu đồ lớp UML 35 Hình 4.6 Ví dụ File generate.mtl sinh lớp Java .35 Hình 4.7 Ví dụ: Mã nguồn NhanVien.Java đƣợc sinh 36 Hình 4.8 Entity metamodel Entity Designer .38 Hình 4.9 Ví dụ mơ hình thực thể xây dựng Entity Designer 38 Hình 4.10 Cinematic Metamodel Cinematic Designer 39 Hình 4.11 Ví dụ Flow Diagram Cinematic Designer .40 vii Hình 4.12 Ví dụ Package Diagram Cinematic Designer 40 Hình 4.13 Ví dụ UI-Structure Cinematic Designer 40 Hình 4.14 SOA Metamodel SOA Designer 41 Hình 4.15 Ví dụ biểu đồ SOA biểu diễn SOA Designer .42 Hình 4.16 Ví dụ biểu đồ Component Contract SOA Designer 42 Hình 4.17 Kiến trúc MVC Struts Framework .43 Hình 4.18 Kiến trúc Hibernate Framework 45 Hình 5.1 Đặc tả biểu đồ Usecase – Quản lý công báo 47 Hình 5.2 Đặc tả biểu đồ Usecase – Quản lý văn 48 Hình 5.3 Đặc tả biểu đồ Usecase - Quản trị hệ thống 48 Hình 5.4 Đặc tả biểu đồ Usecase - Quản lý danh mục 48 Hình 5.5 Đặc tả biểu đồ Usecase – Khách viếng thăm hệ thống 49 Hình 5.6 Mơ hình tổng quan đặc tả ứng dụng Công báo điện tử 50 Hình 5.7 Biểu đồ tổng quan Block – Entity Model 50 Hình 5.8 Biểu đồ thực thể Bock Vanban – Entity Model .51 Hình 5.9 Biểu đồ thực thể Bock Uer – Entity Model 51 Hình 5.10 Biểu đồ thực thể Block danhmuc - Entity Model 51 Hình 5.11 Biểu đồ tổng quan Package - Cinematic Model 52 Hình 5.12 Biểu đồ tổng quan gói FrontEnd - Cinematic Model 53 Hình 5.13 Biểu đồ Flow ViewCongBao gói FrontEnd – Cinematic Model 54 Hình 5.14 Biểu đồ tổng quan gói BackEnd - Cinemantic Model 56 Hình 5.15 Biểu đồ Flow-Manage gói BackEnd – Cinematic Model 56 Hình 5.16 Biểu đồ Flow-ManageLinhVuc gói BackEnd – Cinematic Model 58 Hình 5.17 Biểu đồ Flow-ManageLoaiVanBan gói BackEnd – Cinematic Model .59 Hình 5.18 Biểu đồ Flow-ManageCoQuanBH gói BackEnd – Cinematic Model 62 Hình 5.19 Biểu đồ Flow-ManageVanBan gói BackEnd – Cinematic Model 62 Hình 5.20 Biểu đồ Flow-ManageCongBao gói BackEnd – Cinematic Model 65 Hình 5.21 Biểu đồ tổng quan gói System – Cinematic Model 66 Hình 5.22 Biểu đồ Flow-Login gói System – Cinematic Model 66 Hình 5.23 Biểu đồ Flow ManageAccount gói System – Cinematic Model 67 Hình 5.24 Biểu đồ Flow-Monitor gói System – Cinematic Model .69 Hình 5.25 Tạo template sqlCreate.mtl 70 viii Hình 5.28 Mã nguồn sinh sqlCreate.mtl 5.3.2 Cập nhật template sinh mã Hibernate Ngoài module sinh mã Hinerate từ mơ hình Entity, thực thi sinh mã lớp DAO cho ứng dụng, có số phƣơng thức nhƣ: Thêm mới, cập nhật, xoá đƣợc tạo mã nguồn nhƣng chƣa tƣơng thích với MS SQL Server cần đƣợc hiệu chỉnh template daoHibernateDirect.mtl cho phù hợp Nhƣ Hình 5.29, phƣơng thức Delete, Create, Update cần phải tạo Transaction thực commit() liệu đƣợc xố hệ quản trị CSDL Hình 5.29 Cập nhật daoHibernateDirect.mtl module sinh mã Hibernate 73 Hoặc template daoHibernateCfg.mtl thực việc sinh file cấu hình HibernateCfg.xml Java cần có số cập nhật để mã sinh tƣơng thích với sở liệu MS SQL Server (xem Hình 5.30) Hình 5.30 Cập nhật daoHibernateCfg.mtl module sinh mã Hibernate Thực sinh mã đánh giá kết 5.4 5.4.1 Sinh mã ứng dụng Công báo điện tử Sau thực mơ hình hố hệ thống đƣợc trình bày mục 5.2, mơ hình cần thiết theo yêu cầu công cụ Acceleo JavaEE Generator tiến hành bƣớc sinh mã cho ứng dụng Sau tiến hành cấu hình để sinh mã ứng dụng, cụ thể: - Cấu hình module sinh mã Struts Architecture: Sinh file cấu hình lớp Java Action Form Struts (xem Hình 5.31) Hình 5.31 Cấu hình module StrutsArchitecture sinh mã từ mơ hình Cinematic 74 - Cấu hình module sinh mã Struts Presentation: Sinh file jsp, css, js (xem Hình 5.32) Hình 5.32 Cấu hình module StrutsPresentation sinh mã từ mơ hình Cinematic - Cấu hình module sinh mã HibernateArchituectureEntity: Sinh file cấu hình, file DAO, DAO Implement…và mã nguồn kịch tạo sở liệu MSSQL Server (xem Hình 5.33) Hình 5.33 Cấu hình module HibernateArchitectureEntity sinh mã từ Entity Model 5.4.2 Đánh giá hiệu sinh mã Acceleo JavaEE Generator Tiến hành thực nghiệm công cụ Acceleo JavaEE Generator việc xây dựng ứng dụng Cơng báo điện tử tơi có số đánh giá nhƣ sau: 75 5.4.2.1 Thời gian số lượng file sinh Khi thực sinh mã từ mơ hình module sinh mã từ mơ hình Cinematic sang mã nguồn Strut thời gian thực nhanh module sinh mã từ mơ hình Entity, số lƣợng file sinh lớn hơn, số lƣợng biểu đồ đầu vào nhiều Cụ thể, với module sinh mã StrutsArchitecture số lƣợng file sinh 175 (file) thời gian sinh mã ~3 giây Còn với module sinh mã StrutsPresentation số lƣợng file sinh 165 (file) thời gian ~1.5 (giây) Nhƣng với module sinh mã HibernateArchitecture thời gian sinh mã lên tới ~28 (giây) với số lƣợng file đƣợc sinh 30 (giây) (xem Hình 5.34) Tuy nhiên qua thực nghiệm cho thấy thời gian sinh mã không cố định lần sinh mã khác Hình 5.34 Thời gian số lƣợng file sinh Acceleo JavaEE Generator 5.4.2.2 Đánh giá khả sinh mã Về tổ chức cấu trúc tệp tin, thƣ mục đƣợc sinh ra: Ứng dụng sinh theo kiến trúc MVC với phân tách rõ ràng lớp Model, View Controller Sinh lớp Controller view theo cấu trúc Struts Framework: Các file mã nguồn file cấu hình đƣợc sinh theo cách tổ chức cấu trúc Struts Các lớp action, form, cấu hình đặt thƣ mục prj->src Các file trình diễn (jsp, css, js ) thƣ mục prj->WebContent Sinh lớp model theo cấu trúc Hibernate framework: Các file cấu hình, DAO Interface, Dao Implement, HibernateUtil… đƣợc sinh nhƣ đặc tả 4.2.2 File sinh đặt thƣ mục prj->Src Script SQL để tạo lập sở liệu SQL server cho hệ thống đƣợc tạo Về chất lƣợng mã nguồn sinh ra: Đánh giá tổng thể mã nguồn sinh ra: Các file Java sinh không thực biên dịch, file cấu hình liên quan cần chỉnh sửa nhỏ ứng dụng thực thi đƣợc Khả sinh mã template bổ sung hiệu chỉnh: Các thao tác bổ sung hiệu chỉnh template hoạt động nhƣ yêu cầu đặt Cụ thể, file mã nguồn script sql đƣợc tạo thực thi tốt MS SQL Server 2008, sở liệu có đủ bảng, mối quan hệ bảng, trƣờng thông tin Đối với lớp DAO 76 implement Hibernate thao tác cập nhật, thêm mới, sửa, xoá, truy vấn liệu hoạt động tốt 5.4.2.3 Những hạn chế sinh mã Các gói thƣ viện liên quan Strut, Hibernate, JavaEE…khơng đƣợc sinh tự động công cụ mà cần khai báo tay Do hƣớng tiếp cận bottom-up Acceleo JavaEE Generator, việc ứng dụng đích cần đạt đƣợc nhƣ đƣợc rõ trƣớc thực sinh mã, prototype cho ứng dụng đích cần đƣợc thiết lập trƣớc áp dụng sinh mã Các phƣơng thức lớp Action Struts chƣa đƣợc cài đặt (implement) để gọi tới phƣơng thức lớp Hibernate DAO để tƣơng tác với sở liệu, việc ngƣời phát triển ứng dụng phải làm tay Trong lớp trình diễn, file jsp cần phải đƣợc ngƣời dùng hiệu chỉnh thêm nhƣ: xếp trình bày lại thành phần trang, control dạng danh sách (kiểu Iterator Struts) cần phải rõ thành phần đƣợc hiển thị Một số control chƣa thể sinh chƣa đƣợc đặc tả metaamodel mơ hình nguồn, ví dụ nhƣ control dạng File Browser 5.4.2.4 Đánh giá tính hiệu phương pháp MDD Theo nhận định tác giả tính hiệu kèm chất lƣợng việc áp dụng phƣơng pháp phát triển hƣớng mơ hình cơng cụ Acceleo JavaEE Generator Tính tự động hoá việc sinh mã tiết kiệm khoảng ¾ lƣợng thời gian cho việc lập trình/cài đặt Tuy nhận định mang tính chủ quan, cảm tính nhƣng tiến hành cài đặt hồn thiện số chức ứng dụng cho thấy việc cài đặt phần cịn thiếu thời gian việc cần làm gọi phƣơng thức đƣợc cài đặt lớp HibinernateDAO Action cụ thể Một số kết ứng dụng sau cài đặt chạy thử đƣợc thể PHỤ LỤC luận văn Nhìn chung, sau thử nghiệm phát triển phần mềm phƣơng pháp phát triển hƣớng mơ hình (MDD) nói chung sử dụng công cụ Acceleo JavaEE Generator ngữ cảnh luận văn nói riêng, tác giả nhận thấy phƣơng pháp MDD đạt đƣợc hiệu thể đƣợc điểm mạnh, khắc phục điểm hạn chế phƣơng pháp phát triển phần mềm truyền thống nhƣ đề cập phần mở đầu luận văn 77 KẾT LUẬN Sau nghiên cứu sở lý thuyết thực luận văn tác giả thu đƣợc nhiều kiến thức có hƣớng nhìn tích cực phƣơng pháp phát triển hƣớng mơ hình Một số kết đạt đƣợc sau thực luận văn: Nghiên cứu hiểu đƣợc phƣơng pháp luận phát triển hƣớng mơ hình Cụ thể nhƣ nắm bắt đƣợc kiến trúc hƣớng mơ hình, chuẩn phát triển hƣớng mơ hình, có định hƣớng tiếp cận phƣơng pháp chuyển đổi mơ hình nói chung đặc biệt chuyển đổi mơ hình sang văn Nghiên cứu cơng cụ chuyển đổi mơ hình sang văn Acceleo M2T cụ thể khảo sát, cập nhật, bổ sung cơng cụ chuyển đổi mơ hình Acceleo JavaEE Generator để áp dụng việc phát triển ứng dụng web theo mơ hình kiến trúc MVC với tảng kết hợp từ Struts Framework – Hibernate Framework Cơ sở liệu MS SQL Server Thực nghiệm sinh mã ứng dụng “Công Báo điện tử” công cụ Acceleo JavaEE Generator sau đƣợc cập nhật số tính sinh mã đƣa đánh giá hiệu việc sinh mã tự động với công cụ nêu Định hƣớng nghiên cứu tƣơng lai: Trong luận văn này, sau có thực nghiệm với phƣơng pháp phát triển hƣớng mơ hình cơng cụ Acceleo M2T, Luận văn thấy phƣơng pháp hiệu đƣợc ứng dụng rộng rãi xu hƣớng cơng nghiệp phần mềm nhƣ Do tơi có đinh hƣớng nghiên cứu nhằm đƣa phƣơng pháp MDD đƣợc áp dụng rộng rãi hơn: Trong ngắn hạn nghiên cứu sâu để cải tiến cơng cụ Acceleo JavaEE Generator nhằm mục đích áp dụng tức thời nhu cầu công việc Trong dài hạn dự định thành lập nhóm nghiên cứu chuyển đổi mơ hình sang văn (M2T) để xây dựng cơng cụ chuyển đổi mơ hình M2T mới, phù hợp với nhu cầu đặc thủ tảng công nghệ định hƣớng 78 TÀI LIỆU THAM KHẢO Ali F., T.C.L., Stephane S.S, A Meta-Model for Model-Driven Web Development ed Vol 2012: Int J Software Informatics P 125-162 AndroMDA 2.0.3 on July 2003: http://www.andromda.org AnneKe K., J.W., Wim B., MDA Explained: The Model Driven Architecture: Practice and Promise 2003: Addison Wesley, United States b+m Generator FrameWork http://sourceforge.net/projects/architecturware/ Benjamin K., Xpand: A Closer Look at the model2text Transformation Language 2007: University of Karlsruhe, Germany Dave Steinberg., Frank Budinsky., Marcelo Paternostro., Ed Merks, EMF: Eclipse Modeling Framework Vol 2008: Addison-Wesley Professional Eclipse Modeling Framework www.eclipse.org/emf/ Ian G., Essential Software Architecture: Second Edition 2011: Springer, New York Jamda:, The Java Model Driven http://sourceforge.net/projects/jamda/ 10 Jean Bézivin., Model Engineering: From Principles to Platforms 2005: Technische Universität Wien 11 Krzysztof Czarnecki., Simon Helsen, Classification of Model Transformation Approaches 2003: in Workshop on Generative Techniques in the Context of Model-Driven Architecture 12 Kurtev F., Jouault I., Transforming models with ATL 2006: in Satellite Events at the MoDELS Conference, Montego Bay, Jamaica 13 Markus V., A Catalog of Patterns for Program Generation 2003: EuroPloP2003 14 Matthias Book., Volker Gruhn Sami Beydeda, Model-Driven Software Development 2005: Spinger 15 OBEO, Architecture of Acceleo http://www.acceleo.org/doc/obeo/en/acceleo-2.6-architect-tutorial.pdf 16 OMG, Model Driven Architect Guide 2003: Technical Document http://www.omg.org/mda/mda_files/MDA_Guide_Version1-0.pdf 17 OMG, Codagen Architect www.omg.org/mda/mda_files/Codagen2004.pdf 18 OMG, MOF Model To Text Transformation Language (MOFM2T) 1.0 2008: http://www.omg.org/spec/MOFM2T/1.0/PDF Architecture 3.2 0.2 2003: 2006: 2004: 19 OMG, Specification Meta Object Facility (MOF), Version 2.4 2011: Technical Report, http://www.omg.org/spec/MOF/2.4/ 20 OMG, MDA Specifications http://www.omg.org/mda/specs.htm 2014: 21 OMG, Query/View/Transformation http://www.omg.org/spec/QVT/1.2 (QVT) 22 OMG., ArcStyler The leading platform for Model Driven Architecture (MDA) 2005: http://www.omg.org/mda/mda_files/ArcStyler5_Whitepaper_220205.pdf 23 OptimalJ 3.0, User's Guide http://www.compuware.com/products/optimalj 24 Xpand http://www.eclipse.org/modeling/m2t/?project=xpand 80 Technical Specification Report, 2014: PHỤ LỤC Một số hình ảnh minh hoạ ứng dụng Công báo điện tử đƣợc sinh từ công cụ Acceleo JavaEE Generator A Giao diện - Quản trị hệ thống (Gói BackEnd) Quản lý danh mục Lĩnh vực: Màn hình nhằm mục đích hiển thị lĩnh vực văn thực thao tác: Thêm, sửa, xoá ViewManageLinhVuc – Danh sách lĩnh vực ViewCreateLinhVuc – Thêm danh mục lĩnh vực 81 ViewUpdateLinhVuc – Cập nhật danh mục lĩnh vực ViewDeleteLinhVuc – Xoá danh mục lĩnh vực Quản lý danh mục: quan ban hành ViewManageCoQuanBh – Quản lý quan ban hành 82 ViewCreateCoQuanBh – Tạo quan ban hành Quản lý danh mục: Loại văn ban hành ViewManageLoaiVb – Quản lý loại văn ViewDeleteLoaiVb – xoá loại văn 83 Quản lý Văn ban hành ViewManageLoaiVb – Quản lý văn ban hành ViewCreateLoaiVb – Thêm văn ban hành 84 Quản lý Công Báo ViewManageCongBao– Quản lý số công báo ViewAttachCongBao– Đính kèm văn vào số cơng báo 85 B Giao diện - Quản trị hệ thống (Gói System) Đăng nhập ViewLogin– Đăng nhập hệ thống Giao diện Backend – Quản trị viên ViewManage– Giao diện Backend Quản lý tài khoản ngƣời dùng ViewCreateAccount– Tạo tài khoản ngƣời dùng 86 C Giao diện – Khách viếng thăm (Gói BackEnd) ViewCongBao– Trang chủ cơng báo ViewCongBaoDetail– Xem chi tiết số công báo 87 ... TỔNG QUAN PHÁT TRIỂN HƢỚNG MƠ HÌNH 2.1 Phƣơng pháp phát triển phần mềm truyền thống 2.2 Giới thiệu phát triển hƣớng mơ hình - MDD 2.3 Các khái niệm phát triển hƣớng mơ hình ... phát triển hƣớng mơ hình khiến tơi lựa chọn đề tài ? ?Thao tác mơ hình phát triển hướng mơ hình? ?? 1.2 Phạm vi nghiên cứu Luận văn tập trung nghiên cứu trình bày phƣơng pháp luận kiến trúc hƣớng mơ hình. .. chung, phát triển hƣớng mơ hình nói riêng, cơng cụ chuyển đổi mơ hình sang mơ hình (M2M), mơ hình sang văn (M2T) Cụ thể luận văn sâu vào nghiên cứu ứng dụng công cụ chuyển đổi mô hình sang văn –