Luận văn ThS: Thao Tác Mô Hình trong Phát Triển Hướng Mô Hình

Tìm hiểu thao tác mô hình trong phát triển hướng mô hình (MDD). Khám phá các kỹ thuật, lợi ích và ứng dụng thực tế của thao tác mô hình hiệu quả.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Luận Văn Thạc Sĩ

2014

99
2
0

Phí lưu trữ

35 Point

Mục lục chi tiết

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

1. 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

2. 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.4. Kiến trúc hƣớng mô hình – MDA

2.5. Một số chuẩn liên quan MDD

3. CHƢƠNG 3: CHUYỂN ĐỔI MÔ HÌNH TRONG MDD

3.1. Các hƣớng tiếp cận giải quyết vấn đề trong chuyển mô hình

3.2. Một số công cụ trong chuyển đổi mô hình

3.3. Một số phƣơng pháp sinh mã hƣớng mô hình

3.4. Ngôn ngữ xây dựng Template trong các bộ sinh mã

4. CHƢƠNG 4: CÔNG CỤ CHUYỂN ĐỔI MÔ HÌNH ACCELEO M2T

4.1. Tổng quan về Acceleo

4.2. Công cụ chuyển đổi mô hình Acceleo – JavaEE Generator

5. CHƢƠNG 5: CÀI ĐẶT VÀ THỰC NGHIỆM VỚI ACCELEO M2T

5.1. Nội dung và phạm vi thực nghiệm

5.2. Thiết kế các mô hình

5.3. Cập nhật bộ công cụ Acceleo JavaEE Generator

5.4. Thực hiện sinh mã và đánh giá kết quả

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Giới Thiệu Tổng Quan về Thao Tác Mô Hình MDD Hiện Nay

Trong kỷ nguyên số, việc ứng dụng CNTT vào quản lý và hỗ trợ nghiệp vụ là yếu tố then chốt cho sự phát triển của mọi tổ chức. Phần mềm, trụ cột của CNTT, đóng vai trò quan trọng trong việc hiện thực hóa các giải pháp công nghệ. Phát triển phần mềm đã trở thành một ngành công nghiệp mũi nhọn, đặc biệt tại Việt Nam. Tuy nhiên, vẫn còn tồn tại những thách thức trong việc cân bằng giữa hiệu suất và chất lượng. Một trong những rào cản lớn là sự khó khăn trong việc nắm bắt chính xác yêu cầu của khách hàng. Các đơn vị phát triển phần mềm thường thiếu hiểu biết sâu sắc về lĩnh vực hoạt động của khách hàng, trong khi khách hàng lại thiếu kiến thức về quy trình phát triển phần mềm. Thậm chí, yêu cầu từ phía khách hàng có thể không rõ ràng hoặc thay đổi liên tục trong quá trình phát triển. Điều này dẫn đến việc sửa đổi liên tục, gây tốn kém và kéo dài thời gian. Thay đổi là một yếu tố không thể tránh khỏi trong phát triển phần mềm. Những thay đổi này có thể bao gồm lỗi mã nguồn, thay đổi thiết kế, thay đổi nhân sự hoặc thay đổi yêu cầu. Việc xử lý những thay đổi này càng trễ, chi phí khắc phục càng tăng. Đối với các dự án phần mềm lớn, đội ngũ phát triển có thể bao gồm nhiều nhóm với các kỹ năng và nền tảng kỹ thuật khác nhau, đến từ nhiều nơi trên thế giới. Việc phối hợp giữa các môi trường phát triển khác nhau này đòi hỏi chi phí cao và làm phức tạp hóa quy trình phát triển. Do đó, các công ty phát triển phần mềm luôn tìm kiếm các phương pháp để tự động hóa quy trình, tăng năng suất và giảm chi phí sản xuất, đồng thời nâng cao chất lượng sản phẩm. Để giải quyết những vấn đề này, các nhà phát triển phần mềm cần áp dụng các phương pháp luận tiên tiến, trong đó có phương pháp phát triển phần mềm hướng mô hình (MDD). MDD tập trung vào việc mô hình hóa phần mềm, từ đó tự động chuyển đổi mô hình nguồn thành mô hình đích, bao gồm mô hình đặc tả, mã nguồn và tài liệu. Đây là lý do tại sao luận văn này tập trung vào đề tài "Thao tác mô hình trong phát triển hướng mô hình". Luận văn sẽ đi sâu vào nghiên cứu các khía cạnh của MDD, bao gồm các công cụ, phương pháp và kỹ thuật liên quan đến thao tác mô hình.

