Tự Động Hóa Xây Dựng Giao Diện Người Dùng Dựa Trên Thiết Kế Chi Tiết

Luận văn thạc sĩ kỹ thuật nghiên cứu máy tính tự động hóa xây dựng giao diện người dùng dựa trên thiết kế chi tiết, khảo sát thực trạng, phân tích nguyên nhân, đề xuất giải pháp

Trường đại học

Đại học Bách Khoa - ĐHQG - HCM

Chuyên ngành

Khoa học máy tính

Người đăng

Ẩn danh

Thể loại

luận văn thạc sĩ

2017

67
2
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tự Động Hóa UI Tổng Quan Lợi Ích Trong Phát Triển

Trong bối cảnh phát triển phần mềm ngày càng phức tạp, tự động hóa giao diện người dùng (UI Automation) trở thành một yếu tố then chốt. Quá trình này giúp giảm thiểu thời gian và công sức cần thiết cho việc kiểm thử, đồng thời nâng cao độ tin cậy của sản phẩm. Theo nghiên cứu của Đại học Bách Khoa TP.HCM, việc tự động hóa xây dựng giao diện người dùng có thể giảm đáng kể công sức và thời gian phát triển, đồng thời cung cấp một cái nhìn tổng quan về hệ thống. UI Automation không chỉ giới hạn ở kiểm thử mà còn mở rộng sang các lĩnh vực như RPA (Robotic Process Automation), giúp tự động hóa các tác vụ lặp đi lặp lại. Việc ứng dụng các công cụ và framework như Selenium, Cypress, và Playwright đang ngày càng phổ biến trong các dự án phát triển phần mềm hiện đại.

1.1. Tầm Quan Trọng Của UI Automation Trong Quy Trình DevOps

UI Automation đóng vai trò quan trọng trong quy trình DevOps, đặc biệt là trong giai đoạn Continuous Integration (CI)Continuous Delivery (CD). Việc tự động hóa kiểm thử giao diện người dùng cho phép phát hiện sớm các lỗi và vấn đề tiềm ẩn, giúp giảm thiểu rủi ro trong quá trình triển khai. Tích hợp tự động hóa kiểm thử vào quy trình CI/CD đảm bảo rằng các thay đổi mã nguồn không gây ra sự cố trên giao diện người dùng, từ đó tăng tốc độ phát triển và giảm chi phí bảo trì.

1.2. Lợi Ích Của Việc Áp Dụng Test Automation Cho Giao Diện

Việc áp dụng Test Automation cho giao diện mang lại nhiều lợi ích thiết thực. Nó giúp giảm thiểu thời gian và công sức cần thiết cho việc kiểm thử thủ công, đồng thời tăng độ tin cậy của kết quả kiểm thử. Test Automation cũng cho phép thực hiện các kiểm thử phức tạp và lặp đi lặp lại một cách dễ dàng, điều mà kiểm thử thủ công khó có thể thực hiện được. Ngoài ra, Test Automation còn giúp cải thiện chất lượng phần mềm, giảm chi phí bảo trì và tăng sự hài lòng của người dùng.

II. Thách Thức Trong Tự Động Hóa UI Các Giải Pháp Vượt Trội

Mặc dù tự động hóa UI mang lại nhiều lợi ích, nhưng cũng đi kèm với không ít thách thức. Một trong những thách thức lớn nhất là sự thay đổi liên tục của giao diện người dùng. Các thay đổi nhỏ trong giao diện có thể khiến các script kiểm thử tự động trở nên vô dụng. Ngoài ra, việc xác định các thành phần UI một cách chính xác cũng là một vấn đề nan giải, đặc biệt là với các ứng dụng web phức tạp sử dụng nhiều JavaScript và AJAX. Việc sử dụng các CSS SelectorsXPath không chính xác có thể dẫn đến các script kiểm thử không ổn định. Vì vậy, việc lựa chọn các công cụ và phương pháp phù hợp là rất quan trọng.

2.1. Khó Khăn Trong Việc Xác Định Element Identification Chuẩn Xác

Việc xác định Element Identification chính xác là một trong những thách thức lớn nhất trong tự động hóa UI. Các thành phần UI có thể có thuộc tính động, thay đổi theo thời gian hoặc theo trạng thái của ứng dụng. Điều này khiến cho việc sử dụng các CSS SelectorsXPath cố định trở nên không hiệu quả. Các phương pháp như sử dụng thuộc tính duy nhất, ID ổn định, hoặc kết hợp nhiều thuộc tính có thể giúp giải quyết vấn đề này.

