Tổng quan luận án

Luận án tiến sĩ của tác giả John C. Zubeck, bảo vệ năm 2006 tại Trường Công nghệ Thông tin và Kỹ thuật Volgenau thuộc Đại học George Mason (Hoa Kỳ), tập trung giải quyết vấn đề kiểm tra tính hợp lệ và tính nhất quán của các mô hình UML (Unified Modeling Language) trong thiết kế phần mềm ứng dụng doanh nghiệp. Người hướng dẫn khoa học của luận án là Giáo sư David C. Rine.

Tính cấp thiết và khoảng trống nghiên cứu

Trong thực tiễn kỹ nghệ phần mềm, các nghiên cứu đối với những dự án do chính phủ liên bang Hoa Kỳ tài trợ chỉ ra rằng có tới 80% hệ thống phần mềm dù được xây dựng chính xác về mặt kỹ thuật (thỏa mãn mô hình thiết kế) nhưng lại không hợp lệ đối với nhu cầu vận hành thực tế của doanh nghiệp (không đáp ứng mô hình phân tích nghiệp vụ). Mặc dù chuẩn UML đã trở thành phương tiện trực quan hóa phổ biến trong phân tích và thiết kế hệ thống, các công cụ hỗ trợ kiểm tra UML tự động thương mại đương thời—tiêu biểu là Rational Rose UML-Checker (RRUC) của hãng IBM/Rational—chỉ thực hiện kiểm tra đối sánh chuỗi văn bản đơn thuần giữa các bản vẽ. RRUC hoàn toàn thiếu khả năng kiểm tra ngữ nghĩa nghiệp vụ, không phát hiện được sự thiếu sót của các thành phần chức năng thiết yếu, không kiểm tra quan hệ phụ thuộc giữa các khối thành phần, và không có cơ chế hướng dẫn tái sử dụng tài sản phần mềm.

Mục tiêu và giả thuyết nghiên cứu

Mục tiêu chính của luận án là xây dựng và kiểm chứng một công cụ kiểm tra mô hình UML thử nghiệm có khả năng phân tích ngữ nghĩa theo miền nghiệp vụ, đồng thời đề xuất một quy trình hỗ trợ tái sử dụng phần mềm. Các giả thuyết nghiên cứu được xác định cụ thể như sau:

  • Giả thuyết tổng quát (General Hypothesis): Một công cụ kiểm tra mô hình UML thử nghiệm mang tính chứng minh khái niệm (Experimental UML-Model-Checker - EUMC) có thể phát hiện các lỗi mô hình UML mà công cụ chuẩn công nghiệp (IBM/Rational Rose UML-Checker - RRUC) không phát hiện được; đồng thời EUMC tương thích với phương pháp luận Hệ thống miền UML nạp sẵn đặc thù (Specific-Pre-loaded-UML-Domain-System - SPUDS) nhằm thúc đẩy tái sử dụng.
  • Giả thuyết phụ thứ nhất (First Sub-Hypothesis - Mục 2.2.1): Phần mềm chứng minh khái niệm EUMC phát hiện được các lỗi mô hình UML mà công cụ kiểm tra chuẩn công nghiệp RRUC bỏ sót.
  • Giả thuyết phụ thứ hai (Second Sub-Hypothesis - Mục 2.2.2): Phương pháp luận mô hình hóa UML SPUDS thúc đẩy một cách có hệ thống việc tái sử dụng phần mềm và có thể áp dụng song hành cùng công cụ EUMC.

Đối tượng và phạm vi nghiên cứu

  • Đối tượng nghiên cứu: Các phần tử mô hình UML (Use Case Diagrams, Class Diagrams, Packages), quy tắc kiểm tra tính hợp lệ về mặt cấu trúc và ngữ nghĩa của mô hình, và cơ chế chuyển đổi dữ liệu mô hình từ định dạng XMI/XML sang mạng ngữ nghĩa.
  • Phạm vi nghiệp vụ: Miền ứng dụng phần mềm kế toán doanh nghiệp (Business Accounting Systems), bao gồm các phân hệ chức năng: Sổ cái chung (General Ledger), Kho hàng (Inventory), Công nợ phải thu (Accounts Receivable), Bảng hệ thống tài khoản (Chart of Accounts), Tiền mặt, Thu nhập và Chi phí.
  • Phạm vi kỹ thuật và thời gian: Nghiên cứu được triển khai dựa trên chuẩn UML phiên bản 1.x/2.0, công cụ IBM Rational Rose phiên bản 8.0, định dạng trao đổi XMI, và được đo kiểm hiệu năng trên cấu hình máy tính cá nhân tiêu chuẩn năm 2006 chạy hệ điều hành Microsoft Windows XP.

