Quản lý ngân hàng các câu hỏi trắc nghiệm
Trang 1Kế hoạch làm việc
Trơng Công Hiếu
hieubaba@gmail.com - Quản lý danh mục hệ thống.
Hà Thị Hồng Duyên - Tìm kiếm, thống kê
Phần I khảo sát
i khảo sát mục tiêu bài toán
1 Tìm hiểu chung về tổ chức thi trắc nghiệm của bộ môn tiếng anh của ĐHHH:
Ngoại ngữ là môn học chung của toàn trờng nên có rất nhiều sinh viên theo học.Vì vậy tổ chức thi hết môn cho sinh viên toàn trờng là việc khó khăn Trắc nghiệm làhình thức thi đợc tổ bộ môn sử dụng trong những năm gần đây
- u điểm:
+ Có nhiều dạng đề khác nhau nên việc đánh giá trình độ của từng sinh viên làchính xác hơn
Trang 2+ Lu trữ đề thi không an toàn (chủ yếu bằng văn bản).
+ Các kì thi tiếp theo muốn thay đổi nội dung đề thi thì các giáo viên lại phảisoạn câu hỏi và ra đề thi Công việc này mất thời gian và không hiệu quả
+ Số lợng sinh viên đông nên chi phí cho việc phô tô đề thi lớn
+ Chấm thi bằng tay: nhiều giáo viên tham gia
+ Khi sinh viên làm sai muốn sửa lại sẽ gây ra việc gạch xoá, bài thi không đẹpmắt
2 Mục tiêu và phơng án giải quyết:
- Phơng án giải quyết: xây dựng đợc hệ thống quản lý ngân hàng câu hỏi tổ chứcthi trắc nghiệm trên mạng máy tính và sử dụng cho nhiều môn học khác nhau
- Mục đích: Phát huy u điểm và khắc phục nhợc điểm của hệ thống cũ
+ Xây dựng ngân hàng câu hỏi với mức độ khó dễ khác nhau
+ Tự động sinh đề thi dựa theo mẫu và một quy tắc quy định sẵn
+ Quản lý danh sách sinh viên thi
+ Cho phép sinh viên thi và chấm điểm tự động
II Xác lập dự án:
1 Dự trù về trang thiết bị
2 Lên kế hoạch
- Việc cần làm, thời gian
3 Dự trù về con ngời và thời gian
Trang 3- Phần mềm quản lý ngân hàng câu hỏi tổ chức thi trắc nghiệm:
+ Đợc sử dụng cho một tổ bộ môn, hoạt động trên môi trờng mạng lan
-> Đáp ứng mô hình tổ chức thi trắc nghiệm trên mạng máy tính: nhiều sinh viên
có thể thi cùng một lúc
-> Sinh nhiều đề khác nhau, tráo đổi phơng án trả lời
-> Quản lý đợc ngân hàng câu hỏi với số lợng lớn
-> Chấm thi tự động
-> Lu trữ kết quả bài thi
2 Các nghiệp vụ trong hệ thống
- Các giáo viên trong bộ môn là ngời trực tiếp soạn các câu hỏi (dạng văn bản).Mẫu câu hỏi đợc sử dụng có cấu trúc nh ở bảng III.1 Mỗi giáo viên sẽ soạn khoảng
100 câu hỏi (50 dễ, 50 khó) và nộp lại cho trởng bộ môn duyệt Sau đó bộ môn sẽ họplại và quyết định các câu hỏi sẽ đợc lựa chọn Mẫu xét duyệt nh mẫu III.2
- Trởng bộ môn là ngời có quyền cao nhất trong bộ môn, quyết định câu hỏi có
đợc sử dụng hay không
- Các câu hỏi đợc xét duyệt xong sẽ chuyển cho NHÂN VIÊN A (ngời đợc giaonhiệm vụ) Ngời này có nhiệm vụ lên danh sách ngân hàng câu hỏi và là ngời duy nhất
đợc truy xuất, xử lý thông tin trên cơ sở dữ liệu
- Một đề thi hoàn chỉnh (mẫu III.3) là tập hợp 100 câu hỏi khác nhau lấy ngẫunhiên từ ngân hàng câu hỏi (quy tắc ra đề sẽ do bộ môn quyết định) Phơng án trả lời sẽ
đợc hoán đổi vị trí cho nhau để tránh việc 2 đề bài có chung một câu hỏi, thứ tự câu hỏigiống nhau Yêu cầu sinh viên làm bài thi trong thời gian là 100 phút
- Sinh viên trả lời câu hỏi bằng cách chọn một trong 4 phơng án trả lời A, B, C,
D Mỗi câu trả lời đúng tơng ứng với 1 điểm Không chọn phơng án nào hoặc chọn sai
sẽ không có điểm Bài thi của sinh viên sẽ đợc lu lại trong cơ sở dữ liệu và đợc NHÂNVIÊN A tổng hợp và kiểm tra Khi nhân viên muốn lấy kết quả bài thi của sinh viên thì
O A O B O C O D
Trang 4Nhóm 6: Hiếu, Đ.Dơng, H.Dơng, Duyên
- Mẫu III.2:
TRờng đhhhvn
Khoa:
Tổ bộ môn:
cộng hoà xã hội chủ nghĩa việt nam Độc lập – Tự do – Hạnh phúc Tự do – Tự do – Hạnh phúc Hạnh phúc
-*** -Bản xét duyệt Vào hồi h ’ ngày tháng năm tổ bộ môn đã họp và xét duyệt câu hỏi thi trắc nghiệm môn năm học
Tổ trởng bộ môn (Ký, ghi rõ họ tên) - Mẫu III.3: Đề số: Đề thi Môn Lần:
Thời gian làm bài: 100’ Chủ nhiệm bộ môn
Chọn phơng án trả lời đúng: Câu số: 001
O A O B O C O D
Câu số: 100
O A O B O C O D
Mã sv:
Họ và tên:
Ngày sinh:
Lớp:
Khoa:
- Bảng III.4:
Trang 5Kết quả bài thi môn lần
Đề số: Ngày thi:
Mã sinh viên:
Họ và tên:
Ngày sinh:
Lớp:
Khoa:
Trả lời: /100
Điểm:
- Bảng III.5 Trờng ĐHHHVN Khoa:
Lớp:
Kết quả học phần lần
-Năm học:
Môn:
Học kỳ:
Ngày tháng năm
TT Họ và tên Ngày sinh đề số X kết quảY Z (bằng chữ) Điểm Z Ghi chú Số SV thi Tỷ lệ điểm giỏi: Tỷ lệ điểm khá: Tỷ lệ điểm TB Số SV đạt yêu cầu trở lên: Số SV vi phạm kỷ luật
Ngày tháng năm
Chủ nhiệm bộ môn
Phần II: Phân tích và thiết kế hệ thống
I Sơ đồ phân rã chức năng:
5
Trang 6Nhóm 6: Hiếu, Đ.Dơng, H.Dơng, Duyên
II Xác định đầu vào, đầu ra của hệ thống
1 Chức năng quản lý danh mục
1.1 Mục tiêu
- Chức năng này tơng ứng với nghiệp vụ soạn câu hỏi, cho phép cập nhật các nộidung về môn thi, câu hỏi, khoa, lớp của sinh viên
- Nó cho phép quản lý các nội dung trên với các thao tác thêm, sửa, xoá
1.2 Thông tin đầu vào
- Danh sách các môn thi và danh sách câu hỏi của các môn đó
- Danh sách khoa, lớp của sinh viên
- Thông tin về môn thi, khoa, lớp thì khá đơn giản và bao gồm mã và tên Còn về
câu hỏi sẽ có những mức độ khó, dễ khác nhau chúng ta dựa trên mẫu câu hỏi (mẫu 01)
- Thông tin về kỳ thi (tổng hợp từ 3 mẫu biểu: mẫu III.3, III.4, III.5)
2.2.Thông tin đầu vào
- Chức năng này lấy dữ liệu của các câu hỏi, các môn đợc tạo từ chức năng trớc,
và căn cứ vào các câu hỏi đó ta có đợc một đề thi hoàn chỉnh (mẫu 02).
- Tơng ứng với nghiệp vụ tổ chức thi
- Tiến hành phát hành đề thi để cho sinh viên thi ở bớc tiếp theo
- Lên danh sách sinh viên và đề thi đa ra đợc từng bài thi đầy đủ
Trang 73.2.Thông tin đầu vào
- Dữ liệu sinh viên căn cứ vào nội dung sinh viên ghi trong phiếu đăng ký thi
- Các đề thi hoàn chỉnh đã đựơc tạo từ bớc tạo đề
- Thông tin về kỳ thi (tổng hợp từ 3 mẫu biểu: mẫu III.3, III.4, III.5)
- Chức năng này tơng ứng với nghiệp vụ làm bài thi của sinh viên
- Cho phép sinh viên thi trong một khoảng thời gian nào đó tơng ứng với môn
- Chấm điểm bài thi của sinh viên một cách tự động
4.2 Thông tin đầu vào
- Thông tin đầy đủ về sinh viên, bài thi và các thông tin về thời gian thi, ngày thi
cụ thể để đảm bảo không xảy ra thiếu sót trong quá trình thi
- Các dữ liệu đợc đa vào sử dụng và sinh viên trực tiếp làm bài thi
4.3 Thông tin đầu ra
- Bài làm chi tiết sinh viên
- Điểm bài thi của sinh viên đợc chấm tự động, lu trữ trong cơ sở dữ liệu và trảkết quả về cho sinh viên
5 Chức năng tìm kiếm và thống kê
5.1.Thông tin đầu vào:
- Các thông tin có trong quá trình từ khi bắt đầu tạo đề đến khi thi xong gồm códữ liệu câu hỏi, khoa, lớp, sinh viên, đề thi, bài thi, ngày thi, điểm,
- Cho phép tìm kiếm, thống kê theo các tiêu chí trên
5.2 Thông tin đầu ra:
- Kết quả tìm kiếm, thống kê trả về cho Nhân viên lu vào cơ sở dữ liệu để gửi tớicác Khoa và sinh viên
Trang 8Bài thi
Dl
Đề thi KQ
DLDM
1 Nhập DM
Câu hỏi quy tắc đề
Kỳ thi
Trang 9Sinhviªn
Trang 11- Kỳ thi: lu trữ thông tin về một đợt tổ chức thi trong năm học nào đó Các thôngtin về kỳ thi gồm: mã kỳ thi, diễn giải, năm học, học kỳ, lần thi, thời gian.
- Câu hỏi phải thuộc môn nào đó, câu hỏi tham gia cấu tạo nên đề thi và là phầnchính của đề thi Các thông tin về câu hỏi gồm mã câu hỏi, nội dung câu hỏi, ph ơng ántrả lời, đáp án đúng và mức độ câu hỏi
- Đề thi: dữ liệu chính để tổ chức thi Thông tin về đề thi gồm mã đề, tên đề
- Quy tắc ra đề: Quy tắc để tổ chức một đề thi Thông tin về quy tắc ra đề gồmcó: mã quy tắc, số lợng đề, số lợng câu, số câu hỏi khó, số câu hỏi trung bình và số câuhỏi dễ
- Khoa: lu trữ thông tin về khoa, gồm mã khoa và tên khoa
- Lớp: tham gia vào chức năng lớp sinh viên, nó xác định danh mục các lớp màkhoa đang quản lý Thông tin về lớp gồm mã lớp, tên lớp
- Sinh viên: lu trữ danh sách sinh viên của một lớp, tham gia vào cấu trúc của bàithi Thông tin sinh viên gồm mã sinh viên, tên sinh viên, ngày sinh, ghi chú
- Bài thi: Đây là tổng hợp tất cả nội dung của bài thi với sinh viên Dữ liệu gồmmã bài thi, ngày thi, lần thi và thời gian thi, số câu đúng, điểm
Trang 12Nhóm 6: Hiếu, Đ.Dơng, H.Dơng, Duyên Đề thi và quy tắc ra đề: Một môn học có thuộc nhiều đề thi (xáo trộn vị trí câu
và đáp án) và một đề thi chỉ thuộc một môn nhất định
- Xét 2 thực thể: Câu hỏi và đề thi
Nhiều câu hỏi thuộc nhiều đề thi khác nhau và nhiều đề thi có thể có nhiều câuhỏi khác nhau
Câu hỏi n - n Đề thi
- Xét 2 thực thể: Câu hỏi và bài thi
Một câu hỏi thuộc bài thi và một bài thi có nhiều câu hỏi
Câu hỏi n - 1 Chi tiết bài thi
- Xét 2 thực thể: Đề thi & Bài thi
Một đề thi chỉ thuộc một bài thi và một bài thi chỉ có một đề
Đề thi 1 - 1 bài thi
- Xét 2 thực thể: Sinh viên & Bài thi
Một sinh viên làm nhiều bài thi và một bài thi chỉ để một sinh viên làm
Sinhviên 1- n Bài thi
- Xét 2 thực thể: Khoa & Lớp
Một khoa có nhiều lớp nhng một lớp chỉ thuộc một khoa duy nhất
Khoa 1- n Lớp
- Xét 2 thực thể: Lớp & Sinh viên
Một lớp có nhiều sinh viên nhng một sinh viên chỉ đợc học trong một lớp
Trang 14Nhóm 6: Hiếu, Đ.Dơng, H.Dơng, Duyên
2 Sơ đồ dữ liệu quan hệ
2.1 Các bảng dữ liệu:
- môn(mã môn, tên môn)
- kỳ thi(mã kì thi, diễn giải, năm học, học kỳ, lần thi, thời gian)
- câu hỏi (mã câu hỏi, nội dung, phơng án trả lời, đáp án, mức độ, lựa chọn 1, lựachọn 2, lựa chọn 3, lựa chọn 4, đáp án)
- đề thi(mã đề, mã quy tắc, mã môn, tên đề thi)
- chi tiết đề thi(stt, mã đề thi, mã câu hỏi)
- quy tắc ra đề (mã quy tắc, số lợng câu, số câu khó, số câu trung bình, số câu dễ)
- bài thi (mã bài thi, mã đề thi, mã sinh viên, ngày thi, số câu đúng, điểm)
- chi tiết bài thi (mã bài thi, mã câu hỏi, trả lời)
- khoa (mã khoa, tên khoa)
Name Data type Size Nulls Diễn giải
* Bảng câu hỏi:
Name Data type Size Nulls Diễn giải
Trang 15luachon3 nvarchar 30 lựa chọn 3
* Quy tắc ra đề:
* Bảng chi tiết đề thi
Name Data type Size Nulls Diễn giải
* Bảng bài thi:
* Bảng chi tiết bài thi:
Name Data type Size Nulls Diễn giải
* Bảng khoa:
Name Data type Size Nulls Diễn giải
Trang 16Nhãm 6: HiÕu, §.D¬ng, H.D¬ng, Duyªn
* B¶ng sinh viªn:
Trang 17Trạng thái khởi tạo:
- btnOk, btnExit có enable = true
- txtpass có passwordChar = *
- pictureBox1 show 1 icon
Hành động:
- Khi click vào btnExit thì: thoát khỏi frmdangnhap
- Khi click vào btnOk thì kiểm tra trong bảng dangnhap và dữ liệu đợc nhập vào
từ 2 ô text
Nếu txtuser.text hoặc txtpass.text = “ ” thì thông báo “Cha nhập đủ thôngtin”
“STUDENTS” hoặc mat_ma không trùng thì thông báo “nhập sai thông tin”
Nếu upper(txtuser.text) == “ADMIN”, và trùng cả mat_khau thì thông báo
“Bạn đăng nhập quyền Admin”
Thoát khỏi frmdangnhap và show Frmmain có trạng thái khởi tạo: tất cả menu củaFrmmain có enable = true
thông báo “Bạn đăng nhập quyền giáo viên”
Thoát khỏi frmdangnhap và show Frmmain có trạng thái khởi tạo:
+ mnuthongtin, mnuquytac, mnutaode có enable =false
thông báo “Bạn đăng nhập quyền sinh viên”
-> Thoát khỏi frmdang nhap và show frmdangnhapsv
2 Formmain:
chơng trình tổ chức thi trắc nghiệm
Danh mục hệ thống Danh sách sinh viên Tổng hợp Help
Sign out Quy tắc đề
Tạo đề thi
Frmmain
User name Password
OK Exit
pictureBox1
txtuser size = 30 txtpass size = 30
btnOK btnExit size = (70,40) size = (70,40)
Trang 18Nhóm 6: Hiếu, Đ.Dơng, H.Dơng, Duyên
- 5 menu chính: mnuhethong, mnucapnhat, mnutracuu, mnutkthongke,
mnuthongtin.
- mnuhethong: mnudmhethong, mnudoimatkhau, mnuthongtin, mnusignout.
- mnucapnhat: mnudanhsachsv, mnuthongtinkythi, mnuquytac, mnutaode
- mnutracuu: mnutracuutonghop
* Trạng thái khởi tạo:
- Tuỳ theo ngời dùng đăng nhập quyền Admin hay Teacher mà frmmain sẽ cómenu nào đợc hoạt động
- Các thuộc tính: locked = true, MinimizeBox = false, WindowState =Maximized
* Hành động:
- Khi ngời dùng:
+ Click vào mnuexit thì thoát khỏi chơng trình
+ Click vào mnusignout thì thoát khỏi Frmmain, trở về frmdangnhap
+ Click vào mnudoimatkhau thì hiển thị frmdoimatkhau
+ Click vào mnuthongtin (quyền admin) thì hiển thị frmthongtinnguoidung
+ Click vào mnuhelp: một file help sẽ đợc mở ra, giới thiệu về thông tin về phầnmềm và toàn bộ hớng dẫn cụ thể về cách sử dụng phần mềm
+ Click vào mnudanhmuc: show form frmdanhmuc
+ Click vào mnudanhsachsv: hiển thị frmdanhsachsv
+ Click vào mnuthongtinkythi: hiển thị frmthongtinkythi
+ Click vào mnuquytactaode: hiển thị frmquytactaode
+ Click vào mnutaode: hiển thị frmtaode
+ Click vào mnutracuutonghop: hienthi frmtracuutonghop
3 Cập nhật danh mục
Danh mục hệ thống
Cập nhật danh mụcThông tin cập nhật
Chức năng:
txt2
ComboBox2 size 120,25 ComboBox
Label1 Label2 Label3
Trang 19- ComboBox: Items (collection) :
- 1 Môn
- 2 Câu hỏi
- 3 Khoa
- 4 Lớp
* Trạng thái khởi tạo:
- frmdanhmuc có Font: TimeNewRoman 12 WindowState = Maximized;
- txt1, txt2 có Multiline = true, Size = 200,30;
- ComboBox2.text = “ ”; ComboBox2.enable = false;
- ComboBox.text= “ ”; btnthem, btnsua, btnxoa, btnCancel, btnSave có enable = false
- gridview:
+ Không cho phép thêm, sửa, xoá trực triếp trên gridview
+ Các dòng xen kẽ màu khác nhau
+ Chế độ chọn: FullRowSelect
* Hành động:
Khi ngời dùng:
- Click ComboBox chọn dòng Môn :“ ”
+ gridview nạp tất cả danh sách đã nhập của bảng mon
+ btnthem, btnsua, btnxoa có enable = true;
+ ComboBox2.enable = true, hiển thị tên kỳ thi nhng trả về giá trị là makt;lable3.Visible = true; lable1.text = “Mã môn”; lable2.text = “Tên môn”, lable3.text =
“Tên kỳ thi”;
+ Lấy thông tin về mon của dòng tơng ứng đa vào các ô txt1, txt2, ComboBox2
+ Nếu không có bản ghi nào trong danh sách thì btnsua, btnxoa có enable =false; Nếu có bản ghi trong danh sách thì btnxoa, btnsua có enable = true;
+ Khi click vào nút thêm:
btnthem, btnsua, btnxoa, có enable = false; btnSave, btnCancel có enable = true;ComboBox.enable = false; txt1.text= “ ”, txt2.text = “ ”;
-> Click nút Cancel thì trở về trạng thái trớc khi click nút thêm.
-> Khi txt1.text != “ ” & txt2.text != “” thì: btnSave.enable = true;
Trang 20+ Khi click nút sửa: Xét một bản ghi trong danh sách
ComboBox.enable = false; btnthem.enable = false; btnxoa.enable = false;
btnCancel.enable = true; txt1.Readonly = true; btnSave.enable = true;btnsua.enable= false;
Lấy thông tin về mon của dòng đang xét đa vào các ô txt1, txt2 Chuyển con trỏ
về ô txt2;
/ Khi click vào nút Cancel:
Trở lại trạng thái trớc khi click nút sửa
/ Khi click vào nút Save:
-> Nếu ngời dùng sửa ô txt2.text = “ ” thì thông báo “tên môn không để trống”.Ngợc lại thì đẩy vào bảng mon Trở lại trạng thái trớc khi click nút sửa
+ Khi click nút xoá: Xét một bản ghi trong danh sách
-> Nếu có sự ràng buộc không xoá đợc thì thông báo “không thể xoá bản ghi”.-> Nếu không có sự ràng buộc với các bảng khác thì xoá bản ghi khỏi danh sách.-> Khi xoá hết bản ghi trong danh sách, btnxoa.enable = false;
- Click ComboBox chọn dòng 3 Khoa :“ ”
+ gridview nạp tất cả danh sách đã nhập của bảng khoa
+ btnthem, btnsua, btnxoa có enable = true;
+ ComboBox2.enable = false; lable3.Visible = false; lable1.text = “Mã khoa”;lable2.text = “Tên khoa”;
+ Lấy thông tin về khoa của dòng tơng ứng đa vào các ô txt1, txt2
+ Nếu không có bản ghi nào trong danh sách thì btnsua, btnxoa, btnSave,btnCancel có enable = false; Nếu có bản ghi trong danh sách thì btnxoa, btnsua cóenable = true;
+ Khi click vào nút thêm:
btnthem, btnsua, btnxoa có enable = false; btnCancel.enable = true;ComboBox.enable = false; txt1.text= “ ”, txt2.text = “ ”; btnSave.enable = true;
-> Click nút Cancel thì trở về trạng thái trớc khi click nút thêm.
-> Khi txt1.text != “ ” & txt2.text != “” thì: btnSave.enable = true;
Khi nhấn nút Save:
/ mak trùng thì thông báo “trùng mã khoa”