Luận Án Tiến Sĩ Về Kỹ Thuật Chuyển Đổi Mô Hình và Sinh Mã Trong Phát Triển Ứng Dụng Web

Tài liệu chuyên sâu Kỹ Thuật Chuyển Đổi Mô Hình và Sinh Mã Trong Phát Triển Ứng Dụng Web, phân tích đa chiều, cung cấp kiến thức nền tảng vững chắc

Chuyên ngành

Kỹ thuật phần mềm

Người đăng

Ẩn danh

Thể loại

luận án

2021

145
1
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

1. CHƯƠNG 1: PHÁT TRIỂN PHẦN MỀM HƯỚNG MÔ HÌNH

1.1. Kiến trúc MDA

1.2. Chuyển đổi mô hình trong MDA

1.3. Chuyển đổi từ CIM sang PIM

1.4. Chuyển đổi từ PIM sang PSM

1.5. Chuyển đổi từ PSM sang code

1.6. Ngôn ngữ chuyển đổi mô hình

1.7. Ngôn ngữ ATL

1.8. Ngôn ngữ QVT

1.9. Các chuẩn của OMG cho MDA

1.10. MOF – Meta Object Facility

1.11. UML – Unified modeling Language

1.12. Kỹ thuật web hướng mô hình

1.13. Web Software Architecture (WebSA)

1.14. OOWS - Object-Oriented Web Solution

1.15. Hypertext Modeling Method of MIDAS (MIDAS-HM3)

1.16. Các nghiên cứu liên quan và nhiệm vụ trong luận án

1.17. Tiểu kết chương

2. CHƯƠNG 2: KỸ THUẬT CHUYỂN ĐỔI MÔ HÌNH (CIM TO PIM) THEO PHƯƠNG PHÁP UWE CHO PHÁT TRIỂN ỨNG DỤNG WEB

2.1. Các mô hình trong UWE

2.2. Chuyển đổi mô hình trong UWE

2.3. Chuyển đổi từ mô hình yêu cầu sang mô hình nội dung

2.4. Chuyển đổi từ mô hình yêu cầu, nội dung sang mô hình điều hướng

2.5. Chuyển đổi sang mô hình xử lý

2.6. Chuyển đổi từ mô hình điều hướng, xử lý sang mô hình trình bày

2.7. Phát triển quy tắc chuyển đổi mô hình tích hợp ràng buộc OCL

2.8. Giới thiệu phương pháp. Tích hợp OCL trong mô hình xử lý

2.9. Tích hợp OCL trong mô hình trình bày

2.10. Kết quả và thảo luận. Phát triển quy tắc chuyển đổi mô hình với ATL

2.11. Siêu mô hình yêu cầu

2.12. Siêu mô hình: content, navigation, process, presentation

2.13. Các quy tắc ATL

2.14. Kết quả và thảo luận. Tiểu kết chương

3. CHƯƠNG 3: SINH MÃ TỰ ĐỘNG CHO ỨNG DỤNG WEB HƯỚNG MÔ HÌNH

3.1. Kỹ thuật sinh mã trong phát triển ứng dụng web hướng mô hình

3.2. Sinh mã dựa trên thuật toán theo kiến trúc MVC. Xây dựng quy tắc sinh mã

3.3. Xây dựng giải thuật sinh code tự động

3.4. Thử nghiệm và đánh giá

3.5. Sinh mã sử dụng ngôn ngữ ATL

3.6. Chuyển đổi mô hình PIM sang PSM theo kiến trúc MVC

3.7. Tạo phần Model

3.8. Tạo thành phần Controller

3.9. Tạo thành phần View. Cấu trúc mô hình PSM theo kiến trúc MVC

3.10. Thành phần model

3.11. Thành phần Controler

3.12. Thành phần View

3.13. Xây dựng quy tắc chuyển đổi từ PSM sang mã nguồn

3.14. Sinh code từ mô hình java

3.15. Sinh code từ mô hình JSP

