Tất cả các học sinh, sinh viên đều làm cùng một đề giống nhau, do đó sẽ dẫn đến việc đánh giá kết quả cụ thể của từng thí sinh không chính xác, không công bằng vì có thể gian lận bài thi
Trang 1LỜI CẢM ƠN
Trước hết, em xin gửi lời cảm ơn chân thành tới các thầy, cô giáo trong khoa Công nghệ Thông tin cũng như các thầy cô đã giảng dạy em trong suốt thời gian học tập tại trường
Em cũng xin gửi lời cảm ơn sâu sắc tới Th.S Lưu Thị Bích Hương,
người đã trực tiếp hướng dẫn và giúp đỡ em trong quá trình học tập cũng như trong quá trình thực hiện khóa luận
Em xin gửi lời cảm ơn đến gia đình, bạn bè đã động viên, ủng hộ em để
em có thể hoàn thành tốt nhất đề tài của mình
Mặc dù đã cố gắng hoàn thành khóa luận trong phạm vi và khả năng cho phép nhưng chắc chắn sẽ không tránh khỏi những thiếu sót Em rất mong nhận được sự thông cảm, góp ý và tận tình chỉ bảo của các thầy, cô giáo và các bạn để đề tài của em ngày càng hoàn thiện hơn
Em xin chân thành cảm ơn!
Hà Nội, tháng 05 năm 2013
Sinh viên thực hiện
Nguyễn Văn Hùng
Trang 2LỜI CAM ĐOAN
Tên em là: NGUYỄN VĂN HÙNG
Sinh viên lớp: K35 – Tin học, khoa Công nghệ Thông tin, trường Đại học sư phạm Hà Nội 2
Em xin cam đoan:
1 Đề tài: “Xây dựng hệ thống thi trắc nghiệm qua mạng LAN” là sự
nghiên cứu của riêng em, dưới sự hướng dẫn của cô giáo Th.S Lưu Thị Bích Hương
2 Khóa luận hoàn toàn không sao chép của tác giả nào khác
Nếu sai em xin hoàn toàn chịu trách nhiệm
Hà Nội, tháng 05 năm 2013
Sinh viên thực hiện
Nguyễn Văn Hùng
Trang 3MỤC LỤC
LỜI CẢM ƠN
LỜI CAM ĐOAN
DANH MỤC BẢNG BIỂU
DANH MỤC HÌNH VẼ
MỞ ĐẦU 1
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 5
1.1 Ngôn ngữ C# 5
1.2 Hệ quản trị cơ sở dữ liệu SQL Server 8
1.2.1 Giới thiệu hệ quản trị SQL Server 8
1.2.2 Các phiên bản của SQL Server 2005 8
1.2.3 Các câu lệnh SQL cơ bản 10
CHƯƠNG 2 PHÂN TÍCH HỆ THỐNG 13
2.1 Khảo sát hệ thống 13
2.1.1 Khảo sát hiện trạng hệ thống cũ 13
2.1.2 Nhận xét về hệ thống hiện tại 16
2.1.3 Yêu cầu đối với hệ thống mới 17
2.2 Phân tích hệ thống 24
2.2.1 Sơ đồ phân cấp chức năng 24
2.2.2 Sơ đồ luồng dữ liệu 25
CHƯƠNG 3 THIẾT KẾ HỆ THỐNG 31
3.1 Mô hình thực thể liên kết 31
3.1.1 Các thực thể và thuộc tính 31
3.1.2 Sơ đồ logic 32
3.2 Thiết kế cơ sở dữ liệu 32
3.3 Thiết kế giao diện 36
3.3.1 Form đăng nhập 36
3.3.2 Form chính 36
Trang 43.3.3 Form thêm câu hỏi mới 37
3.3.4 Form sửa câu hỏi 37
3.3.5 Form tạo đề thi 38
3.3.6 Form trộn đề thi 38
3.3.7 Form làm bài thi 39
3.3.8 Form phục hồi sự cố 39
KẾT LUẬN VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN 40
TÀI LIỆU THAM KHẢO 42
PHỤ LỤC
Trang 5DANH MỤC BẢNG BIỂU
Bảng 3.1 MONHOC 32
Bảng 3.2 CHUDE 33
Bảng 3.3 THANHVIEN 33
Bảng 3.4 THISINH 34
Bảng 3.5 CAUHOI 34
Bảng 3.6 DETHI 35
Bảng 3.7 BAILAM 35
Bảng 3.8 BANGDIEM 35
Trang 6DANH MỤC HÌNH VẼ
Hình 2.1 Sơ đồ mô tả chức năng của hệ thống cũ 14
Hình 2.2 Sơ đồ mô tả chức năng của hệ thống mới 18
Hình 2.3 Sơ đồ phân cấp chức năng hệ thống thi trắc nghiệm qua mạng 24
Hình 2.4 Sơ đồ luồng dữ liệu mức khung cảnh hệ thống thi trắc nghiệm qua mạng 25
Hình 2.5 Sơ đồ luồng dữ liệu mức đỉnh hệ thống thi trắc nghiệm qua mạng 27
Hình 2.6 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng Quản lý môn thi 28
Hình 2.7 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng Quản lý thí sinh 28
Hình 2.8 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng Tổ chức thi 29
Hình 2.9 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng Quản lý kết quả thi 29
Hình 2.10 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng Quản lý thành viên 30 Hình 3.1 Sơ đồ logic 32
Hình 3.2 Form đăng nhập 36
Hình 3.3 Form chính của chương trình 36
Hình 3.4 Form thêm câu hỏi mới 37
Hình 3.5 Form sửa câu hỏi 37
Hình 3.6 Form tạo đề thi 38
Hình 3.7 Form trộn đề thi 38
Hình 3.8 Form làm bài thi 39
Hình 3.9 Form phục hồi sự cố 39
Trang 7
khác … Trong đó thi viết là một hình thức thi phổ biến từ trước đến nay được
áp dụng trong ngành giáo dục Tất cả các học sinh, sinh viên đều làm cùng một đề giống nhau, do đó sẽ dẫn đến việc đánh giá kết quả cụ thể của từng thí sinh không chính xác, không công bằng vì có thể gian lận bài thi của nhau, quay cóp, … trong lúc thi Còn nếu mỗi học sinh, sinh viên thi mỗi đề khác nhau thì dẫn đến việc ra đề thi gặp khó khăn cho người ra đề và việc đánh giá
kết quả cũng phải mất nhiều thời gian, vì lý do đó mà thi trắc nghiệm được
áp dụng trong vài năm gần đây
Thi trắc nghiệm là một hình thức thi để kiểm tra trình độ, kiến thức, khả năng nhạy bén của từng học sinh, sinh viên ở tất cả các trường, nơi tuyển sinh của các cơ quan ban ngành (thậm chí cả ở các công ty, xí nghiệp cũng áp dụng hình thức thi trắc nghiệm để tuyển nhân viên) dựa trên nhiều đề khác nhau và việc ra đề cũng gặp ít khó khăn hơn cũng như việc đánh giá kết quả ít tốn thời gian hơn Do đó mà hình thức thi trắc nghiệm được dùng khá phổ biến trong các trường Đại học, Cao đẳng, Trung cấp, … trong vài năm gần đây Ngày nay với sự phát triển ngày càng mạnh mẽ của khoa học máy tính nói chung và mạng máy tính nói riêng, đáng chú ý nhất là mạng toàn cầu Internet Sự ra đời của mạng Internet đã đưa con người đến với thế giới máy tính, hòa nhập với thế giới Với mạng Internet chúng ta có thể trao đổi thông tin, gửi Email, truyền dữ liệu, truy xuất dữ liệu … một cách nhanh chóng, an toàn và hiệu quả Giáo dục ngày nay ngày càng phát triển, do đó có nhiều loại hình đào tạo khác nhau như công lập, dân lập, các trung tâm đào tạo từ xa … của nhiều trường khác nhau Cho nên một sinh viên có thể học ở một trường
Trang 82
Đại học này nhưng đồng thời học ở một trung tâm khác Do đó sinh viên có nhu cầu học và thi qua mạng nhằm giảm bớt thời gian đến trường; học sinh đang học phổ thông cũng có thể tham dự các kỳ thi do nhà trường hoặc các kỳ thi thử do các trung tâm hay các trường Đại học tổ chức để kiểm tra trình độ của mình
Để giải quyết các vấn đề khó khăn phức tạp trong việc ra đề thi và việc thi của sinh viên và học sinh thông qua mạng máy tính, được sự đồng ý của giảng viên hướng dẫn, cô Lưu Thị Bích Hương, Khoa Công nghệ Thông tin –
Trường Đại học sư phạm Hà Nội 2, em quyết định chọn đề tài “Xây dựng hệ thống thi trắc nghiệm qua mạng LAN” cho bài khóa luận tốt nghiệp này Sự
ra đời của hệ thống thi trắc nghiệm qua mạng LAN sẽ giúp người sử dụng
quản lý một số các vấn đề về thi một cách tự động, nhằm trợ giúp cho người
sử dụng ra đề thi trắc nghiệm các môn và thí sinh dự thi một cách dễ dàng, nhanh gọn, an toàn và hiệu quả nhất qua mạng máy tính
2 Mục đích và nhiệm vụ nghiên cứu
Trước những yêu cầu thực tế về sự đa dạng trong soạn thảo câu hỏi và
đề thi, sự linh hoạt trong tổ chức thi và địa điểm thi, mục đích nghiên cứu của khóa luận là xây dựng một hệ thống hỗ trợ soạn thảo câu hỏi, có khả năng phát sinh đề thi dựa trên các tiêu chí lựa chọn câu hỏi như độ khó, chủ đề, …, đồng thời hệ thống cũng phải linh hoạt trong tổ chức thi Nhiệm vụ nghiên cứu của khóa luận là làm sao quản lý được thông tin về câu hỏi, đề thi, thí sinh dự thi, kết quả thi, xuất ra các báo cáo khi cần thiết, đồng thời phải xây dựng giao diện thân thiện với người dùng
3 Phạm vi nghiên cứu
Hệ thống thi trắc nghiệm được xây dựng theo hình thức thi trên máy tính cá nhân có nối mạng LAN Hệ thống được xây dựng để sử dụng trong các kì thi trắc nghiệm ở các trường Đại học – Cao đẳng và Trung học phổ thông Trong phạm vi đề tài em xây dựng hệ thống thi trắc nghiệm đối với 3
Trang 93
bộ môn thuộc lĩnh vực Công nghệ Thông tin và dạng câu hỏi là dạng câu hỏi
có 4 phương án lựa chọn
4 Đối tượng nghiên cứu
Đối tượng nghiên cứu của đề tài là quy trình thi trắc nghiệm trên máy tính, từ đó xây dựng chương trình ứng dụng
5 Phương pháp nghiên cứu
Phương pháp nghiên cứu lý luận
Nghiên cứu qua việc đọc sách, báo và các tài liệu liên quan nhằm xây dựng cơ sở lý thuyết của khóa luận và các biện pháp cần thiết để giải quyết các vấn đề của khóa luận
Phương pháp chuyên gia
Tham khảo ý kiến của các chuyên gia để có thể thiết kế chương trình phù hợp với yêu cầu thực tiễn Nội dung xử lý nhanh đáp ứng được yêu cầu ngày càng cao của người sử dụng
Phương pháp thực nghiệm
Thông qua quan sát thực tế, yêu cầu của cơ sở, những lý luận được nghiên cứu và kết quả đạt được qua những phương pháp trên
6 Ý nghĩa khoa học và thực tiễn
Hệ thống thi trắc nghiệm được xây dựng để ứng dụng trong các kì thi kiểm tra có sử dụng phương pháp thi trắc nghiệm và có thể áp dụng cho tất cả các môn thi trong trường Phổ thông hay Đại học – Cao đẳng – Trung cấp chuyên nghiệp
7 Giả thiết khoa học
Nếu hệ thống thi trắc nghiệm được ứng dụng trên thực tế đối với nhiều cấp học, ngành học thì sẽ đáp ứng được những yêu cầu cơ bản nhất mà một kì thi cần có và giảm bớt phần nào khó khăn, phức tạp trong tổ chức thi cử như truyền thống hiện nay
Trang 104
8 Cấu trúc của khóa luận
Ngoài phần mở đầu, kết luận và định hướng phát triển, tài liệu tham khảo, nội dung chính của khóa luận gồm ba chương:
Chương 1: Cơ sở lý thuyết
Chương 2: Phân tích hệ thống
Chương 3: Thiết kế hệ thống
Trang 11C# bao gồm tất cả những hỗ trợ cho cấu trúc, thành phần component, lập trình hướng đối tượng Những tính chất đó hiện diện trong một ngôn ngữ lập trình hiện đại Và ngôn ngữ C# hội đủ những điều kiện như vậy, hơn nữa
nó được xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java
Ngôn ngữ C# là ngôn ngữ lập trình hướng đối tượng được phát triển bởi đội ngũ kĩ sư của Microsoft, trong đó người dẫn đầu là Anders Hejlsberg
và Scott Wiltamuth Cả hai người này đều là những người nổi tiếng trong đó Anders Hejlsberg được biết đến là tác giả của Turbo Pascal, một ngôn ngữ lập trình phổ biến Và ông đứng đầu nhóm thiết kế Borland Delphi, một trong những thành công đầu tiên của việc xây dựng một môi trường phát triển tích hợp (IDE) cho lập trình client/server
Phần cốt lõi của bất kì ngôn ngữ lập trình hướng đối tượng nào là sự hỗ trợ của nó cho việc định nghĩa và làm việc với những lớp Những lớp thì định nghĩa những kiểu dữ liệu mới, cho phép người phát triển mở rộng ngôn ngữ
để tạo mô hình tốt hơn để giải quyết vấn đề Ngôn ngữ C# chứa những từ khóa cho việc khai báo những kiểu lớp đối tượng mới và những phương thức hay thuộc tính của lớp, và cho việc thực thi đóng gói, kế thừa và tính đa hình,
ba thuộc tính cơ bản của bất cứ một ngôn ngữ lập trình hướng đối tượng nào
Trong ngôn ngữ C# mọi thứ liên quan đến khai báo lớp đều được tìm thấy trong phần khai báo của nó Định nghĩa một lớp trong ngôn ngữ C# không đòi hỏi phải chia ra tập tin header và tập tin nguồn giống như C++ Hơn thế nữa ngôn ngữ C# hỗ trợ kiểu XML, cho phép chèn các tag XML để phát sinh tự động các document trong lớp
Trang 126
C# hỗ trợ giao diện interface, nó được xem như một cam kết với một lớp cho những dịch vụ mà giao diện quy định Trong ngôn ngữ C#, một lớp chỉ có thể kế thừa từ duy nhất một lớp cha, tức là không cho kế thừa như C++, tuy nhiên một lớp có thể thực thi nhiều giao diện
Trong ngôn ngữ C#, những cấu trúc cũng được hỗ trợ nhưng khái niệm
về ngữ nghĩa thay đổi khác với C++ Trong C#, một cấu trúc được giới hạn, là kiểu dữ liệu nhỏ gọn, khi tạo thể hiện thì nó ít yêu cầu hệ điều hành hơn và bộ nhớ so với một lớp
C# cung cấp những đặc trưng lập trình như property, sự kiện và dẫn hướng khai báo Lập trình hướng component được hỗ trợ bởi CLR thông qua siêu dữ liệu (metadata),
Ngôn ngữ C# là ngôn ngữ dẫn xuất từ C và C++, nhưng nó được tạo từ nền tảng phát triển hơn Microsoft bắt đầu với công việc trong C và C++ và thêm vào những đặc tính mới để làm cho ngôn ngữ này dễ sử dụng hơn Nhiều trong số những đặc tính này khá giống với những đặc tính có trong ngôn ngữ Java Không dừng lại ở đó, Microsoft đưa ra một số mục đích khi xây dựng ngôn ngữ này như sau:
- C# là ngôn ngữ hiện đại
Điều gì làm cho một ngôn ngữ hiện đại?
Những đặc tính như là xử lý ngoại lệ, thu gom bộ nhớ tự động, những kiểu dữ liệu mở rộng và bảo mật mã nguồn là những đặc tính được mong đợi trong một ngôn ngữ hiện đại C# chứa tất cả những đặc tính trên
- C# là ngôn ngữ đơn giản
Ngôn ngữ C# loại bỏ một vài sự phức tạp và rối rắm của những ngôn ngữ như Java và C++, bao gồm việc loại bỏ những macro, những template, đa
kế thừa và lớp cơ sở ảo Chúng là những nguyên nhân gây ra sự nhầm lẫn hay dẫn đến những vấn đề cho các người phát triển C++ Nếu chúng ta là người học ngôn ngữ này đầu tiên thì chắc chắn là ta sẽ không trải qua những thời
Trang 13- C# là ngôn ngữ hướng đối tượng
Những đặc điểm chính của ngôn ngữ hướng đối tượng là sự đóng gói,
sự kế thừa và đa hình C# hỗ trợ tất cả các điều đó
- C# là ngôn ngữ mạnh và mềm dẻo
Như đã đề cập ở trước, với ngôn ngữ C# chúng ta chỉ bị giới hạn ở chính bởi bản thân hay là trí tưởng tượng của chúng ta Ngôn ngữ này không đặt những ràng buộc lên những việc có thể làm C# được sử dụng cho nhiều
dự án khác nhau như tạo ra ứng dụng xử lý văn bản, ứng dụng đồ họa, bản tính hay thậm chí là những trình biên dịch cho các ngôn ngữ khác
- C# là ngôn ngữ có ít từ khóa
C# là ngôn ngữ sử dụng giới hạn những từ khóa Phần lớn các từ khóa được sử dụng để mô tả thông tin Chúng ta có thể nghĩ rằng một ngôn ngữ có nhiều từ khóa thì sẽ mạnh hơn Sự thật không phải vậy, chúng ta có thể thấy rằng ngôn ngữ C# có thể được sử dụng để làm bất cứ nhiệm vụ nào
- C# là ngôn ngữ hướng module
Mã nguồn C# có thể được viết trong những phần và được gọi là những lớp, những lớp chứa các phương thức thành viên của nó Những lớp và phương thức có thể được sử dụng lại trong các ứng dụng hay chương trình khác Bằng cách truyền các mẫu thông tin đến những lớp hay phương thức chúng ta có thể tạo ra những mã nguồn dùng lại có hiệu quả
Trang 148
1.2 Hệ quản trị cơ sở dữ liệu SQL Server
1.2.1 Giới thiệu hệ quản trị SQL Server
Một hệ quản trị cơ sở dữ liệu là một hệ thống các chương trình hỗ trợ các tác vụ quản lý, khai thác dữ liệu theo mô hình cơ sở dữ liệu quan hệ
SQL Server là một hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) hay còn được gọi là Relation Database Management System Cơ sở dữ liệu quan hệ là cơ sở dữ liệu (CSDL) mà dữ liệu bên trong nó được tổ chức thành các bảng Các bảng được tổ chức bằng cách nhóm dữ liệu theo cùng chủ đề và
có chứa các cột và các hàng thông tin Sau đó các bảng này lại liên hệ với nhau bởi Database Engine khi có yêu cầu RDBMS là một trong những mô hình cơ sở dữ liệu thông dụng nhất hiện nay
Người dùng truy cập dữ liệu trên Server thông qua ứng dụng Người quản trị CSDL truy cập Server trực tiếp để thực hiện các chức năng cấu hình, quản trị và thực hiện các thao tác bảo trì CSDL
Ngoài ra, SQL Server là một CSDL có khả năng mở rộng, nghĩa là chúng có thể lưu một lượng lớn dữ liệu và hỗ trợ tính năng cho phép nhiều người dùng truy cập dữ liệu đồng thời
Các phiên bản của SQL Server phổ biến hiện nay trên thị trường là SQL Server 7.0, SQL Server 2000, SQL Server 2005, SQL Server 2008
1.2.2 Các phiên bản của SQL Server 2005
SQL Server 2005 nâng cao hiệu năng, độ tin cậy, khả năng lập trình đơn giản và giao diện dễ sử dụng hơn so với SQL Server 2000 SQL Server 2005 tập trung vào khả năng xử lý giao dịch trực tuyến (online transaction processing
- OLTP), ứng dụng thương mại điện tử (e- ecommerce) và kho dữ liệu (data warehousing) Ngoài ra những cải tiến quan trọng trong SQL Server 2005 là thêm các dịch vụ mới như: dịch vụ báo cáo (reporting service), service broker và sự thay đổi đáng kể trong cỗ máy cơ sở dữ liệu
SQL Server 2005 được sử dụng rộng rãi cho nhiều đối tượng khác nhau
Trang 159
nên Microsoft cung cấp nhiều phiên bản khác nhau cho phù hợp với các yêu cầu về chi phí, thời gian thực hiện, của các tổ chức, cá nhân Năm phiên bản của SQL Server 2005 là:
+ Microsoft SQL Server 2005 Enterprise Edition
+ Microsoft SQL Server 2005 Standard Edition
+ Microsoft SQL Server 2005 Workgroup Edition
+ Microsoft SQL Server 2005 Developer Edition
+ Microsoft SQL Server 2005 Express Edition
Hầu hết các tổ chức đều chọn trong ba phiên bản SQL Server 2005 Enterprise Edition, SQL Server 2005 Standard Edition, SQL Server 2005 Workgroup Edition Các tổ chức chọn một trong ba phiên bản này với lý do là chỉ
có các phiên bản Enterprise, Standard và Workgroup được cài đặt và sử dụng trong môi trường server phục vụ cho hoạt động thực tế
+ SQL Server 2005 Enterprise Edition (32-bit và 64-bit)
Enterprise Edition được sử dụng trong các doanh nghiệp, tổ chức có các mức yêu cầu xử lý giao dịch trực tuyến trên diện rộng (online transaction processing - OLTP), khả năng phân tích dữ liệu phức tạp cao, hệ thống kho dữ liệu (data warehousing systems) và web sites Enterprise Edition phù hợp cho các tổ chức lớn và các yêu cầu phức tạp
+ SQL Server 2005 Standard Edition (32-bit và 64-bit)
Standard Edition là phiên bản phục vụ cho việc quản trị và phân tích
dữ liệu phù hợp cho các doanh nghiệp, tổ chức vừa và nhỏ Nó bao gồm các giải pháp cần thiết cho thương mại điện tử, kho dữ liệu (data warehousing) và dòng doanh nghiệp (line-of-business)
+ SQL Server 2005 Workgroup Edition (32-bit only)
Workgroup Edition là giải pháp quản trị dữ liệu phù hợp cho các doanh nghiệp, tổ chức nhỏ chỉ cần một cơ sở dữ liệu không giới hạn kích thước hoặc số
Trang 1610
người sử dụng Workgroup Edition là lý tưởng cho các mức cơ sở dữ liệu tin cậy, mạnh mẽ và dễ quản trị
+ SQL Server 2005 Developer Edition (32-bit và 64-bit)
Developer Edition có tất cả các tính năng của phiên bản SQL Server 2005 Enterprise Edition, nhưng nó chỉ là phiên bản sử dụng cho phát triển và kiểm tra ứng dụng Phiên bản này phù hợp cho các cá nhân, tổ chức xây dựng và kiểm tra ứng dụng
+ SQL Server 2005 Express Edition (32-bit only)
SQL Server Express dễ sử dụng và quản trị cơ sở dữ liệu đơn giản Được tích hợp với Microsoft Visual Studio 2005, SQL Server Express trở nên dễ dàng để phát triển các ứng dụng dữ liệu giầu khả năng, an toàn trong luư trữ, và nhanh chóng triển khai
SQL Server Express là phiên bản miễn phí, có thể dùng như một cơ sở dữ liệu máy khách hoặc cơ sở dữ liệu máy chủ đơn giản SQL Server Express là lựa chọn tốt cho những người dùng chỉ cần một phiên bản SQL Server 2005 nhỏ gọn, dùng trên máy chủ có cấu hình thấp, những nhà phát triển ứng dụng không chuyên hay những người yêu thích xây dựng các ứng dụng nhỏ
1.2.3 Các câu lệnh SQL cơ bản
SQL (Structured Query Language) là ngôn ngữ được sử dụng cho các
hệ quản trị CSDL quan hệ Ngôn ngữ SQL chuẩn được đa ra bởi ANSI (American National Standards Institude ) và ISO (International Standards Organization) với phiên bản mới nhất hiện nay là SQL – 92 Mặc dù có nhiều ngôn ngữ khác nhau được đưa ra cho các hệ quản trị CSDL, SQL là ngôn ngữ được sử dụng rộng rãi hiện nay trong rất nhiều hệ thống CSDL thương mại như Oracle, SQL Server, Microsoft Access, Thông qua SQL, người sử dụng có thể dễ dàng định nghĩa được dữ liệu, thao tác với CSDL,
Trang 1711
a Lệnh SELECT
Phát biểu SQL dạng SELECT là một trong những phát biểu yêu cầu SQL truy vấn dữ liệu trên CSDL chỉ định SELECT dùng để đọc thông tin từ CSDL theo trường trường hợp quy định hay những biểu thức cho trường hợp đó
Mệnh đề FROM chỉ ra tên 1 bảng hay những bảng có quan hệ cần truy vấn thông tin
Mệnh đề WHERE để tạo nên điều kiện cần lọc mẩu tin theo tiêu chuẩn được định nghĩa Thông thường WHERE dùng cột (trường) để so sánh với giá trị cột khác, hay biểu thức chứa cột (trường) bất kỳ có trong bảng (table)
Khi thêm dữ liệu, cần chú ý kiểu dữ liệu giống hoặc tương ứng với kiểu
dữ liệu đã khai báo của cột, nếu không phù hợp thì lỗi sẽ phát sinh
Phát biểu SQL có dạng:
INSERT INTO <tên bảng>([<danh sách các trường>])
VALUES (<danh sách các giá trị>)
c Lệnh UPDATE
Phát biểu SQL dạng UPDATE dùng cập nhật lại dữ liệu đã tồn tại trong bảng Khi UPDATE dùng cập nhật dữ liệu cho một mẩu tin chỉ định nào đó thường lệnh này sử dụng chung với mệnh đề WHERE
Phát biểu SQL có dạng:
UPDATE <tên bảng> SET <tên trường 1> = <giá trị 1>,
[<tên trường 2> = <giá trị 2>] WHERE [<điều kiện>]
Trang 1812
d Lệnh DELETE
Phát biểu SQL dạng DELETE dùng xóa dữ liệu tồn tại trong bảng Khi DELETE dùng xóa một mẩu tin chỉ định nào đó thường lệnh này sử dụng chung với mệnh đề WHERE
Phát biểu SQL có dạng:
DELETE FROM <tên bảng> [WHERE <điều kiện>]
Trang 19Trong những năm gần đây, số lượng các môn thi trắc nghiệm trong bậc phổ thông ngày càng nhiều, xu hướng các môn thi đại học thi bằng trắc nghiệm đang được sử dụng Trong khi đó tài liệu sách trắc nghiệm còn hạn chế mà giá thành lại đắt, các đề thi trong các bộ sách trắc nghiệm còn hạn chế chưa đáp ứng đủ nhu cầu
Xét về một khía cạnh nào đó thì hình thức thi trên giấy vẫn mang ý nghĩa tích cực vì học sinh có thể trình bày được tư duy sáng tạo, phương pháp, kĩ năng làm bài của mình mà qua đó giáo viên có thể trên cơ sở đó đánh giá được sâu hơn trình độ của học sinh, nó thích hợp với những môn văn, sử,
… Tuy nhiên đối với hầu hết các môn khác thì hình thức thi truyền thống này lại bộc lộ nhiều nhược điểm đó là tình trạng học sinh sử dụng tài liệu để làm bài, hơn nữa để tổ chức thi, coi thi, chấm thi rất khó khăn và phức tạp
Chúng ta có thể khảo sát chi tiết về hệ thống thi viết truyền thống để thấy rõ hơn được những ưu và nhược điểm của nó qua hình 2.1:
Trang 2014
Hình 2.1 Sơ đồ mô tả chức năng của hệ thống cũ
Tổ chức in ấn đề thi và giấy thi
Tổ chức thi và thu bài
Dọc phách và phát bài thi cho giáo viên chấm thi
Thu bài thi đã chấm và ghép
phách bài thi
Đưa ra bảng điểm của thí sinh
Nhận lịch và ra
đề thi
Lập kế hoạch và lịch thi
Nhận đề từ giáo viên bộ môn
Lập tổ kiểm tra chất lượng đề
và chọn đề
Sắp xếp đội ngũ coi thi
Nhận lịch thi
Nhận đề thi và làm bài
Nộp bài thi và đợi kết quả
Trang 2115
b Các dạng câu hỏi trắc nghiệm
Câu hỏi có nhiều phương án lựa chọn với một phương án trả lời Câu hỏi có nhiều phương án chọn với một phương án trả lời là dạng câu hỏi trắc nghiệm gồm một phần mô tả chung và các lựa chọn A, B, C, D,
… Thí sinh cần lựa chọn câu trả lời đúng trong số các lựa chọn
Câu hỏi có nhiều phương án lựa chọn với nhiều phương án trả lời Câu hỏi có nhiều lựa chọn với nhiều phương án là câu hỏi trắc nghiệm gồm một phần mô tả chung và các lựa chọn A, B, C, D, …Thí sinh cần lựa chọn các câu trả lời đúng trong số các lựa chọn Kết quả chỉ được xem là đúng khi lựa chọn tất cả các câu đúng
Câu hỏi đúng sai
Câu hỏi đúng sai là câu hỏi trắc nghiệm dạng đặc biệt của câu hỏi nhiều lựa chọn, dạng này chỉ có hai phương án lựa chọn là đúng hoặc sai
Câu hỏi điền khuyết
Câu hỏi điền khuyết là dạng câu hỏi trắc nghiệm gồm một phần mô tả chung trong đó có những vị trí chưa có dữ liệu thích hợp Thí sinh dự thi cần trả lời bằng cách chọn lựa một giá trị trong một danh sách các giá trị có sẵn
Câu hỏi ghép đôi
Câu hỏi ghép đôi là dạng câu hỏi trắc nghiệm gồm một phần mô tả chung và một bảng hai cột các lựa chọn 1, 2, 3, 4, … trong cột đầu tiên và A,
B, C, D, … trong cột thứ hai Thí sinh tham dự thi cần chọn lựa các cặp ghép đôi tương ứng từ hai cột lựa chọn này
Câu hỏi tìm ý chính của một đoạn văn
Câu hỏi tìm ý chính của một đoạn văn là dạng câu hỏi trắc nghiệm gồm một đoạn văn cho trước, thí sinh cần đọc hiểu rồi dựa vào phần mô tả chung
đó tìm ra ý tổng quát của bài dựa theo các câu được nêu ở bên dưới
Trang 22Độ an toàn của hệ thống
An toàn là vấn đề quan trọng nhất đối với một kì thi Với hình thức thi truyền thống hội đồng thi sẽ cử ra một nhóm giáo viên ra đề thi sau đó lựa chọn cho phù hợp với nội dung để tạo ra đề thi chính thức Tiếp đó là nhiều công đoạn in ấn, phân phát, đóng gói và niêm phong đề thi Từ lúc đề thi được
ra cho đến khi học sinh nhận bài trải qua quá nhiều công đoạn và huy động nhiều người nên độ an toàn không cao
Tính chất khách quan
Đây là vấn đề luôn được chú trọng trong mỗi kì thi của bất cứ môn thi nào Và sự khách quan ở đây có thể do nhiều lí do và nhiều yếu tố khác nhau ảnh hưởng đến chất lượng của bài chấm, do đó có thể sẽ gây lên sự bất công bằng cho các thí sinh
Vấn đề đề thi
Với hình thức thi viết truyền thống có thể thấy các thí sinh sử dụng chung một đề thi do giáo viên ra đề Do đó để có được một đề thi chất lượng cho thí sinh là rất khó và cũng chỉ có thể chọn ra một số đề giới hạn trong ngân hàng đề do các giáo viên đưa ra
Tình trạng trao đổi bài và quay cóp trong thi cử
Với hình thức thi viết truyền thống có thể nói vẫn còn tình trạng quay cóp và trao đổi bài nhau trong quá trình thi
Vấn đề tài chính
Với hình thức thi truyền thống, mỗi kì thi đến chi phí cho việc in ấn, photo đề thi cho thí sinh là rất tốn kém và mất nhiều công sức của giáo viên
Trang 2317
Về chấm thi
Với hình thức thi truyền thống, sau khi nhận bài thi của thí sinh, cán bộ làm thi phải dọc phách và phát bài thi cho giáo viên chấm, cán bộ chấm thi xong lại giao bài lại cho cán bộ làm thi ghép phách rồi mới đưa ra được bảng điểm Quy trình chấm thi tốn rất nhiều thời gian và công sức
2.1.3 Yêu cầu đối với hệ thống mới
Hệ thống thi trắc nghiệm trên máy tính phải phát huy được những lợi ích của việc thi trắc nghiệm qua mạng, khắc phục được cơ bản những nhược điểm còn tồn tại trong hệ thống thi truyền thống Yêu cầu đặt ra đối với hệ thống mới là:
- Tiết kiệm thời gian
- Hệ thống phải an toàn từ khâu ra đề, tổ chức thi
- Tuyệt đối khách quan
- Ngân hàng câu hỏi trắc nghiệm phong phú, kiến thức mang tính chất tổng hợp
- Tuyệt đối không còn tình trạng học sinh sử dụng tài liệu, trao đổi bài khi thi
- Tiết kiệm được nhân lực trong việc tổ chức coi thi, chấm thi
Trên cơ sở sơ đồ mô tả chức năng của hệ thống cũ, yêu cầu đối với hệ thống mới với các chức năng như hình 2.2:
Trang 2418
Hình 2.2 Sơ đồ mô tả chức năng của hệ thống mới
Yêu cầu các hoạt động của hệ thống mới:
Soạn câu hỏi cho đề thi
Câu hỏi phải nằm trong chương trình học của thí sinh dự thi, các câu hỏi sẽ được phân mức dễ, trung bình, khó tùy theo trình độ của từng loại thí sinh Mỗi câu hỏi có 4 phương án trả lời nhưng chỉ có một phương án trả lời
là đúng, điểm của câu hỏi sẽ tính cho phương án trả lời đúng
Tạo đề thi
Các câu hỏi sau khi được soạn thảo, hiệu chỉnh sẽ được lưu vào ngân hàng câu hỏi Ngân hàng câu hỏi thường chứa một số lượng lớn các câu hỏi Quản trị hệ thống sẽ thực hiện soạn đề thi dựa trên ngân hàng câu hỏi có sẵn Ứng dụng sẽ phát sinh đề dựa theo một hay nhiều tiêu chí nào đó chẳng hạn như dựa trên tiêu chí độ khó, chủ đề môn học, … Sau khi công đoạn biên
Nhận đề thi, làm bài và nhận kết quả thi
Nhận đề từ giáo viên bộ môn
Lập tổ kiểm tra chất lượng đề
Trang 25 Thí sinh vào phòng thi theo danh sách của giám thị;
Thí sinh khởi động hệ thống thi;
Thí sinh nghe hướng dẫn của giám thị;
Khi có thông báo của giám thị, thí sinh đăng nhập vào hệ thống bằng user và password (password của thí sinh chính là mã thí sinh dự thi (đối sinh viên là mã sinh viên));
Sau khi đăng nhập xong thí sinh chờ cho hệ thống báo là đã có kết nối với máy chủ và có xác nhận của giám thị vào bài thi thì thí sinh nhấn vào nút làm bài thi để bắt đầu làm bài thi của mình
+ Thi
Mỗi thí sinh sẽ thi trên một thể hiện của đề thi Một thể hiện của
đề thi tương ứng với một trường hợp xáo trộn thứ tự câu hỏi và thứ tự câu chọn của một câu hỏi Hình thức thi này đảm bảo tính công bằng vì tất cả thí sinh đều thi trên cùng một đề thi, chỉ như vậy mới đánh giá được chính xác thực lực của từng thí sinh Thí sinh đọc câu hỏi sau đó chọn xem phương án nào đúng trong số các phương án lựa chọn Chọn xong thí sinh nhấn nút Trả lời để hệ thống lưu câu trả lời và nhảy sang câu hỏi kế tiếp
Đối với các trường hợp lỗi do không đăng nhập vào hệ thống, không kết nối vào cơ sở dữ liệu của máy chủ, đang làm bài thì hệ thống tự ngắt hoặc mất điện, … thì giám thị ghi lại mã dự thi, số máy của thí sinh đó rồi chuyển cho hội đồng thi thông qua cán bộ khảo thí Hội đồng thi sẽ xử lý trực tiếp các vấn đề đó và thông báo cho giám thị thông qua cán bộ khảo thí cho phép thí sinh làm lại bài hoặc chuyển sang ca thi kế tiếp Trong trường
Trang 2620
hợp bị sự cố mất điện trong khi làm bài thì ngay khi có điện, hệ thống sẽ khôi phục lại trạng thái gần nhất trước khi mất điện, đảm bảo để thí sinh làm tiếp bài làm của mình
Khi thí sinh kết thúc bài thi thì nhấn nút nộp bài hoặc là do hết thời gian làm bài hệ thống tự động khóa bài thi của thí sinh và nộp bài thí sinh
về máy chủ Tùy theo từng kỳ thi mà hệ thống sẽ cho hiển thị kết quả bài thi của thí sinh (Tổng số câu làm đúng trên tổng số câu của bài thi, tổng điểm của bài thi, thông báo cho thí sinh biết là đỗ hay trượt) hoặc là không hiển thị kết quả
+ Kết thúc thi
Giám thị ghi lại kết quả giám sát quá trình thi của phòng thi bao gồm tổng số thí sinh dự thi, số thí sinh vắng, giấy phép của thí sinh vắng (nếu có), số thí sinh vi phạm quy chế thi, các sự cố xảy ra trong quá trình thi, …
Báo cáo kết quả thi
Sau khi hoàn thành quá trình thi, hệ thống sẽ tự động thống kê danh sách các thí sinh đạt và không đạt tùy theo biểu điểm do hội đồng tổ chức thi
đề ra Sau đó lập báo cáo kết quả thi và đưa toàn bộ kết quả thi lên một địa chỉ xác định để thí sinh có thể tra cứu điểm bài thi của mình Nếu thí sinh có thắc mắc về điểm thi sau khi tra cứu thì có thể phúc tra bài thi, khi đó được sự đồng ý của hội đồng thi quản trị hệ thống sẽ đưa ra chi tiết bài thi của thí sinh
để giải đáp thắc mắc của thí sinh
Yêu cầu về chức năng
Cập nhật thí sinh dự thi
+ Thêm mới thí sinh;
+ Sửa thông tin thí sinh;
+ Xóa thông tin thí sinh
Quản lý ngân hàng câu hỏi
+ Soạn mới câu hỏi hỗ trợ đa định dạng;
Trang 2721
+ Chỉnh sửa câu hỏi;
+ Xóa câu hỏi
Quản lý đề thi
+ Tạo đề thi ngẫu nhiên;
+ Tạo đề thi dựa vào một số tiêu chí;
+ Trộn đề thi
Thí sinh thi
+ Đăng nhập tài khoản thi;
+ Làm bài thi
Báo cáo kết quả, xử lý sự cố
+ Báo cáo kết quả kì thi;
+ Báo cáo kết quả từng thí sinh dự thi;
+ Phục hồi sự cố (nếu có)
Yêu cầu phi chức năng
Hệ thống được thiết kế với giao diện đẹp, dễ sử dụng đối với cả những người không biết về máy tính Hệ thống được xây dựng bao gồm đầy đủ hệ thống trợ giúp nhằm hướng dẫn người sử dụng có thể dễ dàng sử dụng hệ thống mà không gặp phải bất kì khó khăn nào
Đánh giá phương án
- Về mặt quản lý, hệ thống cho phép người quản trị có thể dễ dàng thao tác mọi nhiệm vụ trong khu vực quản trị của mình như: quản lý về thí sinh, quản lý ngân hàng câu hỏi, quản lý kết quả thi, …
- Về mặt tài chính, có thể nhận thấy khi đem hệ thống mới và sử dụng
sẽ giảm bớt được rất nhiều chi phí trong các kì thi
- Về mặt thời gian, có thể nhận thấy hệ thống mới chiếm ưu thế tuyệt đối về mặt thời gian do ứng dụng Công nghệ Thông tin vào quá trình thi và chấm thi, giảm bớt được một số quá trình so với hệ thống cũ
Trang 2822
- Về đề thi, hệ thống mới có thể tạo ra ngân hàng đề thi dễ dàng Như việc lấy ra một số đề để thi là hoàn toàn ngẫu nhiên dựa vào ngân hàng đề cho trước Không ai có thể biết được trước đề thi sẽ gồm những câu nào, thứ tự của các các câu ra sao
- Về chấm thi, hệ thống mới có thể tiến hành chấm thi trực tiếp trên máy tính sau khi thí sinh hoàn thành bài thi của mình
Một số kỹ thuật xử lý ứng dụng:
Xây dựng đề thi theo các tiêu chí
Việc biên soạn đề thi khá phức tạp Người dùng có thể chỉ yêu cầu số lượng câu hỏi của đề hoặc chia đề thành các nhóm câu hỏi có tiêu chí lựa chọn khác nhau
Ví dụ: Đề thi môn Tin học đại cương có 30 câu, trong đó:
10 câu thuộc chủ đề “Word”;
10 câu thuộc chủ đề “Excel”;
10 câu thuộc chủ đề “Powerpoint”, độ khó: Trung bình
Giải pháp:
Sử dụng một danh sách để lưu lại các tiêu chí lựa chọn;
Ứng với từng tiêu chí trong danh sách câu chọn, vào cơ sở dữ liệu để lựa chọn câu hỏi
Ưu điểm:
Giúp soạn đề nhanh chóng;
Đề thi soạn ra phong phú, đa dạng
Phục hồi tiến độ bài làm khi có sự cố
Khi thí sinh làm bài thi, các sự cố bất ngờ có thể xảy ra như: mất điện, hỏng máy, … thì kết quả bài làm của thí sinh có thể bị mất hoặc không đầy
đủ Do đó phát sinh nhu cầu phục hồi tiến độ làm bài thi tại thời điểm xảy ra
sự cố
Trang 2923
Giải pháp: Dùng một bảng để lưu trữ thông tin về bài làm và quá trình
làm của thí sinh Định kì trong một khoảng thời gian quy định, chương trình
tự động cập nhật kết quả làm bài thi của thí sinh vào bảng đó
Chấm điểm tự động
Do các bài thi được lưu trữ trên máy nên mọi thông tin cần thiết để chấm bài đều có sẵn Chương trình sẽ chấm điểm cho các bài thi lưu trong một thư mục một cách tự động và xuất ra một tập tin kết quả Thật ra bài thi của thí sinh đã có kết quả ngay khi thí sinh kết thúc phần thi của mình Kết quả đó được lưu trữ trong tập tin bài làm của thí sinh Khi chấm thi, chương trình sẽ lấy lại các thông tin đó và thực hiện kết xuất kết quả
Ví dụ: Đã tồn tại hệ thống lưu trữ thông tin về sinh viên, giáo viên,
môn học, …; do đó, ứng dụng cần giao tiếp với hệ thống này để import dữ liệu về các thông tin đó; đồng thời export kết quả thi của thí sinh, …
Giải pháp: Nhập liệu tự động Cụ thể là dữ liệu nhập vào được lưu trữ
dưới dạng tập tin Excel Ứng dụng sẽ đọc tập tin Excel đó để lấy dữ liệu lưu vào hệ thống Tương tự, kết quả thi của thí sinh cũng được xuất ra dạng Excel
Trang 3024
2.2 Phân tích hệ thống
2.2.1 Sơ đồ phân cấp chức năng
Hình 2.3 Sơ đồ phân cấp chức năng hệ thống thi trắc nghiệm qua mạng
Giải thích các chức năng:
Quản lý môn thi: Người quản trị có thể thêm mới môn thi hoặc sửa, xóa
các môn thi đã có
Quản lý đề thi: Người quản trị có thể thêm mới đề thi hoặc sửa chữa, xóa
bỏ các đề thi đã có trong ngân hàng đề của hệ thống
Quản lý thí sinh: Người quản trị có nhiệm vụ quản lý hồ sơ các thí sinh
tham gia thi, như thêm mới sinh viên hoặc sửa, xóa các sinh viên đã có trong danh sách
Tổ chức thi: Thí sinh đăng nhập vào hệ thống để làm bài thi, kết quả thi
của thí sinh được lưu trong máy chủ
Quản lý kết quả: Người quản trị có nhiệm vụ quản lý điểm và in danh
sách bảng điểm của các thí sinh
THI TRẮC NGHIỆM QUA MẠNG LAN
Tổ chức thi
Quản lý kết quả
Quản lý thành viên
Trang 3125
Quản lý thành viên: Quản lý thành viên ban quản trị cho phép người điều
hành hệ thống có thể thêm, bớt thành viên vào hệ thống để thuận lợi cho quá trình quản lý của mình
2.2.2 Sơ đồ luồng dữ liệu
a Sơ đồ luồng dữ liệu mức khung cảnh
Các tác nhân ngoài
Chức năng chính
Hình 2.4 Sơ đồ luồng dữ liệu mức khung cảnh hệ thống thi trắc nghiệm qua mạng
Thi trắc nghiệm qua mạng
Lập báo cáo và đưa ra kết
quả thi Thông tin bài làm,
kết quả thi Bài làm SBD, mật khẩu
Lịch thi, danh sách,
thông tin dự thi
Hồ sơ thí sinh
Thi trắc nghiệm qua mạng