Đồ Án Cơ Sở 2: Xây Dựng Ứng Dụng Thi Trắc Nghiệm (ĐH CNTT Việt-Hàn)

Đồ án cơ sở 2: Xây dựng ứng dụng thi trắc nghiệm. Tài liệu tham khảo hữu ích cho sinh viên ngành công nghệ thông tin, giúp nắm vững kiến thức và kỹ năng.

Chuyên ngành

Kỹ thuật Máy tính & Điện tử

Người đăng

Ẩn danh

Thể loại

Đồ án cơ sở

2024

42
11
0

Phí lưu trữ

30 Point

Mục lục chi tiết

MỞ ĐẦU

1. Chương 1: Giới thiệu

1.1. Lý do chọn đề tài

1.2. Thông tin về các công cụ thực hiện

1.3. Tổng kết chương 1

2. Chương 2: Tổng quan về ứng dụng

2.1. Giới thiệu về ứng dụng

2.2. Một số quy trình hoạt động

2.2.1. Quy trình đăng ký tài khoản

2.2.2. Quy trình đăng nhập

2.2.3. Quy trình thêm câu hỏi

2.2.4. Quy trình làm bài thi

2.2.5. Quy trình chấm bài thi

2.2.6. Quy trình quản lý tài khoản khách hàng

2.3. Cơ chế tổ chức ứng dụng

3. Chương 3: Nghiên cứu tổng quan

3.1. Ngôn ngữ lập trình ứng dụng

3.1.1. Java swing

3.2. Ngôn ngữ thiết kế hệ thống ULM

4. Chương 4: Phân tích thiết kế hệ thống

4.1. Biểu đồ use case

4.1.1. Biểu đồ use case tổng thể

4.2. Biểu đồ phân rã use case khách hàng

4.2.1. Tiến trình sử dụng hệ thống

4.2.2. Tiến trình đăng nhập

4.3. Biểu đồ phân rã use case Admin

4.3.1. Tiến trình quản lý bài thi

4.4. Đặc tả một số Use case

4.4.1. Use case Đăng nhập

4.4.2. Use case Đăng ký

4.4.3. Use case làm bài

5. Chương 5: Thiết kế cơ sở dữ liệu

5.1. Bảng exams_question

5.2. Bảng exam_results

5.3. Sơ đồ cơ sở dữ liệu

6. Chương 6: Thiết kế ứng dụng

6.1. Giao diện đăng nhập

6.2. Trang chủ sau khi người dùng đăng nhập

6.3. Trang chủ sau khi admin đăng nhập

6.4. Giao diện làm bài thi

6.5. Giao diện thêm câu hỏi

6.6. Giao diện quản lý người dùng

6.7. Giao diện quản lý câu hỏi

6.8. Giao diện quản lý điểm số của admin

6.9. Giao diện quản lý đề kiểm tra

Kết luận và hướng phát triển

Tài liệu tham khảo

Tóm tắt

I. Tổng Quan Ứng Dụng Thi Trắc Nghiệm Nền Tảng Đồ Án Cơ Sở

Trong bối cảnh công nghệ thông tin phát triển mạnh mẽ, các ứng dụng thi trắc nghiệm trực tuyến ngày càng trở nên quan trọng trong giáo dục. Chúng hỗ trợ giáo viên tổ chức thi cử hiệu quả hơn, đồng thời giúp học sinh, sinh viên ôn tập trắc nghiệm và nâng cao kiến thức một cách tiện lợi. Ứng dụng thi trắc nghiệm không chỉ là công cụ kiểm tra kiến thức, mà còn là một giải pháp phát triển phần mềm toàn diện cho việc kiểm tra kiến thứcluyện thi trực tuyến.

Theo tài liệu gốc, "ứng dụng hứa hẹn sẽ là một công cụ học tập hữu ích", nhờ vào các tính năng như cung cấp ngân hàng câu hỏi phong phú, cho phép người dùng thi trực tuyến, tự động chấm điểm và cung cấp kết quả ngay sau khi hoàn thành bài thi. Với sự hướng dẫn của Ths. Trần Thu Thủy, dự án này hướng đến việc tạo ra một công cụ hỗ trợ giáo dục hiện đại, góp phần đổi mới phương pháp giảng dạy và học tập. Nhóm phát triển mong muốn xây dựng ứng dụng thi trắc nghiệm này trở thành một công cụ đắc lực, đóng góp vào sự đổi mới trong giáo dục và đào tạo.

