1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo xây dựng chương trình quản lý đề thi trắc nghiệm cho một trường đại học

48 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Một trong những bộ phận ứng dụngcông nghệ thông tin chính là thay đổi và giúp đỡ việc sinh hoạt hàng ngàycủa mọi người trong cuộc sống.Vì vậy nhóm 6 đã lựa chọn đề tài “ Chươngtrình quản

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP

ĐỀ CƯƠNG HẾT MÔN HỌC

NGÀNH: MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG DỮ LIỆU

Xây dựng chương trình quản lý đề thi trắc nghiệm chomột trường Đại Học

Sinh viên thực hiện:

- Hoàng Tuấn Anh - 21103200010

- Đào Quang Anh - - Nguyễn Việt Anh Phạm Đình Hưởng -

Lớp: DHMT15A1HN Giáo viên hướng dẫn:

Nguyễn Thùy Dung

Hà Nội, ngày … tháng … năm 2023

Trang 2

Lời nói đầu

Ngày nay với sự phát triển về mọi mặt đời sống, văn hóa, giáo dục cho đếncông nghệ và đặc biệt là lĩnh vực công nghệ thông tin đang có bước phát triểnchóng mặt Việc áp dụng công nghệ thông tin vào việc học tập và làm việc cũngkhông còn quá mới mẻ Có rất nhiều các hãng công nghệ lớn tham gia vào việcsản xuất các ứng dụng công nghệ nhằm giúp đỡ cho công việc, cũng như họctập.

Việc áp dụng công nghệ vào học tập mang lại nhiều tiện tích và cơ hội nângcao trải nghiệm giáo dục Công nghệ tạo điều kiện cho môi trường học tậptương tác hơn Học viên có thể tham gia vào các hoạt động trực tuyến như diễnđàn, thảo luận, và bình luận trên các nền tảng giáo dục Điều này tăng cường sựtương tác giữa học viên và giảng viên cũng như giữa các học viên.

Công nghệ cho phép học viên tiếp cận tài liệu học mọi lúc, mọi nơi thông quacác nền tảng trực tuyến Điều này giúp họ có thể tự quản lý thời gian học tập vàtiếp cận nguồn thông tin phong phú từ nhiều nguồn khác nhau.

Ứng dụng và nền tảng học trực tuyến giúp học viên tự quản lý quá trình họctập của mình Họ có thể chọn lựa tài liệu, bài giảng, và phương pháp học phùhợp với phong cách học cá nhân.

Công nghệ giúp tự động hóa quá trình đánh giá hiệu suất học viên thông quacác bài kiểm tra trực tuyến, bài tập tự động chấm điểm và phản hồi tức thì Điềunày giúp học viên nhanh chóng đo lường tiến độ và hiệu suất của mình.

Việc tích hợp công nghệ vào học tập mang lại nhiều ưu điểm, tạo ra môi trườnghọc tập đa dạng, linh hoạt và thú vị cho học viên.

Trang 3

II Cơ sở lý thuyết 6

1 Giới thiệu về ngôn ngữ lập trình được sử dụng 6

2 Giới thiệu về chương trình quản lý đề thi 11

Phần 2: Phân tích thiết kế chương trình 14

II Kỹ thuật chuyển sang câu hỏi tiếp theo 27

2.1 Kỹ thuật tính thời gian trắc nghiệm 29

2.2 Kỹ thuật tính điểm trắc nghiệm 32

CHƯƠNG 4: THIẾT KẾ GIAO DIỆN 35

 Giao diện màn hình chính: 35

 Giao diện đăng nhập Admin 35

 Giao diện đăng nhập User 36

 Giao diện chọn môn thi 36

Trang 4

 Giao diện làm bài: 37

 Giao diện hoàn thành bài thi: 38

 Giao diện quản lý đê thi: 38

 Giao diện thêm đề thi: 39

 Giao diện quản lý người dùng: 39

 Giao diện đăng ký 40

 Giao diện xác nhận tài khoản 41

 Giao diện cấp lại mật khẩu: 41

 Giao diện thông tin cá nhân 42

 Giao diện lịch sử làm bài: 43

