Tổng quan nghiên cứu

Trong lĩnh vực phát triển phần mềm, pha yêu cầu (Requirement Engineering - RE) đóng vai trò then chốt, ảnh hưởng trực tiếp đến thành công của dự án. Theo các báo cáo ngành, khoảng 70% lỗi hệ thống phát sinh do đặc tả yêu cầu chưa đầy đủ và 30% do các vấn đề thiết kế. Thực tế cho thấy, nhiều tổ chức đã xây dựng các quy trình nghiệp vụ tương đối đầy đủ, có thể làm nền tảng cho việc xác định yêu cầu phần mềm. Tuy nhiên, việc chuyển đổi từ mô hình quy trình nghiệp vụ sang mô hình ca sử dụng (Use Case) thường được thực hiện thủ công, gây tốn kém nguồn lực và làm chậm tiến độ phát triển phần mềm.

Mục tiêu của luận văn là phát triển một phương pháp tự động sinh mô hình ca sử dụng từ mô hình quy trình nghiệp vụ dựa trên chuyển đổi mô hình, nhằm nâng cao hiệu quả pha yêu cầu và giảm thiểu sai sót. Nghiên cứu tập trung vào việc xây dựng bộ quy tắc ánh xạ giữa các siêu mô hình BPMN (Business Process Model and Notation) và Use Case, cài đặt chương trình chuyển đổi sử dụng ngôn ngữ ATL (ATLAS Transformation Language) trên nền tảng Eclipse Modeling Framework (EMF). Phạm vi nghiên cứu áp dụng cho các mô hình quy trình nghiệp vụ chuẩn BPMN, với các trường hợp thử nghiệm thực tế như hệ thống thư viện trường học (School Library System).

Giải pháp đề xuất không chỉ giúp tiết kiệm chi phí và thời gian phát triển mà còn đảm bảo tính chính xác, đầy đủ của mô hình ca sử dụng, góp phần nâng cao chất lượng sản phẩm phần mềm và hỗ trợ quản lý dự án hiệu quả hơn.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết áp dụng

Luận văn dựa trên kỹ nghệ hướng mô hình (Model-Driven Engineering - MDE), một phương pháp phát triển phần mềm sử dụng mô hình làm trung tâm. MDE bao gồm các khái niệm chính như mô hình (Model), siêu mô hình (Metamodel) và chuyển đổi mô hình (Model Transformation). Trong đó, chuyển đổi mô hình được chia thành hai loại chính: model-to-model (M2M) và model-to-text (M2T). Luận văn tập trung vào chuyển đổi M2M sử dụng ngôn ngữ ATL, một công cụ hỗ trợ chuyển đổi mô hình hiệu quả trên nền tảng Eclipse.

Mô hình quy trình nghiệp vụ BPMN được sử dụng làm mô hình nguồn, với các phần tử chính gồm Flow Objects (Event, Activity, Gateway), Connecting Objects (Sequence Flow, Message Flow, Association) và Swimlanes (Pool, Lane). BPMN là tiêu chuẩn quốc tế ISO/IEC 19510:2013, được sử dụng rộng rãi trong quản lý quy trình nghiệp vụ.

Mô hình ca sử dụng (Use Case) thuộc ngôn ngữ UML (Unified Modeling Language) được chọn làm mô hình đích. Các khái niệm chính gồm Actor, Use Case và các quan hệ như Association, Include, Extend, Dependency. Use Case mô tả các tương tác giữa người dùng và hệ thống, giúp xác định chức năng phần mềm một cách trực quan.

Phương pháp nghiên cứu

Nguồn dữ liệu nghiên cứu bao gồm các mô hình BPMN chuẩn được thiết kế bằng công cụ Eclipse BPMN2 Modeler và các mô hình Use Case được biểu diễn bằng Eclipse Papyrus. Phương pháp nghiên cứu gồm các bước:

  1. Phân tích siêu mô hình BPMN và Use Case để xác định sự tương quan giữa các phần tử.
  2. Xây dựng bộ quy tắc chuyển đổi (rules) ánh xạ các phần tử BPMN sang Use Case, bao gồm 10 luật chuyển đổi chính cho đối tượng, quan hệ và dữ liệu.
  3. Cài đặt chương trình chuyển đổi BPMN2UseCase sử dụng ngôn ngữ ATL trên nền tảng Eclipse Modeling Framework.
  4. Thực nghiệm với bộ test-cases gồm 14 mô hình quy trình nghiệp vụ, trong đó có mô hình thư viện trường học (School Library System).
  5. Đánh giá kết quả dựa trên các tiêu chí tính ổn định, tính đúng đắn và tính đầy đủ của mô hình ca sử dụng sinh ra.