Tổng quan tài liệu và vị trí của luận án

Các hướng nghiên cứu tiền đề

Tác giả đã hệ thống hóa các tài liệu và công trình nghiên cứu nền tảng thuộc nhiều nhánh kỹ nghệ phần mềm:

  • Ngôn ngữ và chuẩn mô hình hóa: Sự hợp nhất các phương pháp luận của Grady Booch, James Rumbaugh và Ivar Jacobson để hình thành chuẩn UML dưới sự quản lý của Object Management Group (OMG); các công trình phân tích tổng quan của Alhir (2002) về UML; so sánh với các kỹ thuật trực quan hóa truyền thống như sơ đồ Wernier-Orr (thập niên 1980) và Sơ đồ luồng dữ liệu (Data Flow Diagrams - DFDs).
  • Vòng đời phát triển phần mềm (SDLC): Dự án COCOMO và mô hình vòng đời xoắn ốc (Spiral Model) của Barry Boehm (1988, 1995); biểu đồ phân bổ nỗ lực dạng bãi cát ("sand chart") của Rational Software; quy trình công nghệ phát triển phần mềm của Bộ Quốc phòng Hoa Kỳ (DoD); các chiến lược vòng đời thiết kế theo tiến độ (design-to-schedule) và tiến hóa mẫu thử của Steve McConnell (1997).
  • Trừu tượng hóa, tái cấu trúc và mẫu thiết kế: Nguyên lý trừu tượng hóa phân tầng của Steve McConnell (1997); định nghĩa và quy trình tái cấu trúc mô hình (Refactoring) của Martin Fowler (2003); mẫu thiết kế phần mềm kinh điển của Gamma, Helm, Johnson, Vlissides (GoF, 1994); mô hình lớp mẫu thiết kế của Jiri Soukup (1995); ranh giới lớp mẫu của Peter Coad.
  • Tái sử dụng phần mềm và kiến trúc thành phần: Khung phân loại năng lực tái sử dụng của Software Productivity Consortium (SPC); danh mục các chế độ thất bại trong tái sử dụng phần mềm của William Frakes; vấn đề không tương thích kiến trúc khi tích hợp thành phần thương mại COTS của Garlan, Allen và Ockerbloom (1995); giải pháp bản đồ thành phần của SAP (SAP Solution Maps); công nghệ phát triển dựa trên thành phần như CORBA của OMG, Telon, Magic MSE và Microsoft Wizards/Agents.
  • Hệ chuyên gia và trợ lý phần mềm thông minh: Khung mô hình giảng dạy thông minh của MIT (Intelligent Tutoring Systems); cơ chế đưa ra lời khuyên chủ động của Zellermayer; công cụ trợ giúp thiết kế lập trình SPADE của Goldstein và Miller; hệ thống PROUST của W. Lewis Johnson và Elliot Soloway (sử dụng mục tiêu thiết kế để khóa lỗi lập trình); đại lý thông minh hỗ trợ lập trình của Ted Selker tại IBM.
  • Biểu diễn tri thức và tích hợp mô hình: Lý thuyết hợp nhất các mô hình ngữ nghĩa rời rạc của Boman, Bubenko, Johannesson và Wangler (1997).

Khoảng trống nghiên cứu được lựa chọn

Mặc dù các nghiên cứu trước đã phát triển nhiều kỹ thuật phân tích tĩnh cho mã nguồn hoặc tạo mã tự động từ mô hình (Model Driven Architecture - MDA), các công cụ mô hình hóa UML thương mại đương thời vẫn để ngỏ khoảng trống lớn: thiếu vắng một công cụ kiểm tra tự động ở mức trừu tượng ngữ nghĩa có khả năng thẩm tra sự hài hòa giữa ba thành phần: khái niệm doanh nghiệp (Enterprise), khái niệm miền nghiệp vụ (Domain/Accounting), và các khối thành phần phần mềm chuẩn hóa (Software Business Objects).


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

Khung lý thuyết và mô hình ba lớp