CHƯƠNG 5: KIỂM THỬ BẢO TRÌ 44

Trang 5

Phần 1: Tổng quan về đề tài và cơ sở lý thuyết

I.Tổng quan về đề tài

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

Những năm gần đây, hình thức thi trắc nghiệm rất phổ biến và ngàycàng được ưa chuộng hơn Nó giúp kiểm tra được kiến thức tổng quát thuộcnhiều khía cạnh, cũng như thời gian chấm thi nhanh hơn Bởi vậy nhu cầucủa mọi người về ôn luyện trắc nghiệm cũng tăng cao, ngày càng có nhiềungười tìm đến những phần mền thi trắc nghiệm Đó chính là lý do chúng emchọn đề tài này.

Với sự phát triển nhanh chóng của khoa học công nghệ và đặc biệt làngành công nghệ thông tin, làm từng bước thay đổi cuộc sống của con ngườibởi các ứng dụng sản phẩm của công nghệ Đi cùng với sự phát triển củangành công nghệ thông tin là sự ra đời ngày càng nhiều thiết bị điện thoại diđộng Nhu cầu của con người về việc sử dụng và giải trí trên các thiết bị diđộng cũng ngày càng cao và đa dạng Một trong những bộ phận ứng dụngcông nghệ thông tin chính là thay đổi và giúp đỡ việc sinh hoạt hàng ngàycủa mọi người trong cuộc sống.Vì vậy nhóm 6 đã lựa chọn đề tài “ Chươngtrình quản lý đề thi và luyện thi trắc nghiệm ” với mong muốn giúp chongười dùng có thể quản lý cũng như luyện thi các đề trắc nghiệm một cácnhanh chóng, mọi lúc mọi nơi vừa tiết kiệm thời gian cũng như chi phí thựchiện.

2 Các chức năng cần xây dựng

- Xây dựng giao diện đăng nhập chính

- Thiết kế giao diện cho phép xử lý các chức năng chính.

- Thiết kế giao diện chương trình chính thực hiện các công việc:• Sửa, xóa, tìm kiếm, kiểm tra thông tin người dùng

Trang 6

• Sửa, xóa, thêm mới đề thi từ các file exe hoặc nhập tay• Tự chấm điểm khi thời gian kết thúc -> Hiển thị kết quả

• Người làm bài xem bài mình làm-> Xem kết quả -> Lưu điểm ->Xóa điểm -> Thoát.

II Cơ sở lý thuyết

1 Giới thiệu về ngôn ngữ lập trình được sử dụng1.1 Ngôn ngữ lập trình java

 Java là một ngôn ngữ lập trình thông dụng và mạnh mẽ, đượcthiết kế để có thể chạy trên nền tảng đa dạng, từ thiết bị diđộng cho đến máy chủ và máy tính cá nhân Dưới đây là mộtsố điểm quan trọng về Java:

- Độc lập nền tảng (Platform Independence): Mã nguồn Java được

biên dịch thành bytecode, một dạng ngôn ngữ trung gian không phụthuộc vào nền tảng Bytecode này sau đó có thể chạy trên bất kỳ máyảo Java (JVM - Java Virtual Machine) nào Điều này giúp ứng dụngJava có khả năng chạy trên nhiều hệ điều hành khác nhau mà khôngcần sửa đổi.

- Đối tượng hóa (Object-Oriented): Java là một ngôn ngữ lập trình

hướng đối tượng, nghĩa là nó hỗ trợ các khái niệm như lớp, đối tượng,

Trang 7

kế thừa, đóng gói, và đa hình Điều này giúp xây dựng mã nguồn dễduy trì, mở rộng và tái sử dụng.

- Bảo mật (Security): Java có mô hình bảo mật mạnh mẽ Mã bytecode