1.1. Tầm Quan Trọng của MDD trong Kỷ Nguyên Số Hiện Nay

Trong bối cảnh chuyển đổi số diễn ra mạnh mẽ, MDD không chỉ là một phương pháp phát triển phần mềm mà còn là một chiến lược quan trọng để các tổ chức có thể nhanh chóng thích ứng với những thay đổi của thị trường và yêu cầu của khách hàng. Khả năng tự động hóa quy trình phát triển, giảm thiểu sự phụ thuộc vào các kỹ năng lập trình cụ thể và tăng cường khả năng tái sử dụng mã nguồn giúp các tổ chức tiết kiệm chi phí, thời gian và nguồn lực. Hơn nữa, MDD còn cho phép các nhà phát triển tập trung vào việc giải quyết các vấn đề nghiệp vụ cốt lõi thay vì phải lo lắng về các chi tiết kỹ thuật phức tạp. Việc sử dụng các mô hình trực quan và dễ hiểu giúp cải thiện giao tiếp giữa các bên liên quan, từ khách hàng đến các nhà phát triển, và đảm bảo rằng sản phẩm cuối cùng đáp ứng được các yêu cầu và mong đợi của tất cả các bên. Chính vì những lợi ích này, MDD đang ngày càng trở thành một phương pháp phát triển phần mềm phổ biến và được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau.

1.2. Phạm Vi Nghiên Cứu Cụ Thể của Luận Văn

Luận văn này sẽ đi sâu vào nghiên cứu các khía cạnh khác nhau của MDD, bao gồm kiến trúc hướng mô hình (MDA), các công cụ chuyển đổi mô hình (M2M và M2T), các phương pháp sinh mã (code generation) và các ngôn ngữ mô hình hóa. Đặc biệt, luận văn sẽ tập trung vào công cụ chuyển đổi mô hình sang văn bản Acceleo M2T, một công cụ mã nguồn mở mạnh mẽ cho phép tự động sinh mã nguồn từ các mô hình. Luận văn sẽ trình bày các kiến thức cơ bản về Acceleo, cách sử dụng công cụ này để xây dựng các ứng dụng JavaEE và đánh giá hiệu quả của Acceleo trong việc sinh mã. Mục tiêu của luận văn là cung cấp một cái nhìn tổng quan về MDD và Acceleo, đồng thời trang bị cho người đọc những kiến thức và kỹ năng cần thiết để có thể áp dụng MDD và Acceleo vào thực tế.

II. Phân Tích Các Thách Thức Vấn Đề Của Phát Triển MDD

Mặc dù MDD mang lại nhiều lợi ích, nhưng việc áp dụng MDD cũng đối mặt với một số thách thức. Đầu tiên, việc xây dựng các mô hình chính xác và đầy đủ có thể tốn nhiều thời gian và công sức. Thứ hai, việc chuyển đổi mô hình đòi hỏi các công cụ và kỹ năng chuyên môn. Thứ ba, việc duy trì sự đồng bộ giữa mô hình và mã nguồn có thể trở nên khó khăn khi dự án phát triển. Các tài liệu tham khảo thường chỉ ra những khó khăn chung trong phát triển phần mềm truyền thống như yêu cầu thay đổi liên tục và môi trường phát triển không đồng nhất. MDD tìm cách giải quyết những khó khăn này bằng cách tập trung vào mô hình hóa và tự động hóa quy trình chuyển đổi. Luận văn này sẽ xem xét kỹ lưỡng các thách thức và vấn đề liên quan đến MDD, đồng thời đề xuất các giải pháp để vượt qua những khó khăn này.

2.1. Khó Khăn trong Xây Dựng Mô Hình Chính Xác cho MDD