3.16. Thử nghiệm sinh mã cho ứng dụng web benhthuysan. Công cụ sinh mã CODEGER-UWE

3.17. Phát triển ứng dụng benhthuysan. Kết quả và thảo luận. Tiểu kết chương

DANH MỤC CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ CỦA LUẬN ÁN

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Giới thiệu về Kỹ Thuật Chuyển Đổi Mô Hình và Sinh Mã

Kỹ thuật chuyển đổi mô hình và sinh mã trong phát triển ứng dụng web là một lĩnh vực quan trọng trong công nghiệp phần mềm hiện đại. Chuyển đổi mô hình cho phép các nhà phát triển tạo ra các ứng dụng phức tạp một cách hiệu quả hơn bằng cách sử dụng các mô hình trừu tượng. Việc áp dụng kỹ thuật lập trình hướng mô hình giúp giảm thiểu sự phụ thuộc vào nền tảng công nghệ cụ thể, từ đó nâng cao khả năng tương thích và khả năng bảo trì của ứng dụng. Sinh mã tự động là một phần không thể thiếu trong quy trình này, giúp tiết kiệm thời gian và giảm thiểu lỗi do con người gây ra. Theo nghiên cứu, việc áp dụng các phương pháp này có thể tăng tốc độ phát triển ứng dụng từ 3 đến 10 lần, đồng thời giảm thiểu chi phí bảo trì.

1.1. Tầm quan trọng của phát triển ứng dụng web

Trong bối cảnh công nghệ thông tin phát triển nhanh chóng, việc phát triển ứng dụng web trở thành một yếu tố quyết định cho sự thành công của nhiều doanh nghiệp. Công nghệ web không chỉ giúp kết nối người dùng mà còn tạo ra các cơ hội kinh doanh mới. Việc áp dụng framework web và các công nghệ hiện đại trong phát triển ứng dụng web giúp tối ưu hóa hiệu suất và trải nghiệm người dùng. Hơn nữa, việc sử dụng các mô hình trong phát triển ứng dụng web giúp đảm bảo tính nhất quán và khả năng mở rộng của hệ thống.

II. Quy trình phát triển ứng dụng web hướng mô hình

Quy trình phát triển ứng dụng web hướng mô hình bao gồm nhiều bước quan trọng, từ việc xác định yêu cầu đến việc sinh mã cuối cùng. Quy trình phát triển phần mềm thường bắt đầu bằng việc xây dựng mô hình hóa dữ liệu và xác định các yêu cầu của người dùng. Sau đó, các mô hình này được chuyển đổi thành các mô hình cụ thể hơn như PIM (Platform Independent Model) và PSM (Platform Specific Model). Việc chuyển đổi này không chỉ giúp đảm bảo tính nhất quán giữa các mô hình mà còn tạo điều kiện thuận lợi cho việc sinh mã tự động. Các công cụ như ATL (ATLAS Transformation Language) được sử dụng để thực hiện các quy tắc chuyển đổi này, giúp tự động hóa quy trình và giảm thiểu công sức của lập trình viên.

2.1. Các mô hình trong quy trình phát triển

Trong quy trình phát triển ứng dụng web, các mô hình như mô hình yêu cầu, mô hình nội dung, mô hình điều hướng, mô hình xử lý, và mô hình trình bày đóng vai trò quan trọng. Mỗi mô hình này phục vụ một mục đích cụ thể và giúp đảm bảo rằng tất cả các khía cạnh của ứng dụng đều được xem xét. Việc sử dụng các mô hình này không chỉ giúp lập trình viên dễ dàng hơn trong việc hiểu và phát triển ứng dụng mà còn giúp đảm bảo rằng ứng dụng cuối cùng đáp ứng được các yêu cầu của người dùng.

III. Kỹ thuật sinh mã tự động