Tuy nhiên, việc thiết kế ứng dụng thi trắc nghiệm không hề đơn giản. Nó đòi hỏi sự kết hợp giữa kiến thức lập trình, kỹ năng thiết kế giao diện người dùng (UI) và hiểu biết về trải nghiệm người dùng (UX). Ngoài ra, việc xây dựng một database mạnh mẽ và phát triển backend ổn định cũng là yếu tố then chốt để đảm bảo ứng dụng web hoạt động trơn tru. Ứng dụng này sẽ cung cấp các bài kiểm tra đa dạng, hỗ trợ học sinh ôn tập và nâng cao kiến thức một cách chủ động, đồng thời giúp giảm tải khối lượng công việc cho giáo viên trong việc tổ chức và chấm bài. Để đạt được điều này, cần có sự nghiên cứu kỹ lưỡng và áp dụng các phương pháp lập trình ứng dụng thi trắc nghiệm hiện đại.

1.1. Tầm Quan Trọng của Ứng Dụng Thi Trắc Nghiệm Trực Tuyến

Ứng dụng thi trắc nghiệm trực tuyến đóng vai trò quan trọng trong việc cải thiện chất lượng giáo dục và đào tạo. Chúng cung cấp một phương pháp đánh giá kiến thức nhanh chóng, chính xác và hiệu quả. Với sự phát triển của công nghệ, việc tạo ứng dụng trắc nghiệm đã trở nên dễ dàng hơn bao giờ hết, mở ra cơ hội cho các nhà phát triển phát triển ứng dụng giáo dục sáng tạo và hữu ích.

Sự tiện lợi và linh hoạt của các ứng dụng này giúp người học có thể ôn tập trắc nghiệm mọi lúc mọi nơi, đồng thời giúp giáo viên tiết kiệm thời gian và công sức trong việc tổ chức và chấm bài. Điều này đặc biệt quan trọng trong bối cảnh giáo dục từ xa ngày càng phổ biến. Các nền tảng thi trắc nghiệm trực tuyến cung cấp một môi trường học tập tương tác, hấp dẫn và hiệu quả, giúp người học tiếp thu kiến thức một cách chủ động và tích cực.

1.2. Mục Tiêu và Phạm Vi của Đồ Án Cơ Sở về Thi Trắc Nghiệm

Đồ án cơ sở về ứng dụng thi trắc nghiệm nhằm mục tiêu xây dựng một nền tảng kiểm tra kiến thức trực tuyến hoàn chỉnh, đáp ứng nhu cầu ôn tập và đánh giá của người học. Phạm vi của đồ án bao gồm việc thiết kế ứng dụng thi trắc nghiệm, phát triển các tính năng cốt lõi như quản lý câu hỏi, tạo đề thi, làm bài thi và chấm điểm tự động. Đồ án cũng tập trung vào việc phát triển giao diện thân thiện, dễ sử dụng và đảm bảo trải nghiệm người dùng tốt nhất.

Ngoài ra, đồ án còn đề cập đến việc xây dựng database hiệu quả để lưu trữ dữ liệu và đảm bảo tính bảo mật của thông tin. Các công nghệ lập trình hiện đại như Java Swing và JDBC (ORM - Hibernate) được sử dụng để triển khai ứng dụng. Theo tài liệu, đồ án gồm 6 phần chính: Giới thiệu, Tổng quan về ứng dụng, Nghiên cứu tổng quan, Phân tích thiết kế hệ thống, Thiết kế cơ sở dữ liệu và Giao diện Ứng dụng.

II. Thách Thức Giải Pháp Xây Dựng Ứng Dụng Thi Trắc Nghiệm

Xây dựng một ứng dụng thi trắc nghiệm hiệu quả không chỉ đòi hỏi kiến thức lập trình, mà còn phải đối mặt với nhiều thách thức về thiết kế UI/UX, bảo mật dữ liệu và khả năng mở rộng. Việc đảm bảo tính công bằng trong quá trình thi cử, ngăn chặn gian lận và cung cấp một nền tảng ổn định, tin cậy là những yếu tố then chốt để xây dựng ứng dụng thi trắc nghiệm thành công.