Việc xây dựng một mô hình chính xác và đầy đủ đòi hỏi sự hiểu biết sâu sắc về cả miền nghiệp vụ và công nghệ. Các nhà phát triển cần phải thu thập và phân tích yêu cầu một cách cẩn thận, đồng thời phải có khả năng biểu diễn các yêu cầu này một cách trực quan và dễ hiểu. Các công cụ mô hình hóa có thể giúp đơn giản hóa quy trình này, nhưng việc sử dụng các công cụ này một cách hiệu quả đòi hỏi các kỹ năng chuyên môn. Ngoài ra, việc duy trì sự nhất quán giữa các mô hình khác nhau (ví dụ: mô hình nghiệp vụ, mô hình dữ liệu, mô hình giao diện người dùng) có thể trở nên khó khăn khi dự án phát triển.

2.2. Yêu Cầu về Công Cụ và Kỹ Năng Chuyên Môn trong Chuyển Đổi

Việc chuyển đổi mô hình đòi hỏi các công cụ và kỹ năng chuyên môn. Các công cụ chuyển đổi mô hình (M2M và M2T) có thể phức tạp và khó sử dụng. Các nhà phát triển cần phải có kiến thức về các ngôn ngữ mô hình hóa (ví dụ: UML, DSL), các ngôn ngữ chuyển đổi (ví dụ: ATL, QVT) và các nền tảng mục tiêu (ví dụ: JavaEE, .NET). Ngoài ra, việc tùy chỉnh các công cụ chuyển đổi để đáp ứng các yêu cầu cụ thể của dự án có thể đòi hỏi các kỹ năng lập trình.

III. Phương Pháp Chuyển Đổi Mô Hình Tối Ưu Hiệu Quả Nhất

Chuyển đổi mô hình là yếu tố then chốt trong MDD. Luận văn này sẽ đi sâu vào các phương pháp chuyển đổi mô hình, bao gồm chuyển đổi mô hình sang mô hình (M2M) và chuyển đổi mô hình sang văn bản (M2T). Các phương pháp này có thể được phân loại dựa trên nhiều tiêu chí khác nhau, chẳng hạn như hướng tiếp cận (ví dụ: trực tiếp, dựa trên quan hệ, dựa trên đồ thị, hướng cấu trúc), ngôn ngữ chuyển đổi (ví dụ: ATL, QVT) và công cụ chuyển đổi (ví dụ: EMF, Acceleo). Mỗi phương pháp có những ưu điểm và nhược điểm riêng, và việc lựa chọn phương pháp phù hợp phụ thuộc vào các yêu cầu cụ thể của dự án.

3.1. So Sánh Chi Tiết Các Phương Pháp Chuyển Đổi M2M Hiện Nay

Các phương pháp chuyển đổi mô hình sang mô hình (M2M) có thể được phân loại dựa trên hướng tiếp cận. Các hướng tiếp cận phổ biến bao gồm: định dạng trực tiếp (direct manipulation), dựa trên quan hệ (relational), dựa trên chuyển đổi đồ thị (graph transformation based) và hướng cấu trúc (structure driven). Mỗi hướng tiếp cận có những ưu điểm và nhược điểm riêng. Ví dụ, hướng tiếp cận định dạng trực tiếp cho phép kiểm soát quy trình chuyển đổi một cách chi tiết, nhưng có thể tốn nhiều thời gian và công sức. Hướng tiếp cận dựa trên quan hệ cho phép biểu diễn các quy tắc chuyển đổi một cách rõ ràng và dễ hiểu, nhưng có thể khó áp dụng cho các mô hình phức tạp.

3.2. Đánh Giá Ưu Nhược Điểm của Các Phương Pháp Chuyển Đổi M2T

Các phương pháp chuyển đổi mô hình sang văn bản (M2T) có thể được phân loại dựa trên ngôn ngữ chuyển đổi. Các ngôn ngữ chuyển đổi phổ biến bao gồm: JET, Xpand và Acceleo. Mỗi ngôn ngữ có những ưu điểm và nhược điểm riêng. Ví dụ, JET dễ học và dễ sử dụng, nhưng có thể không đủ mạnh mẽ cho các quy trình chuyển đổi phức tạp. Xpand mạnh mẽ và linh hoạt, nhưng có thể khó học. Acceleo là một công cụ mã nguồn mở mạnh mẽ, nhưng có thể đòi hỏi các kỹ năng chuyên môn.

IV. Ứng Dụng Thực Tiễn Acceleo M2T Trong Sinh Mã JavaEE

