I. Giới thiệu
Luận án tập trung vào phương pháp tiếp cận khung hình hợp nhất cho tự động hóa phát triển phần mềm, đặc biệt trong bối cảnh phát triển phần mềm dựa trên mô hình (MBSD). MBSD mang lại nhiều lợi ích như dễ dàng giải quyết vấn đề, cải thiện chất lượng, năng suất và khả năng tái sử dụng. Hai phương pháp chính được đề cập là kỹ nghệ phần mềm hướng mô hình (MDSE) và thiết kế hướng miền (DDD). MDSE hướng đến việc tạo ra phần mềm từ các mô hình cấp cao, trong khi DDD tập trung vào việc sử dụng mô hình để giải quyết sự phức tạp trong yêu cầu miền. Luận án nhấn mạnh vai trò của ngôn ngữ lập trình hướng đối tượng (OOPL) trong việc triển khai DDD, đồng thời giới thiệu ngôn ngữ chuyên biệt miền dựa trên ghi chú (aDSL) như một công cụ hiệu quả để biểu diễn mô hình miền và xây dựng phần mềm mô-đun.
1.1. Thách thức trong thiết kế hướng miền
Mặc dù DDD cung cấp các nguyên lý để xây dựng mô hình miền, phương pháp này vẫn thiếu các giải pháp cụ thể để trả lời hai câu hỏi quan trọng: (1) Các thành phần nào tạo nên một mô hình miền có mức độ diễn đạt thiết yếu? (2) Làm thế nào để xây dựng phần mềm hiệu quả từ mô hình miền? Những thách thức này đặc biệt nổi bật khi áp dụng DDD trong các nền tảng OOPL. Luận án đề xuất sử dụng aDSL để khắc phục những hạn chế này, giúp biểu diễn mô hình miền một cách thống nhất và tự động hóa quá trình phát triển phần mềm.
II. Phương pháp tiếp cận
Luận án đề xuất một phương pháp tiếp cận mới dựa trên aDSL để giải quyết các thách thức trong DDD. Phương pháp này bao gồm việc phát triển ngôn ngữ đặc tả lớp miền (DCSL) và ngôn ngữ lớp cấu hình mô-đun (MCCL). DCSL được sử dụng để biểu diễn các ràng buộc cấu trúc và hành vi thiết yếu của lớp miền, trong khi MCCL hỗ trợ thiết kế các lớp cấu hình mô-đun trong kiến trúc phần mềm dựa trên mô-đun. Các công cụ phần mềm được phát triển để hỗ trợ DCSL và MCCL, tích hợp vào khung phần mềm J1DOMAINAPP.
2.1. Ngôn ngữ đặc tả lớp miền DCSL
DCSL là một aDSL bao gồm các ghi chú để biểu diễn các ràng buộc cấu trúc và hành vi thiết yếu của lớp miền. Các đặc trưng thiết kế được lựa chọn từ các nguồn tài liệu uy tín về kỹ nghệ phần mềm và hệ thống, tạo thành một không gian thiết kế tối giản cho lớp miền. DCSL giúp biểu diễn mô hình miền một cách thống nhất và hỗ trợ quá trình tạo mã tự động.
2.2. Ngôn ngữ lớp cấu hình mô đun MCCL
MCCL được sử dụng để thiết kế các lớp cấu hình mô-đun (MCC) trong kiến trúc phần mềm dựa trên mô-đun. Mỗi MCC cung cấp một định nghĩa dạng lớp cho một tập các cấu hình mô-đun, giúp tạo ra các biến thể của một lớp mô-đun mà không cần thay đổi thiết kế bên trong. MCCL tăng cường khả năng tái sử dụng và linh hoạt trong phát triển phần mềm.
III. Đánh giá và ứng dụng thực tiễn
Luận án đánh giá tính thực tiễn của phương pháp thông qua một nghiên cứu điển hình về quản lý quy trình tổ chức. Kết quả cho thấy DCSL và MCCL giúp cải thiện hiệu quả trong việc xây dựng phần mềm mô-đun. DCSL được đánh giá là một ngôn ngữ đặc tả hiệu quả, trong khi MCCL chứng minh khả năng tạo mã tự động cao. Các công cụ được phát triển trong J1DOMAINAPP hỗ trợ quá trình phát triển phần mềm một cách toàn diện.
3.1. Nghiên cứu điển hình
Nghiên cứu điển hình áp dụng phương pháp vào một phần mềm quản lý quy trình tổ chức, chứng minh tính khả thi và hiệu quả của DCSL và MCCL. Phần mềm được xây dựng từ mô hình miền một cách tự động, đảm bảo tính mô-đun và khả năng tái sử dụng.
3.2. Đánh giá hiệu quả
DCSL được đánh giá dựa trên khả năng biểu diễn mô hình miền và hỗ trợ tạo mã. MCCL được đánh giá dựa trên khả năng tạo ra các biến thể mô-đun mà không cần thay đổi thiết kế. Kết quả cho thấy phương pháp này giúp DDD trở nên cụ thể và đầy đủ hơn, đặc biệt trong các nền tảng OOPL.