Một trong những thách thức lớn nhất là việc tạo ra một database mạnh mẽ, có khả năng lưu trữ và quản lý một lượng lớn câu hỏi và thông tin người dùng. Ngoài ra, việc phát triển backend ổn định, có khả năng xử lý đồng thời nhiều yêu cầu cũng là một yếu tố quan trọng để đảm bảo ứng dụng hoạt động trơn tru. Cuối cùng, việc thiết kế giao diện thân thiện, dễ sử dụng và tối ưu hóa trải nghiệm người dùng là yếu tố quyết định sự thành công của ứng dụng.

2.1. Vấn Đề Bảo Mật Gian Lận Trong Thi Trắc Nghiệm Trực Tuyến

Bảo mật và ngăn chặn gian lận là những vấn đề hàng đầu cần được giải quyết khi xây dựng ứng dụng thi trắc nghiệm. Các biện pháp bảo mật cần được triển khai để bảo vệ dữ liệu người dùng, ngăn chặn truy cập trái phép và đảm bảo tính toàn vẹn của dữ liệu. Ngoài ra, cần có các biện pháp để ngăn chặn gian lận trong quá trình thi cử, chẳng hạn như sử dụng camera giám sát, giới hạn thời gian làm bài và áp dụng các thuật toán để phát hiện hành vi gian lận.

Việc sử dụng các API bảo mật và tuân thủ các tiêu chuẩn bảo mật quốc tế cũng là một yếu tố quan trọng để đảm bảo an toàn cho ứng dụng. Ngoài ra, cần thường xuyên kiểm tra và cập nhật các biện pháp bảo mật để đối phó với các mối đe dọa mới.

2.2. Giải Pháp UI UX Hiệu Quả Cho Ứng Dụng Thi Trắc Nghiệm

Thiết kế UI/UX hiệu quả là yếu tố then chốt để tạo ra một ứng dụng thi trắc nghiệm thân thiện, dễ sử dụng và hấp dẫn. Giao diện cần được thiết kế đơn giản, trực quan và dễ điều hướng. Người dùng cần dễ dàng tìm thấy các tính năng cần thiết và thực hiện các thao tác một cách nhanh chóng. Các yếu tố trải nghiệm người dùng tốt như bố cục rõ ràng, màu sắc hài hòa và phông chữ dễ đọc, cũng cần được chú trọng để tạo cảm giác thoải mái và hứng thú cho người dùng trong quá trình làm bài. Việc sử dụng các thành phần giao diện chuẩn và tuân thủ các nguyên tắc thiết kế UI/UX sẽ giúp tạo ra một sản phẩm chuyên nghiệp và thân thiện với người dùng. thiết kế giao diện người dùng (UI) đóng vai trò quan trọng.

III. Phương Pháp Lập Trình Ứng Dụng Thi Trắc Nghiệm Với Java Swing

Java Swing là một framework mạnh mẽ để lập trình ứng dụng desktop với giao diện đồ họa. Với Swing, việc xây dựng ứng dụng thi trắc nghiệm trở nên dễ dàng hơn nhờ vào các thành phần giao diện sẵn có và khả năng tùy biến cao. Việc sử dụng Swing cho phép tạo ra các ứng dụng web có giao diện chuyên nghiệp, thân thiện và dễ sử dụng. Tuy nhiên, để lập trình hiệu quả với Swing, cần nắm vững các khái niệm cơ bản về mô hình MVC và cách xử lý sự kiện.

Theo tài liệu, Java Swing cung cấp nhiều thành phần giao diện hiện đại, dễ tùy chỉnh, giúp tạo ra các ứng dụng thân thiện và chuyên nghiệp. Ngoài ra, việc sử dụng JDBC (Hibernate) giúp kết nối cơ sở dữ liệu và thao tác với dữ liệu dễ dàng, giảm thiểu mã nguồn cần thiết và tối ưu hóa hiệu suất. Java Swing là một thư viện trong Java được sử dụng để phát triển các ứng dụng với giao diện đồ họa (GUI).

3.1. Sử Dụng Mô Hình MVC Trong Phát Triển Ứng Dụng Swing

Mô hình MVC (Model-View-Controller) là một kiến trúc phần mềm phổ biến giúp tách biệt các thành phần của ứng dụng, giúp mã nguồn dễ bảo trì và mở rộng. Trong ứng dụng Swing, Model đại diện cho dữ liệu, View đại diện cho giao diện người dùng và Controller đại diện cho logic điều khiển. Việc áp dụng mô hình MVC giúp tạo ra các ứng dụng có cấu trúc rõ ràng, dễ kiểm tra và dễ tái sử dụng. Các ứng dụng di động cũng có thể được xây dựng dựa trên mô hình MVC này.