Luận văn này sẽ tập trung vào Acceleo M2T, một công cụ mã nguồn mở mạnh mẽ cho phép tự động sinh mã nguồn từ các mô hình. Acceleo sử dụng chuẩn ngôn ngữ MOFM2T của OMG để xây dựng các khung mẫu (template) phục vụ sinh mã nguồn. Acceleo có thể được sử dụng để sinh mã cho nhiều nền tảng khác nhau, bao gồm JavaEE, .NET và PHP. Trong luận văn này, chúng tôi sẽ trình bày cách sử dụng Acceleo để sinh mã cho JavaEE. Cụ thể, chúng tôi sẽ xem xét Acceleo JavaEE Generator, một công cụ cho phép sinh ra ứng dụng trên nền tảng JavaEE từ các meta-model được xây dựng trên DSL.

4.1. Giới Thiệu Chi Tiết Về Công Cụ Acceleo JavaEE Generator

Acceleo JavaEE Generator là một thành phần trong bộ mã nguồn mở Hệ thống thông tin – IS (Information System) do OBEO đề xuất với mục tiêu sinh ra ứng dụng trên nền tảng JavaEE từ các meta-model được xây dựng trên DSL. IS bao gồm các công cụ mô hình hoá các meta-model như: Entity Designer, Cinematic Designer, SOA Designer. Acceleo JavaEE Generator đi kèm với các modules sinh mã như Struts, Hibernate. Struts module tạo ra mã nguồn theo kiến trúc Struts framework, Hibernate module tạo ra mã nguồn theo kiến trúc Hibernate framework.

4.2. Hướng Dẫn Cài Đặt và Cấu Hình Acceleo JavaEE Generator

Để sử dụng Acceleo JavaEE Generator, bạn cần phải cài đặt Eclipse và Acceleo M2T. Sau khi cài đặt, bạn có thể cài đặt Acceleo JavaEE Generator từ Eclipse Marketplace. Sau khi cài đặt, bạn cần cấu hình Acceleo JavaEE Generator để trỏ đến các meta-model của bạn. Bạn cũng cần cấu hình các modules sinh mã để đáp ứng các yêu cầu cụ thể của dự án.

4.3. Cách Xây dựng Template cho sinh mã JavaEE với Acceleo M2T

Để xây dựng template, cần xác định cấu trúc thư mục của project JavaEE và các template cần thiết để sinh các file: cấu hình, entity, class, view...Ví dụ, khi xây dựng entity cần template để tạo các thuộc tính của entity, các get set...các template này được xây dựng bằng ngôn ngữ MOFM2T.

V. Cài Đặt và Thực Nghiệm Acceleo M2T với Ứng Dụng Cụ Thể

Để đánh giá hiệu quả của Acceleo JavaEE Generator, chúng tôi sẽ thực hiện một thí nghiệm với một ứng dụng cụ thể: Công báo điện tử. Ứng dụng này cho phép quản lý các công báo và văn bản pháp luật. Chúng tôi sẽ sử dụng Entity Designer để mô hình hóa các thực thể trong ứng dụng, Cinematic Designer để mô hình hóa giao diện người dùng và SOA Designer để mô hình hóa các dịch vụ của ứng dụng. Sau đó, chúng tôi sẽ sử dụng Acceleo JavaEE Generator để sinh mã cho ứng dụng từ các mô hình này. Cuối cùng, chúng tôi sẽ đánh giá hiệu quả của Acceleo JavaEE Generator dựa trên các tiêu chí như thời gian sinh mã, chất lượng mã nguồn và khả năng tùy chỉnh.

5.1. Thiết Kế Các Mô Hình cho Ứng Dụng Công Báo Điện Tử

Chúng tôi sẽ sử dụng Entity Designer để mô hình hóa các thực thể trong ứng dụng Công báo điện tử, bao gồm: Công báo, Văn bản, Người dùng và Danh mục. Chúng tôi sẽ xác định các thuộc tính và mối quan hệ giữa các thực thể này. Chúng tôi cũng sẽ sử dụng Cinematic Designer để mô hình hóa giao diện người dùng của ứng dụng, bao gồm các trang web, các khung nhìn và các hành động. Cuối cùng, chúng tôi sẽ sử dụng SOA Designer để mô hình hóa các dịch vụ của ứng dụng, bao gồm các dịch vụ quản lý công báo, quản lý văn bản và quản lý người dùng.

