Mục tiêu: xây dựng được hệ thống: nhập các câu hỏi trắc nghiệm từ văn bản vào cơ sở dữ liệu, xuất ra đề thi, quản lý đề thi và đáp án.. Phạm vi nghiên cứu của đề tài: chuyển hệ thống câu
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP HCM
CƠ SỞ ĐÀO TẠO MIỀN TRUNG
Trang 2Chúng em xin gửi lời cảm ơn chân thành đến thầy Bùi Văn Đồng người tận tìnhhướng dẫn, giúp đỡ chúng em hoàn thành đồ án này
Xin tri ân tất cả các Thầy Cô, những người dày công dạy dỗ, truyền cho chúng emrất nhiều tri thức quý báu
Cảm ơn tất cả bạn bè của chúng tôi, những người đã sát cánh, chia sẻ những khókhăn của chúng tôi và giúp đỡ chúng tôi rất nhiều trong quá trình thực hiện đồ án này
Do vốn kiến thức và lượng thời gian có hạn nhóm em không thể tránh khỏi nhữngthiếu sót, rất mong nhận được sự đóng góp ý kiến của Thầy, Cô và các bạn!
Sinh viên thực hiện
Nguyễn Tấn Bình Nguyễn Văn Kỷ Trần Ngọc Tân
Trang 31 Về thái độ, ý thức của sinh viên
……….………
………
………
2 Về đạo đức, tác phong ………
…….………
………
3 Về năng lực chuyên môn ………
………
………
4 Kết luận : Nhận xét: ……… ……
………
………
Điểm:……….
…… ……….………
……… , ngày tháng năm 2013
Giảng viên hướng dẫn
Trang 4Số hiệu hình Tên hình Trang
2.3 Mô hình ca sử dụng (Use Case Người
2.4 Mô hình ca sử dụng (Use Case Nhân viên) 10
2.5 Mô hình luồng dữ liệu - Chức năng thêm
Trang 52.20 Chức năng quản lý đề thi 20
Trang 6Chương 1: KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU 2
1.1 Khảo sát hiện trạng 2
1.1.1 Khảo sát 2
1.1.2 Nghiên cứu hiện trạng và chức năng của hệ thống 2
1.2 Xác định yêu cầu 3
1.2.1 Yêu cầu chức năng 3
1.2.2 Yêu cầu phi chức năng 4
1.3 Chức năng chính của hệ thống 4
1.3.1 Sơ đồ chức năng của hệ thống 4
1.3.2 Mô tả chức năng của hệ thống 4
1.4 Các ràng buộc trong chương trình 5
Chương 2: PHÂN TÍCH - THIẾT KẾ 7
2.1 Phân tích 7
2.1.1 Mô hình ngữ cảnh 7
2.1.2 Danh sách các Actor 8
2.1.3 Mô hình ca sử dụng (Use Case) 9
2.1.4 Mô hình luồng dữ liệu của chức năng chính 11
2.1.5 Mô hình cơ sở dữ liệu 12
2.2 Thiết kế 15
2.2.1 Thiết kế cơ sở dữ liệu 15
2.2.2 Mô hình RelationShip Diagram 17
2.2.3 Thiết kế giao diện 17
Chương 3 – CÀI ĐẶT CHƯƠNG TRÌNH 27
3.1 Một số yêu cầu cần thiết đối với hệ thống 27
3.2 Cài đặt chương trình 27
Chương 4: KẾT LUẬN 30
4.1 Kết quả đạt được 30
4.2 Hạn chế 30
Trang 74.3 Hướng phát triển 30 PHỤ LỤC 31 TÀI LIỆU THAM KHẢO 43
Trang 8MỞ ĐẦU
Hiện nay, giáo dục đang là quốc sách hàng đầu của đất nước Nhiệm vụ của giáo dục
là đào tạo con người trở thành các nhân lực hữu ích cho các ngành kinh tế của đất nước.Trong quá trình đào tạo, đo lường và đánh giá là công đoạn quan trọng nhất vì nó cho biếtkết quả đào tạo Từ trước đến nay, trong giáo dục đã có những hình thức đo lường kếtquả học tập như vấn đáp, quan sát, viết … Trong thời gian gần đây, hình thức thi trắcnghiệm đã được áp dụng rộng rãi để đo lường và đánh giá kết quả học tập của học sinh,sinh viên Đặc biệt là hiện nay, các trường đại học và cao đẳng cũng như THPT đang có
kế hoạch triển khai áp dụng trắc nghiệm vào các kỳ thi Đến lúc này, một vấn đề nảy sinh
là việc tập hợp và quản lý các câu hỏi trắc nghiệm không thể quản lý thủ công, mà phải có
sự trợ giúp của hệ thống máy tính Với suy nghĩ đó, chúng em đã tiến hành xây dựngchương trình “Tạo ngân hàng câu hỏi trắc nghiệm” phục vụ cho nhu cầu thi trắc nghiệmcủa trường
Mục tiêu: xây dựng được hệ thống: nhập các câu hỏi trắc nghiệm từ văn bản vào cơ
sở dữ liệu, xuất ra đề thi, quản lý đề thi và đáp án
Đối tượng cần nghiên cứu: hệ thống các câu hỏi trắc nghiệm bao gồm lý thuyết, hìnhảnh, công thức toán học
Phạm vi nghiên cứu của đề tài: chuyển hệ thống câu hỏi trắc nghiệm từ file văn bảnvào cơ sở dữ liệu, lưu câu hỏi, tạo và lưu đề thi, quản lý đề thi
Đồ án bao gồm:
+Chương 1 – Khảo sát hiện trạng và xác định yêu cầu
+Chương 2 – Phân tích - Thiết kế
+Chương 3 – Cài đặt chương trình
+Chương 4 – Kết luận
Trang 9Chương 1: KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU
1.1 Khảo sát hiện trạng
1.1.1 Khảo sát
Trường đaị học ABC là một trường chuyên đào tạo đa ngành đa nghề Với quy mô
10000 sinh viên trên năm, hiên tại trường đang cố gắn mở rộng lên 15000 sinh viên trênnăm, với nhu cầu phát triển đó, việc quản lý sinh viên ngày càng khó khăn hơn, kèm theo
đó là việc quản lý chất lượng đào tạo cũng gặp nhiều khó khăn đặc biệt là trong việc thi
cữ với hình thức trắc nghiệm trên giấy Hiện tại trường có khối lượng câu hỏi lớn câu hỏitrên file word, để việc thi cử của trường được thuận lợi và chất lượng hơn, trường có nhucầu xây dựng một hệ thống đưa các câu hỏi trắc nghiệm này vào cơ sơ dữ liệu (CSDL) để
dễ dàng trong việc quản lý
1.1.2 Nghiên cứu hiện trạng và chức năng của hệ thống
Giáo viên của từng môn học gởi lên phòng khảo thí các câu hỏi trắc nghiệm và đềthi để cập nhật vào CSDL và yêu cầu xuất đề thi
Phòng khảo thí chịu trách nhiệm quản lý ngân hàng câu hỏi, xuất đề thi, quản lý đềthi và đáp án
Chức năng của hệ thống:
Quản lí câu hỏi: thêm , xóa, sửa câu hỏi
Quản lí đề thi: tạo đề thi, trộn đề thi, lưu đề thi, in đề thi, in đáp án, tìm kiếm
đề thi
Sao lưu phục hồi dữ liệu: sao lưu dữ liệu, phục hồi dữ liệu
Quản lý người dùng: thêm, xóa, sửa người dùng
Quản lý môn học: thêm, xóa sửa người dùng
Trang 101.2 Xác định yêu cầu
1.2.1 Yêu cầu chức năng
Quản lý câu hỏi:
Thêm câu hỏi: Kiểm tra câu hỏi trắc nghiệm trước phù hợp với mẫu câu hỏi địnhdạng của chương trình khi cập nhập vào cơ sở dữ liệu
Chuyển câu hỏi trắc nghiệm vào cơ sở dữ liệu
Xóa câu hỏi: Yêu cầu xóa những câu hỏi quá cũ hoặc không cần thiết
Sửa câu hỏi: Chỉnh sửa những câu lỗi hoặc không đúng với mẫu câu hỏi định dạngcủa chương trình
Quản lý đề thi:
Tạo Đề thi: Thiết lập các thông tin cho đề thi như môn thi, mã đề, kì thi, năm thi, sau đó chọn số câu trong từng chương (mỗi lần chọn trong một chương thì Click vàoButton “Chấp Nhận” để lưu số câu trong chương đó vào đề thi và kết thúc ta có thể xuất
ra đề thi
Trộn Đề Thi: Từ bộ đề thi ban dầu ta thiết lập mã đề mới, chọn kiểu trộn đề thi nhưtrộn câu, trộn theo đáp án hay chọ cả 2 kiểu tùy ý ( lưu ý: khi xuất mỗi đề thi mới thì cầnphải thay đổi mã đề thi
Lưu Đề Thi: Hệ thống tự động lưu khi ta xuất đề thi
In đề thi, in đáp án, kiểm tra để thi và đáp án trước khi in
Tìm kiếm đề Thi: hỗ trợ tìm kiếm đề thi theo môn học, theo hoc kì , theo năm họchay tất cả các phương án trên
Quản lý môn học; Kiểm tra môn học theo năm, thêm vào những môn học mới, xóa
đi những môn qua cũ hay ít sử dụng, để giảm tải bộ nhớ cho server
Trang 11 Quản lý người dùng: người quản trị có thể thêm nhân nhân viên mới, hay xóa đinhân viên đã nghỉ.
1.2.2 Yêu cầu phi chức năng
Cho phép kết nối với Microsoft Word, Microsoft SQL Server
Hệ thống hoạt động trên máy đơn, mạng LAN
1.3 Chức năng chính của hệ thống
1.3.1 Sơ đồ chức năng của hệ thống
Chương trình tạo ngân hàng câu hỏi trắc nghiệm
Quản lý câu hỏi Quản lý đề thi môn họcQuản lý người dùngQuản lý Sao lưu, phục hồi dữ liệu
Thêm môn học
Lưu đề thi Trộn đề Thi Tạo đề thi
Sửa câu hỏi
Xóa câu hỏi
Thêm câu hỏi
Phục hồi dữ liệu
Xóa người dùng
Sao lưu dữ liệu
Thêm người Dùng
Xóa môn học
In đề thi, đáp án Tìm kiếm
Hình 1.1 Sơ đồ chức năng của chương trình
1.3.2 Mô tả chức năng của hệ thống
Thêm câu hỏi: cập nhật câu hỏi trắc nghiệm vào CSDL
Xóa Câu hỏi: xóa những câu hỏi dư thừa, sai hoặc đã cũ không sử dụng nữa
Sửa Câu Hỏi: chỉnh sửa câu hỏi cần thiết để lưu vào CSDL
Tạo Đề Thi: từ những câu hỏi đã có trong CSDL, ta có thể lựa chọn từng môn,chương để tạo ra một đề thi theo yêu cầu
Trang 12Trộn Đề Thi: chức năng trộn đề thi có nghĩa là từ đề thi đã tạo ban đầu, ta có thể đảocâu hỏi, đảo đáp án hoặc kết hợp cả 2 để xuất ra đề thi mới Đề thi này có cùng nội dungvới đề cũ nhưng thứ tự câu và đáp án đã được xáo trộn, điều này có thể góp phần quantrọng trong việc chống tiêu cực trong thi cử.
Lưu đề thi: đề thi tự động lưu khi ta xuất đề thi
In đề thi, đáp án: có thể in đề khi đề thi được tạo ra
Thêm môn học: nhân viên hay người quản trị có thể thêm môn học, môn học đượcthêm vào trước khi thêm câu hỏi vào
Xóa môn học: chức năng này dành cho người quản trị xóa môn học hay người dungkhi cần thiết
Sao lưu dữ liệu: chức năng này giúp ta sao lưu dữ liệu thành một bản, khi dữ liệu bịmất hay có vấn đề gì ta có thể phục hồi lại từ dữ liệu đã sao lưu
Phục hồi dữ liệu: tương tự như trên, chức năng này dung để phục hồi lại dữ liệu khi cần thiết
1.4 Các ràng buộc trong chương trình
Một câu hỏi phải có đầy đủ 4 đáp án A B C D và đáp án đúng
Câu hỏi có dạng: Câu [câu số] [nội dung câu hỏi]
Ví dụ: Câu 2: Chọn lựa nào sai khi bàn đến các lý do làm cho khâu Thu nhận yêu
cầu trở nên quan trọng.
A.Thu nhận yêu cầu là cơ sở để phát triển phần mềm
B.Công nghệ không ngừng thay đổi(**) (đáp án đúng)
Trang 13C.Tính chất chuyên môn hóa cao
D.Sự gắn kết chặt chẽ giữa yêu cầu nghiệp vụ và phần mềm
File chứa câu hỏi phải là file word
Chương 2: PHÂN TÍCH - THIẾT KẾ
2.1 Phân tích
2.1.1 Mô hình ngữ cảnh
Hệ thống tạo đề thi
Chương trình tạo ngân hàng câu hỏi trắc nghiệm
CSDL môn học CSDL chương CSDL câu hỏi CSDL nhân viên
Hình 2.1: Mô hình ngữ cảnh
Phân tích mô hình
Hệ thống tạo đề thi: cho phép người dùng tạo đề thi khi có nhu cầu
Hệ thống nhập câu hỏi: cho phép người dùng nhập câu hỏi mới vào cơ sở dữliệu
Trang 14Hệ thống quản lý câu hỏi:sửa thông tin câu hỏi nhập, xóa câu hỏi ra khỏi ngânhàng.
Hệ thống quản lý đề thi: xóa đề thi khi không đề thi không còn khả dụng, in lại đềthi
Hệ thống quản lý môn học: cho phép người dùng thêm, xóa, sửa môn học khi cầnthiết
Hệ thống quản lý người dùng: cho phép quản trị quản lý thông tin nhân viên cũngnhư tài khoản của nhân viên, cấp quyền cho nhân viên
Hệ thống sao lưu phục hồi dữ liệu: cho phép sao lưu và phục hồi dữ liệu khi cầnthiết
CSDL nhân viên: lưu trữ thông tin nhân viên (mã nhân viên, tên nhân viên, chức
vụ, tài khoản, mật khẩu)
CSDL câu hỏi: lưu trữ thông tin câu hỏi (mã câu hỏi, nội dung, đáp án a, đáp án b,đáp án c, đáp án d, đáp án đúng, mã chương)
CSDL chương: lưu trữ thông tin về chương trong tường môn học (mã chương, tênchương, mã môn học)
CSDL môn học: lưu trữ thông tin về môn học (mã môn học, tên môn học)
CSDL loại thi: lưu trữ thông tin về lại thi (mã loại thi, tên loại thi, mã môn học)
CSDL đề thi: lưu trữ thông tin về đề thi (id, mã đề thi, mã loại thi, kì thi, ngày thi,năm học, ghi chú, mã nhân viên)
CSDL chi tiết đề thi: lưu trữ thông tin chi tiết về đề thi (mã câu hỏi, id, cơ số 1, cơ
Trang 15Quản lý đề thi (tạo đề thi, xóa đề, in đáp án)
Quản lý người dùng (thêm, xóa, sửa)
Sao lưu, phục hồi dữ liệu
Quản lý môn học (thêm, xóa, sửa)
Nhân viên:
Đăng nhập hệ thống
Thêm câu hỏi vào cơ sở dữ liệu
Tạo đề thi
Quản lý đề thi (những đề chính nhân viên đó tạo ra)
Quản lý môn học (thêm, xóa, sửa)
2.1.3 Mô hình ca sử dụng (Use Case)
Mô hình Use Case tổng quát
Quản lý câu hỏi
Sao lưu, phục hồi dũ liệu
Quản lý đề thi
Quản lý môn họcQuản lý người dùng
Đổi mật khẩu
Người
Thêm câu hỏiTạo đề thi
Trang 16Hình 2.2 Mô hình Use Case tổng quát.
Trang 17Mô hình Use Case người quản trị
Quản lý câu hỏi
Sao lưu, phục hồi dũ liệu
Quản lý đề thi
Quản lý môn học Quản lý người dùng
Hình 2.3 Mô hình ca sử dụng (Use Case Người Quản trị)
Mô hình Use Case Nhân viên
Thêm Câu Hỏi Tạo đề thi Quản lý Môn Học
Trang 182.1.4 Mô hình luồng dữ liệu của chức năng chính
Hình 2.5: Mô hình luồng dữ liệu - Chức năng thêm câu hỏi
Trang 19Nhân viên
Chức năng xuất đề thi
Nhân viên
c năng tạo đề thi
n môn học
m tra thông tin đề thi
Hình 2.6: Mô hình luồng dữ liệu - Chức năng xuất đề thi
2.1.5 Mô hình cơ sở dữ liệu
2.1.5.1 Xác định các thực thể (các lớp) và các thuộc tính
Môn học: mã môn học, tên môn học
Chương: mã chương, tên chương
Câu hỏi: mã câu hỏi, nội dung, đáp án A, đáp án B, đáp án C, đáp án D, đáp án đúng.Loại thi: mã loại thi, tên loại thi
Đề thi: id, mã đề thi, kì thi, ngày thi, năm học, Ghi chú
Chi tiết đề thi: id, cơ số 1, cơ số 2, cơ số 3, cơ số 4, STT
Nhân viên: mã nhân viên, tên nhân viên, chức vụ, tài khoản, mật khẩu
Trang 202.1.5.2 Sơ đồ lớp
Mục đích của sơ đồ lớp:
Làm tài liệu cho các lớp cấu thành hệ thống và hệ thống con
Mô tả kết hợp, tổng quát hóa và các quan hệ kết tập giữa lớp trong biểu đồ
Chỉ rõ đặc trưng của lớp, các thuộc tính và tác vụ chính của mỗi lớp
Biểu đồ lớp được dùng khắp nơi trong chu trình phát triển từ bài toán đến mô hình cài đặt
id: int coso1: char(1) coso2: nchar(2) coso3: nchar(3) coso4: nchar(4) stt: int
in chi tiết đề thi chitietdethi
thêm chương sửa chương xóa chương Chuong
maloaithi: int
tenloaithi: nvarchar(50)
mamh; int
thêm loại thi
xóa loại thi
sửa loại thi
Loaithi
id: int madethi: int maloaithi: int kithi: nvarchar(50) ngaythi: datatime namhoc: nchar(15) ghichu: nvarchar(max) manv: nchar(5) Dethi
tạo đề thi lưu đề thi xóa đề thi
0 1 1 *
Có
Có 0 1 0 *
Tạo 0 1 1 *
Có
1 *
1 *
Có 0 1 1 *
Có 0 1 1 *
Có 0 1
0 *
Hình 2.7 Sơ đồ lớp của hệ thống
Trang 212.1.5.3 Sơ đồ ERD tương ứng
gồm
gồm Có
Tạo
0 1
1 n 0 1 1 n
0 1
1 n 1 n
tenloaithi
noidung macauhoi
dapan D
tenchuong machuong
dapandung
machuong mamh
mamh
dapan B dapan A dapan C
0 1 maloaithi manv
NHANVIEN(MaNV, TenNV, ChucVu, TaiKhoan, MatKhau)
CHUONG(MaChuong, TenChuong, MaMH)
LOAITHI(MaLoaiThi, TenLoaiThi, MaMH)
DETHI(Id, MaDeThi, KiThi, NgayThi, NamHoc, GhiChu, MaNV, MaLoaiThi)
CHITIETDETHI(Id, MaCauHoi,CoSo1, CoSo2, CoSo3, CoSo4, STT)
Trang 23Chi tiết đề thi
Hình 2.15: Bảng chi tiết đề thi
Trang 242.2.2 Mô hình RelationShip Diagram
Hình 2.16 Sơ đồ Relationship diagram
2.2.3 Thiết kế giao diện
2.2.3.1 Đăng nhập
Cho phép người dùng đăng nhập vào hệ thống
Hình 2.17: Chức năng đăng nhập
Trang 252.2.3.2 Chương trình chính- Chức năng thêm câu hỏi
Cho phép thêm câu hỏi vào ngân hàng câu hỏi, với chức năng đọc file word chophép người dùng có thể lấy nội dung câu hỏi từ file word vào trong hệ thống một cách dễdàng với nút “Mở” Nhấn nút “Thêm” để hoàn tất việc nhập câu hỏi.(1)
Hình 2.18: Chức năng thêm câu hỏi
Trang 262.2.2.3 Chức năng tạo đề thi.
Cho phép người dùng tạo đề thi với nhiều tùy chọn kèm theo: Tạo đề thi theo từngchương hoặc toàn bộ nội dung môn hoc, người dùng có thể đảo câu hỏi, đáp án giữa các
đề thi trên cùng một môn, in đề thi, cho phép người dùng lưu lại đề thi đã xuất phục vụcho việc quản lý đề thi cũng như người xuất đề thi(2)
Hình 2.19: Chức năng tạo đề thi.
Trang 272.2.3.4 Chức năng quản lý đề thi.
Cho phép người dùng quản lý các đề thi đã tạo trước đó, người dùng có thể xemlại, xóa đi, in lại đề thi một lần nửa, cho phép tìm kiếm đề thi
Hình 2.20: Chức năng quản lý đề thi
Trang 282.2.3.5 Chức năng quản lý người dùng
Cho phép người quản trị thêm nhân viên khi có nhân viên mới bằng cách nhập đầy
đủ thông tin rồi chọn chức năng thêm nhân viên để thêm nhân viên, chức năng xóa để xóanhân viên khi nhân viên đó không còn tương tác đến hệ thống
Hình 2.21: Chức năng quản lý người dùng
Trang 292.2.3.6 Chức năng quản lý môn học.
Cho phép ta quản lý được những môn học được giảng dạy trưc tiếp ở trường Chứcnăng “Thêm” cho phép thêm môn học mới Chức năng “Xóa” cho phép xóa môn học khikhông còn giảng dạy ở trường, khi xóa môn học đồng nghĩa với việc xóa tất cả thông tinliên quan đến môn học đó: đề thi, các hình thức thi, ngân hàng câu hỏi Chức năng “Sửa”cho phép sửa thông tin khi cần thiết
Hình 2.22: Chức năng quản lý môn hoc.
Trang 302.2.3.7 Chức năng quản lý câu hỏi.
Cho phép người quản trị quản lý một cách tốt nhất ngân hàng câu hỏi của mìnhthông qua các chức năng: Liệt kê tất cả câu hỏi của từng môn, cho phép hiển thị từng câuhoặc một số câu theo nhu cầu, cho phép xóa một hay nhiều câu hỏi cùng lúc, người dùng
có thể sửa nội dung câu hỏi khi cần thiết
Hình 2.23: Chức năng quản lý câu hỏi
2.2.3.8 Chức năng sao lưu dữ liệu
Cho phép người quản trị sao lưu dữ liệu khi cần thiết, nhằm tránh những tình huấn
cơ sở dữ liệu gốc bị mất hoặc bị đánh cắp
2.2.3.9 Chức năng phục hồi dữ liệu
Cho phép người quản trị phục hồi lại dữ liệu đã sao lưu trước đó