ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
—————*————–
BÁO CÁO
MÔN HỌC
NHẬP MÔN CNTT
Về phần mềm quản lí đề thi trắc nghiệm môn THDC
Giáo viên hướng dẫn: PGS.TS TRẦN ĐÌNH KHANG.
ThS ĐỖ BÁ LÂM.
Nhóm sinh viên thực hiện:
Nhóm 1 - Lớp KSTN-CNTT-K56
1. Nguyễn Thanh Tâm.
2. Trịnh Thanh Hải.
3. Phạm Văn Việt.
4. Nguyễn Đình Huệ.
5. Nguyễn Vũ Quý.
HÀ NỘI - 2012
2
Mục lục
Lời nói đầu 5
1 Tổng quan về chương trình 7
1.1 Mục đích của chương trình . . . . . . . . . . . . . . . . . . 7
1.2 Cấu trúc chương trình . . . . . . . . . . . . . . . . . . . . . 7
1.3 Phạm vi chương trình . . . . . . . . . . . . . . . . . . . . . 9
1.4 Công cụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2 Nội dung chương trình 9
2.1 Nội dung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.1 Phân tích bài toán, ý tưởng tạo dựng . . . . . . . . 9
2.1.2 Cấu trúc chương trình, các phần chính . . . . . . . . 12
2.2 Môi trường làm việc và cách sử dụng chương trình . . . . . 14
2.3 Kết quả . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
xảy ra sai sót lớn. Chương trình quản lí đề thi trắc nghiệm sẽ giải quyết
những vấn đề trên. Chương trình có khả năng lưu trữ ngân hàng câu hỏi
và đáp án, chỉnh sửa, quan sát một cách khoa học, tạo ra các đề thi trắc
nghiệm một cách nhanh chóng và chính xác.
5
6
1 Tổng quan về chương trình
1.1 Mục đích của chương trình
• Tạo ra các đề thi với các câu hỏi được chọn ngẫu nhiên và các đáp án
được đảo ngẫu nhiên từ ngân hàng đề thi. Số lượng câu hỏi mỗi đề
cùng phạm vi (chương học) được chọn tùy ý bởi người dùng.
• Tạo, cập nhật, quản lí ngân hàng câu hỏi thi với giao diện trực quan
cho người dùng.
• Tạo ngân hàng đề thi cho việc tổ chức thi trắc nghiệm trên máy.
Lí do ra đời phần mềm này:
• Giảm thời gian và công sức tạo ra các đề thi từ cùng nguồn câu hỏi.
• Đảm bảo tính khách quan, ngẫu nhiên khi ra các đề có cùng cấu trúc,
trình độ, chất lượng và không mang dấu ấn chủ quan của người ra
đề.
• Thuận lợi hóa việc cập nhật các câu hỏi bất cứ lúc nào, lưu trữ và có
thể sử dụng lại bất cứ khi nào.
• Tạo ra các đề có nội dung giống nhau nhưng đa dạng về thứ tự hoặc
có trình độ như nhau nhằm đạt được việc kiểm tra công bằng nhất
cho người thi.
• Tạo nguồn đề cho tổ chức thi trắc nghiệm diễn ra hiệu quả, việc chấm
thi được nhanh chóng.
• Ngoài ra, đây là một bài tập nhóm trong quá trình học nhập môn
Công nghệ thông tin, giúp sinh viên định hình được quá trình và cách
thức áp dụng kiến thức vào các bài toán thực tế trong cuộc sống.
1.2 Cấu trúc chương trình
• Trang chức năng admin: Trang này cho phép người dùng đổi thay đổi
tên và mật khẩu, ngoài ra, chỉ có admin mới được phép thay đổi các
người dùng, còn các user thì chỉ được sửa thông tin tài khoản của
mình.
8
1.3 Phạm vi chương trình
• Chương trình được áp dụng cho việc tạo ngân hàng đề cho môn Tin
học đại cương.
• Số lượng đề tối đa có thể lưu trữ trong bảng ngân hàng đề là 10. Tuy
nhiên, số lượng đề có thể tạo được là không giới hạn. Ngoài ra có thể
mở rộng đối với các môn thi khác với lưu ý chương trình học môn đó
chỉ chia làm 3 chương, nội dung câu trả lời có 4 phương án, và chỉ 1
phương án đúng.
• Được sử dụng như chương trình con của việc tổ chức thi trắc nghiệm
trên máy môn Tin học đại cương. Có thể dùng để quản lí các đề thi
trên các trang web trực tuyến.
1.4 Công cụ
• Ngôn ngữ lập trình: PHP, HTML, Java Script,SQL.
• Công cụ lập trình: NetBeans, Macromedia Dreamweaver.
• Cơ sở dữ liệu: XAMPP (tích hợp MySQL).
2 Nội dung chương trình
2.1 Nội dung
2.1.1 Phân tích bài toán, ý tưởng tạo dựng
Bài toán đặt ra là xây dựng phần mềm thi trắc nghiệm tin học đại cương
trên máy, giao cho 2 nhóm làm việc. Muốn thi trắc nghiệm trên máy, trước
hết cần ngân hàng đề, sau đó là việc tổ chức thi với đề cho từng thí sinh
có trong ngân hàng đề. Do vậy, mỗi nhóm đượ c giao 1 phần việc và nhóm
này phụ trách việc tạo ra ngân hàng đề thi. Bài toán được đặt ra là làm
thế nào tạo ra được ngân hàng đề thi.
• Input là ngân hàng câu hỏi, số lượng câu hỏi từng chương người nhập
ngữ C nên ban đầu nhóm đã lập trình bằng C. Tuy nhiên, vấn đề gặp phải
là không sử dụng được tiếng Việt. Với sự gợi ý của thầy Lâm, nhóm đã
chuyển sang dùng ngôn ngữ lập trình PHP và phần mềm quản trị cơ sở
dữ liệu MySQL.
Sau khi tạo dựng được phần căn bản, một số vấn đề được đặt ra tiếp
theo:
10
• Làm thế nào để nhập các câu hỏi không chỉ định dạng text. Ví dụ
như 1 số câu hỏi có hình ảnh. Sử dụng thẻ html để hiển thị ảnh.
• Với dạng text có các kí tự nào có vấn đề. Làm thế nào để giải quyết
và thân thiện với người dùng. Người dùng có cần phải gõ theo mã các
kí tự đặc biệt theo hướng dẫn bên cạnh không hay gõ bình thường
rồi máy sẽ xử lí. Nhóm đã tìm được hàm Repalce để tạo thuận tiện
cho việc nhập của người dùng.
• Cập nhật ngân hàng câu hỏi sẽ tiến hành như thế nào. Vấn đề được
giải quyết bằng cách nhập thêm các câu hỏi và cập nhật các câu hỏi
đã được nhập bằng phương pháp sửa và xóa.
• Giao diện tương tác với người dùng sẽ như thế nào? Khi người dùng
muốn nhập câu hỏi, cập nhật câu hỏi, nhập yêu cầu về đề thi, xem
đề thi đã được tạo ra, xem lại ngân hàng đề thi thì sẽ phải vào đâu?
Giải quyết bằng 1 trang chủ với các đường link đến các thao tác người
dùng có thể sử dụng. Bố trí các câu hỏi trong bảng, mỗi hàng hiển
thị cho 1 câu hỏi. Tất cả các câu hỏi sẽ được hiển thị ra từng trang,
mỗi trang gồm 10 câu. Để xem đề thi được tao ra, vào trang chủ và
click vào lần lượt từng đường link dẫn tới 10 đề.
• Về quản lí hệ thống, liệu ai cũng có thể sử dụng, thay đổi ngân hàng
đề và tạo đề hay chỉ có những người nhất định. Để đảm bảo tính an
toàn, chỉ có 1 số người được phép sử dụng và truy nhập. Do đó có
thêm admin để quyết định những người dùng như thêm tên, xóa, sửa
người dùng. Vì thế có thêm một biến chức vụ để check xem người đó
– Phần quản lí ngân hàng câu hỏi
∗ Thêm câu hỏi, phương án và đáp án đúng.
∗ Xoá/sửa câu hỏi.
∗ Xem lại toàn bộ ngân hàng câu hỏi.
Trong đó, mỗi chức năng được thực hiện ở một trang:
∗ Thêm câu hỏi, phương án và đáp án đúng: thực hiện trên
trang reg2.php.
∗ Sửa câu hỏi: thực hiện trên trang edit.php.
∗ Xem lại toàn bộ ngân hàng câu hỏi: thực hiện trên trang
list.php.
– Phần sinh đề
12
∗ Chọn số lượng câu, bảng lưu đề (nếu tạo thủ công từng đề),
nếu tạo nhanh thì không cần chọn bảng lưu đề thi.
∗ Xem lại đề vừa tạo ra. Mỗi phần được thực hiện tại một trang.
∗ Chọn số lượng câu, bảng lưu đề trên trang input.php, hoặc
tạo nhanh thì vào trang taonhanh.php.
∗ Xem lại đề vừa tạo ra trên trang de?.php (?: 1,2,3. . .10).
– Phần lưu trữ đề
Có 10 bảng trong csdl dùng để lưu trữ các đề thi tạo ra, để thực
hiện đưa đề thi ra khi thi thì chỉ cần truy xuất các bảng này.
– Phần quản lý người dùng
∗ Đăng nhập vào hệ thống.
∗ Đổi mật khẩu.
∗ Thêm, sửa, xóa người dùng: chức năng này chỉ có admin thực
hiện được.
Mỗi phần được thực hiện ở một trang:
∗ Đăng nhập vào hệ thống trên trang login.php.
∗ Đổi mật khẩu trên trang edit_user.php.
∗ Thêm người dùng (chỉ có admin mới vào được) trên trang
• Môi trường làm việc
– Hệ điều hành: tương thích với hầu hết các hệ điền hành Windows
như: Windows NT, 2000, XP, Windows 7, Windows 8.
– Yêu cầu hệ thống: >= 64 MB RAM, 200 MB free fixed disk.
• Cách sử dụng chương trình
– Cài đặt XAMPP: Người dùng có thể tải các bản MYSQL trên
mạng về cài, sau đó copy source code vào htdocs, còn csdl thì
người dùng vào lo calhot/phpmyadmin để import từ bộ cài.
– Sau khi cài đặt thành công, người dùng click chuột để khởi động
mysql. Sau đó chạy chương trình bằng trình duyệt chrome, ex-
ploer, hoặc filefox, safari Vào trang welcome.php để bắt đầu
thực hiện chương trình.
– Đăng nhập vào hệ thống.
14
Hình 1: Trang đăng nhập
– Vào trang chủ, có các thanh, chọn:
Hình 2: Trang chủ
∗ Tạo từng đề: Khi muốn tạo thủ công từng đề với số lượng câu
hỏi khác nhau.
15
Hình 3: Trang tạo từng đề thi
∗ Tạo nhanh: Khi phục vụ cho kì thi chính thức, muốn tạo ra
số lượng đề nhiều với form như nhau.
Hình 4: Trang tạo nhanh 10 đề
16
∗ Thêm, chỉnh sửa câu hỏi vào CSDL: Khi muốn bổ sung câu
hỏi vào ngân hàng câu hỏi.
Hình 5: Trang thêm câu hỏi
Hình 6: Trang chỉnh sửa câu hỏi
∗ Hiển thị danh sách tất cả các câu hỏi trong CSDL: Khi muốn
• Giống với kết quả lí thuyết.
• Các trường hợp lỗi bắt buộc và cảnh báo:
Thử nghiệm Trạng thái
Chạy trên trình duyệt IDE Đạt
Chạy trên trình duyệt Firefox Đạt
Chạy trên trình duyệt Chrome Đạt
Truy nhập vào các trang tương tác csdl thì thông
báo yêu cầu đăng nhập
Đạt
Đăng nhập sai tên báo lỗi tên đăng nhập sai Đạt
Đăng nhập sai password báo lỗi sai pass Đạt
Nhập câu hỏi chưa chọn chương: báo lỗi chưa
chọn chương
Đạt
Nhập câu hỏi chưa nhập nội dung câu hỏi hoặc
nhập toàn kí tự trống: báo lỗi chưa nhập nội
dung câu hỏi
Đạt
Nhập câu hỏi chưa nhập nội dung phương án
trả lời hoặc nhập toàn kí tự trống: báo lỗi chưa
nhập nội dung câu trả lời (tương ứng)
Đạt
Nhập nội dung câu hỏi chưa chọn đáp án trả lời:
báo lỗi chưa chọn phương án trả lời
Đạt
19
Nhập số lượng câu hỏi khi tạo đề thi vượt quá
số lượng có trong csdl: báo lỗi số câu hỏi quá
lớn, yêu cầu nhập lại
Đạt
phần mềm quản trị cơ sở dữ liệu.
20
3.2 Định hướng
• Do phần mềm vẫn chưa có phần lựa chọn độ khó như đã lên ý tưởng
từ ban đầu, cũng như chưa chia thành dạng câu hỏi lí thuyết và bài
tập để người tạo để có nhiều lựa chọn hơn cho việc tạo đề của mình
nên nhóm sẽ định hướng phát triển, mở rộng phần mềm theo hướng
này. Ngoài ra, có thể tăng số chương lên cho phù hợp với các môn học
khác.
• Hình thức câu hỏi trắc nghiệm cũng sẽ được cập nhật để tạo ra sự
đa dạng hơn cách trắc nghiệm kiến thức, tạo hứng thú cho người học
và người làm bài. Ví dụ như: câu hỏi đúng sai, câu hỏi lựa chọn một
đáp án đúng, câu hỏi lựa chọn đa đáp án đúng, câu hỏi điền từ vào ô
trống, câu hỏi ngân hàng từ,
• Bổ sung chức năng tạo các câu hỏi chứa các định dạng đa phương
tiện: video, hình ảnh, âm thanh (ví dụ: âm thanh cho môn tiếng anh),
• Bổ sung thêm công cụ sao cho phần mềm có thể tự đọc file word để
tự động import câu hỏi vào cơ sở dữ liệu, nhờ đó tiết kiệm thời gian,
công sức.
• Tạo ra một giao diện thân thiện hơn nữa với người dùng.
• Số lượng đề thi được lưu trữ cũng sẽ được mở rộng cho quy mô thi
lớn hơn.
• Bổ sung chức năng in trực tiếp đề thi ra giấy để phục vụ cho các kì
thi truyền thống khác.
Tóm lại, nhóm sẽ phát triển tiếp phần mềm theo cả chiều rỗng lẫn
chiều sâu để phần mềm tạo ra đáp ứng được đầy đủ các yêu cầu khắt
khe của người dùng.
21
Tài liệu