5.2. Thực Hiện Sinh Mã và Đánh Giá Kết Quả

Sau khi thiết kế các mô hình, chúng tôi sẽ sử dụng Acceleo JavaEE Generator để sinh mã cho ứng dụng Công báo điện tử. Chúng tôi sẽ đánh giá hiệu quả của Acceleo JavaEE Generator dựa trên các tiêu chí như thời gian sinh mã, chất lượng mã nguồn và khả năng tùy chỉnh. Chúng tôi sẽ so sánh mã nguồn được sinh ra bởi Acceleo JavaEE Generator với mã nguồn được viết thủ công để đánh giá chất lượng mã nguồn.

VI. Kết Luận Triển Vọng Phát Triển Của Thao Tác Mô Hình MDD

Luận văn này đã trình bày một cái nhìn tổng quan về MDD và các công cụ thao tác mô hình. Mặc dù MDD mang lại nhiều lợi ích, nhưng việc áp dụng MDD cũng đối mặt với một số thách thức. Để vượt qua những thách thức này, các nhà phát triển cần phải có kiến thức và kỹ năng chuyên môn. Ngoài ra, các công cụ thao tác mô hình cần phải được cải tiến để đơn giản hóa quy trình và tăng cường khả năng tùy chỉnh. Trong tương lai, MDD sẽ tiếp tục phát triển và đóng vai trò quan trọng trong phát triển phần mềm.

6.1. Tóm Tắt Kết Quả Nghiên Cứu Đánh Giá Hiệu Quả

Luận văn đã trình bày các kiến thức cơ bản về MDD, công cụ Acceleo và ứng dụng cụ thể của Acceleo vào sinh mã JavaEE. Quá trình thực nghiệm đã đánh giá hiệu quả của Acceleo trong việc sinh mã, chất lượng mã nguồn và khả năng tùy chỉnh. Tuy nhiên, vẫn còn nhiều vấn đề cần nghiên cứu thêm để cải thiện quy trình sinh mã và tăng cường khả năng tùy chỉnh.

6.2. Hướng Nghiên Cứu Tiếp Theo để Nâng Cao MDD

Trong tương lai, cần nghiên cứu thêm về các phương pháp xây dựng mô hình hiệu quả, các công cụ chuyển đổi mô hình mạnh mẽ và các kỹ thuật duy trì sự đồng bộ giữa mô hình và mã nguồn. Ngoài ra, cần nghiên cứu về các ứng dụng MDD trong các lĩnh vực khác nhau, chẳng hạn như phát triển ứng dụng di động, phát triển ứng dụng đám mây và phát triển ứng dụng IoT.

23/09/2025

Trích đoạn nội dung tài liệu

Đặt vấn đề và nêu ra định hƣớng nghiên cứu.  Chƣơng 2: Tổng 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, chƣơng này trình bày một số phƣơng pháp (pattern) sinh mã và ngôn ngữ xây dựng các khuôn mẫu (template) trong bộ sinh mã.

 Chƣơng 4: Công cụ chuyển đổi mô hình sang văn bản Acceleo– Chƣơng này trình bày cơ sở lý thuyết của công cụ chuyển đổi mô hình sang văn bản Acceleo. Nghiên cứu mã nguồn mở chuyển đổi mô hình sang mã nguồn Acceleo JavaEE Generator (Struts Framework, Hibernate Framework, Spring Framework).  Chƣơng 5: Cài đặt và thực nghiệm với Acceleo M2T – Hiệu chỉnh công cụ chuyển đổi Acceleo JavaEE Generator nhằm đảm bảo việc chuyển đổi mô hình sang mã nguồn Struts, Hibernate hoạt động trên nền tảng Web theo kiến trúc MVC với cơ sở dữ liệu Microsoft SQL Server và đƣa ra đánh giá khả năng sinh mã của bộ công cụ. 2 TIEU LUAN MOI download : skknchat@gmail.com CHƢƠNG 2 TỔNG QUAN PHÁT TRIỂN HƢỚNG MÔ HÌNH Chƣơng này của luận văn trình bày khái quát Phát triển phần mềm hƣớng mô hình (Model Driven Software Development – MDSD).