Luận án xây dựng cơ sở lý thuyết dựa trên việc hợp nhất ba mô hình ngữ nghĩa độc lập thành một không gian biểu diễn tri thức thống nhất:

  1. Mô hình Khái niệm Doanh nghiệp (Enterprise Concept Sub-Model): Đại diện cho cơ cấu tổ chức, phòng ban, vai trò người dùng (Actor), mục tiêu và chính sách doanh nghiệp.
  2. Mô hình Khái niệm Nghiệp vụ Kế toán (Accounting Domain Sub-Model): Chứa đựng các thực thể kế toán chuẩn như Sổ cái, Công nợ, Kho bãi, Bảng tài khoản, giao dịch tài chính và các quan hệ ràng buộc kế toán kép.
  3. Mô hình Khối thành phần Phần mềm (Software Component Sub-Model): Gồm các đối tượng kinh doanh phần mềm chuẩn hóa có thể tái sử dụng (GUI DropDown ListBox, DataGrid, Bảng lưu trữ CSDL SQL, Khối xử lý tiến trình).
+-------------------------------------------------------------+
|              MO HINH HOP NHAT TRONG LUAN AN                 |
+------------------------------+------------------------------+
| 1. Khai niem Doanh nghiep    | Phong ban, Actor, Vai tro    |
+------------------------------+------------------------------+
| 2. Nghiep vu Ke toan         | So cai, Cong no, Kho, CSDL   |
+------------------------------+------------------------------+
| 3. Thanh phan Phan mem       | GUI, DataGrid, Table, Code   |
+------------------------------+------------------------------+

Hệ thống phân loại quy tắc kiểm tra (EUMC Rules)

Công cụ EUMC phân tích các Định danh Đối tượng (Object Identifiers - OID) được trích xuất từ sơ đồ UML qua tệp trung gian XMI/XML, sau đó áp dụng hệ thống quy tắc được định nghĩa bằng văn phạm BNF (Backus-Naur Form). Các quy tắc kiểm tra được phân chia thành 5 nhóm cấu trúc:

  • Quy tắc Thành phần Bắt buộc (Required Element Rules): Kiểm tra sự hiện diện của các thành phần cốt lõi bắt buộc phải có trong một miền nghiệp vụ (ví dụ: mô hình kế toán bắt buộc phải có bảng Sổ cái chung).
  • Quy tắc Hỗ trợ Thành phần (Element-Support Rules): Đảm bảo một phần tử chức năng phải có đầy đủ các phần tử hạ tầng hỗ trợ (ví dụ: màn hình giao diện nhập liệu phải gắn kết với bảng dữ liệu tương ứng).
  • Quy tắc Xung đột Thành phần (Element-Conflict Rules): Phát hiện các thành phần không tương thích hoặc mâu thuẫn về mặt kiến trúc/nghiệp vụ khi cùng xuất hiện trong một gói mô hình.
  • Quy tắc Thành phần Bổ sung (Complimentary-Element Rules): Kiểm tra và đề xuất các thành phần đi kèm cần thiết để hoàn thiện chuỗi xử lý nghiệp vụ.
  • Quy tắc Phân loại Thành phần (CATEGORY-Element Rules): Gán nhãn phân loại ngữ nghĩa cho các định danh đối tượng nhằm tổ chức không gian kiểm tra.

Hệ thống quy tắc được thiết kế có tính chất hủy bỏ được (defeasibility), xử lý các tập luật phi đơn điệu (non-monotonic) và chủ động tránh các phát biểu quy tắc dưới dạng phủ định tuyệt đối.

Phương pháp luận SPUDS

Phương pháp SPUDS (Specific-Pre-loaded-UML-Domain-System) cung cấp quy trình mô hình hóa trực quan:

  • Cung cấp một khung vẽ khởi tạo (Accepted Model Canvas).
  • Cho phép người phát triển kéo-thả các phần tử UML ứng viên (Candidate UML Elements) từ thư viện nạp sẵn gồm các thành phần COTS, thành phần di sản (legacy), và các mẫu thiết kế.
  • Chuyển giao các phần tử ứng viên sang mô hình chính thức sau khi vượt qua kiểm tra của EUMC.

Phương pháp thực nghiệm và kiểm chứng

