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.