chạy trên JVM được kiểm tra tại thời điểm chạy, giúp ngăn chặn nhiềuvấn đề bảo mật, như truy cập không an toàn vào bộ nhớ và mã nguồnđộc hại.

- Thu gọn rác (Garbage Collection): Java tự động quản lý bộ nhớ

thông qua thu gom rác, giúp giảm bớt gánh nặng cho lập trình viên khiquản lý bộ nhớ.

- Phong cách cú pháp (Syntax): Cú pháp của Java tương đối dễ đọc và

viết, giúp làm giảm lỗi và tăng tính nhất quán của mã nguồn.

- Thư viện và API phong phú (Rich Standard Library): Java đi kèm

với một bộ thư viện và API phong phú, cung cấp nhiều chức năng tiệních, từ xử lý chuỗi đến mạng và đồ họa.

- Hỗ trợ đa luồng (Multithreading): Java hỗ trợ lập trình đa luồng,

giúp tận dụng hiệu suất của hệ thống trong khi xử lý nhiều tác vụ đồngthời.

- Nhập và xuất (Input/Output): Java cung cấp một số lượng lớn các

công cụ và thư viện để xử lý nhập và xuất dữ liệu, từ đọc và ghi tệpđến tương tác với các luồng đầu vào và đầu ra.

 Java được sử dụng rộng rãi trong nhiều lĩnh vực, bao gồmphát triển ứng dụng di động (Android), phát triển ứng dụngmáy tính cá nhân, phát triển ứng dụng web và xây dựng cáchệ thống máy chủ mạnh mẽ.

1.2 Giới thiệu về Java swing.

Java Swing là một bộ công cụ phát triển giao diện người dùng (GUI) chongôn ngữ lập trình Java Được giới thiệu từ Java 2 (JDK 1.2) trở đi, Swingthay thế Abstract Window Toolkit (AWT) cũ, mang lại nhiều tính năng vàlinh hoạt hơn trong việc xây dựng các ứng dụng giao diện đồ họa.

Trang 8

Dưới đây là một số điểm quan trọng về Java Swing:

- Độc lập nền tảng (Platform Independence): Như Java, Swing được

thiết kế để làm cho ứng dụng GUI có thể chạy trên nhiều nền tảngkhác nhau mà không cần sửa đổi mã nguồn.

- Linh hoạt và đa dạng: Swing cung cấp một loạt các thành phần giao

diện người dùng như JButton, JTextField, JTable, và JTree, giúp pháttriển giao diện đa dạng và phong phú.

- Lập trình hướng sự kiện (Event-Driven): Swing sử dụng mô hình

lập trình hướng sự kiện, nghĩa là các sự kiện như nhấn nút, di chuyểnchuột, hay nhập liệu từ bàn phím kích thích việc thực thi các đoạn mãnguồn đã được định nghĩa trước đó.

- Look and Feel tùy chỉnh (Customizable Look and Feel): Swing cho

phép bạn tùy chỉnh giao diện của ứng dụng bằng cách sử dụng cácgiao diện người dùng khác nhau, gọi là "Look and Feel." Bạn có thểchọn giữa các gói Look and Feel có sẵn hoặc tạo ra một giao diệnngười dùng riêng của mình.

- Đa luồng (Multithreading): Swing hỗ trợ lập trình đa luồng, giúp xử

lý các tác vụ đồng thời mà không làm đóng băng giao diện ngườidùng.

- Hỗ trợ Accessibility: Swing tích hợp các tính năng hỗ trợ truy cập

cho người dùng có khuyết tật, giúp đảm bảo rằng ứng dụng của bạn cóthể được sử dụng một cách thuận tiện cho mọi người.

- Phong cách cú pháp (Syntax): Sử dụng Java, cú pháp của Swing là

rất dễ đọc và hiểu, giúp lập trình viên tạo và duy trì mã nguồn mộtcách dễ dàng.