Việc tách biệt các thành phần giúp các nhà phát triển tập trung vào từng phần của ứng dụng mà không ảnh hưởng đến các phần khác. Điều này đặc biệt quan trọng trong các dự án lớn, phức tạp với nhiều thành viên tham gia.

3.2. Kết Nối Cơ Sở Dữ Liệu Với JDBC và Hibernate

JDBC và Hibernate là hai công nghệ quan trọng để kết nối ứng dụng Swing với database. JDBC cung cấp các phương thức để thực hiện các truy vấn SQL và thao tác với dữ liệu. Hibernate là một framework ORM (Object-Relational Mapping) giúp ánh xạ các đối tượng Java với các bảng trong cơ sở dữ liệu, giúp giảm thiểu mã nguồn và tăng hiệu suất. Hibernate cung cấp một lớp trừu tượng cho phép các nhà phát triển làm việc với cơ sở dữ liệu mà không cần viết nhiều câu lệnh SQL.

Việc sử dụng Hibernate giúp đơn giản hóa việc phát triển backend và đảm bảo tính bảo mật của dữ liệu. Sự kết hợp giữa JDBC và Hibernate mang lại giải pháp mạnh mẽ để xây dựng các ứng dụng Java với cơ sở dữ liệu, đơn giản hóa việc phát triển, và tăng hiệu quả trong quản lý dữ liệu.

3.3. Thiết kế database cho ứng dụng

Thiết kế database là bước quan trọng để đảm bảo tính hiệu quả và khả năng mở rộng của ứng dụng thi trắc nghiệm. Database cần được thiết kế sao cho dễ dàng lưu trữ và truy xuất dữ liệu liên quan đến câu hỏi, đề thi, kết quả thi và thông tin người dùng.Sơ đồ cơ sở dữ liệu bao gồm các bảng như categories, users, questions, answers, exams, exams_question, exam_results. Mỗi bảng có các trường dữ liệu với kiểu dữ liệu và ràng buộc phù hợp để đảm bảo tính toàn vẹn của dữ liệu.

IV. Ứng Dụng Thực Tiễn Giao Diện Chức Năng Thi Trắc Nghiệm

Giao diện và chức năng là hai yếu tố quan trọng để đánh giá một ứng dụng thi trắc nghiệm. Giao diện cần được thiết kế thân thiện, dễ sử dụng và hấp dẫn. Các chức năng cần đáp ứng nhu cầu của người dùng, bao gồm tạo đề thi, làm bài thi, chấm điểm tự động và xem báo cáo kết quả. Ngoài ra, cần có các chức năng quản lý người dùng, quản lý câu hỏi và quản lý đề thi.

Ứng dụng cần cung cấp các công cụ để tạo ra các đề thi đa dạng, bao gồm câu hỏi trắc nghiệm, câu hỏi tự luận và câu hỏi kéo thả. Việc kiểm thử ứng dụng kỹ lưỡng là cần thiết để đảm bảo các chức năng hoạt động chính xác và không có lỗi.

4.1. Thiết Kế Giao Diện Người Dùng Thân Thiện và Dễ Sử Dụng

Thiết kế giao diện người dùng (UI) thân thiện và dễ sử dụng là yếu tố then chốt để tạo ra một ứng dụng thi trắc nghiệm thành công. Giao diện cần được thiết kế đơn giản, trực quan và dễ điều hướng. Người dùng cần dễ dàng tìm thấy các tính năng cần thiết và thực hiện các thao tác một cách nhanh chóng. Giao diện bao gồm trang đăng nhập, trang chủ (dành cho cả người dùng và admin), giao diện làm bài thi, giao diện thêm câu hỏi và giao diện quản lý người dùng.

Việc sử dụng các thành phần giao diện chuẩn và tuân thủ các nguyên tắc thiết kế UI/UX sẽ giúp tạo ra một sản phẩm chuyên nghiệp và thân thiện với người dùng.

4.2. Các Chức Năng Quản Lý Đề Thi Câu Hỏi và Kết Quả Thi

