Thao tác mô hình trong phát triển hướng mô hình

99 744 3
Thao tác mô hình trong phát triển hướng mô hình

Đ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 HUY HOÀ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 HOÀ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 hoàn toà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 hoà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 khoá K18 trƣờng Đại học Công nghệ - ĐHQGHN, ngƣời giảng dạy, truyền đạt cho kiến thức quý báu suốt 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 đỡ 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 chuyên 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 xoá 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 hoá 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ử 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 hoàn thiện số chức ứng dụng cho thấy việc cài đặt phầ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 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 [...]... mềm hƣớng mô hình ra đời với ý tƣởng chính là tập trung vào việc mô hình hoá phần mềm, từ đó thông qua việc chuyển đổi mô hình, các mô hình nguồn chuyển đổi tự động sang các mô hình đích, mô hình đích có thể là các mô hình đặc tả, mã nguồn, tài liệu Chính vì khả năng ƣu việt của phƣơng pháp phát 1 triển hƣớng mô hình khiến tôi lựa chọn đề tài Thao tác mô hình trong phát triển hướng mô hình 1.2 Phạm... phát triển phần mềm truyền thống (xem Hình 2.2) 9 Mô hình yêu cầu Requirements Model CIM CIM ~ ~ Mô Mô hình hình phân phân tích tích yêu yêu cầu cầu Chuyển đổi CIM2PIM & PIM2PIM PIM PIM ~ ~ Mô Mô hình hình thiết thiết kế kế Mô hình thiết kế Design Model Chuyển đổi PIM2PSM PSM PSM ~ ~ Mô Mô hình hình thực thực thi thi Mô hình thực thi Implementation Model Hình 2.8 Các mô hình trong MDA [1] 2.4.2.1 Mô. .. cùng mô tả cách một mô hình tại ngôn ngữ nguồn có thể được chuyển đổi thành một mô hình ở ngôn ngữ đích” Hình 2.5 Mô tả chuyển đổi mô hình [3] 2.3.5 Mô hình nguồn Trong ngữ cảnh của chuyển đổi mô hình, nếu một mô hình đóng vai trò là đầu vào của bƣớc chuyển đƣợc gọi là mô hình nguồn Mô hình nguồn phải tuân thủ metamodel nguồn Có thể có một hoặc nhiều mô hình nguồn là đầu vào của bƣớc chuyển 2.3.6 Mô hình. .. quy về mô hình [10] Trong lĩnh vực phát triển phần mềm thì MDE đƣợc hiểu nhƣ phát triển hƣớng mô hình (MDD) hƣớng tới việc sử dụng các mô hình nhƣ là tác nhân chính trong toàn bộ vòng đời phát triển của ứng dụng, các ứng dụng đƣợc sinh mã từ các mô hình trừu tƣợng Cũng theo Jean Bezivin [10] trong lĩnh vực phát triển phần mềm thì MDE hay MDD có ba hƣớng tiếp cận:  Phát triển phần mềm hƣớng mô hình –... hình đích Trong ngữ cảnh của chuyển đổi mô hình, nếu một mô hình đóng vai trò là đầu ra của bƣớc chuyển đƣợc gọi là mô hình đích Mô hình đích phải tuân thủ metamodel đích Có thể có một hoặc nhiều mô hình đích đƣợc sinh ra sau một bƣớc chuyển Thuật ngữ mô hình đích thƣờng đƣợc sử dụng trong chuyển đổi mô hình sang mô hình (M2M – Model To Model) 2.3.7 Ngôn ngữ chuyển mô hình Một ngôn ngữ chuyển mô hình là... phƣơng pháp phát triển phần mềm truyền thống (xem mục 2.1) Sử dụng phƣơng pháp phát triển hƣớng mô hình, áp dụng chuẩn MDA (xem mục 2.4) vào quy trình phát triển phần mềm theo mô hình thác nƣớc (xem Hình 2.2) Tại mỗi pha phát triển, các tài liệu đƣợc đặc tả bởi các mô hình hình thức do vậy việc chuyển đổi tự động giữa các mô hình là khả dụng Thông qua các công cụ chuyển đổi mô hình, từ mô hình độc lập... quan phát triển hƣớng mô hình (MDD) – Trình bày những kiến thức cơ bản về kiến trúc hƣớng mô hình (MDA) và một số chuẩn liên quan MDD  Chƣơng 3: Chuyển đổi mô hình trong phát triển hƣớng mô hình MDD- Trình bày phƣơng pháp luận về chuyển đổi mô hình, các hƣớng tiếp cận trong chuyển đổi mô hình, một số công cụ chuyển đổi mô hình đang đƣợc áp dụng Nghiên cứu phƣơng pháp chuyển đổi mô hình sang văn bản,... của MDA trong phát triển phần mềm là sự chuyển đổi các mô hình Hình 2.6 Mô phỏng kiến trúc – MDA Trong Hình 2.6 mô tả mô hình MDA bao gôm: Một bộ công cụ chuyển đổi lấy mô hình nguồn là một PIM (xem mục 2.4.2.2) chuyển đổi thành mô hình đích là một PSM (xem mục 2.4.2.3) Ở một ngữ cảnh khác với một bộ công cụ chuyển đổi có thể chọn mô hình nguồn là PSM (xem mục 2.4.2.3) và chuyển đổi thành mô hình đích... sinh mã từ mô hình Việc chuyển đổi mô hình đƣợc thực hiện trong thời gian phát triển  Tái kỹ nghệ hƣớng mô hình - MDRE (Model Driven Reverse Engineering) áp dụng cho việc sinh các mô hình từ mã Việc chuyển đổi thƣờng đƣợc thực hiện trong lúc bảo trì  Mô hình thời gian thực thi - RTM (Run Time Modeling) thực hiện việc chuyển đổi mô hình trong khi thực thi ứng dụng, không phải là trong lúc phát triển hay... Các kiểu mô hình trong MDA Trong kiến trúc hƣớng mô hình – MDA, các loại mô hình đƣợc sự dụng bao gồm: Mô hình độc lập tính toán - CIM, mô hình độc lập nền – PIM, mô hình phụ thuộc nền – PSM và mô hình nền tảng – PM Ba kiểu mô hình CIM, PIM, PSM thể hiện các hƣớng nhìn hệ thống theo các khía cạnh khác nhau và ở mức độ trừu tƣợng tƣơng ứng với các pha phân tích yêu cầu, thiết kế và cài đặt trong phƣơng ... đổi mô hình: “Chuyển đổi mô hình tập hợp luật chuyển đổi mô tả cách mô hình ngôn ngữ nguồn chuyển đổi thành mô hình ngôn ngữ đích” Hình 2.5 Mô tả chuyển đổi mô hình [3] 2.3.5 Mô hình nguồn Trong. .. mô hình MDA Trong kiến trúc hƣớng mô hình – MDA, loại mô hình đƣợc dụng bao gồm: Mô hình độc lập tính toán - CIM, mô hình độc lập – PIM, mô hình phụ thuộc – PSM mô hình tảng – PM Ba kiểu mô hình. .. phát triển hƣớng mô hình khiến 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

Ngày đăng: 03/11/2015, 17:13

Từ khóa liên quan

Mục lục

  • LỜI CAM ĐOAN

  • LỜI CẢM ƠN

  • MỤC LỤC

  • DANH MỤC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT

  • DANH MỤC HÌNH ẢNH VÀ ĐỒ THỊ

  • DANH MỤC BẢNG BIỂU

  • CHƯƠNG 1 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 2 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 trong 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.

        • 2.3.5 Mô hình nguồn

        • 2.3.6 Mô hình đích

        • 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ạ

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

Tài liệu liên quan