Nghiên cứu áp dụng phương pháp hỗn hợp thực nghiệm kỹ nghệ phần mềm bao gồm:

  • Thử nghiệm phân vùng tương đương (Equivalence Partition Testing): So sánh trực tiếp khả năng phát hiện lỗi giữa EUMC và RRUC trên các tập ca kiểm thử chứa các nhóm lỗi mô hình điển hình.
  • Đo kiểm chuẩn hiệu năng phần cứng (Benchmarking): Đo lường mức tiêu thụ tài nguyên CPU, bộ nhớ và thời gian thực thi của EUMC/SPUDS bằng công cụ Windows XP Performance Monitor trên máy tính xách tay tiêu chuẩn năm 2006.
  • Nghiên cứu tình huống chuyên gia (Case Study with SME): Mời một chuyên gia UML độc lập xây dựng mô hình cho bài toán nghiệp vụ thực tế, sử dụng công cụ EUMC/SPUDS và đánh giá thông qua phiếu khảo sát câu hỏi đóng/mở.

Nội dung chính theo từng chương

Chương 1: Giới thiệu (Introduction)

Chương 1 thiết lập bối cảnh thực tiễn của ngành công nghiệp phần mềm khi thiếu vắng các quy trình mô hình hóa trực quan. Tác giả sử dụng nghiên cứu tình huống tại "Tập đoàn Reston" (Reston Corporation) vào năm 1999 để minh họa sự thất bại của việc phát triển phần mềm tùy biến hoàn toàn (custom-programming) từ đầu mà không sử dụng các khối thành phần tái sử dụng hoặc COTS. Sơ đồ Use Case và Class Diagram được giới thiệu như một bản thiết kế chung làm trung gian giao tiếp giữa các bên liên quan (lập trình viên, kiểm thử viên, quản lý, khách hàng). Chương này cũng giới thiệu khái niệm mức độ trừu tượng chiến lược trong đặt tên phần tử UML, khái niệm tái cấu trúc mô hình (refactoring), tổng quan cấu trúc mô hình ba tầng (Doanh nghiệp - Nghiệp vụ kế toán - Thành phần phần mềm), và tóm lược 9 đóng góp cốt lõi của luận án.

Chương 2: Phát biểu vấn đề và Giả thuyết nghiên cứu (Problem Statement and Hypothesis)

Chương 2 phân tích chi tiết các hạn chế của công cụ kiểm tra chuẩn công nghiệp Rational Rose UML-Checker (RRUC). Tác giả liệt kê 7 thiếu sót cơ bản của RRUC:

  1. Không kiểm tra tính hợp lý của việc đặt tên phần tử và gói UML.
  2. Không kiểm tra sự thiếu sót của các loại phần tử chức năng quan trọng theo miền nghiệp vụ.
  3. Không kiểm tra quan hệ phụ thuộc giữa các loại phần tử khác nhau (ví dụ: GUI và bảng CSDL).
  4. Không kiểm tra tính tương thích về bản số (implied cardinality, ví dụ: 1 ô TextBox hiển thị 100 bản ghi).
  5. Không kiểm tra và khuyến khích việc sử dụng các thành phần phần mềm tái sử dụng (COTS, đối tượng kinh doanh chuẩn).
  6. Không cung cấp phản hồi về tính đầy đủ của mô hình đối với một miền nghiệp vụ cụ thể (như kế toán).
  7. Không tích hợp quy trình thiết kế mô hình hóa UML có tính đồng bộ từng bước.

Từ các hạn chế này, tác giả thiết lập Giả thuyết nghiên cứu tổng quát cùng hai Giả thuyết phụ làm kim chỉ nam cho toàn bộ luận án.

Chương 3: Bối cảnh nghiên cứu (Background)

Chương 3 tổng quan sâu rộng về lịch sử mô hình hóa phần mềm, so sánh UML với các kỹ thuật sơ đồ tiền nhiệm (Wernier-Orr, DFDs). Tác giả phân tích tác động của mô hình hóa UML lên các mô hình vòng đời phần mềm khác nhau (Thác nước, Vòng đời dự án song song của Bộ Quốc phòng DoD, Mô hình xoắn ốc của Boehm, Quy trình RUP của IBM/Rational). Miền nghiệp vụ kế toán được lựa chọn làm điển hình nhờ tính chuẩn hóa cao của các quy tắc và cấu trúc dữ liệu. Chương này cũng mổ xẻ các rào cản kỹ thuật trong việc hỗ trợ mô hình hóa tự động: biểu diễn tri thức đa tầng, sự khác biệt giữa các ngành công nghiệp, xung đột mẫu thiết kế, ánh xạ UML sang cấu trúc cơ sở dữ liệu quan hệ (SQL), sự phụ thuộc nền tảng phần cứng/hệ điều hành, và sự méo mó mô hình do yêu cầu tương thích ngược với hệ thống di sản hoặc thành phần COTS. Cuối cùng, chương điểm lại các tiến bộ trong tái sử dụng phần mềm và các hệ thống trợ lý lập trình thông minh trong lịch sử nghiên cứu học thuật.