Kỹ thuật sinh mã tự động là một phần quan trọng trong phát triển ứng dụng web hướng mô hình. Sinh mã giúp tự động hóa quá trình chuyển đổi từ mô hình sang mã nguồn, giảm thiểu sự can thiệp của con người và tăng cường hiệu suất làm việc. Các quy tắc sinh mã được xây dựng dựa trên các mô hình đã được xác định trước đó, cho phép tạo ra mã nguồn một cách nhanh chóng và chính xác. Việc áp dụng các ngôn ngữ như ATL trong quy trình này giúp đảm bảo rằng mã nguồn được sinh ra không chỉ chính xác mà còn dễ bảo trì và mở rộng trong tương lai.

3.1. Ứng dụng của sinh mã tự động

Sinh mã tự động không chỉ giúp tiết kiệm thời gian mà còn giảm thiểu lỗi do con người gây ra. Các ứng dụng web phức tạp thường yêu cầu nhiều thành phần khác nhau, và việc sử dụng sinh mã tự động giúp đảm bảo rằng tất cả các thành phần này được tích hợp một cách mạch lạc. Hơn nữa, việc sử dụng các công cụ như CODEGER-UWE cho phép lập trình viên dễ dàng tạo ra mã nguồn cho các ứng dụng web mà không cần phải viết mã thủ công, từ đó nâng cao hiệu quả làm việc và giảm thiểu chi phí phát triển.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI. Nếu bạn thấy nội dung không chính xác hoặc có vấn đề, vui lòng Báo lỗi nội dung.

25/01/2025

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

chương 1, tác giả cũng trình bày tình hình các nghiên cứu liên quan, phân tích cụ thể điểm mạnh và điểm cần cải tiến của các nghiên cứu và dẫn tới lý do của đề tài luận án. Kiến trúc MDA MDA (Model Driven Architecture) được định nghĩa bởi OMG [18, 19]: “MDA là một cách tiếp cận đặc tả hệ thống công nghệ thông tin, nó phân tách các đặc tả chức năng và các đặc tả thực thi”. Một mô hình trong MDA, là một đặc tả hình thức của chức năng và cấu trúc, cũng như hành vi ứng xử của một ứng dụng hay một hệ thống phần mềm. Tổng quan về MDA [18] Kiến trúc hướng mô hình (MDA) là kỹ thuật mới cho sự phát triển sản phẩm phần mềm.

Kỹ thuật này giải quyết được sự phức tạp của nền tảng công nghệ khác nhau, bằng việc sử dụng các mô hình (models) như là tác nhân chính trong toàn bộ vòng đời phát triển ứng dụng, giảm sự phụ thuộc vào nền tảng công nghệ [20]. Khi có nền tảng mới ra đời, thì ứng dụng mới sẽ được chuyển đổi tự động từ các mô hình để tương thích với nền tảng mới. Do đó, MDA đang trở thành một phương pháp tiếp cận được chấp nhận rộng rãi, để phát triển các ứng dụng phức tạp và ngày càng dành được nhiều sự quan tâm của cộng đồng nghiên cứu, cũng như giới công nghiệp phần mềm. Các ứng dụng Web, bao gồm nhiều thành phần khác nhau, có thể được cung cấp bởi những nhà phát triển khác nhau với nền tảng công nghệ khác nhau, nên việc sử dụng các kỹ thuật phát triển hướng mô hình cho các ứng dụng Web đặc biệt hữu ích [1, 15, 16].

Các kỹ thuật này đã khắc phục được nhiều hạn chế mà các quá trình phát 6 luan an triển phần mềm trước đó chưa giải quyết được, giảm chi phí thực hiện dự án phần mềm, tăng năng suất thực hiện dự án một cách trực tiếp hoặc thông qua giảm khối lượng công việc làm lại [21]. MDA là một cách tiếp cận mô hình hoá trực quan, trong suốt quy trình tìm hiểu, phân tích, thiết kế, thực thi một hệ thống phần mềm. MDA phân chia các mô hình đặc tả hệ thống từ mức độ trừu tượng hóa cao, cho đến mức chi tiết và cung cấp các quy tắc chuyển đổi, cho phép chuyển đổi giữa các mô hình.2 thể hiện tiến trình phát triển phần mềm theo MDA [19, 22-25]. Tiến trình MDA [22] − Computation Independent Model (CIM) – Mô hình độc lập tính toán CIM không hiển thị chi tiết về kiến trúc của hệ thống [26], CIM đại diện cho tiến trình nghiệp vụ của tổ chức sẽ được xây dựng.