2.2. Vấn Đề Bảo Trì Script Kiểm Thử Khi Giao Diện Thay Đổi

Giao diện người dùng thường xuyên thay đổi để đáp ứng yêu cầu kinh doanh và cải thiện trải nghiệm người dùng. Mỗi thay đổi nhỏ trong giao diện có thể khiến các script kiểm thử tự động trở nên lỗi thời và cần được cập nhật. Việc bảo trì script kiểm thử là một công việc tốn thời gian và công sức. Các phương pháp như sử dụng Page Object Model (POM), Data-Driven Testing, và Keyword-Driven Testing có thể giúp giảm thiểu công sức bảo trì.

III. Phương Pháp Xây Dựng Framework Tự Động Hóa UI Hiệu Quả

Để tự động hóa UI một cách hiệu quả, việc xây dựng một framework kiểm thử vững chắc là rất quan trọng. Một framework tốt sẽ cung cấp cấu trúc, quy tắc và công cụ cần thiết để tạo ra các script kiểm thử dễ bảo trì, tái sử dụng và mở rộng. Có nhiều loại framework kiểm thử khác nhau, mỗi loại có ưu và nhược điểm riêng. Việc lựa chọn framework phù hợp phụ thuộc vào yêu cầu cụ thể của dự án, kỹ năng của nhóm phát triển, và ngân sách.

3.1. Ưu Điểm Của Page Object Model POM Trong UI Automation

Page Object Model (POM) là một trong những pattern thiết kế phổ biến nhất trong UI Automation. POM giúp tách biệt logic kiểm thử khỏi chi tiết triển khai giao diện người dùng. Mỗi page object đại diện cho một trang trên ứng dụng web và chứa các thành phần UI và các thao tác có thể thực hiện trên trang đó. POM giúp giảm thiểu sự trùng lặp mã, tăng khả năng tái sử dụng và dễ bảo trì script kiểm thử.

3.2. Cách Thiết Kế Data Driven Testing Để Tối Ưu Kiểm Thử

Data-Driven Testing là một phương pháp kiểm thử cho phép chạy cùng một script kiểm thử với nhiều bộ dữ liệu khác nhau. Dữ liệu kiểm thử được lưu trữ trong các file bên ngoài (ví dụ: CSV, Excel) và được đọc vào script kiểm thử trong quá trình thực thi. Data-Driven Testing giúp tăng phạm vi kiểm thử, giảm thiểu số lượng script kiểm thử cần thiết và dễ dàng thêm mới hoặc sửa đổi dữ liệu kiểm thử.

3.3. Lợi Thế Của Keyword Driven Testing Trong Xây Dựng Test Case

Keyword-Driven Testing là một phương pháp kiểm thử cho phép xây dựng các test case dựa trên các từ khóa mô tả hành động người dùng. Các từ khóa này được ánh xạ đến các hàm hoặc method thực hiện thao tác tương ứng trên giao diện người dùng. Keyword-Driven Testing giúp cho những người không có kỹ năng lập trình cũng có thể tham gia vào quá trình xây dựng test case, tăng khả năng hợp tác và giảm gánh nặng cho các lập trình viên.

IV. Ứng Dụng AI Trong Tự Động Hóa UI Tương Lai Của Testing

Sự phát triển của AI-Powered Automation đang mở ra những cơ hội mới trong lĩnh vực tự động hóa UI. Machine Learning in UI Automation có thể được sử dụng để tự động xác định các thành phần UI, tạo ra các script kiểm thử thông minh, và phát hiện các lỗi tiềm ẩn mà kiểm thử truyền thống có thể bỏ qua. Các công nghệ như Image RecognitionOCR (Optical Character Recognition) cũng đang được tích hợp vào các công cụ tự động hóa UI để kiểm thử các ứng dụng có giao diện phức tạp.

4.1. Ứng Dụng Image Recognition Để Kiểm Tra Giao Diện Trực Quan

Image Recognition cho phép các công cụ tự động hóa UI nhận diện và so sánh các hình ảnh trên giao diện người dùng. Điều này rất hữu ích trong việc kiểm tra các thành phần UI không thể xác định bằng các phương pháp truyền thống, chẳng hạn như các biểu đồ, đồ thị, hoặc các phần tử tùy chỉnh. Image Recognition cũng có thể được sử dụng để kiểm tra tính nhất quán của giao diện trên nhiều thiết bị và trình duyệt khác nhau (Cross-Browser Testing Automation, Cross-Platform Testing Automation).

