6. Bố cục luận văn
2.2.4. Cơ sở dữ liệu
Từ các phân tích ở trên, cơ sở dữ liệu của hệ thống đƣợc tác giả đề xuất sẽ bao gồm các bảng có mối quan hệ với nhau đƣợc thiết kế theo mô hình CSDL quan hệ.
Chi tiết các bảng đƣợc mô tả nhƣ sau:
Bảng 2.2. Bảng Người dùng
Tên cột Kiểu dữ liệu Độ dài Ràng buộc
Mã Ngƣời Dùng int Khóa chính
Tên Đăng Nhập nvarchar 50 Unique
Mật Khẩu nvarchar 100
Vai Trò nvarchar 200
Họ Tên nvarchar 200
Đơn Vị nvarchar 200
Bảng 2.3. Bảng Danh mục
Tên cột Kiểu dữ liệu Độ dài Ràng buộc
Mã Danh Mục int Khóa chính
Tên Danh Mục nvarchar 200
Mã Ngƣời Tạo int
Bảng 2.4. Bảng Cấp độ
Tên cột Kiểu dữ liệu Độ dài Ràng buộc
Mã Cấp Độ int Khóa chính
Tên Cấp Độ nvarchar 200
Mã Ngƣời Tạo int
Bảng 2.5. Bảng Loại câu hỏi
Tên cột Kiểu dữ liệu Độ dài Ràng buộc
Mã Loại int Khóa chính
Bảng 2.6. Bảng Câu hỏi
Tên cột Kiểu dữ liệu Độ dài Ràng buộc
Mã Câu Hỏi int Khóa chính
Mã Danh Mục int Khóa ngoại liên kết với bảng
Danh Mục
Mã Cấp Độ int Khóa ngoại liên kết với bảng
Cấp Độ
Mã Loại int Khóa ngoại liên kết với bảng
Loại Câu Hỏi
Tiêu Đề nvarchar 200
Nội Dung nvarchar MAX
Ghi Chú Tổng Quát nvarchar MAX
Điểm Mặc Định decimal 18
Ngày Tạo datetime
Mã Ngƣời Tạo int Khóa ngoại liên kết với bảng
Ngƣời Dùng
Ngày Sửa datetime
Ngƣời Sửa Int
Bảng 2.7. Bảng Câu trả lời
Tên cột Kiểu dữ liệu Độ dài Ràng buộc
Mã Câu Trả Lời int Khóa chính
Mã Câu Hỏi int Khóa ngoại liên kết với bảng
Câu Hỏi Nội Dung Trả Lời nvarchar MAX
Đáp Án Đúng? bit
Ghi Chú Nếu Đúng nvarchar MAX
Bảng 2.8. Bảng Ca thi
Tên cột Kiểu dữ liệu Độ dài Ràng buộc
Mã Ca Thi int Khóa chính
Mã Phƣơng Thức int Khóa ngoại liên kết với bảng
Phƣơng Thức Tính Điểm Mật Khẩu Ca Thi nvarchar 10
Ngày Mở datetime
Ngày Đóng datetime
Tên Ca Thi nvarchar 200
Số Lƣợt Thi/SV int
Điểm Tối Đa decimal 18
Thời Lƣợng Thi int Tùy Chọn Xem Lại int Số Câu Hỏi/Đề thi int
Trạng Thái bit
Bảng 2.9. Bảng Phương thức tính điểm
Tên cột Kiểu dữ liệu Độ dài Ràng buộc
Mã Phƣơng Thức int Khóa chính
Tên Phƣơng Thức nvarchar 200
Bảng 2.10. Bảng Đề thi
Tên cột Kiểu dữ liệu Độ dài Ràng buộc
Mã Đề Thi int Khóa chính
Tên Đề Thi nvarchar 200
Bảng 2.11. Bảng Chi tiết đề thi
Tên cột Kiểu dữ liệu Độ dài Ràng buộc
Mã Đề Thi int 200 Khóa ngoại liên kết với bảng
Đề Thi
Mã Câu Hỏi int
Thứ Tự Câu Hỏi int
Bảng 2.12. Bảng Đăng ký ca thi
Tên cột Kiểu dữ liệu Độ dài Ràng buộc
Mã Đăng Ký int Khóa chính
Mã Ca Thi int Khóa ngoại liên kết với bảng Ca Thi
Mã Ngƣời Dùng int Khóa ngoại liên kết với bảng Ngƣời Dùng Ngày Đăng Ký datetime
Bảng 2.13. Bảng Nhật ký ca thi
Tên cột Kiểu dữ liệu Độ dài Ràng buộc
Mã Nhật Ký int Khóa chính
Mã Đăng Ký int Khóa ngoại liên kết với bảng
Đăng Ký Ca Thi
Mã Đề Thi int Khóa ngoại liên kết với bảng Đề
Thi
Điểm Tổng Kết decimal 18
Thời Gian Bắt Đầu datetime Thời Gian Kết Thúc datetime
Bảng 2.14. Bảng Chi tiết nhật ký
Tên cột Kiểu dữ liệu Độ dài Ràng buộc
Mã Chi Tiết Nhật Ký int Khóa chính
Mã Nhật Ký int Khóa ngoại liên kết với bảng
Nhật Ký Ca Thi
Mã Câu Hỏi int
Câu Trả Lời nvarchar MAX
Điểm Số decimal 18
Ngày Cập Nhật datetime
2.3. ĐỀ XUẤT IẢI PH P TRIỂN KHAI
Hệ thống thi trắc nghiệm đƣợc tác giả nghiên cứu đƣợc sử dụng bởi nhiều đối tƣợng khác nhau, trên các môi trƣờng hoàn toàn khác nhau. Vì vậy, tác giả đề xuất triển khai ứng dụng theo mô hình client-server. Theo đó, ứng dụng đƣợc cài đặt trên máy chủ web IIS, máy khách truy cập ứng dụng bằng trình duyệt để sử dụng.
2.4. KẾT LUẬN
Qua nội dung chƣơng 2, tôi đã tập trung giải quyết bài toán đặt ra của đề tài: đi từ phần mô tả bài toán đến phân tích thiết kế hệ thống, thiết kế cơ sở dữ liệu . Những nội dung đó sẽ là nền tảng hữu ích giúp cho quá trình phát triển ứng dụng sẽ đƣợc trình bày ở chƣơng 3.
CHƢƠN 3
CÀI ĐẶT VÀ THỬ NGHIỆM
Trong chƣơng này, luận văn sẽ trình một số chức năng và hình ảnh Demo minh họa chính của chƣơng trình
3.1. CÀI ĐẶT HỆ THỐN
3.1.1. Môi trƣờng cài đặt
- Hệ điều hành: Windows.
- Máy chủ web: IIS 7.5.
- Công cụ phát triển: Visual Studio 2013.
- Cơ sở dữ liệu: SQL Server 2005 trở lên.
- Thƣ viện ASP.NET MVC 5.0.
- NET Framework 4.5.
3.1.2. Phát triển mô-đun quản lý ngân hàng câu hỏi
Hệ thống cho phép mỗi giảng viên tạo ngân hàng câu hỏi cho riêng mình. Ngân hàng câu hỏi cơ bản có giao diện giống nhƣ hình sau:
Với mỗi câu hỏi, giảng viên có thể cập nhật danh mục, kiểu, cấp độ và xem đáp án. Giảng viên có thể thêm mới câu hỏi bằng cách tải lên tệp tin. Tệp tin có định dạng GIFT, có các cú pháp một câu hỏi nhƣ sau:
Trong cú pháp này, tiêu đề câu hỏi đƣợc đặt trong cặp dấu “::”. Nội dung câu hỏi theo sau dấu “::” thứ 2. Danh sách đáp án đƣợc đặt trong cặp dấu { và }. Mỗi đáp án nằm trên 1 dòng và đáp án đúng đƣợc bắt đầu bằng dấu “=”. Ngoài ra định dạng GIFT còn cho phép đánh dấu nhiều loại câu hỏi khác nhƣ: Câu hỏi nhiều đáp án, câu hỏi đúng/sai, điền vào chỗ trống.
3.1.3. Phát triển mô-đun quản lý ca thi
Mỗi giảng viên sau khi đăng nhập, hệ thống sẽ hiển thị các ca thi của giảng viên đó. Danh sách ca thi đƣợc thể hiện nhƣ hình sau
Hình 3.2. Danh sách ca thicủa giảng viên
Tại đây, giảng viên có thể chọn để quản lý 1 ca thi nào đó, màn hình sau thể hiện chức năng quản lý chi tiết một ca thi:
Hình 3.3. Chức năng quản lý chi tiết một ca thi
Tại đây, giảng viên tiến hành thêm câu hỏi cho ca thi, quản lý đề thi, cập nhật trạng thái, quản lý danh sách sinh viên và xem điểm. Chức năng quản lý và thêm câu hỏi cho ca thi nhƣ hình sau:
Chức năng quản lý đề thi nhƣ hình bên dƣới. Giảng viên có thể xem chi tiết đề thi, tạo mới đề thi, hoặc xóa đề thi.
Hình 3.5. Chức năng quản lý đề thi của giảng viên
Khi giảng viên vào chức năng “Danh sách sinh viên” để quản lý sinh viên và xem điểm, giao diện sẽ nhƣ hình dƣới:
Tại đây, giảng viên có thể xem chi tiết kết quả làm bài hoặc xóa việc đăng ký của sinh viên vào ca thi đang quản lý. Ngoài ra, hệ thống còn hiển thị thống kê số lƣợng sinh viên theo từng điểm số.
Khi chọn xem chi tiết cho một sinh viên, giao diện sẽ tƣơng tự hình dƣới:
Hình 3.7. Giao diệnxem chi tiết kết quả thi một sinh viên
3.1.4. Phát triển mô-đun thi của sinh viên
Sau khi đăng nhập với quyền sinh viên, hệ thống sẽ hiện thị danh sách ca thi đang hoạt động. Hình sau hiển thị danh sách ca thi của sinh viên:
Tại đây, sinh viên nhập vào mã ca thi đƣợc giáo viên cung cấp để đăng ký vào ca thi. Nếu nhập đúng, màn hình sẽ hiển thị thông tin đề thi nhƣ hình dƣới, và sinh viên thực hiện thi.
Hình 3.9. Sinh viên thực hiện thi
Tại đây, sinh viên có thể chọn câu hỏi để trả lời, đánh dấu xem lại, xem thời gian còn lại của đề thi, … Với mỗi câu hỏi, sau khi trả lời, sẽ đƣợc hệ thống lƣu tại máy chủ để đảm bảo không bị mất kết quả khi xảy ra các sự cố mất điện, mất kết nối, … Sinh viên có thể tiếp tục thực hiện sau khi kết nối lại. Sau khi nộp bài, sinh viên sẽ xem đƣợc điểm của mình.
Sinh viên có thể xem chi tiết các lần thi nhƣ hình sau:
Hình 3.11. Sinh viên xem chi tiết các lần thi
3.1.5. Phát triển các hàm API phục vụ cho nhà phát triển khác
Hệ thống cho phép các nhà phát triển thứ 3 tham gia khai thác hệ thống thi trắc nghiệm. Các hàm API tập trung vào phát triển mô-đun thi cho sinh viên, những mô-đun nhƣ quản lý ngân hàng câu hỏi, quản lý đề thi bên thứ 3 không đƣợc phép can thiệp. Danh sách các hàm API nhƣ sau:
STT Tên hàm Tham số đầu vào Diễn giải
1 Login Username,
Password
Hàm đăng nhập sinh viên và trả về chuỗi định danh ngƣời dùng (gọi tắc là usrkey)
2 FetchQuiz Hàm lấy danh sách ca thi
hiện có
3 AttemptUser usrkey, quizid Hàm đăng ký sinh viên vào ca thi và trả về mã đăng ký (gọi tắt là aid) của sinh viên
4 FetchExamContent aid Hàm lấy thông tin đề thi gồm: danh sách câu hỏi, thời gian thi
STT Tên hàm Tham số đầu vào Diễn giải
hỏi dựa vào mã đăng ký và thứ tự câu hỏi (qseq) 6 FetchNextQuestion aid, qseq Hàm lấy thông tin câu
hỏi tiếp theo câu hỏi thứ qseq
7 FetchPreviousQues tion
aid, qseq Hàm lấy câu hỏi liền trƣớc của câu hỏi qseq 8 FetchAnswerOfUse
r
aid, qseq Hàm lấy câu trả lời của ngƣời dùng
9 SaveQuestion aid, qseq, answer Hàm lƣu câu trả lời của ngƣời dùng
10 Finish aid Đóng ca thi của sinh viên
11 QuizResult quizid, usrkey Lấy kết quả của sinh viên cho ca thi
3.2. THỬ N HIỆM CHO MÔN TIN HỌC ĐẠI CƢƠN
3.2.1. Qui trình thử nghiệm
Bƣớc 1: Giảng viên đăng nhập vào hệ thống
Bƣớc 2: Nhập câu hỏicho ca thi và tiến hành tạo đề thi
Từ ngân hàng câu hỏi trắc nghiệm tổng hợp gồm Word, Excel, PowerPoint, Hệ điều hành trong kho dữ liệu, chúng ta sẽ tạo ra ngân hàng các đề thi với độ khó của đề thi và thời lƣợng làm bài.
3.2.2. Xây dựng ứng dụng
Chƣơng trình đƣợc phát triển trên nền.Net, với ngôn ngữ C# và ASP.Net. Công cụ ta dùng để triển khai và cài đặt code cho website là dùng Microsoft Visual Studio 2013.
Ở chƣơng này, tôi trình bày một số chức năng hình ảnh Demo minh họa chính của chƣơng trình.
Một số giao diện chính của hệ thống:
Sau khi giảng viên đăng nhập vào hệ thống và lựa chọn danh sách câu hỏi thì giao diện có dạng nhƣ hình sau
Hình 3.12. Giao diện khi giảng viên lựa chọn danh sách câu hỏi
Sau đó sinh viên sẽ nhập mã ca thi và chọn tên ca thi để tham gia thi
Hình 3.14. Giao diện khi SV tham gia thi bằng hình thức trắc nghiệm
Sau khi làm bài xong sinh viên sẽ tiến hành nộp bài và kết thúc. Khi đó màn hình điểm sẽ xuất hiện, sau đó sinh viên sẽ đăng xuất .
Sau đó giảng viên sẽ vào để quản lý ca thi.Tiến hành chọn ca thi, chọn Danh sách sinh viên tham gia thi
Hình 3.16. Giao diện giảng viên quản lý ca thi của SV
Click vào xem chi tiết để xem kết quả thi của sinh viên theo từng ca thi:
3.3. KẾT QUẢ ĐẠT ĐƢỢC
Sau khi thiết kế chƣơng trình, đề tài đã đạt đƣợc một số thành quả nhất định, đặc biệt trong vấn đề tạo kho dữ liệu và tổ chức thi/kiểm tra thử trực tuyến.
3.4. KẾT LUẬN
Ở chƣơng này chúng ta đã trình bày một số chức năng thông qua việc sử dụng công cụ để triển khai và cài đặt code cho website là dùng Microsoft Visual Studio 2013 làm môi trƣờng để xây dựng và phát triển hệ thống để tạo kho đề trắc nghiệm, đã giới thiệu một số hình ảnh Demo chính của chƣơng trình , đồng thời giới thiệu một số mô đun tính năng chính trong chƣơng trình và cuối cùng là các hình ảnh và các số liệu mà đề tài đã đạt đƣợc.
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN
Sau một thời gian tìm hiểu, nghiên cứu, phân tích và xây dựng chƣơng trình cho đề tài:” Xây dựng hệ thống thông tin phục vụ thi trắc nghiệm trực tuyến”, đề tài đã áp ứng đƣợc một số yêu cầu cơ bản với kết quả đạt đƣợc nhƣ sau:
-Tìm hiểu và phân tích các kho dữ liệu đề thi trắc nghiệm hiện có trên Internet và các công cụ phần mềm tạo đề thi trắc nghiệm, nhằm đƣa ra bảng tổng hợp so sánh, đánh giá. Qua đó có thể chọn lựa một số ƣu điểm và ý tƣởng tốt giúp cho việc xây dựng chƣơng trình đƣợc hiệu quả hơn. Bởi lẽ với đặc tính hiện có của các kho dữ liệu ngân hàng câu hỏi trắc nghiệm hiện nay trên Internet không phong phú với những môn đặc thù của các môn học, cụ thể là môn Tin học Đại cƣơng của bậc Cao đẳng nên vấn đề vận dụng để trích lọc vào kho dữ liệu là có phần hạn chế.
-Phân tích tổng quan bài toán chƣơng trình: xây dựng kho và tổ chức thi thông qua mô hình để từ đó xác định một số giải pháp tối ƣu cho việc xây dựng kho hiệu quả.
-Sau khi lựa chọn một số giải pháp , chúng ta lựa chọn công cụ thích hợp để giải quyết giải pháp đó. Đi đôi với việc phân tích cơ sở dữ liệu tối ƣu đáp ứng yêu cầu đề tài đặt ra.
-Cuối cùng là vấn đề tận dụng kho đã xây dựng, chúng ta có thể khai thác kho dữ liệu đó để tổ chức thi và kiểm tra thử.
Phần mềm thử nghiệm viết trên nền trên nền .Net, với ngôn ngữ C# và ASP.Net từ đó phát triển thành hệ thống, nhìn chung đã đạt đƣợc một số kết quả nhất định. Có thể phát triển để đáp ứng đƣợc nhu cầu thực tế hiện nay tại trƣờng. Giúp SV có thể học tập hiệu quả hơn thông qua việc có thể tự ôn luyện. Bên cạnh đó đề tài còn một số hạn chế sau:
-Luận văn chƣa trình bày một số thuật toán liên quan nhƣ tạo đề, xáo câu hỏi, xáo đáp án.
-Loại câu hỏi trắc nghiệm trong ngân hàng đề chƣa đa dạng: chƣơng trình chỉ có thể đáp ứng đƣợc dạng câu hỏi trắc nghiệm nhiều lựa chọn và một phƣơng án trả lời duy nhất hay có nhiều đáp án.
-Đã có giải pháp trong việc nghiên cứu trích lọc các ngân hàng đề thi trên Internet làm thế nào để đổ vào kho dữ liệu đề thi của chƣơng trình, tuy nhiên chƣa đƣa vào thực hiện kiểm nghiệm cụ thể.
Một số hƣớng phát triển của luận văn Về mặt lý thuyết
-Nghiên cứu thêm các loại câu hỏi trắc nghiệm khách quan khác để từ đó xây dựng kho đề thi phong phú hơn về chủng loại đề thi trắc nghiệm.
-Nghiên cứu tự động tìm kiếm, trích chọn đề thi và đổ tự động vào kho dữ liệu.
-Cải tiến để tối ƣu hóa cấu trúc kho dữ liệu đề thi.
Về mặt thực tiễn
Sau khi đã khắc phục đƣợc một số hạn chế của đề tài, chúng ta có thể mở rộng mô hình cho nhiều môn học khác trong nhà trƣờng. Từ đó nhà trƣờng có thể sở hữu đƣợc một sản phẩm hoàn thiện để có thể tiến hành tổ chức học và thi trắc nghiệm trực tuyến thành công nhƣ các trang Web hiện có ở Việt Nam. Và cũng có thể phát triển rộng hơn và phong phú hơn với các loại câu hỏi trắc nghiệm để có thể đạt đƣợc kết quả nhƣ những trang Web của tổ chức thi trực