Chương 4: Xây dựng công cụ kiểm tra mô hình UML cải tiến (Constructing an Improved UML-Model-Checker)

Chương 4 mô tả chi tiết kiến trúc, giải thuật và quá trình cài đặt công cụ EUMC cùng phương pháp SPUDS. Tác giả giải quyết bài toán biểu diễn tri thức bằng cách trích xuất định danh đối tượng (OID) từ sơ đồ UML của Rational Rose sang tệp XMI/XML, sau đó chuyển đổi thành mạng ngữ nghĩa các tên phần tử. Chương này trình bày chi tiết cú pháp BNF của các tập quy tắc kiểm tra, cách thức phân loại quy tắc (Required, Support, Conflict, Complimentary, Category), cơ chế lập luận phi đơn điệu và tính hủy bỏ được của luật. Toàn bộ nguyên mẫu EUMC được lập trình hoàn chỉnh bằng môi trường Visual Basic / Excel VBA kết hợp các mô-đun phân tích cú pháp XMI. Phương pháp SPUDS được mô tả từng bước với cơ chế kéo-thả các khối thành phần định sẵn từ các gói giải pháp doanh nghiệp.

Chương 5: Đánh giá và kiểm chứng (Validation)

Chương 5 trình bày phương pháp luận đánh giá hệ thống phần mềm thực nghiệm. Ba quy trình kiểm chứng chính được thiết lập:

  1. Kiểm tra chuẩn phần cứng và phần mềm: Thiết lập môi trường đo kiểm trên máy tính xách tay tiêu chuẩn (Dell Laptop, Windows XP Professional, bộ nhớ RAM tiêu chuẩn 2006) nhằm chứng minh EUMC và SPUDS có thể vận hành ổn định trên máy tính cá nhân thông thường mà không đòi hỏi siêu máy tính.
  2. Kiểm tra phân vùng tương đương (Equivalence Partition Testing): Xây dựng các ca kiểm thử mô hình chứa các nhóm lỗi ngữ nghĩa và cấu trúc để so sánh khả năng cảnh báo lỗi giữa EUMC và RRUC.
  3. Nghiên cứu tình huống với Chuyên gia (SME Case Study): Thiết kế bài toán mô hình hóa nghiệp vụ kế toán thực tế, yêu cầu một chuyên gia mô hình hóa UML độc lập xây dựng mô hình, áp dụng EUMC/SPUDS và trả lời bảng câu hỏi khảo sát đánh giá định tính/định lượng.

Chương 6: Kết quả nghiên cứu (Results)

Chương 6 báo cáo chi tiết các số liệu thu được từ các hoạt động kiểm chứng:

  • Dữ liệu từ công cụ Windows XP Performance Monitor cho thấy EUMC và SPUDS tiêu tốn tài nguyên hệ thống ở mức thấp, thời gian phân tích và kiểm tra tệp XMI diễn ra nhanh chóng, đáp ứng yêu cầu tương tác thời gian thực trên phần cứng tiêu chuẩn 2006.
  • Kết quả kiểm tra phân vùng tương đương cho thấy EUMC phát hiện chính xác tất cả các lỗi thuộc 5 nhóm quy tắc kiểm tra ngữ nghĩa, trong khi công cụ RRUC bỏ qua toàn bộ các lỗi liên quan đến thiếu thành phần bắt buộc, xung đột nghiệp vụ, sai lệch bản số và thiếu liên kết phụ thuộc.
  • Báo cáo tổng hợp câu trả lời và phản hồi chi tiết của Chuyên gia (SME) trong nghiên cứu tình huống, khẳng định tính hữu dụng của các cảnh báo lỗi và quy trình kéo-thả SPUDS.

Chương 7: Phân tích và diễn giải kết quả (Interpretation of Results)