4.2. Sử Dụng OCR Optical Character Recognition Để Kiểm Tra Nội Dung

OCR (Optical Character Recognition) cho phép các công cụ tự động hóa UI trích xuất văn bản từ hình ảnh. Điều này rất hữu ích trong việc kiểm tra nội dung hiển thị trên giao diện người dùng, đặc biệt là trong các trường hợp văn bản được nhúng trong hình ảnh hoặc được hiển thị bằng các font chữ không chuẩn. OCR cũng có thể được sử dụng để kiểm tra tính chính xác của dữ liệu đầu vào và dữ liệu đầu ra.

V. Báo Cáo Kiểm Thử Quản Lý Kết Quả Trong Tự Động Hóa UI

Test ReportingTest Management là những phần không thể thiếu trong quy trình tự động hóa UI. Việc tạo ra các báo cáo kiểm thử chi tiết và dễ hiểu giúp các nhà phát triển và kiểm thử viên nhanh chóng xác định và khắc phục các lỗi. Các công cụ Test Management cung cấp các tính năng để quản lý Test Case Design, Test Execution, Bug Reporting, và Defect Tracking, giúp tăng cường hiệu quả và tính minh bạch của quy trình kiểm thử.

5.1. Cách Tạo Báo Cáo Kiểm Thử Chi Tiết Dễ Hiểu

Một báo cáo kiểm thử tốt cần cung cấp đầy đủ thông tin về kết quả kiểm thử, bao gồm số lượng test case đã chạy, số lượng test case thành công, số lượng test case thất bại, và chi tiết về các lỗi phát sinh. Báo cáo cần được trình bày một cách rõ ràng, dễ hiểu và có thể được tùy chỉnh để đáp ứng nhu cầu cụ thể của từng dự án. Sử dụng các biểu đồ và đồ thị trực quan có thể giúp người đọc nhanh chóng nắm bắt được tình hình kiểm thử.

5.2. Ứng Dụng Test Management Tools Để Quản Lý Test Case Hiệu Quả

Các Test Management Tools cung cấp các tính năng để quản lý test case, lập kế hoạch kiểm thử, thực hiện kiểm thử, theo dõi lỗi và tạo báo cáo. Việc sử dụng các công cụ này giúp tăng cường hiệu quả và tính minh bạch của quy trình kiểm thử. Các công cụ Test Management phổ biến bao gồm TestRail, Zephyr, và Xray.

VI. Tương Lai Của Tự Động Hóa UI Low Code No Code Platform

Xu hướng Low-Code AutomationNo-Code Automation đang dần thay đổi cách thức tự động hóa UI được thực hiện. Các nền tảng Low-Code AutomationNo-Code Automation cho phép người dùng tạo ra các script kiểm thử tự động một cách nhanh chóng và dễ dàng, mà không cần phải viết mã nhiều. Điều này giúp mở rộng khả năng tự động hóa UI cho những người không có kỹ năng lập trình, và giảm thiểu gánh nặng cho các lập trình viên.

6.1. Tiềm Năng Của Low Code Automation Trong UI Testing

Low-Code Automation cung cấp một giải pháp cân bằng giữa tính linh hoạt và tính dễ sử dụng. Các nền tảng Low-Code cho phép người dùng tạo ra các script kiểm thử bằng cách kéo và thả các thành phần, cấu hình các tham số, và viết một ít mã khi cần thiết. Điều này giúp giảm thiểu thời gian phát triển script kiểm thử, và tăng khả năng bảo trì.

6.2. Ưu Điểm Của No Code Automation Cho Kiểm Thử Giao Diện

No-Code Automation cho phép người dùng tạo ra các script kiểm thử mà không cần phải viết bất kỳ dòng mã nào. Các nền tảng No-Code thường cung cấp giao diện trực quan, dễ sử dụng, và các tính năng tự động hóa thông minh. Điều này giúp cho những người không có kỹ năng lập trình cũng có thể tham gia vào quá trình tự động hóa UI, và giảm gánh nặng cho các lập trình viên.

28/05/2025

Tài liệu "Tự Động Hóa Giao Diện Người Dùng Trong Phát Triển Phần Mềm" khám phá những lợi ích và ứng dụng của tự động hóa trong việc thiết kế giao diện người dùng, giúp cải thiện trải nghiệm người dùng và tăng hiệu quả phát triển phần mềm. Bài viết nhấn mạnh rằng việc tự động hóa không chỉ tiết kiệm thời gian mà còn giảm thiểu lỗi do con người, từ đó nâng cao chất lượng sản phẩm cuối cùng.