Java Swing thường được sử dụng để phát triển ứng dụng desktop, từ ứngdụng quản lý dữ liệu đơn giản đến các ứng dụng đồ họa phức tạp.

Trang 9

1.3 Giới thiệu về cơ sở dữ liệu SQL.

SQL (Structured Query Language) là một ngôn ngữ lập trình được thiết kế

để quản lý và tương tác với các hệ thống quản lý cơ sở dữ liệu (DatabaseManagement Systems - DBMS) Dưới đây là một giới thiệu về cơ sở dữ liệuSQL:

Định nghĩa:

- Cơ sở dữ liệu (Database): Một cơ sở dữ liệu là một tập hợp có tổ

chức của dữ liệu, thường được tổ chức theo các bảng để lưu trữ vàquản lý thông tin.

- Hệ thống quản lý cơ sở dữ liệu (DBMS): Là một phần mềm quản lý

và tương tác với cơ sở dữ liệu Nó cung cấp các chức năng như lưutrữ, truy xuất, cập nhật và quản lý dữ liệu.

Kiểu dữ liệu:

- SQL hỗ trợ nhiều kiểu dữ liệu, bao gồm INTEGER (số nguyên),VARCHAR (chuỗi kí tự biến đổi), DATE (ngày tháng), và nhiều kiểudữ liệu khác.

Bảng và quan hệ:

- Dữ liệu trong SQL được tổ chức thành các bảng, trong đó mỗi hàngcủa bảng tương ứng với một bản ghi và mỗi cột tương ứng với mộttrường dữ liệu.

Trang 10

- Mối quan hệ giữa các bảng có thể được thiết lập thông qua các khóachính (primary key) và khóa ngoại (foreign key).

- Chức năng tự động (Functions) và thủ tục lưu trữ (Stored Procedures):- SQL hỗ trợ các hàm như AVG, SUM, MAX, MIN để thực hiện các

phép toán trên dữ liệu.

- Stored Procedures là các đoạn mã lưu trữ có thể được thực thi từ xa vàgiúp tối ưu hóa và bảo mật quy trình xử lý dữ liệu.

1.4 Giới thiệu về Apache NetBean

- NetBeans, một môi trường phát triển tích hợp (IDE) nổi tiếng,đứng đầu trong việc hỗ trợ phát triển ứng dụng Java và nhiều ngônngữ lập trình khác Với sự linh hoạt và đa nhiệm, NetBeans khôngchỉ giới hạn trong việc xây dựng mã nguồn Java mà còn mở rộng

Trang 11

sức mạnh đến C, C++, HTML, JavaScript, và PHP thông qua việctích hợp các plugin mở rộng.

- NetBeans đồng hành với lập trình viên bằng một môi trường pháttriển tích hợp đầy đủ, cung cấp trình soạn thảo mã nguồn thôngminh, trình biên dịch mạnh mẽ, và gỡ lỗi hiệu quả Quản lý dự ántrở nên dễ dàng với tính năng tổ chức mã nguồn và tài nguyên dựán một cách có tổ chức.

- Khác biệt của NetBeans không chỉ là ở sự đa ngôn ngữ và môitrường phát triển tích hợp mạnh mẽ IDE này còn chú trọng đếnviệc thiết kế giao diện người dùng, với trình thiết kế giao diện đồhọa giúp lập trình viên tạo ra giao diện thân thiện, mang lại trảinghiệm người dùng tốt nhất.

- Hỗ trợ cho Apache Maven là một điểm mạnh khác của NetBeans,giúp quản lý dependencies và xây dựng dự án trở nên hiệu quả vàthuận tiện Bên cạnh đó, khả năng mở rộng của NetBeans thôngqua plugin làm cho IDE trở thành một công cụ linh hoạt, có thể đápứng mọi nhu cầu của nhà phát triển trên nhiều nền tảng và ngônngữ lập trình khác nhau NetBeans không chỉ là một công cụ, mà làmột đối tác đáng tin cậy trên hành trình sáng tạo ứng dụng.