Chương 7 đối chiếu các kết quả thực nghiệm với các giả thuyết đã đặt ra tại Chương 2. Tác giả khẳng định Giả thuyết tổng quát cùng hai Giả thuyết phụ đều được xác nhận hoàn toàn. Việc EUMC phát hiện được các lỗi ngữ nghĩa mà RRUC bỏ sót chứng minh tính khả thi của việc tiếp cận kiểm tra mô hình ở mức trừu tượng ngữ nghĩa. Tác giả phân tích các yếu tố gây nhiễu trong thực nghiệm kỹ nghệ phần mềm và lý giải tại sao việc phân loại quy tắc theo 5 nhóm cấu trúc giúp tối ưu hóa quá trình lập luận tự động mà không làm bùng nổ không gian trạng thái.

Chương 8: Kết luận và hướng phát triển tương lai (Conclusions and Future Work)

Chương 8 tổng kết toàn bộ công trình nghiên cứu. Tác giả đề xuất hai hướng nghiên cứu tiếp nối quan trọng:

  1. Tích hợp công cụ EUMC vào các khung kiến trúc hướng mô hình (Model Driven Architecture - MDA) để tự động hóa hoàn toàn từ khâu kiểm tra mô hình đến sinh mã nguồn thực thi.
  2. Cài đặt lại và mở rộng bộ quy tắc EUMC bằng ngôn ngữ lập trình logic Prolog (đã được tác giả xây dựng mã nguồn thử nghiệm ban đầu trong Phụ lục M) nhằm nâng cao năng lực suy diễn tự động và kiểm tra tính nhất quán chéo giữa mô hình cấu trúc doanh nghiệp và mô hình phần mềm.

Kết quả và những đóng góp mới

Bảng tổng hợp so sánh tính năng giữa EUMC và RRUC

Tiêu chí kiểm tra mô hình UML Công cụ chuẩn công nghiệp (RRUC) Công cụ thử nghiệm của luận án (EUMC)
Kiểm tra chuỗi định danh sơ đồ trùng khớp Có hỗ trợ Có hỗ trợ
Kiểm tra tính hợp lý của tên phần tử theo miền Không hỗ trợ Có hỗ trợ (dựa trên từ điển OID)
Kiểm tra sự thiếu sót thành phần cốt lõi Không hỗ trợ Có hỗ trợ (Required Element Rules)
Kiểm tra quan hệ phụ thuộc cấu trúc (GUI - Data) Không hỗ trợ Có hỗ trợ (Element-Support Rules)
Phát hiện xung đột giữa các phần tử mô hình Không hỗ trợ Có hỗ trợ (Element-Conflict Rules)
Kiểm tra bản số ngầm định (Implied Cardinality) Không hỗ trợ Có hỗ trợ
Khuyến khích tái sử dụng COTS và Mẫu thiết kế Không hỗ trợ Có hỗ trợ (tích hợp qua SPUDS)
Kiểm tra ngữ nghĩa miền kế toán doanh nghiệp Không hỗ trợ Có hỗ trợ (Sổ cái, Công nợ, Kho,...)

Những đóng góp mới của luận án

  1. Đóng góp về lý luận và phương pháp:

    • Đề xuất mô hình tích hợp tri thức ba tầng (Doanh nghiệp - Nghiệp vụ kế toán - Khối thành phần phần mềm) giúp đồng bộ hóa mô hình phân tích (modeling-for-analysis) và mô hình thiết kế (modeling-for-design).
    • Xây dựng hệ thống phân loại 5 nhóm quy tắc kiểm tra ngữ nghĩa UML với cú pháp BNF chuẩn hóa, giải quyết bài toán lập luận phi đơn điệu trong kiểm tra mô hình phần mềm.
    • Phát triển phương pháp luận SPUDS tổ chức quy trình mô hình hóa UML theo hướng ưu tiên tái sử dụng tài sản phần mềm có sẵn (COTS, di sản, mẫu thiết kế).
  2. Đóng góp về thực tiễn và kỹ thuật:

    • Xây dựng thành công công cụ phần mềm thử nghiệm EUMC (sử dụng Visual Basic / Excel VBA) có khả năng nhập và phân tích cú pháp tệp dữ liệu XMI xuất ra từ công cụ chuẩn công nghiệp Rational Rose.
    • Cung cấp tập mã nguồn Prolog hoàn chỉnh (Phụ lục M) mô hình hóa cấu trúc doanh nghiệp và các quy tắc suy diễn kiểm tra quan hệ giữa mô hình kế toán và phần mềm.
    • Cung cấp tài liệu hướng dẫn và tập thư viện thành phần nạp sẵn cho miền kế toán doanh nghiệp (Phụ lục B).

