chương 1 cũng làm rõ các nghiên cứu hiện có của chuyển đổi mô hình UWE, các quy tắc đã có và vấn đề hoàn thiện bộ quy tắc chuyển đổi mô hình và tích hợp chuyển đổi ràng buộc OCL cho mô hình trình bày và mô hình xử lý. Chương 2: Xây dựng bộ quy tắc chuyển đổi mô hình trong UWE. Chương này trình bày các quy tắc đã có của chuyển đổi sang mô hình trình bày và mô hình xử lý. Cơ sở để đề xuất bổ sung một số quy tắc mới.
Trình bày các bước xử lý để thực hiện cho mỗi quy tắc và biễu đồ diễn tiến cài đặt mã nguồn tương ứng. 11 Chương 3: Tích hợp và chuyển đổi OCL. Chương này giới thiệu về phương pháp tích hợp và chuyển đổi ràng buộc OCL, sau đó mô tả chi tiết về các bước thực hiện và cài đặt mã nguồn tương ứng cho ràng buộc trong mô hình xử lý và trình bày. Chương 4: Xây dựng công cụ MTO-Plugin.
Chương này trình bày về kiến trúc và cơ chế hoạt động của một plugin trong công MagicDraw. Sau đó áp dụng công cụ MTO- Plugin vào bài toán điển hình, so sánh và đánh giá với kết quả ban đầu và mô hình hóa bằng tay. Các đóng góp khoa học của luận văn Luận văn có những đóng góp mới như sau: Thứ nhất: Xây dựng thêm được một số quy tắc mới, để hoàn thiện bộ quy tắc chuyển đổi mô hình, nhằm cải thiện kết quả chuyển đổi Thứ hai: Đưa ra phương pháp tích hợp ràng buộc OCL vào mô hình UWE, sau đó chuyển đổi nhằm đồng bộ giữa các mô hình, làm giàu thông tin cho các mô hình, cải thiện kết quả trong quá trình sinh mã. Thứ ba: Xây dựng công cụ MTO-Plugin minh họa các kỹ thuật trên để thử nghiệm và đánh giá.
12 Chƣơng 1: Tổng quan về kỹ thuật UWE và ngôn ngữ ràng buộc OCL 1. Kiến trúc hƣớng mô hình 1. Giới thiệu MDA là một hướng tiếp cận vấn đề MDE do tổ chức OMG đề xuất. MDA bắt đầu với ý tưởng tách đặc điểm kỹ thuật của hệ thống ra khỏi nền tảng hoạt động của hệ thống [1,9,13].
MDA cung cấp một cách tiếp cận và công cụ nhằm mục đích [1]: Xác định một hệ thống độc lập so với nền tảng. Xác định các nền tảng của hệ thống. Lựa chọn nền tảng cụ thể cho hệ thống và từ đó chuyển đổi đặc tả hệ thống vào một trong những nền tảng đã xác định. Cốt lõi của MDA là một số chuẩn quan trọng của OMG: UML, MOF, XML và CWM [1,2,18].
Các chuẩn này xác định hạ tầng cơ sở của MDA và góp phần vào việc mô hình hóa hệ thống. MDA mô tả khuôn mẫu cho việc phát triển phần mềm nhanh chóng hiệu quả và tối ưu về chi phí. MDA cung cấp các hướng dẫn để cấu trúc các đặc tả lại thành các mô hình, định nghĩa các chức năng của hệ thống dựa trên mô hình độc lập nền tảng - PIM, sử dụng các ngôn ngữ đặc tả chuyên biệt. PIM sau đó được chuyển thành một hoặc một vài mô hình dựa trên nền tảng chuyên biệt - PSM mà các máy tính có thể chạy được.
PSM có thể sử dụng các ngôn ngữ đặc tả chuyên biệt hoặc các ngôn ngữ phổ biến như: Java, C#, C++ [1, 13]. Các kỹ thuật Web hướng mô hình Với những ưu điểm của MDA và những đặc điểm về tính đa dạng về công nghệ cũng như ngôn ngữ của phát triển các ứng dụng web thì kỹ thuật MDWE được áp dụng vào phát triển các ứng dụng Web nhằm tạo ra các ứng dụng web nhanh chóng linh hoạt và chất lượng. Trong kỹ thuật hướng mô hình bao gồm 4 mức [1,2,14]: Mô hình CIM thể hiện mô hình hóa các chức năng của hệ thống. Mô hình PIM là một khung nhìn của hệ thống từ điểm nhìn độc lập nền tảng.
Đó là một mô hình của hệ thống không chứa thông tin cụ thể về nền tảng, hay công nghệ được dùng để thực hiện nó. Mô hình PSM là một khung nhìn của một hệ thống từ điểm nhìn nền tảng cụ thể. Đó là một mô hình của hệ thống bao gồm thông tin về công nghệ cụ thể được dùng để thực hiện nó trong một nền tảng cụ thể ví dụ Java hoặc NET. Mô hình ISM cung cấp thông tin cần thiết để xây dựng hệ thống.
13 Trong MDA, sự chuyển đổi giữa các mức được định nghĩa: Chuyển đổi CIM sang PIM, PIM sang PSM và từ PSM sang mã nguồn (xem Hình 1. Cấu trúc MDA cho kỹ thuật Web [2,13] Một số kỹ thuật Web hướng mô hình điển hình: OOHDMDA: OOHDM được đề xuất năm 1995. Ý tưởng của phương pháp này là chia việc thiết kế một hệ thống Web thành 3 mô hình: mô hình khái niệm, mô hình điều hướng và mô hình giao diện trừu tượng [1,2]. OOHDMDA được phát triển dựa trên OOHDM.
Bắt đầu bằng mô hình PIM được thiết kế trong OOHDM, để tạo ra các PSM. OOHDMDA cung cấp phương pháp thiết kế ứng dụng Web bằng cách kết hợp UML và các mô hình được định nghĩa trong OOHDM. W2000 (HDM): W2000 dựa trên nguyên lý hướng đối tượng. Phương pháp này đưa ra một vòng đời cho phát triển một ứng dụng Web [2].
W2000 bắt đầu bằng bước phân tích yêu cầu dựa trên UseCase. Dựa trên những thông tin có được ở bước phân tích yêu cầu để phát triển mô hình khái niệm và mô hình điều hướng. Tiếp theo W2000 thay đổi 14 và mở rộng một số mô hình UML như là biểu đồ lớp và biểu đồ trạng thái. Cuối cùng sử dụng các biểu đồ tuần tự để mô tả chức năng của hệ thống.
WebML: WebML là một phương pháp thiết kế Web thế hệ thứ ba dựa trên MDA, dựa trên mô hình quan hệ thực thể [2,10, 13]. Trong WebML bổ sung, xây dựng tập ký pháp để thiết kế khái niệm của các trang Web phức tạp. Phương pháp này sử dụng ký hiệu (notation) riêng và không sử dụng meta-model tuân thủ MOF, mà sử dụng DTD để lưu các mô hình nội dung và điều hướng, ví dụ định nghĩa dạng ngữ pháp cho cấu trúc của tài liệu XML. DTD không có tính trừu tượng như MOF và thiếu ký hiệu dễ hiểu.
Ngôn ngữ chuyển đổi XSLT được sử dụng cho việc chuyển đổi mô hình sang mã nguồn (hỗ trợ Java và JSP). XSLT không phù hợp với những chuyển đổi phức tạp, khó phát triển chương trình và dễ bị lỗi [13]. UWE: UWE là phương pháp hướng đối tượng dựa trên ngôn ngữ mô hình hóa UML, là một trong những kỹ thuật đầu tiên phát triển theo kỹ thuật hướng mô hình và được sử dụng nhiều nhất trong kỹ thuật Web hướng mô hình [1, 2, 13]. UWE là một kỹ thuật phát triển ứng dụng Web hoàn chỉnh nhưng chủ yếu tập trung vào giai đoạn phân tích và thiết kế.
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. Kỹ thuật Web hướng mô hình UWE đáp ứng đầy đủ các yêu cầu của MDA cho việc phát triển ứng dụng Web bao gồm mô hình CIM, PIM, PSM và kỹ thuật chuyển đổi từ mô hình CIM sang PIM, từ mô hình PIM sang PSM.
Kỹ thuật Web Cấp độ kiến trúc mô hình hướng mô hình CIM PIM PSM UWE X X X WebML X X W2000 (HDM) X X OOHDMDA X X Bảng 1. So sánh các kỹ thuật Web hướng mô hình [2,13] 1. Kỹ thuật UWE Kỹ thuật UWE cung cấp một tập các phần tử mô hình đặc tả chuyên biệt (domain- specific model) để mô hình hóa. Những phần tử này và mối quan hệ được xác định bởi 15 một meta-model.
Metamodel UWE được tách theo cấu trúc gói như trong hình 3. Trong đó, gói Adaptivity có mục đích cho phép ngôn ngữ có thể mở rộng [6, 16]. Gói Core được chia thành các gói nhỏ hơn (còn được gọi là các mô hình trong UWE), bao gồm: (1) Requirements (Yêu cầu); (2) Content (Nội dung); (3) Navigation (Điều hướng); (4) Process (Xử lý); (5) Presentation (Trình bày) Hình 1. UWE metamodel [6] 16 Bảng 2.
Các thành phần UWE stereo type [6,16] UWE metamodel được định nghĩa như một phần mở rộng cho UML 2. UML profile tương thích với hầu hết công cụ UML. UWE metamodel định nghĩa một số stereotype mở rộng cho UML dựa trên những đặc trưng riêng của các ứng dụng Web. Mô hình yêu cầu sẽ bao gồm 2 thành phần cơ bản đó là các Usecase và các biểu đồ activity diagram tương ứng.
Usecase mô tả sự tương tác đặc trưng giữa người dùng bên ngoài và hệ thống. Nó thể hiện nghiệp vụ của hệ thống đối với bên ngoài, trong một hoàn cảnh nhất định, xét từ quan điểm của người sử dụng. Biểu đồ Usercase mô tả các yêu cầu đối với hệ thống, có nghĩa là những gì hệ thống phải làm chứ không phải mô tả hệ thống làm như thế nào. Tập hợp tất cả Usecase của hệ thống sẽ mô tả tất cả các trường hợp mà hệ thống có thể được sử dụng.
Activity diagram là bản vẽ tập trung vào mô tả các hoạt động, luồng xử lý bên trong hệ thống. Nó có thể được sử dụng để mô tả chi tiết cho các yêu cầu quy trình nghiệp vụ 17 trong hệ thống đã được mô tả sơ lược trong biểu đồ Usecase. Các luồng của một chức năng hoặc các hoạt động của một đối tượng. Các thành phần tạo nên Usecase và activity diagram được mô tả trong Hình 1.
Mô hình yêu cầu yêu cầu Hình 1. UWE profile cho mô hình yêu cầu [6,16] 1. Mô hình nội dung Mô hình nội dung như thể hiện trong Hình 1.4, mô tả cấu trúc và quan hệ giữa các thành phần tạo nên phần mềm. Mô hình hoá nội dung không đòi hỏi bất kỳ cấu trúc bổ sung.
Các lớp UML thông thường được sử dụng cho mô hình hoá nội dung để làm cho mô hình hoá nội dung tương tự như mô hình hóa các ứng dụng không phải là Web. UWE profile cho mô hình nội dung [6,16] 1. Mô hình điều hướng Mô hình điều hướng mô tả luồng chuyển hướng tương ứng với hành động người sử dụng trong ứng dụng Web (Hình 1. Nó được thể hiện bằng biểu đồ lớp và bổ sung các khuôn mẫu của UWE đại diện cho các nút, các liên kết, menu và các index.
Mô hình điều hướng của một ứng dụng Web như trong Hình 1.