Ứng dụng thi trắc nghiệm cần cung cấp các chức năng quản lý đề thi, câu hỏi và kết quả thi để giúp giáo viên và quản trị viên dễ dàng quản lý và theo dõi quá trình thi cử. Các chức năng này bao gồm tạo đề thi, chỉnh sửa đề thi, xóa đề thi, thêm câu hỏi, chỉnh sửa câu hỏi, xóa câu hỏi, xem kết quả thi, xuất báo cáo kết quả và phân tích kết quả thi. Chức năng quản lý người dùng cũng quan trọng.

Việc cung cấp các công cụ quản lý hiệu quả sẽ giúp tiết kiệm thời gian và công sức cho giáo viên và quản trị viên, đồng thời giúp cải thiện chất lượng giáo dục và đào tạo. Ứng dụng này sẽ cung cấp các bài kiểm tra đa dạng, hỗ trợ học sinh ôn tập và nâng cao kiến thức một cách chủ động, đồng thời giúp giảm tải khối lượng công việc cho giáo viên trong việc tổ chức và chấm bài.

4.3. Phân tích kết quả thi

Ứng dụng thi trắc nghiệm cần chức năng phân tích kết quả thi để đánh giá hiệu quả của quá trình giảng dạy và học tập. Việc phân tích này giúp xác định những điểm mạnh và điểm yếu của người học, từ đó đưa ra các giải pháp cải thiện phù hợp.Bên cạnh đó, ứng dụng có thể cung cấp các báo cáo chi tiết về kết quả thi, bao gồm số lượng câu trả lời đúng, sai, thời gian làm bài, và điểm số đạt được. Các báo cáo này có thể được xuất ra dưới dạng các định dạng khác nhau để dễ dàng chia sẻ và sử dụng.

V. Kết Luận Hướng Phát Triển Ứng Dụng Thi Trắc Nghiệm Tương Lai

Việc xây dựng ứng dụng thi trắc nghiệm là một quá trình phức tạp, đòi hỏi sự kết hợp giữa kiến thức lập trình, kỹ năng thiết kế UI/UX và hiểu biết về giáo dục. Tuy nhiên, với sự phát triển của công nghệ, việc tạo ứng dụng trắc nghiệm đã trở nên dễ dàng hơn bao giờ hết, mở ra cơ hội cho các nhà phát triển tạo ra các sản phẩm sáng tạo và hữu ích. Theo tài liệu, ứng dụng có tiềm năng phát triển thành một hệ thống toàn diện hơn, đáp ứng tốt hơn các yêu cầu trong môi trường giáo dục số.

Các ý tưởng mới có thể được tích hợp, như đánh giá kết quả học tập theo thời gian, gợi ý câu hỏi phù hợp với năng lực người dùng, nâng cao tính năng bảo mật, tối ưu hóa trải nghiệm người dùng và cải thiện hiệu năng hệ thống.

5.1. Tiềm Năng Phát Triển Các Tính Năng Mới Cho Ứng Dụng

Ứng dụng thi trắc nghiệm có tiềm năng phát triển nhiều tính năng mới để đáp ứng nhu cầu ngày càng cao của người dùng. Các tính năng này có thể bao gồm tích hợp trí tuệ nhân tạo (AI) để phân tích dữ liệu học viên, cung cấp các gợi ý học tập cá nhân hóa, hỗ trợ đa ngôn ngữ, kết nối với các nền tảng học trực tuyến khác và cung cấp các công cụ đánh giá năng lực toàn diện. Tích hợp các chức năng mới như đánh giá kết quả học tập theo thời gian, gợi ý câu hỏi phù hợp với năng lực người dùng.

Việc liên tục cải tiến và bổ sung các tính năng mới sẽ giúp ứng dụng trở nên hấp dẫn và hữu ích hơn, thu hút được nhiều người dùng hơn.

5.2. Ứng Dụng Trắc Nghiệm Xu Hướng Phát Triển Trong Giáo Dục Số

Ứng dụng thi trắc nghiệm đang trở thành một xu hướng phát triển mạnh mẽ trong giáo dục số. Với sự phát triển của công nghệ, việc học tập và kiểm tra kiến thức trực tuyến ngày càng trở nên phổ biến. Ứng dụng cung cấp một phương pháp đánh giá kiến thức nhanh chóng, chính xác và hiệu quả, giúp người học và giáo viên tiết kiệm thời gian và công sức. Các ứng dụng thi trắc nghiệm có vai trò lớn trong xu hướng phát triển này.