Quá trình nghiên cứu kéo dài trong năm 2022 tại Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội, với sự hướng dẫn của TS. Đặng Đức Hạnh.

Kết quả nghiên cứu và thảo luận

Những phát hiện chính

  1. Tự động sinh mô hình ca sử dụng từ mô hình BPMN: Chương trình BPMN2UseCase đã tự động chuyển đổi thành công 15 Task thành 15 Use Case, 4 Participant thành 4 Actor trong mô hình thư viện trường học, đảm bảo tính đúng đắn với tỉ lệ sai sót rất thấp.

  2. Mở rộng quan hệ trong mô hình ca sử dụng: So với phương pháp thủ công, mô hình sinh tự động có 22 Use Case, 22 Association giữa Actor và Use Case, 20 Association giữa các Use Case (bao gồm include, extend, precedes), tăng khoảng 47% số lượng Use Case và đa dạng hóa các quan hệ, giúp mô hình phong phú và chi tiết hơn.

  3. Hiệu quả về thời gian và chi phí: Thuật toán chuyển đổi có độ phức tạp O(n), cho phép xử lý nhanh các mô hình quy trình nghiệp vụ có quy mô lớn. Việc tự động hóa giảm thiểu đáng kể công sức và thời gian so với phương pháp thủ công.

  4. Tính ổn định và đúng định dạng: Qua 14 test-cases, chương trình chạy ổn định, không phát sinh lỗi, kết quả đầu ra tuân thủ chuẩn XMI, dễ dàng tích hợp với các công cụ UML để biểu diễn đồ họa.

Thảo luận kết quả

Nguyên nhân chính của thành công là việc xây dựng bộ quy tắc chuyển đổi dựa trên phân tích kỹ lưỡng siêu mô hình BPMN và Use Case, bao gồm cả các quan hệ phức tạp như Extend và Include, cũng như quan hệ dữ liệu với Data Store và Data Object. So với các nghiên cứu trước đây chỉ tập trung vào chuyển đổi thủ công hoặc thuật toán đơn giản, phương pháp này cung cấp mô hình đầu ra chi tiết và giàu thông tin hơn.

Kết quả phù hợp với các nghiên cứu trong ngành về lợi ích của kỹ nghệ hướng mô hình và chuyển đổi mô hình tự động trong phát triển phần mềm. Việc sử dụng ngôn ngữ ATL và nền tảng Eclipse giúp tăng tính khả thi và dễ dàng mở rộng trong thực tế.

Dữ liệu có thể được trình bày qua biểu đồ so sánh số lượng Use Case và các quan hệ giữa mô hình sinh tự động và mô hình thủ công, cũng như bảng đánh giá các tiêu chí ổn định, đúng đắn và đầy đủ.

Đề xuất và khuyến nghị

  1. Triển khai rộng rãi công cụ BPMN2UseCase trong các dự án phần mềm doanh nghiệp: Động từ hành động là "áp dụng", mục tiêu là tăng tỷ lệ tự động hóa pha yêu cầu lên ít nhất 50% trong vòng 12 tháng, chủ thể thực hiện là các nhóm phát triển phần mềm và quản lý dự án.

  2. Đào tạo nhân lực về kỹ thuật chuyển đổi mô hình và sử dụng công cụ ATL: Tổ chức các khóa đào tạo chuyên sâu trong 6 tháng nhằm nâng cao năng lực kỹ thuật cho đội ngũ phân tích và phát triển phần mềm.

  3. Mở rộng bộ quy tắc chuyển đổi để hỗ trợ các loại mô hình nghiệp vụ phức tạp hơn: Nghiên cứu và phát triển thêm các luật chuyển đổi cho các phần tử BPMN nâng cao, dự kiến hoàn thành trong 18 tháng, do nhóm nghiên cứu và phát triển phần mềm thực hiện.

  4. Tích hợp công cụ BPMN2UseCase với các nền tảng quản lý dự án và phát triển phần mềm hiện có: Phát triển các plugin hoặc API để kết nối với các công cụ như Jira, GitLab nhằm tối ưu quy trình làm việc, hoàn thành trong 12 tháng.

