MỞ ĐẦU Ngày nay, công nghiệp phần mềm đóng vai trò quan trọng, tác động đến sự phát triển kinh tế xã hội và được xem là một trong những trụ cột chính của tăng trưởng kinh tế ở nhiều nước. Tuy nhiên, việc phát triển phần mềm theo cách truyền thống ngày càng phải đối mặt với nhiều khó khăn như vấn đề phát triển, vấn đề tính khả chuyển, khả năng tương tác hay với sự phát triển nhanh chóng của các nền tảng công nghệ mới. Do đó, những nhà phát triển phần mềm phải dành nhiều công sức và thời gian để điều chỉnh ứng dụng (thường theo cách thủ công là sửa mã nguồn) sao cho có thể hoạt động được trên các nền tảng công nghệ mới. Chính vì vậy, một xu hướng phát triển phần mềm mới nhằm khắc phục những khó khăn trên đã được nghiên cứu và phát triển, đó là phát triển phần mềm hướng mô hình (MDSD: Model driven software development).
Kỹ thuật hướng mô hình (MDE) 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ệ [1-3]. MDE phát triển dựa trên ý tưởng xây dựng các mô hình độc lập với nền tảng và hỗ trợ việc chuyển đổi mô hình thành mã nguồn của chương trình. Do đó, quá trình phát triển phần mềm hướng mô hình được xem như là một chuỗi các chuyển đổi mô hình và chuyển đổi mô hình đóng một vai trò quan trọng trong kỹ thuật hướng mô hình [4].
Phát triển phần mềm hướng mô hình đ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 già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 [1]. Sinh mã tự động là nền tảng thiết yếu của các phương pháp tiếp cận theo hướng mô hình để phát triển phần mềm. Việc sinh mã tự động giúp cho việc phát triển ứng dụng trở nên hiệu quả hơn, hứa hẹn sẽ là một bước tiến mới trong phát triển phần mềm, giúp lập trình viên nâng cao được hiệu xuất làm việc và ngày càng được sử dụng nhiều trong tiến trình phát triển phần mềm [5]. Các nghiên cứu đã minh chứng, phương pháp sinh mã hướng mô hình cho tiến trình phần mềm đã tăng tốc độ tổng thể từ 3 đến 10 lần [5-7], làm giảm yếu tố con người [8, 9], giảm thời gian phát triển ứng dụng web [9-12].
Việc sử dụng các mô hình để tạo mã chương trình, có thể tạo ra các sản phẩm phần mềm có khả năng tương thích và sử dụng trên các nền tảng khác nhau [13], trong [14] đã chứng minh việc sử dụng phương pháp này cho phép tiết kiệm rất nhiều chi phí (nhất là chi phí bảo trì cho ứng dụng), vì chúng làm giảm sự cần thiết phải thay đổi sau khi đưa ứng dụng vào sử dụng. 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, nên việc sử dụng các kỹ thuật phát triển phần mềm hướng mô hình cho các ứng dụng web đặc biệt hữu ích [1, 15, 16]. 1 luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep Trong những phương pháp phát triển ứng dụng web hướng mô hình hiện nay. UWE (UML-based Web Engineering) là một hướng tiếp cận cho phép phát triển ứng dụng web hướng mô hình dựa trên kiến trúc MDA.
UWE cung cấp một quy trình và công cụ, giúp mô hình hoá và xây dựng các ứng dụng web, do nhóm nghiên cứu trường đại học LMU, Đức thực hiện với mục đích tự động hoá quy trình phát triển ứng dụng web và giảm thiểu tối đa việc lập trình cài đặt mã nguồn cho ứng dụng. UWE cung cấp một tập các mô hình tương ứng với từng khía cạnh của ứng dụng web bao gồm: Mô hình yêu cầu (requirements models), mô hình nội dung (content models), mô hình điều hướng (navigation models), mô hình xử lý (process models), mô hình trình bày (presentation models) và sử dụng biểu đồ UML 2.0 cho việc mô hình hoá. Một trong những ưu điểm quan trọng của UWE là tất cả các mô hình của nó đều là phần mở rộng của UML. UWE sử dụng ký pháp đồ họa hoàn toàn dựa trên UML.
Nó cho phép sử dụng các công cụ dựa trên UML và giảm thiểu thời gian nghiên cứu của các nhà phát triển Web, những người đã quen thuộc với UML[17]. Tuy nhiên, các nghiên cứu phát triển ứng dụng web hướng mô hình theo phương pháp UWE, còn tồn tại một số vấn đề cần tiếp tục đi sâu nghiên cứu: Thứ nhất: Việc chuyển đổi từ mô hình yêu cầu sang các mô hình: Nội dung, điều hướng, xử lý và trình bày vẫn phải được điều chỉnh thủ công, làm cho việc phát triển ứng dụng Web tốn thời gian và chi phí; việc đảm bảo tính thống nhất giữa các mô hình cũng như cần cập nhật đồng bộ giữa các mô hình khi có thay đổi là rất khó khăn. Thứ hai: Các nghiên cứu chủ yếu mới chỉ tập trung cho việc mô hình hóa, việc sinh code tự động còn nhiều hạn chế, chủ yếu mới chỉ dừng ở việc tạo ra khung để kỹ thuật viên lập trình viết mã. Khắc phục những hạn chế, tồn tại nêu trên, việc nghiên cứu xây dựng phương pháp chuyển đổi mô hình tự động, cải tiến kỹ thuật sinh mã để nâng cao chất lượng mã nguồn, tăng năng suất, tiết kiệm thời gian và chi phí cho ứng dụng web, giúp phát triển ứng dụng web đơn giản, linh hoạt, nhanh chóng và hiệu quả hơn là vấn đề cần thiết, góp phần thúc đẩy sự phát triển của lĩnh vực ứng dụng web, một lĩnh vực giàu tiềm năng nhưng mới chỉ là bước đầu phát triển tại Việt Nam.
Chính vì vậy, NCS chọn đề tài: “Các kỹ thuật chuyển đổi mô hình và sinh mã trong phát triển ứng dụng web hướng mô hình”. Hướng tiếp cận của đề tài là phát triển bộ quy tắc chuyển đổi model to model và mode to code theo phương pháp UWE, xây dựng công cụ CODEGER-UWE để hỗ trợ phát triển các ứng dựng Web theo kiến trúc MVC. Phương pháp dựa trên việc tạo mô hình yêu cầu ở mức mô hình độc lập tính toán (Computation Independent Model – CIM), sau đó xây dựng các quy tắc chuyển đổi, để chuyển đổi sang mức mô hình độc lập nền tảng (platform-independent model – PIM) và mô hình nền cụ thể (Platform Specific Model - PSM), từ đó sinh code tự động cho ứng dụng web theo 2 luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep do an to nghiep docx 123docz luan van hay luan van tot nghiep kiến trúc MVC. Các quy tắc chuyển đổi của nghiên cứu được xây dựng với ngôn ngữ chuyển đổi mô hình (ATLAS Transformation Language – ATL).
Áp dụng phát triển ứng dụng web Chẩn đoán bệnh thủy sản “benhthuysan. Phương pháp tiếp cận giúp đảm bảo tính thống nhất giữa các mô hình sau khi chuyển đổi, góp phần đảm bảo hiệu quả chuyển đổi mô hình và sinh code tự động cho phát triển ứng dụng Web hướng mô hình theo kiến trúc MVC. Mục đích nghiên cứu Mục tiêu chung của đề tài là nghiên cứu kỹ thuật phát triển phần mềm hướng mô hình cho các ứng dụng web, nhằm phát triển bộ quy tắc chuyển đổi model to model và model to code, theo phương pháp UWE và cụ thể hóa các quy tắc chuyển đổi, bằng việc xây dựng công cụ hỗ trợ phát triển ứng dụng Web theo kiến trúc MVC. Đề tài có các mục tiêu cụ thể sau: - Tiếp cận kỹ thuật MDE, luận án phát triển bộ quy tắc chuyển đổi từ mô hình mức CIM sang PIM và sang PSM, sang mã nguồn theo phương pháp UWE, nhằm nâng cao chất lượng mã nguồn, tăng năng suất, tiết kiệm thời gian, chi phí, nâng cao hiệu quả cho việc phát triển ứng dụng web.
- Trên cơ sở các quy tắc đã phát triển, xây dựng công cụ sinh mã tự động cho ứng dụng web theo kiến trúc MVC. Thực nghiệm vào phát triển ứng dụng web Chẩn đoán bệnh thủy sản (benhthuysan. Nhiệm vụ nghiên cứu Với mục tiêu đặt ra ở trên, nhiệm vụ nghiên cứu của đề tài bao gồm: - Tổng hợp, phân tích các kỹ thuật phát triển phần mềm hướng mô hình, kỹ thuật phát triển ứng dụng web hướng mô hình như UWE, WebML, WebSA. - Phát triển các quy tắc chuyển đổi mô hình.