Việc sử dụng ứng dụng trong giáo dục số sẽ giúp cải thiện chất lượng giáo dục và đào tạo, đồng thời giúp người học tiếp cận kiến thức một cách dễ dàng và thuận tiện hơn. Nâng cao tính năng bảo mật, ngăn chặn gian lận trong thi cử bằng cách bổ sung tính năng theo dõi thời gian thực.

11/09/2025

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

chương 1. Trong chương này, chúng em đã trình bày về bối cảnh, lý do chọn đề tài và các công cụ sử dụng để phát triển ứng dụng. Những nội dung này là cơ sở để thực hiện phân tích và thiết kế hệ thống, sẽ được trình bày chi tiết trong các chương tiếp theo. 11 Chương 2 Tổng quan về ứng dụng 2.1 Giới thiệu về ứng dụng Ứng dụng thi trắc nghiệm là một nền tảng trực tuyến, giúp người dùng thực hiện các bài kiểm tra dưới dạng câu hỏi trắc nghiệm.

Ứng dụng có thể được sử dụng trong nhiều lĩnh vực, từ giáo dục, đào tạo đến các kỳ thi tuyển dụng. Với giao diện thân thiện, người dùng dễ dàng thực hiện các bài thi mọi lúc mọi nơi thông qua các thiết bị như máy tính hoặc điện thoại.2 Một số quy trinh hoạt động 2.1 Quy trình đăng ký tài khoản Khi khách hàng muốn đăng kí tài khoản để sử dụng cho các việc làm bài thi thì khách hàng có thể truy cập vào trang login chọn mục đăng ký sau đó nhập đầy đủ các thông tin mà form đăng ký yêu cầu và ấn vào đăng ký. Sau khi thông tin khách hàng được gửi lên, hệ thống sẽ kiểm và tiến hành đăng kí cho người xem nếu các thông tin hợp lệ và yêu cầu nhập lại nếu thông tin không hợp lệ Hình 2.1: Quy trình đăng ký tài khoản 12 2.2 Quy trình đăng nhập Giao diện đăng nhập chỉ gồm 2 trường thông tin là tên đăng nhập (email) và mật khẩu. Hệ thống quản lý tài khoản của thành viên sẽ kiểm tra thông tin được cung cấp.

Nếu thông tin không đúng thì sẽ quay lại màn hình đăng nhập đồng thời gửi thông báo hiện thị trên giao diện. Nếu thông tin được xác thực sẽ đưa về trang chủ của ứng dụng thi trắc nghiệm.2: Quy trình đăng nhập 13 2.3 Quy trình thêm câu hỏi Admin sau khi ra câu hỏi xong, họ cảm thấy ưng với một câu hỏi nào đó thì họ có thể tiến hành thêm câu hỏi đó vào đề thi và sau đó luu chúng lại để sau này khi người dùng vào làm bài thi sẽ xuất hiện câu hỏi đó trong bộ đề thi và tính năng này có thể giúp admin có thể sửa đổi bộ đề câu hỏi nhằm tăng tính đa dạng và sâu rộng cho bộ câu hỏi.3: Quy trình thêm câu hỏi 14 2.4 Quy trình làm bài thi Người dùng sau khi đăng nhập thành công sẽ hiện thị giao diện gồm các đề thi, sau đó người dùng chọn đề mình muốn thực hiện thi để có thể làm bài. Mỗi câu hỏi được hiển thị kèm theo các tùy chọn (A, B, C, D). Người dùng chọn đáp án phù hợp cho từng câu bằng cách nhấp vào các nút chọn, và mỗi câu hỏi chỉ được chọn duy nhất một đáp án.

Ở phần giao diện thi sẽ có nút để đổi trang câu hỏi gồm: 2 nút “câu trước “ và “ câu tiếp theo”. Sau khi hoàn thành bài thi người dùng bấm vào nút nộp bài để xem mình được bao nhiều điểm và thời gian làm bài trong bao lâu( ứng dụng sẽ hiện thị thời gian làm bài ngay lúc người dùng bấm vào ô Bắt đầu thi ở trang chủ).4: Quy trình làm bài 15 2.5 Quy trình chấm bài thi Hệ thống sẽ lấy dữ liệu từ các đáp án mà người dùng thực hiện chọn để đối chiếu với đáp án mà admin nhập vào và hiện thị đúng sai, số điểm mà người dùng đạt được sau khi nộp bài thi. Sau khi chấm bài hệ thống sẽ trả về kết quả làm bài hiện thị cho người dùng thấy câu đúng, sai, thời gian làm bài, số điểm đạt được của bài thi đó.5: Quy trình chấm bài 16 2.6 Quy trình quản lý tài khoản khách hàng Quản lý tài khoản trong ứng dụng thi trắc nghiệm là một quy trình quan trọng nhằm đảm bảo hoạt động trơn tru và hiệu quả của hệ thống. Admin cần quản lý danh sách tài khoản, bao gồm thông tin cơ bản như họ tên, email, vai trò và lịch sử tham gia thi cử.

