Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 22 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
22
Dung lượng
1 MB
Nội dung
ĐẠ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ầnmềmquảnlí đề thitrắcnghiệmmô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 quanvề 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
2.3.1 Kết quả lí thuyết . . . . . . . . . . . . . . . . . . . 19
2.3.2 Kết quả thực nghiệm . . . . . . . . . . . . . . . . . 19
3 Kết luận 20
3.1 Thu hoạch . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2 Định hướng . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Tài liệu tham khảo 22
3
4
Lời nói đầu
Cuộc sống ngày càng hiện đại, các trang thiết bị phục vụ cho giáo dục cũng
được nâng lên, cùng với đó, máy tình được đưa vào trong học tập như là
một công cụ hỗ trợ đắc lực cho việc thi cử, quảnlíhọc sinh Cũng trong
thời gian này, hình thức thitrắcnghiệm được đưa vào trong giáo dục, thi
cử vì nó thường tổng hợp được hầu hết các kiến thức đã học vào các đề thi.
Vì thế nhóm chúng em cũng muốn thử sức mình tạo nên một chương trình
quản líđềthitrắcnghiệmđể giúp cho các giáo viên tạo ra những đề thi
trắc nghiệm tự động bằng máy tính mà không phải mất nhiều công sức,
thời gian, tiền của. Chương trình của của chúng em mới chỉ áp dụng cho
môn tin học đại cương với một số thông số cho trước cố định (về số câu,
số đề thi, ) nhưng chúng em tin rằng theo thời gian nó có thể áp dụng
mở rộng cho những mônhọc khác. Do còn thiếu nhiều kiến thức và kinh
nghiệm nên bài tập lớn của chúng em không tránh khỏi những sai sót, vì
thế chúng em kính mong thầy giáo góp ý để hoàn thiện. Qua đây, chúng
em xin chân thành cảm ơn thầy giáo, PGS.TS Trần Đình Khang đã
chỉ bảo, giảng giải và giúp đỡ trong thời gian qua, chúng em xin cảm ơn
thầy giáo, ThS. Đỗ Bá Lâm đã cung cấp tài liệu và những hướng dẫn
quý báu để chúng em hoàn thành được bài tập.
Mục đích: Thông thường những đềthitrắcnghiệm thường có số lượng
lớn các câu hỏi (từ 50-100 câu/đề), vì thế nếu dùng các phầnmềm soạn
thảo thông thường như word hay excel sẽ rất mất thời gian, và khả năng
xảy ra sai sót lớn. Chương trình quảnlíđềthitrắcnghiệ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 quanvề 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ảnlí 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 thitrắcnghiệm trên máy.
Lí do ra đời phầnmề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 thitrắcnghiệ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ọcnhậ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
Chương trình được xây dựng trên nền PHP và hệ cơ sở dữ liệu MySQL,
làm việc với người dùng thông qua các trang tương tác:
• Trang welcome: Cho phép đăng nhập vào hệ thống. Điều này giúp
quản lí được người dùng.
7
• Trang chủ: Trang có chứa các đường dẫn đến nội dung mà người dùng
có thể đến để: tạo đề, cập nhật ngân hàng câu hỏi, quảnlí người dùng.
Từ trang chủ sẽ dẫn tới các trang:
– Trang thêm câu hỏi vào CSDL.
– Trang tạo đề thi.
– Trang tạo nhanh.
– Trang hiển thị ngân hàng câu hỏi trong CSDL.
– Trang xem câu hỏi đề ?( với ? là các sổ từ 1-10).
– Trang chức năng admin.
– Thoát khỏi chương trình.
Trong đó:
• Trang thêm câu hỏi: trang này sẽ yêu cầu người dùng nhập chương,
nội dung câu hỏi, nội dung các phương án trả lời và đáp án tương
ứng. sau khi ấn thêm, câu hỏi sẽ được thêm vào CSDL. Người dùng
có thể ấn nhập lại đểnhập lại toàn bộ nội dung câu hỏi.
• Trang tạo đề thi: người dùng chọn và nhập số lượng câu hỏi cho từng
đề, sau khi ấn làm đềthì 1 đề được tạo ra.
• Trang tạo nhanh: người dùng chọn số câu hỏi từng chương và ấn tạo
nhanh, sẽ có 10 đề được tạo ra với số lượng câu hỏi từng chương như
nhau nhưng có nội dung câu hỏi khác nhau.
• Trang hiển thị ngân hàng đề thi: ở trang này, người dùng có thể xem
lần lượt từng câu hỏi trong ngân hàng đề thi, nếu có sai sót, có thể
sửa xoá nội dung của câu hỏi.
• Trang hiển thịđề thi: sau khi tạo đề thi, người dùng có thể vào xem
nội dung câu hỏi từng đề thi.
• 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ônthi khác với lưu ý chương trình họcmô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 thitrắc nghiệm
trên máy môn Tin học đại cương. Có thể dùng đểquảnlí 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ầnmềm thi trắcnghiệm tin học đại cương
trên máy, giao cho 2 nhóm làm việc. Muốn thitrắcnghiệ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
nhập vào khi muốn sinh đề.
• Output là ngân hàng đềthi gồm các đề đã được sinh ra do yêu cầu
người dùng.
9
Yêu cầu của các đề sinh ra là với cùng yêu cầu của người nhập, các đề
có độ khó ngang nhau, các câu được chọn ngẫu nhiên, có thể từ cùng bộ
câu hỏi nhưng thứ tự đa dạng đảm bảo việc thi diễn ra nghiêm túc.
• Trước hết cần tạo ra ngân hàng câu hỏi với nội dung các câu hỏi đã
có. Hơn nữa, cần cấu trúc nó để thuận tiện cho việc chọn câu hỏi
ngẫu nhiên phù hợp với yêu cầu người dùng. Do đó, các câu hỏi ban
đầu được chia thành các chương như trong sách và có độ khó.
• Từ ngân hàng câu hỏi cần chọn ngẫu nhiên ra các câu trong các
chương với các độ khó khác nhau để tạo ra bộ câu hỏi.
• Từ bộ câu hỏi thực hiện đảo thứ tự để ra được các hoán vị đa dạng.
• Tăng thêm tính đa dạng của đềthi nhận được bằng cách đảo chỗ các
phương án trong cùng một câu hỏi.
Qua phân tích sơ bộ thấy được cần phải cấu trúc ngân hàng câu hỏi theo
chương và độ khó. Do việc chọn và đảo câu hỏi cần tính khách quan và
ngẫu nhiên nên cần sử dụng hàm random. Tới đây, vấn đề đặt ra là sử
dụng hàm random như thế nào? Có 2 cách random:
• Chọn ra ngẫu nhiên các câu trong các chương, đánh dấu các câu đã
được chọn, tiếp tục thực hiện cho tới khi chọn đủ số câu. Phương
pháp này tốn thời gian do mỗi lần chọn câu tiếp theo lại lặp lại quá
trình.
• Với bộ số các câu trong các chương đã được xác định, thông qua hàm
random để hoán vị bộ chỉ số, sau đó chọn ra n câu đầu tiên từ bộ chỉ
số mới đã hoán vị, tham chiểu sang bộ chỉ số ban đầu. n là số câu
của chương mà người dùng nhập vào.
Cách làm này nhanh gọn, dễ thực hiện. Cuối cùng nhóm đã chọn cách 2.
Vấn đề tiếp theo là sử dụng công cụ gì. Do mới chỉ có kiến thức về ngôn
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ầnmềmquả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
[...]... Đạt Đạt Đạt 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 Đề trống không nhập, hay nhập không phải s :báo lỗi nhập sai, yêu cầu nhập lại Thêm người dùng trùng tên đã có :báo lỗi tên này đã có người sử dụng Sửa tên mà nhập tên trống: báo lỗi, yêu cầu nhập lại Sửa password mới, nếu xác nhập password không khớp: báo lỗi xác nhập password... tên đăng nhập sai Đăng nhập sai password báo lỗi sai pass Nhập câu hỏi chưa chọn chương: báo lỗi chưa chọn chương 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 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) Nhập nội dung câu hỏi chưa chọn đáp án trả lời: báo lỗi... 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... nào rỗng thìbáo lỗi • Báo lỗi khi nhập yêu cầu vềđề thi: – Nhập quá số lượng câu hỏi từng chương trong ngân hàng câu hỏi Phương án dùng biến đếm cập nhật số lượng câu hỏi có trong csdl rổi so sánh với câu hỏi người dùng nhập vào – Ô số lượng câu hỏi để trống không nhập, hay nhập không phải số Phương án: dùng hàm kiểm tra xem phầnnhập vào có phải số không – Không chọn tên bảng đề lưu • Báo lỗi người... nhập số lượng câu hỏi sẽ có 10 đề được tạo ra và lưu vào trong 10 bảng đề Các trường hợp không nhập đúng sẽ báo lỗi 2.3.2 Kết quả thực nghiệm • 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 Chạy trên trình duyệt IDE Chạy trên trình duyệt Firefox Chạy trên trình duyệt Chrome 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 Đăng nhập sai tên báo. .. 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 thithì chỉ cần truy xuất các bảng này – Phầnquả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ỉ... hoàn thành phần mềm, nhóm đã tích lũy thêm kiến thức căn bản về các ngôn ngữ lập trình cũng như các phầnmềmquản trị cơ sở dữ liệu 20 3.2 Định hướng • Do phầnmề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ầnmềm theo... không – Không chọn tên bảng đề lưu • Báo lỗi người dùng – Đăng nhập sai tên – Đăng nhập sai password – Thêm người dùng trùng tên đã có – Sửa tên mà nhập tên trống – Sửa password mới, nhưng mã xác nhập pass không khớp – Đề trống không nhập, hay nhập không phải số 2.1.2 Cấu trúc chương trình, các phần chính • Các module chính bao gồm: – Phầnquảnlí ngân hàng câu hỏi ∗ Thêm câu hỏi, phương án và đáp án đúng... 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... • Có những trường hợp nào sẽ cần phải báo lỗi cho người dùng và làm thế nào để phát hiện ra lỗi Do yêu cầu đặt ra nên cần dùng các biến kiểm tra hoặc đánh dấu • Báo lỗi khi nhập câu hỏi: – Nhập câu hỏi chưa chọn chương – 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 – Nhập câu hỏi chưa nhập phương án trả lời hoặc nhập toàn kí tự trống 11 – Nhập nội dung câu hỏi chưa chọn đáp án . ĐẠ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. 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