CHƯƠNG 1 : PHÁT TRIỂN PHẦN MỀM HƯỚNG MÔ HÌNH
3.2. Sinh mã dựa trên thuật toán theo kiến trúc MVC
3.2.3. Thử nghiệm và đánh giá
Từ các quy tắc, giải thuật xây dựng, luận án đã xây dựng công cụ CODEGER- UWE là plugin của MagicDraw để hỗ trợ sinh mã nguồn cho ví dụ“Address Book”. MagicDraw là cơng cụ mơ hình hóa UML, cho phép các nhà phân tích thiết kế phần mềm, có thể mơ hình hóa phần mềm và có thể sinh mã nguồn từcác mơ hình đó. Đặc biệt MagicDraw cho phép người dùng có thể xây dựng các plugin và tích hợp vào cơng cụ MagicDraw, giúp phát triển các tính năng mới. Trong cơng cụ MagicDraw thì sẽ có hai loại plugin được phát triển đó là plugin của chính MagicDraw cung cấp và loại thứhai là plugin do người dùng phát triển.
Tác giả xây dựng công cụ CODEGER-UWE là một plugin do người dùng phát triển. CODEGER-UWE được tích hợp trong Magicdraw như mơ tả trong hình 3.8.
Hình 3.8. Kiến trúc MagicDraw và CODEGER –UWE
Giao diện CODEGER –UWE tương ứng trong MagicDraw được mô tả trong hình 3.9:
Hình 3.9. Giao diện cơng cụ CODEGER –UWE
Sau khi thực hiện chuyển đổi mơ hình từ CIM sang PIM sang PSM. Để sinh code lập trình viên phát triển website chỉ việc chọn CODEGER –UWE trên menu MagicDraw và thực hiện việc chuyển đổi từ các mơ hình UWE tương ứng sang code java.
Trong phần này, tác giả sẽ áp dụng quy tắc chuyển đổi và các giải thuật đã xây dựng vào ví dụ “Address Book”. Ví dụ này đã được kiểm chứng tại [72], nó có các chức năng cơ bản như: Tạo mới một contact, cập nhật contact, xóa contact và tìm kiếm contact.
Bước 1: Xác định mơ hình đầu vào của cơng cụ là 4 mơ hình trong UWE (mơ hình nội dung, điều hướng, xử lý và mơ hình trình bày).
Hình 3.10.Mơ hình nội dung Hình 3.11. Mơ hình điều hướng
Hình 3.13.Mơ hình trình bày
Bước 2: Thực hiện sinh mã sử dụng công cụ CODEGER –UWE, kết quảthu được:
Bước 3: Tạo một ứng dụng Java Web động: Bổ sung các thư viện Spring framework và file servlet; đưa mã nguồn vừa được tạo ra vào ứng dụng; cấu hình ứng dụng Web hoạt động với Web Server Apache Tomcat 7.x;
Hình 3.15. Khung ứng dụng Web
Bước 4: Bổ sung, chỉnh sửa mã nguồn, thực hiện chạy ứng dụng. Một số kết quả đạt được:
Hình 3.17. Giao diện tạo mới Contact
Công cụ sinh mã CODEGER –UWE cho kết quả tốt khi sinh mã nguồn cho mơ hình trình bày. Với mơ hình nội dung, khảnăng sinh mã là 100% với các thuộc tính có trong mơ hình. Tuy nhiên, giải thuật chưa có khả năng sinh mã nội dung của phương thức cho các thủ tục có trong mơ hình. Tương tự, khảnăng sinh mã nguồn cho mơ hình điều hướng và xử lý chỉ sinh được phương thức mặc định, chưa có nội dung của phương thức (bảng 3.2).
Bảng 3.2. Bảng đánh giá mã nguồn
Thành phần
Tiêu chí Model View Controller
Sốlượng mã nguồn
(tựđộng/sau khi chỉnh sửa) 160/190 150/270 200/230
Độ hoàn thiện 84% 55% 87%
Định dạng mã nguồn Theo quy chuẩn Theo quy chuẩn Theo quy chuẩn Tốc độ sinh mã ~2s
Thông tin bổ sung bị ghi đè