2 Giới thiệu về chương trình quản lý đề thi II.1 Yêu cầu chức năng

Chương trình quản lý đề thi và luyện thi trắc nghiệm được xây dựngnhững chức năng như sau:

Tài khoản Admin

Trang 12

- Admin có thể xem thông tin cá nhân của các tài khoản người dùng.- Có thể chỉnh sửa, tìm kiếm và xóa thông tin của các tài khoản ngườidùng.

- Trong trường hợp người dùng quên mật khẩu, có thể sử dụng tính năng

quên mật khẩu để có thể được cấp lại mật khẩu thông qua việc xácminh số điện thoại.

Kiểm tra thông tin :

- Người dùng có thể kiểm tra các thông tin cá nhân như : Họ tên , mã

sinh viên, ngày sinh, địa chỉ, số điện thoại, giới tính.Lựa chọn đề thi :

- Người dùng có thể lựa chọn các môn thi đã có để tham gia làm bài thi

trắc nghiệm.

Kiểm tra lịch sử làm bài :

- Người dùng có thể kiểm tra lại lịch sử các bài đã làm về: thời gian làm

bài, số điểm, số câu làm đúng, môn thi và mã đề.

II.2 Yêu cầu phi chức năng

Bảo mật

Trang 13

- Thông tin được bảo mât.- Phần quyền người dùngMàn hình hiển thị

- Hiển thị nhanh chóng.- Sửa đổi nhanh chóng.- Đơn giản, dễ quản lý.Khả năng bảo trì

- Sao lưu thường xuyên- Theo dõi , ghi lỗiĐộ tin cậy

- Hệ thống luôn sẵn sàng hoạt động

Trang 14

Phần 2: Phân tích thiết kế chương trình

Yêu cầu chức năng

1Chức năng Đăng Nhập, Đăng ký, Quên mật khẩu

Cập nhật các thông tin người dùng

2Chức năng Admin:- Quản lý đề thi- Quản lý Users

Quản lý đề thi cũng như người dùng, có các chức năng cơ bản như them, sửa, xóa, tìm kiếm….

3Chức năng UsersLàm bài kiểm tra, xem lại thông tin cá nhân, lịch sử làm bài

Bảng 2.1.1: Yêu cầu chức năng

Yêu cầu phi chức năng

1Giao diện thân thiện với người dùngMàu sắc tươi tắn tạo cảm giác thoải mái cho người

sử dụng

2Bảo đảm tính toàn vẹn cho dữ liệuDữ liệu hóa đơn sẽ được khôi phục nguyên vẹn khi xảy ra sự cố

3Khả năng xử lý phản hồi nhanhĐộ chậm trễ phải thấp từ khi sự kiện được sinh ra từ cú click chuột của người dùng

Trang 15

4Khả năng cập nhật dữ liệu nhanh chóngDữ liệu được chỉnh sửa/thêm mới phải được cập nhật nhanhchóng

Bảng 2.1.2: Yêu cầu phi chức năng

II.Biểu đồ Use case

Trang 17

Hình 2.2.4 UC quản lý người dùng

Use case quản lý bài thi

Hình 2.2.5 UC Quản lý bài thi

1.1 Đặc tả UC cho một số chức năng chính :

- Cập nhật thông tin

Sự kiện kích hoạt Đăng nhập phân quyền với admin hoặc users, nhập tài khoản mật khẩu => login

Hậu điều kiện Điền đầy đủ thông tin và ấn vào login

Luồng sự kiện chính -Hiển thị ô để nhập username-Hiển thị ô để nhập password

Luồng sự kiện phụ -Nếu nhập sai thông tin hiện ra thông báosai tài khoản hoặc mật khẩu

-Nếu không nhập đầy đủ thông tin sẽ in ra thông báo không được để trống các ô

Trang 18

Bảng 2.3.1: UC Cập nhật thông tin

-Quản lý đề thi

Sự kiện kích hoạt Sau khi đăng nhập vào được admin => chọn quản lý đề thi