Hạn chế và hướng nghiên cứu tiếp

Hạn chế được ghi nhận trong văn bản

  • Phạm vi miền nghiệp vụ: Bộ quy tắc và dữ liệu kiểm thử của EUMC mới chỉ tập trung chuyên sâu vào miền phần mềm kế toán doanh nghiệp vừa và nhỏ; chưa mở rộng sang các miền kỹ thuật đặc thù cao như hệ thống nhúng điều khiển robot hay hệ thống thời gian thực nghiêm ngặt.
  • Nền tảng cài đặt thử nghiệm: Nguyên mẫu EUMC được phát triển trên môi trường Visual Basic / Microsoft Excel VBA mang tính chứng minh khái niệm, chưa được đóng gói thành một tiện ích mở rộng (add-in) nhúng trực tiếp hoàn toàn vào lõi của phần mềm Rational Rose hay các công cụ CASE khác.
  • Quy mô tập luật: Số lượng quy tắc ngữ nghĩa hiện tại được xây dựng thủ công dựa trên tài liệu chuẩn nghiệp vụ kế toán, chưa có cơ chế tự động học hoặc nạp động các tập quy tắc từ các bản đặc tả bản thể luận (Ontology) bên ngoài.

Hướng nghiên cứu tiếp theo

  • Tích hợp với Kiến trúc hướng mô hình (MDA): Kết nối trực tiếp công cụ kiểm tra ngữ nghĩa EUMC với các bộ sinh mã tự động (MDA tools) để đảm bảo mô hình sau khi được kiểm tra hợp lệ sẽ chuyển đổi thẳng thành mã nguồn phần mềm thực thi mà không làm phát sinh lỗi ngữ nghĩa.
  • Hiện thực hóa quy tắc kiểm tra bằng ngôn ngữ Prolog: Chuyển đổi toàn bộ logic kiểm tra sang hệ thống lập trình logic Prolog (dựa trên nền tảng thử nghiệm tại Phụ lục M) để khai thác tối đa sức mạnh của động cơ suy diễn (inference engine) trong việc kiểm tra tính nhất quán của các mạng ngữ nghĩa phức tạp trên quy mô lớn.

Giá trị tham khảo

Luận án cung cấp giá trị tham khảo thiết thực cho các nhóm đối tượng học thuật và công nghiệp:

  • Nghiên cứu sinh và học viên cao học ngành Công nghệ Thông tin / Kỹ nghệ Phần mềm: Có thể tham khảo phương pháp luận thiết kế thực nghiệm phần mềm (Chương 5), cách thức xây dựng cú pháp BNF cho hệ quy tắc kiểm tra mô hình (Chương 4), và kỹ thuật lập luận logic ứng dụng trong phân tích mô hình UML bằng ngôn ngữ Prolog (Phụ lục M).
  • Kỹ sư kiến trúc phần mềm và Chuyên viên phân tích nghiệp vụ (BA): Có thể áp dụng phương pháp luận SPUDS (Phụ lục B) để chuẩn hóa quy trình phân rã yêu cầu, tổ chức các gói phần tử UML theo mức độ trừu tượng phù hợp, và tối ưu hóa việc tái sử dụng các thành phần phần mềm COTS/Design Patterns.
  • Các nhà phát triển công cụ CASE (Computer-Aided Software Engineering): Tài liệu cung cấp bản phân tích chi tiết về 7 khoảng trống chức năng của công cụ Rational Rose (Chương 2, Phụ lục N), làm cơ sở để phát triển các mô-đun phân tích ngữ nghĩa tĩnh thế hệ mới cho các môi trường thiết kế UML.

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

1. Tại sao công cụ Rational Rose UML-Checker (RRUC) lại không đáp ứng được yêu cầu kiểm tra mô hình doanh nghiệp?

Theo phân tích tại Chương 2 và Phụ lục N của luận án, RRUC thực chất chỉ là một bộ kiểm tra cú pháp bề mặt, chủ yếu làm nhiệm vụ đối chiếu sự trùng khớp của các chuỗi ký tự định danh sơ đồ. RRUC không có tri thức về miền nghiệp vụ, do đó không thể nhận biết được việc người thiết kế đặt tên phần tử vô nghĩa (như "dog", "cat"), bỏ quên bảng Sổ cái chung trong hệ thống kế toán, hoặc thiết kế một trường giao diện đơn lẻ hiển thị đồng thời 100 bản ghi dữ liệu.