Mô hình CIM tập trung vào sự đặc tả hệ thống bằng các thuật ngữ gần gũi với người làm nghiệp vụ, được xác định bởi sự kết hợp làm việc giữa người phân tích nghiệp vụ và những người làm nghiệp vụ sẽ sử dụng hệ thống. Chính vì vậy, mô hình CIM còn được gọi là mô hình phạm vi hay mô hình nghiệp vụ. CIM chỉ miêu tả môi trường mà hệ thống thực thi và nó hỗ trợ chúng ta hình dung ra được hệ thống đích, mà chúng ta muốn từ các yêu cầu ban đầu [22]. CIM cũng đóng vai trò quan trọng trong việc thu hẹp khoảng cách giữa người sử dụng và các chuyên gia trong lĩnh vực thiết kế, phát triển hệ thống [1].

Trong phát triển phần mềm sử dụng hướng tiếp cận MDA, thì các yêu cầu cụ thể trong CIM có mối liên hệ chặt chẽ với cấu trúc PIM và PSM [22]. − Platform Independent Model (PIM) – Mô hình độc lập nền PIM là một khung nhìn của hệ thống từ một điểm nhìn độc lập với nền công nghệ [1, 20]. Mô hình độc lập nền chỉ chú trọng vào các thao tác của hệ thống, ẩn đi chi tiết cụ thể về nền công nghệ. Tức là ta không quan tâm đến công nghệ nào sẽ được sử dụng để phát triển hệ thống.

Một PIM cần thể hiện được sự không phụ thuộc nền công nghệ và nó thích hợp cho việc sử dụng, với nhiều nền công nghệ khác nhau hoặc tương tự nhau. − Platform Specific Model (PSM) – Mô hình nền cụ thể PSM là một khung nhìn của hệ thống từ góc độ của một nền công nghệ cụ thể nào đó. PSM chứa những gì được thể hiện trong PIM [27], với các chi tiết cụ thể của một nền công nghệ sẽ được sử dụng để phát triển phần mềm như Java,. Hình 7 luan an 1.3 trình bày một cách tổng quan về sự phân loại các mô hình chính của MDA theo trật tự từ mức độ trừu tượng hóa đến cụ thể hoá.

Trừu tượng hóa CIM: Mô hình độc lập với thao tác tính toán PIM: Mô hình độc MDA lập nền công nghệ PSM: Mô hình theo nền công nghệ cụ thể Cụ thể hóa Hình 1. Sự phân loại các mô hình chính trong MDA 1. Chuyển đổi mô hình trong MDA Chuyển đổi mô hình là trung tâm của kỹ thuật phần mềm hướng mô hình [28, 29]. Sự chuyển đổi mô hình trong MDA là việc sử dụng một cơ chế nào đó, để biến đổi các mô hình ở mức trừu tượng hoá cao, thành các mô hình ở mức cụ thể và chi tiết hơn dựa trên sự định nghĩa các quy tắc chuyển đổi.

Đó là sự chuyển từ CIM sang PIM, từ PIM sang PSM, và từ PSM có thể chuyển thành mã chương trình cụ thể thực thi hệ thống [30].4 mô phỏng sự chuyển đổi giữa các mô hình trong MDA. Chuyển đổi mô hình trong MDA[31] Theo [32] chuyển đổi mô hình là trung tâm của MDA, có 2 loại chuyển đổi mô hình thường gặp trong MDA: Chuyển đổi mô hình tới mô hình, và chuyển đổi mô hình tới mã nguồn. Chuyển đổi mô hình tới mô hình: Chuyển đổi thông tin từ một mô hình hay nhiều mô hình tới một mô hình khác, hay một tập các mô hình. Một ví dụ về chuyển đổi mô hình tới mô hình là chuyển đổi một tập các lớp thực thể, thành một lược đồ cơ sở dữ liệu tương ứng.