Để hiểu rõ hơn về phát triển hƣớng mô hình, Luận văn đƣa ra các khái niệm, cơ sở lý thuyết về kiến trúc hƣớng mô hình, các chuẩn liên quan đến phát triển hƣớng mô hình và sự so sánh với phƣơng pháp phát triển phần mềm truyền thống.1 Phương pháp phát triển phần mềm truyền thống Ngày nay, việc phát triển phần mềm theo phƣơng pháp truyền thống vẫn đang đƣợc áp dụng phổ biến. Với các hệ thống phần mềm ở quy mô nhỏ thì phƣơng pháp này vẫn đáp ứng và khả dụng. Tuy nhiên khi nhu cầu tin học hoá hầu hết các nghiệp vụ trong mọi lĩnh vực của một tổ chức thì quy mô của một hệ thống phần mềm là lớn và lúc đó việc sử dụng phƣơng pháp truyền thông sẽ gặp phải các khó khăn. Một ví dụ minh hoạ các pha phát triển phần mềm trên mô hình thác nƣớc nhƣ Hình 2.

Thu thập yêu cầu Dạng tài liệu đặc tả: Văn bản Phân tích yêu cầu Dạng tài liệu: Văn bản, biểu đồ Thiết kế Dạng tài liệu: Văn bản, biểu đồ Cài đặt mã nguồn Mã chương trình Kiểm thử Tài liệu: Mã chương trình, văn bản Triển khai sử dụng Hình 2.1 Mình hoạ phƣơng pháp phát triển phần mềm truyền thống Trong phƣơng pháp phát triển phần mềm truyền thống, giả sử những ngƣời phát triển phần mềm đã tuân thủ rất chặt chẽ quy trình phát triển, các tài liệu ở các pha Thu thập yêu cầu, phân tích yêu cầu, thiết kế hệ thống, cài đặt mã nguồn… đã thể hiện các ràng buộc và sự liên quan cần có. Điều đó vẫn không tránh khỏi các vấn đề: 3 TIEU LUAN MOI download : skknchat@gmail.com  Khi có sự thay đổi về yêu cầu của ngƣời dùng, các pha sẽ đều phải thực hiện lại từ đầu. Điều này dẫn đến mất nhiều thời gian và gây khó khăn cho ngƣời phát triển trong việc quản lý.  Sản phẩm cuối cùng sẽ phụ thuộc vào một nền tảng công nghệ cụ thể, khi nhu cầu công nghệ thay đổi sẽ dẫn đến phải xây dựng hệ thống lại từ đầu.

Trên đây là một số vấn đề mà phƣơng pháp phát triển phần mềm truyền thống đã và đang gặp các thách thức.2 Giới thiệu phát triển hướng mô hình - MDD “Kỹ nghệ hƣớng mô hình (MDE) là phƣơng pháp xem xét ở mức đại điện thống nhất, tất cả mọi thành phần đƣợc 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 – MDSD (Model Driven Software Development) phục vụ cho việc 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 khi bảo trì. Các ứng dụng phổ biến ở đây nhằm đạt đƣợc khả năng tƣơng tác giữa các hệ thống không đồng nhất.

MDD ra đời với các mục tiêu giải quyết một số vấn đề:  Mã nguồn đƣợc tự động sinh ra từ việc chuyển đổi mô hình, tính tự động hoá càng cao đồng nghĩa với việc thời gian và hiệu suất đƣợc cải tiến.  Chất lƣợng phần mềm đƣợc nâng cao khi các luật chuyển đổi đƣợc định nghĩa và thẩm định rõ ràng.  Không bị phụ thuộc vào việc thay đổi nền tảng (platform), khi cần thay đổi nền mới chỉ phụ thuộc vào việc điều chỉnh các luật chuyển đổi và sự thay đổi sẽ tự động đƣợc áp dụng.  Khả năng tái sử dụng cũng đƣợc nâng cao, các mô hình, luật chuyển đổi hoàn toàn có thể sử dụng cho những ứng dụng khác nhau do có sự tách biệt giữa các thành phần liên quan.