2. Mô hình tích hợp ba tầng của EUMC gồm những thành phần cụ thể nào?

Như được mô tả tại Mục 1.6 và Hình 3.7, EUMC tích hợp ba nhóm phần tử khái niệm:

  1. Mô hình Doanh nghiệp: Đại diện cho phòng ban, vai trò người dùng (Actor), mục tiêu tổ chức.
  2. Mô hình Nghiệp vụ Kế toán: Đại diện cho Sổ cái, Công nợ, Kho hàng, Bảng tài khoản.
  3. Mô hình Khối thành phần Phần mềm: Đại diện cho các đối tượng kinh doanh phần mềm chuẩn như giao diện người dùng (GUI Screen, DropDown ListBox, DataGrid), Bảng CSDL SQL và Khối mã nguồn xử lý tiến trình.

3. Phương pháp luận SPUDS hỗ trợ tái sử dụng phần mềm như thế nào?

Phương pháp luận SPUDS (Specific-Pre-loaded-UML-Domain-System, trình bày tại Mục 4.11 và Phụ lục B) tổ chức quy trình thiết kế gồm hai không gian: khung vẽ mô hình chính thức (Accepted Model Canvas) và danh mục các phần tử ứng viên (Candidate Elements). SPUDS cung cấp sẵn các gói phần tử UML đại diện cho phần mềm di sản (legacy), thành phần thương mại COTS, và các mẫu thiết kế (Design Patterns). Người phát triển chỉ cần kéo-thả các khối ứng viên vào mô hình và để EUMC tự động kiểm tra tính tương thích trước khi chấp thuận chính thức.

4. Năm nhóm quy tắc kiểm tra được cài đặt trong EUMC là gì?

Theo Mục 4.9 của luận án, 5 nhóm quy tắc được định nghĩa bao gồm:

  1. Required Element Rules: Kiểm tra sự tồn tại bắt buộc của các phần tử cốt lõi trong miền.
  2. Element-Support Rules: Kiểm tra quan hệ hỗ trợ cần thiết giữa các phần tử cấu trúc (ví dụ: GUI cần Bảng dữ liệu).
  3. Element-Conflict Rules: Phát hiện các phần tử xung đột, triệt tiêu lẫn nhau trong cùng một gói thiết kế.
  4. Complimentary-Element Rules: Rà soát các phần tử bổ trợ đi kèm để đảm bảo tính toàn vẹn chức năng.
  5. CATEGORY-Element Rules: Phân loại ngữ nghĩa cho các định danh đối tượng trong mô hình.

5. Tại sao luận án lại chọn ngôn ngữ Prolog cho định hướng phát triển tương lai?

Tại Chương 8 và Phụ lục M, tác giả chỉ ra rằng Prolog là ngôn ngữ lập trình logic khai báo rất phù hợp để biểu diễn các quan hệ ngữ nghĩa phức tạp và cây cấu trúc doanh nghiệp. Động cơ suy diễn của Prolog cho phép tự động kiểm tra tính nhất quán chéo giữa các sự kiện kế toán và cấu trúc phần mềm thông qua các luật suy diễn một cách ngắn gọn và chính xác hơn so với lập trình thủ tục truyền thống.


Kết luận

Luận án tiến sĩ của John C. Zubeck đã giải quyết thành công bài toán kiểm tra ngữ nghĩa mô hình UML cho các ứng dụng phần mềm doanh nghiệp thông qua việc phát triển công cụ EUMC và phương pháp luận SPUDS. Bằng việc kết hợp ba tầng tri thức (Doanh nghiệp, Nghiệp vụ kế toán, Khối thành phần phần mềm) và hệ thống 5 nhóm quy tắc kiểm tra ngữ nghĩa, nghiên cứu đã khắc phục được những khiếm khuyết cơ bản của các công cụ kiểm tra mô hình thương mại đương thời như Rational Rose. Các kết quả đo kiểm hiệu năng phần cứng, thử nghiệm phân vùng tương đương và nghiên cứu tình huống với chuyên gia đã chứng minh đầy đủ tính khả thi, độ chính xác và khả năng ứng dụng thực tiễn của giải pháp. Luận án đặt nền móng quan trọng cho các nghiên cứu tiếp nối về kiểm tra mô hình tự động kết hợp với Kiến trúc hướng mô hình (MDA) và lập trình logic.