Chuyển đổi mô hình tới mã nguồn là một chuyển đổi thông dụng đối với những người đã dùng các công cụ mô hình hóa UML có khả năng sinh mã. Các chuyển đổi này, chuyển đổi một thành phần của mô hình sang một đoạn mã nguồn. Chuyển đổi 8 luan an mô hình tới mã nguồn có thể được phát triển cho gần như bất kỳ dạng ngôn ngữ lập trình nào. Chuyển đổi từ CIM sang PIM Mô hình Độc lập tính toán (CIM), có nghĩa là mô hình này không chứa bất kỳ thông tin nào về hệ thống phần mềm.

Mô hình CIM được trình bày bởi các mô hình quy trình nghiệp vụ, được cho là đại diện cho thế giới thực. Chuyển đổi từ CIM sang PIM, là chuyển đổi đầu tiên trong MDA và nó rất quan trọng trong việc thiết kế phần mềm chất lượng cao. Đầu tiên, sử dụng sơ đồ hoạt động UML để xử lý các tác vụ của người sử dụng. Sơ đồ hoạt động này được chỉ rõ trong các yêu cầu hệ thống.

Các thành phần hệ thống được suy luận từ mô hình yêu cầu và một bộ các nguyên mẫu, giúp các thành phần hệ thống tạo ra PIM. Mô hình chuyển từ CIM sang PIM [20] 1. Chuyển đổi từ PIM sang PSM Theo vết mô hình Hình 1. Đánh dấu mô hình [31] Hình 1.6 miêu tả chi tiết một trong những cách mà một chuyển đổi có thể được thực hiện.

Một nền công nghệ cụ thể được lựa chọn. Ánh xạ cho nền công nghệ này sẵn có và được chuẩn bị. Ánh xạ này bao gồm một bộ thiết bị đánh dấu. Các dấu được 9 luan an sử dụng nhằm đánh dấu các yếu tố mô hình để hướng dẫn cho quá trình biến đổi mô hình.

Việc sử dụng ánh xạ sẽ làm cho PIM đánh dấu được biến đổi xa hơn nhằm tạo ra PSM. Quá trình biến đổi siêu mô hình – Metamodel Hình 1. Quá trình biến đổi Metalmodel [31] Mô hình được chuẩn bị bằng cách sử dụng một ngôn ngữ độc lập với nền công nghệ được xác định bởi một metamodel. Một nền công nghệ cụ thể được lựa chọn.

Đặc tả mô hình chuyển đổi nền tảng này hiện có sẵn hoặc được chuẩn bị. Sự chuyển đổi đặc tả này dưới dạng ánh xạ giữa các metamodel. Ánh xạ chỉ dẫn sự chuyển đổi của PIM tạo ra PSM. Quá trình biến đổi mô hình Hình 1.

Quá trình biến đổi mô hình [31] Mô hình được chuẩn bị bằng cách sử dụng các kiểu độc lập nền công nghệ trong mô hình. Các kiểu có thể là phần của một khung phần mềm. Các yếu tố trong PIM là các kiểu phụ của dạng độc lập nền công nghệ. Một nền công nghệ cụ thể được lựa chọn.

Dạng biến đổi đặc tả nền công nghệ này sẵn có hoặc được chuẩn bị sẵn. Sự 10 luan an biến đổi này là ánh xạ giữa các kiểu độc lập nền tảng và các kiểu phụ thuộc nền tảng. Các yếu tố trong PSM là kiểu phụ của các kiểu đặc tả nền tảng. Cách tiếp cận này khác hẳn với ánh xạ metamodel, chủ yếu bằng các kiểu đặc tả trong một mô hình mà được sử dụng cho ánh xạ, thay thế cho các khái niệm đặc tả bởi mô hình metamodel.