Đối tượng nên tham khảo luận văn

  1. Nhà phát triển phần mềm và kỹ sư phân tích yêu cầu: Giúp họ hiểu và áp dụng kỹ thuật chuyển đổi mô hình tự động, tiết kiệm thời gian trong pha yêu cầu và nâng cao chất lượng đặc tả.

  2. Quản lý dự án phần mềm: Cung cấp công cụ và phương pháp để kiểm soát tiến độ, giảm thiểu rủi ro do sai sót trong yêu cầu, từ đó nâng cao hiệu quả quản lý.

  3. Giảng viên và sinh viên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm: Là tài liệu tham khảo quý giá về kỹ nghệ hướng mô hình, chuyển đổi mô hình và ứng dụng thực tiễn trong phát triển phần mềm.

  4. Các tổ chức, doanh nghiệp có quy trình nghiệp vụ phức tạp: Hỗ trợ tự động hóa việc chuyển đổi quy trình nghiệp vụ thành các yêu cầu phần mềm, giảm chi phí và tăng tốc độ phát triển sản phẩm.

Câu hỏi thường gặp

  1. Phương pháp BPMN2UseCase có áp dụng được cho mọi loại mô hình BPMN không?
    Phương pháp chủ yếu hỗ trợ các mô hình BPMN chuẩn với các phần tử cơ bản như Task, Participant, Gateway. Với các mô hình phức tạp hơn, cần mở rộng bộ quy tắc chuyển đổi. Ví dụ, mô hình thư viện trường học đã được thử nghiệm thành công với 15 Use Case và 4 Actor.

  2. Độ chính xác của mô hình ca sử dụng sinh tự động so với phương pháp thủ công như thế nào?
    Mô hình sinh tự động có số lượng Use Case và quan hệ phong phú hơn, tăng khoảng 47% so với phương pháp thủ công, đồng thời giảm thiểu sai sót do con người. Kết quả được đánh giá qua 14 test-cases với tỉ lệ lỗi rất thấp.

  3. Công cụ nào được sử dụng để cài đặt và thực thi chương trình chuyển đổi?
    Chương trình được phát triển trên nền tảng Eclipse sử dụng ngôn ngữ ATL và Eclipse Modeling Framework (EMF). Công cụ Eclipse BPMN2 Modeler dùng để tạo mô hình BPMN đầu vào, Eclipse Papyrus để biểu diễn mô hình Use Case đầu ra.

  4. Phương pháp này có thể giúp tiết kiệm thời gian phát triển phần mềm như thế nào?
    Việc tự động sinh mô hình ca sử dụng từ mô hình nghiệp vụ giúp giảm đáng kể thời gian phỏng vấn, phân tích và thiết kế yêu cầu, tiết kiệm nguồn lực và đẩy nhanh tiến độ dự án. Thuật toán có độ phức tạp O(n) phù hợp với các hệ thống quy mô lớn.

  5. Có thể tích hợp BPMN2UseCase với các công cụ quản lý dự án hiện có không?
    Hiện tại, BPMN2UseCase hoạt động độc lập nhưng có thể phát triển thêm các plugin hoặc API để tích hợp với các nền tảng quản lý dự án như Jira hoặc GitLab, giúp đồng bộ hóa quy trình làm việc và quản lý yêu cầu hiệu quả hơn.

Kết luận

  • Luận văn đã xây dựng thành công phương pháp tự động sinh mô hình ca sử dụng từ mô hình quy trình nghiệp vụ BPMN dựa trên chuyển đổi mô hình và kỹ thuật ATL.
  • Bộ quy tắc chuyển đổi gồm 10 luật chính giúp ánh xạ chính xác các phần tử và quan hệ giữa hai mô hình, nâng cao tính đầy đủ và chi tiết của mô hình đầu ra.
  • Chương trình BPMN2UseCase được cài đặt trên nền tảng Eclipse, chạy ổn định và cho kết quả đúng định dạng, phù hợp với các công cụ mô hình hóa UML phổ biến.
  • Thực nghiệm với mô hình thư viện trường học và 14 test-cases khác cho thấy phương pháp có hiệu quả cao, tiết kiệm thời gian và chi phí so với phương pháp thủ công.
  • Các bước tiếp theo bao gồm mở rộng bộ quy tắc chuyển đổi, tích hợp công cụ với hệ thống quản lý dự án và đào tạo nhân lực để ứng dụng rộng rãi trong thực tế.

Hành động ngay hôm nay để áp dụng kỹ thuật chuyển đổi mô hình tự động, nâng cao hiệu quả phát triển phần mềm và giảm thiểu rủi ro trong dự án của bạn!