Cơ sở dữ liệu

Một phần của tài liệu 28039_1712202001918864LUANVAN (Trang 77)

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

Một phần của tài liệu 28039_1712202001918864LUANVAN (Trang 77)

Tải bản đầy đủ (PDF)

(98 trang)