Ứng dụng mẫu Mở rộng các phương pháp tiếp cận ánh xạ siêu mô hình và mô hình bao gồm các mẫu cùng với các kiểu hay các khái niệm ngôn ngữ mô hình. Ứng dụng mẫu [31] Hình 1. Một cách khác để sử dụng các mẫu [31] Hình 1.10 chỉ ra một cách khác để sử dụng các mẫu: Khi các tên của nền tảng cụ thể đánh dấu, có nghĩa là, tên của các mẫu thiết kế quy định cho một nền tảng. Mô hình kết hợp Có một số cách tiếp cận MDA dựa vào các mô hình kết hợp.

11 luan an Hình 1. Mô hình kết hợp [31] Ngoài các kiểu độc lập nền tảng, mô hình chung có thể cung cấp các mẫu. Cả hai kiểu và mẫu này có thể được ánh xạ tới các mẫu và các kiểu đặc tả nền tảng. Phương pháp tiếp cận ánh xạ mô hình metamodel có thể sử dụng các mẫu cùng một cách.11 mở rộng mô hình MDA theo một cách khác, nhằm miêu tả chi tiết một trong những cách chuyển đổi khác có thể được thực hiện.

Thông tin bổ sung Ngoài những PIM và các nền tảng cụ thể đánh dấu, thông tin bổ sung có thể được cung cấp để hướng dẫn việc chuyển đổi. Thông tin bổ sung sẽ thường xuyên dựa trên các kiến thức thực tế của nhà thiết kế. Bổ sung thông tin để chuyển sang PSM [31] Hình vẽ mở rộng mẫu MDA đơn giản nhằm chỉ ra cách sử dụng của thông tin bổ sung Hình 1.

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

Bài luận án tiến sĩ mang tiêu đề "Luận Án Tiến Sĩ Về Kỹ Thuật Chuyển Đổi Mô Hình và Sinh Mã Trong Phát Triển Ứng Dụng Web" của tác giả Trần Đình Diễn, dưới sự hướng dẫn của PGS. Huỳnh Quyết Thắng và PGS. Cao Tuấn Dũng, được thực hiện tại Trường Đại Học Bách Khoa Hà Nội vào năm 2021. Bài viết tập trung vào các kỹ thuật chuyển đổi mô hình và sinh mã, đóng vai trò quan trọng trong việc phát triển ứng dụng web hiện đại. Những kỹ thuật này không chỉ giúp tối ưu hóa quy trình phát triển mà còn nâng cao hiệu suất và khả năng mở rộng của ứng dụng. Độc giả sẽ tìm thấy nhiều thông tin hữu ích về cách áp dụng các kỹ thuật này trong thực tiễn, từ đó cải thiện kỹ năng lập trình và phát triển ứng dụng của mình.

Nếu bạn quan tâm đến các khía cạnh khác trong lĩnh vực công nghệ thông tin và phát triển ứng dụng, hãy tham khảo thêm bài viết "Luận văn thạc sĩ về quản lý giáo dục và ứng dụng công nghệ thông tin trong dạy học ở huyện Phong Điền, TP Cần Thơ", nơi đề cập đến việc ứng dụng công nghệ thông tin trong giáo dục. Ngoài ra, bài viết "Luận văn thạc sĩ: Xây dựng website học tập trực tuyến với Moodle tại trung tâm giáo dục thường xuyên Tân Bình" cũng sẽ cung cấp cho bạn cái nhìn sâu sắc về việc phát triển nền tảng học tập trực tuyến. Cuối cùng, bài viết "Nghiên cứu phát triển kỹ thuật hỗ trợ phát hiện đạo văn trong văn bản tiếng Việt" sẽ giúp bạn hiểu rõ hơn về các kỹ thuật xử lý văn bản trong lĩnh vực công nghệ thông tin. Những tài liệu này sẽ mở rộng kiến thức của bạn về các ứng dụng và kỹ thuật trong lĩnh vực công nghệ thông tin.