Một tính năng thiết yếu là khả năng khóa tài khoản khi phát hiện vi phạm, đảm bảo tính minh bạch và công bằng. Ngoài ra, hệ thống có thể hỗ trợ phân loại người dùng dựa trên tần suất hoạt động hoặc kết quả thi để gửi voucher tri ân, khuyến khích học viên tích cực hơn. Quản lý phân quyền cũng rất cần thiết, đảm bảo chỉ admin mới có thể thực hiện các thao tác nhạy cảm như sửa hoặc xóa tài khoản. Quy trình này không chỉ tăng tính bảo mật mà còn giúp admin dễ dàng theo dõi và hỗ trợ người dùng khi cần thiết, đặc biệt trong môi trường giáo dục trực tuyến.3 Cơ chế tổ chức ứng dụng Cơ cấu tổ chức của ứng dụng như sau: + Admin quản lý các hoạt động chung của ứng dụng.

+ Người dùng là người sử dụng ứng dụng và thao tác với các chức năng cơ bản như:Đăng nhập, đăng kí, làm bài thi. 17 Chương 3 Nghiên cứu tổng quan 3.1 Ngôn ngữ lập trình ứng dụng 3.1 Java swing Java Swing là một thư viện trong Java được sử dụng để phát triển các ứng dụng với giao diện đồ họa (GUI). Nó là một phần của Java Foundation Classes (JFC), cung cấp các thành phần giao diện người dùng độc lập với nền tảng. Swing hoạt động dựa trên AWT (Abstract Window Toolkit) nhưng vượt trội hơn nhờ khả năng tùy chỉnh mạnh mẽ và linh hoạt.

Các thành phần trong Swing được thiết kế để hoạt động nhẹ, không phụ thuộc vào hệ điều hành, và được vẽ bằng mã Java thay vì sử dụng các thư viện GUI gốc. Swing hỗ trợ một số thành phần giao diện phổ biến như JFrame (cửa sổ chính), JPanel (khung chứa), JButton (nút bấm), JLabel (nhãn hiển thị), JTextField (hộp nhập liệu), và JPasswordField (hộp nhập mật khẩu). Với kiến trúc MVC (Model-View-Controller), Java Swing đảm bảo việc xử lý dữ liệu, giao diện, và logic sự kiện một cách tách biệt. Ngoài ra, Swing cũng sử dụng cơ chế xử lý sự kiện đa luồng thông qua Event Dispatch Thread (EDT), giúp giao diện hoạt động mượt mà và ổn định trên nhiều nền tảng.

Nó cung cấp các phương thức tiêu chuẩn để thực hiện các truy vấn SQL, gọi các thủ tục lưu trữ, và xử lý kết quả trả về. JDBC cho phép các ứng dụng Java tương tác với nhiều cơ sở dữ liệu khác nhau như MySQL, PostgreSQL, Oracle, hoặc SQL Server thông qua các driver riêng biệt. Tuy nhiên, việc sử dụng JDBC truyền thống có thể dẫn đến mã lệnh phức tạp, khó bảo trì do cần quản lý kết nối, câu lệnh SQL, và xử lý lỗi thủ công. 18 Để giải quyết nhược điểm này, ORM (Object-Relational Mapping) ra đời, và Hibernate là một trong những framework ORM phổ biến nhất cho Java.

Hibernate cung cấp một lớp trừu tượng cho phép các nhà phát triển làm việc với cơ sở dữ liệu mà không cần viết nhiều câu lệnh SQL. Nó ánh xạ các lớp Java với bảng trong cơ sở dữ liệu, nhờ đó giúp chuyển đổi giữa các đối tượng Java và bản ghi trong cơ sở dữ liệu một cách tự động. Hibernate cũng hỗ trợ các tính năng như lazy loading (tải dữ liệu khi cần), caching (bộ nhớ đệm), transaction management (quản lý giao dịch), và query language (HQL – Hibernate Query Language). Những tính năng này giúp giảm tải công việc thủ công và tăng hiệu suất.