Để mở rộng thêm kiến thức về các khía cạnh liên quan, bạn có thể tham khảo tài liệu Luận văn automated localization and repair for variability faults in software product lines, nơi trình bày về cách tự động hóa trong việc sửa lỗi trong các dòng sản phẩm phần mềm. Ngoài ra, tài liệu Lautomatisation du processus dintegration de codes des tests et du deploiement pour une architecture en microservices tự động hóa quy trình tích hợp lập mã kiểm thử và t sẽ giúp bạn hiểu rõ hơn về quy trình tự động hóa trong kiến trúc microservices. Cuối cùng, tài liệu Ứng dụng họ máy trong kiểm thử phần mềm cung cấp cái nhìn sâu sắc về việc áp dụng học máy trong kiểm thử phần mềm, mở ra những hướng đi mới cho tự động hóa trong lĩnh vực này.

Những tài liệu này sẽ giúp bạn có cái nhìn toàn diện hơn về tự động hóa trong phát triển phần mềm và các ứng dụng liên quan.

Trích đoạn nội dung tài liệu

ĐẠI HỌC QUỐC GIA TP. HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA -------------------- NGUYỄN KHẮC TRUNG TỰ ĐỘNG HÓA XÂY DỰNG GIAO DIỆN NGƯỜI DÙNG DỰA TRÊN THIẾT KẾ CHI TIẾT Ngành : KHOA HỌC MÁY TÍNH Mã số: 60.01 LUẬN VĂN THẠC SĨ TP. HỒ CHÍ MINH, tháng 11 năm 2017 CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM Cán bộ hướng dẫn khoa học : TS. (Ghi rõ họ, tên, học hàm, học vị và chữ ký) Cán bộ chấm nhận xét 1 : TS. Trần Tuấn Anh . (Ghi rõ họ, tên, học hàm, học vị và chữ ký) Cán bộ chấm nhận xét 2 : TS. (Ghi rõ họ, tên, học hàm, học vị và chữ ký) Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp. Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ) 1. Trương Tuấn Anh . Trần Tuấn Anh . Trần Minh Triết . Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có). CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOAKH&KTMT ĐẠI HỌC QUỐC GIA TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆTNAM Độc lập - Tự do - Hạnh phúc TRƯỜNG ĐẠI HỌC BÁCH KHOA NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Nguyễn Khắc Trung . Ngày, tháng, năm sinh: 27/12/1989 . Nơi sinh: Dak Lak . Ngành: Khoa Học Máy Tính . TÊN ĐỀ TÀI: Tự động hóa xây dựng giao diện người dùng dựa trên thiết kế chi tiết . NHIỆM VỤ VÀ NỘI DUNG: Đề tài tập trung nghiên cứu mô tả các mẫu sự kiện trên giao diện người dùng, xây dựng công cụ sinh mã nguồn Java cho giao diện người dùng trên các ứng dụng Desktop dựa trên kết quả đã nghiên cứu. NGÀY GIAO NHIỆM VỤ : 10/07/2017 . NGÀY HOÀN THÀNH NHIỆM VỤ: 03/12/2017 . CÁN BỘ HƯỚNG DẪN (Ghi rõ học hàm, học vị, họ, tên): TS. CÁN BỘ HƯỚNG DẪN TRƯỞNG KHOA KH & KTMT (Họ tên và chữ ký) (Họ tên và chữ ký) LỜI CẢM ƠN Trước tiên tôi xin gửi lời cảm ơn sâu sắc tới thầy TS. Lê Lam Sơn, Bộ môn Công nghệ phần mềm, khoa Khoa học và kỹ thuật máy tính, trường Đại học Bách Khoa Tp.HCM - người đã định hướng đề tài và tận tình hướng dẫn chỉ bảo tôi trong suốt quá trình thực hiện luận văn này. Tôi cũng xin chân thành cảm ơn thầy cô trong Khoa Khoa học và kỹ thuật máy tính đã tận tình giảng dạy và truyền đạt kiến thức quý báu trong suốt quá trình học tập tại Đại học Bách Khoa Tp. Trong quá trình thực hiện đề tài luận văn mặc dù rất nỗ lực, cố gắng song chắc chắn vẫn còn nhiều thiếu sót. Tôi rất mong nhận được nhiều ý kiến đánh giá, phê bình của quý thầy cô, các anh chị và các bạn. Một lần nữa tôi xin chân thành cảm ơn. Hồ Chí Minh, tháng 11 năm 2017 Nguyễn Khắc Trung TÓM TẮT LUẬN VĂN THẠC SỸ Quy trình phát triển phần mềm bao gồm: nhận yêu cầu, phân tích, thiết kế, xây dựng, kiểm tra, khai thác và bảo trì phần mềm. Trong đó giao diện người dùng đóng vai trò phi chức năng (tính thân thiện và tính khả dụng) của phần mềm. Hệ thống phần mềm đòi hỏi tính tương tác cao, công sức và thời gian bỏ ra cho việc thiết kế và hiện thực giao diện người dùng chiếm một phần khá lớn của dự án. Do đó tự động hóa xây dựng giao diện người dùng trở thành nhu cầu tất yếu. Trong luận văn này đưa ra giải pháp hỗ trợ người dùng mô tả các sự kiện trên giao diện một cách tự động bằng việc đặc tả luồng hoạt động của giao diện trên sơ đồ hoạt động. Luận văn tập trung mô tả các mẫu sự kiện trên sơ đồ hoạt động sau: • Mẫu sự kiện Close. • Mẫu sự kiện Submit. • Mẫu sự kiện Ajax. Đồng thời xây dựng công cụ sinh mã nguồn Java cho giao diện người dùng trên các ứng dụng Desktop dựa trên kết quả đã nghiên cứu. The development process includes as follows: requirement gathering, analyzing, designing, coding, testing, implementation and maintaining the software. The graphical user interface plays the non-functional role (friendly and usability) of software. Software systems require high interactivity that cost highly effort and time spent on designing and implementing graphical user interface of the project. Generating graphical user interface source code becomes necessary. The thesis gives a solution to build events automatically by describe the workflow of graphical user interface in Activity diagram. The thesis focuses on build event pattern in Activity diagram. • The Close event pattern. • The Submit event pattern. • The Ajax event pattern. The thesis also build a tool which help to generate Java source code for graphical user interface applied for Desktop application based on the research results. LỜI CAM ĐOAN Tôi xin cam đoan mọi kết quả của đề tài: “Tự động hóa xây dựng giao diện người dùng dựa trên thiết kế chi tiết” là công trình nghiên cứu của cá nhân tôi và chưa từng được công bố trong bất cứ công trình khoa học nào khác cho tới thời điểm này. Tất cả tham khảo và kế thừa đều được trích dẫn và tham chiếu đầy đủ. Hồ Chí Minh, tháng 11 năm 2017 Nguyễn Khắc Trung MỤC LỤC CHƯƠNG 1: MỞ ĐẦU.1 Lý do chọn đề tài .2 Mục tiêu của đề tài .3 Đối tượng nghiên cứu .4 Phạm vi nghiên cứu . 2 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT .1 Ngôn ngữ mô hình hóa UML .2 Ngôn ngữ đánh dấu mở rộng (Extensible Markup Language) .3 Giao thức trao đổi dữ liệu trên XML (XML Metadata Interchange) .4 Thư viện ghi mã nguồn Java Poet .5 Gói thư viện Swing trong Java . 19 CHƯƠNG 3: CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN .1 Bộ khung Automa .2 Bộ khung OpenXava .3 Bài nghiên cứu khoa học . 25 CHƯƠNG 4: PHƯƠNG PHÁP NGHIÊN CỨU .1 Luật chuyển đổi sơ đồ lớp sang các đối tượng giao diện .2 Mô tả các mẫu sự kiện trên sơ đồ hoạt động.3 Giải thuật tìm kiếm mẫu sự kiện trên sơ đồ hoạt động . 37 CHƯƠNG 5: THỰC NGHIỆM.1 Mô tả bài toán áp dụng .2 Mô hình lớp của bài toán .3 Mô hình hoạt động của bài toán . 51 CHƯƠNG 6: KẾT LUẬN . 59 DANH MỤC TÀI LIỆU THAM KHẢO . 60 CHƯƠNG 1: MỞ ĐẦU 1.1 Lý do chọn đề tài Hiện nay với sự phát triển như vũ bão của công nghệ thông tin tạo ra diện mạo mới cho xã hội hiện đại và được ứng dụng vào tất cả lĩnh vực đời sống xã hội. Công nghệ phần mềm là phần không thể thiếu và tách rời khỏi công nghệ thông tin. Phần mềm được xem như sản phẩm của ngành công nghệ phần mềm được phát triển theo quy trình theo các mô hình hiện đại. Quy trình phát triển phần mềm bao gồm: nhận yêu cầu, phân tích, thiết kế, xây dựng, kiểm tra, khai thác và bảo trì phần mềm. Trong đó giao diện người dùng đóng vai trò phi chức năng (tính thân thiện và tính khả dụng) của phần mềm. Hệ thống phần mềm đòi hỏi tính tương tác cao, công sức và thời gian bỏ ra cho việc thiết kế và hiện thực giao diện người dùng chiếm một phần khá lớn của dự án. Đa số các môi trường phát triển ứng dụng (IDE) như Eclipse, NetBean có đi kèm các hỗ trợ cho việc xây dựng giao diện người dùng trực quan nhưng không có tính tự động hóa. Người dùng vẫn phải gõ vào từng đối tượng và thao tác trên các đối tượng này khi xử lý kiện trên giao diện. Do đó tự động hóa xây dựng giao diện người dùng trở thành một nhu cầu tất yếu, giúp giảm thời gian và công sức phát triển đồng thời đưa ra cái nhìn tổng quan hệ thống. Một số nghiên cứu liên quan đến tự động hóa xây dựng giao diện như: Automa [6] định nghĩa ra ngôn ngữ thao tác các đối tượng giao diện người dùng trên window, OpenXava [7] là một bộ khung tự động xây dựng các ứng dụng web ở dạng quản lý (quản lý môn học, quản lý đăng ký môn học) dựa trên các đối tượng nghiệp vụ, bài nghiên cứu khoa học [1] là một hướng tiếp cận xây dựng giao diện người dùng bán tự động từ thiết kế chi tiết (sơ đồ lớp).2 Mục tiêu của đề tài Trong bài nghiên cứu khoa học [1] đã xây dựng được giao diện giao diện người dùng từ sơ đồ lớp (Class diagram). Tuy nhiên kết quả mới dừng ở mức bán tự động, chưa hỗ trợ xử lý các sự kiện trên giao diện. 1 Đề tài luận văn này là sự phát triển của bài nghiên cứu khoa học [1] nghiên cứu mô tả các mẫu sự kiện trên sơ đồ hoạt động (Activity diagram) để giải quyết những hạn chế trên. Như vậy mục tiêu của đề tài luận văn là tập trung nghiên cứu, xây dựng hệ thống sinh mã nguồn cho giao diện người dùng trên Java một cách tự động từ thiết kế chi tiết (sơ đồ hoạt động, sơ đồ lớp).3 Đối tượng nghiên cứu Đối tượng nghiên cứu của luận văn là các sự kiện trên giao diện người dùng.4 Phạm vi nghiên cứu Giao diện người dùng là các giao diện trên các ứng dụng Desktop. Mã nguồn được sinh tự động từ các thiết kế trong luận văn là ngôn ngữ Java. 2 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Ngôn ngữ mô hình hóa UML Giới thiệu sơ lược UML UML [1] - Unified Modeling Language là ngôn ngữ mô hình thống nhất giúp mô hình hóa các ứng dụng trên máy tính. Các tác giả chính là Jim Rumbaugh, Ivar Jacobson, Grady Booch ngoài ra còn có các tập đoàn lớn khác bảo trợ phát triển. UML sử dụng một hệ thống ký hiệu thống nhất để biểu diễn các phần tử mô hình. Tập hợp các ký hiệu và phần tử mô hình tạo nên một mô hình UML.0 có hai loại sơ đồ cơ sở: sơ đồ cấu trúc và sơ đồ hành vi. Nhóm sơ đồ cấu trúc  Sơ đồ lớp  Sơ đồ đối tượng  Sơ đồ thành phần  Sơ đồ bố trí  Sơ đồ đóng gói  Sơ đồ cấu trúc phức hợp Nhóm sơ đồ hành vi  Sơ đồ ca sử dụng  Sơ đồ trình tự  Sơ đồ giao tiếp  Sơ đồ máy trạng thái  Sơ đồ hoạt động  Sơ đồ bao quát tương tác Mục đích của sơ đồ cấu trúc là để cho thấy cấu trúc tĩnh của hệ thống đang được mô hình hóa. Sơ đồ hành vi cho biết các hành vi động giữa các đối tượng trong hệ thống. 3 Trong đề tài luận văn này chỉ trình bày sơ đồ lớp và sơ đồ hoạt động được sử dụng làm đầu vào cho nghiên cứu.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