4 TIEU LUAN MOI download : skknchat@gmail.com Thu thập yêu cầu Dạng tài liệu đặc tả: Văn bản CIM Phân tích yêu cầu Platform Independent Model PIM Thiết kế Platform Specific Model PSM Cài đặt mã nguồn Mã chương trình Kiểm thử Tài liệu: Mã chương trình, văn bản Triển khai sử dụng Hình 2.2 Áp dụng chuẩn MDA với mô hình thác nƣớc So sánh với phƣơng pháp phát triển phần mềm truyền thống (xem mục 2. 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. 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 nền - PSM có thể chuyển đổi sang các mô hình phụ thuộc nền- PSM; từ mô hình phụ thuộc nền – PSM có thể đƣợc chuyển đổi sang dạng mã nguồn, tài liệu… Vì vậy các vấn đề gặp khó khăn với phƣơng pháp truyền thống đã có thể đƣợc tháo gỡ.3 Các khái niệm trong phát triển hướng mô hình.1 Model Mô hình là một phƣơng pháp biểu diễn hệ thống một cách đơn giản nhằm giúp hiểu hơn về hệ thống.

Mô hình đƣợc biểu diễn bằng các ký hiệu đồ hoạ và thƣờng đƣợc diễn đạt bởi ngôn ngữ đặc tả miền cụ thể hoặc dƣới dạng ngôn ngữ hình thức. Chúng ta có thể định nghĩa mô hình nhƣ sau: “Mô hình là một mô tả một phần của hệ thống hoặc toàn bộ hệ thống được viết bởi ngôn ngữ hình thức” [3]. “Ngôn ngữ hình thức là ngôn ngữ với mẫu được xác định rõ ràng và ngữ nghĩa phù hợp với việc biên dịch tự động bởi máy tính”[3]. 5 TIEU LUAN MOI download : skknchat@gmail.3 Mô hình đƣợc viết bởi một ngôn ngữ và mô tả hệ thống [3] 2.

Ngôn ngữ để biểu diễn metamodel đƣợc gọi là meta- language.4 Biểu diễn khái niệm metamodel [3] Nói cách khác, metamodel của mô hình A mô tả cấu trúc hợp lệ của mô hình A. Trong chuyển đổi mô hình thì metamodel là điều kiện tiên quyết.3 Metametamodel Một Metametamodel của mô hình A là metamodel đƣợc sử dụng để mô tả metamodel của model A. Nó có thể đƣợc hiểu nhƣ ngữ pháp của một ngôn ngữ đƣợc sử dụng để mô tả ngữ pháp của ngôn ngữ A. 6 TIEU LUAN MOI download : skknchat@gmail.4 Chuyển đổi mô hình.

Trong lĩnh vực phát triển hƣớng mô hình thì chuyển đổi mô hình là trọng tâm, nó đƣợc xem nhƣ một hộp đen cung cấp các cơ chế đƣợc thiết lập nhằm cho việc tự động tạo ra và cập nhật các mô hình đích dựa trên thông tin đầu vào đƣợc biểu diễn bởi mô hình nguồn. [3] Định nghĩa về chuyển đổi mô hình: “Chuyển đổi mô hình là tập hợp các luật chuyển đổi 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.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.6 Mô 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).7 Ngôn ngữ chuyển mô hình Một ngôn ngữ chuyển mô hình là một tập từ vựng và một ngữ pháp đƣợc định nghĩa ngữ nghĩa tốt cho khả năng chuyển mô hình.8 Luật chuyển mô hình Theo [3] định nghĩa “Một luật chuyển đổi mô hình là sự mô tả cách một hoặc nhiều cấu trúc trong ngôn ngữ nguồn có thể được chuyển đổi thành một hoặc nhiều cấu trúc trong ngôn ngữ đích”. Một luật chuyển đổi mô hình là thực thể nhỏ nhất trong chuyển mô hình.

Nó mô tả cách một phần của mô hình nguồn có thể đƣợc chuyển thành một phần của mô hình đích. Một luật chứa một mẫu nguồn và một mẫu đích, đối với một phần xuất hiện của mẫu nguồn trong mô hình nguồn sẽ có ánh xạ tƣơng ứng với một phần của mẫu đích trong mô hình đích. 7 TIEU LUAN MOI download : skknchat@gmail.9 Ánh xạ Ánh xạ là các đặc tả cho một cơ chế chuyển đổi các phần tử của một mô hình đƣợc xây dựng tuân theo một metamodel cụ thể này sang các phần tử của một mô hình đƣợc xây dựng tuân theo một metamodel khác.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