Luồng sự kiện chính - Hiện thị list đề thi ra bảng dữ liệu- Thêm đề thi

- Xóa đề thi

- Tìm kiếm theo tên đề thi và đề số- Sửa đề thi(double click vào đề cần sửa)- Import đề thi từ file txt

Luồng sự kiện phụ -Không có.

Bảng 2.3.2: UC quản đề thi

- Quản lý người dùng :

Tên Use-Case Quản lý người dùng

Sự kiện kích hoạt Sau khi đăng nhập vào được admin => chọn quản lý người dùng

Luồng sự kiện chính -Hiển thị màn hình bảng dữ liệu về thông tin người dùng

-Tìm kiếm người dùng theo tên người dùng

- Sửa thông tin người dùng-Xóa thông tin người dùng

Luồng sự kiện phụ -Không có.

Trang 19

Bảng 2.3.3: Quản lý người dùng

- Quản lý bài thi:

Sự kiện kích hoạt

Chọn chức năng đăng nhập vào hệ thống => Users => Login

Tiền điều kiện

-Tiến hành chọn môn thi, chọn đề thi-Làm bài test

-Ấn nộp bài:

Hậu điều kiện

-Nhấn nút Thoát để thoát ra ngoài

-Nhấn nút Làm lại để làm lại bài kiểm tra-Nhấn nút xem đáp án để xem lại bài làm

Luồng sự kiện chính

-Hiển thị màn hình Kết quả-Hiển thị số câu đúng, sai

-Hiển thị thời gian làm bài và Tổng điểm

Luồng sự kiện phụ -Không có.

Bảng 2.3.4: UC quản lí bài thi

Trang 20

1.2Vẽ sơ đồ đặc tả cho từng chức năng

Hình 2.4.1 Sơ đồ hoạt động Đăng nhập

Trang 22

Hình 2.4.2 Sơ đồ hoạt động Đăng Kí

Trang 23

Hình 2.4.3 Sơ đồ hoạt động Users

Trang 24

Hình 2.4.5 Sơ đồ hoạt động Admin

Trang 25

1.3 Các bảng thực thể sử dụng

Hình 2.4.7 Sơ đồ Lớp

Trang 26

Chương 3: KỸ THUẬT XÂY DỰNG BỘ ĐỀ TRẮC NGHIỆMI Xây dựng bộ đề trắc nghiệm

MySQL

MySQL là một hệ quản trị cơ sở dữ liệu (Database Management System - DBMS) mã nguồn mở, phổ biến và mạnh mẽ Nó được sử dụng để lưu trữ và quản lý dữ liệu trong các ứng dụng web và nhiều hệ thống khác.

MySQL thường được sử dụng trong các dự án phát triển web để lưu trữ thông tin như thông tin người dùng, dữ liệu sản phẩm, và nhiều loại dữ liệu khác Được phát triển bởi Oracle Corporation, MySQL có nhiều phiên bản và đã trở thành một trong những hệ quản trị cơ sở dữ liệu phổ biến nhất trên thế giới, đặc biệt là trong cộng đồng phần mềm mã nguồn mở.

MySQL hỗ trợ nhiều tính năng như truy vấn SQL, quản lý giao dịch, cơ sở dữ liệu phân tán, và nhiều tính năng khác giúp người phát triển xây dựng và duy trì các ứng dụng web hiệu quả và ổn định

Ta sử dụng công cụ là Xampp, PHP admin để xây dựng cơ sở dữ liệu cho bộ đề trắc nghiệm

Trong cấu trúc bộ đề gồm có 10 cột, mỗi cột chứa một thông tin khác nhau:+ id: Định danh cho câu hỏi

+NameExam: Tên kỳ thi+NumberExam: Đề số+question: câu hỏi

+AnswerA,B,C,D: các đáp án+Answer correct : đáp án đúng+Status: trạng thái

Ngày đăng: 30/05/2024, 05:48

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w