Đồng thời, Hibernate còn mang tính độc lập với hệ quản trị cơ sở dữ liệu, cho phép chuyển đổi giữa các RDBMS dễ dàng mà không cần thay đổi mã nguồn chính. Sự kết hợp giữa JDBC và Hibernate mang lại giải pháp mạnh mẽ để xây dựng các ứng dụng Java với cơ sở dữ liệu, đơn giản hóa việc phát triển, và tăng hiệu quả trong quản lý dữ liệu.2: Jdbc and Hibernate 3.2 Ngôn ngữ thiết kế hệ thống ULM UML (Unified Modeling Language) là ngôn ngữ dành cho việc đặc tả, hình dung, xây dựng và làm tài liệu của các hệ thống phần mền. UML tạo cơ hội để viết thiết kế hệ thống, bao gồm những khái niệm như tiến trình nghiệp vụ và các chức năng của hệ thống. Cách xây dựng các mô hình trong UML phù hợp mô tả các hệ thống thông tin cả về cấu trúc cũng như hoạt động.

Cách tiếp cận theo mô hình của UML giúp ích rất nhiều cho những người thiết kế và thực hiện hệ thống thông tin cũng như những người sử dụng nó; tạo nên một cái nhìn bao quát và đầy đủ về hệ thống thông tin dự định xây dựng. Cách nhìn bao quát này giúp nắm bắt trọn vẹn các yêu cầu của người dùng; phục vụ từ giai đoạn phân tích đến việc thiết kế, thẩm định và kiểm tra sản phẩm ứng dụng công nghệ thông tin. 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(model elements). Tập hợp các phần tử mô hình tạo thành các Sơ đồ UML (UMLdiagrams).

Có các loại sơ đồ UML chủ yếu sau : - Sơ đồ lớp (Class Diagram) - Sơ đồ đối tượng (Object Diagram) 19 - Sơ đồ tình huống sử dụng (Use Cases Diagram) - Sơ đồ trình tự (Sequence Diagram) - Sơ đồ cộng tác (Collaboration Diagram hay là Composite Structure Diagram) - Sơ đồ trạng thái (State Machine Diagram) - Sơ đồ thành phần (Component Diagram) - Sơ đồ hoạt động (Activity Diagram) - Sơ đồ triển khai (Deployment Diagram) - Sơ đồ gói (Package Diagram) - Sơ đồ liên lạc (Communication Diagram) - Sơ đồ tương tác (Interaction Overview Diagram - UML 2.0) - Sơ đồ phối hợp thời gian (Timing Diagram - UML 2.3: Ngôn ngữ thiết kế hệ thống ULM 20 Chương 4 Phân tích thiết kế hệ thống 4.1 Biểu đồ use case 4.1 Biểu đồ use case tổng thể Hình 4.1: Biểu đồ use case tổng thể 4.2 Biểu đồ phân rã use case khách hàng 4.1 Tiến trình sử dụng hệ thống Hình 4.2: Biểu đồ tiến trình sử dụng hệ thống.2 Tiến trình đăng nhập Hình 4.3: Biểu đồ tiến trình đăng nhập 4.3 Biểu đồ phân rã use case Admin 4.1 Tiến trình quản lý bài thi Hình 4.4: Biểu đồ quản lý bài thi 22 4.4 Đặc tả một số Use case 4.1 Use case Đăng nhập Use-case: Login (đăng nhập) Actors: Người dùng Objective: Đăng nhập vào tài khoản để truy cập các tính năng của hệ thống. Pre-conditions: Không có Post-conditions: Người dùng đã đăng nhập thành công và có thể truy cập vào tài khoản cá nhân. Description: Là hành động đăng nhập vào hệ thống thông qua liên kết “Đăng nhập” trong hệ thống *Các tương tác chính của use case đăng nhập “Login” Hoạt động của người dùng Hoạt động của hệ thống 1.Người dùng chọn chức năng đăng nhập 2.HIện thị form đăng nhập cho người dùng trên giao diện 3. Điền Tên đăng nhập, mật khẩu vào 4.

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