LỜI CẢM ƠN
Sau một thời gian thực hiện khóa luận tốt nghiệp, đến nay mọi công
việc liên quan đến khóa luận đã hoàn tất. Để có được sự thành công này ,
trước tiên, em xin gửi lời cảm ơn chân thành tới tất cả các thầy cô giáo
trường , đặc biệt là các thầy cô ở Khoa Hệ Thống
Thông tin Kinh tế, những người đã dày công dạy dỗ, truyền đạt những kinh
nghiệm quý báu.
Em cũng xin bày tỏ lời cảm ơn chân thành tới Thạc sĩ Lê Viết Mẫn,
người đã tận tình hướng dẫn em trong suốt quá trình làm
81 trang |
Chia sẻ: huong20 | Ngày: 08/01/2022 | Lượt xem: 462 | Lượt tải: 0
Tóm tắt tài liệu Khóa luận Xây dựng phần mềm thi, đánh giá câu hỏi, đề thi trắc nghiệm khách quan, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
khóa luận tốt
nghiệp. Thầy đã giúp đỡ em rất nhiều từ việc hình thành những ý tưởng
ban đầu cũng như hướng dẫn quá trình thực hiện ý tưởng và sau đó là góp
ý, chỉnh sửa để đề tài được hoàn thành tốt nhất có thể.
Xin cảm ơn chân thành đến ba mẹ, người thân những người đã luôn
dành tình yêu thương, hỗ trợ, theo dõi bước đi của em trong suốt những
tháng năm trên ghế giảng đường, tạo điều kiện thuận lợi nhất để em có
thể hoàn thành khóa luận của mình.
Cám ơn bạn bè những người đã luôn sát cánh, cùng chia sẻ khó khăn
và giúp đỡ trong quá trình học tập. 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ự đóng góp, bổ sung ý kiến
của quý Thầy Cô và các bạn để khóa luận ngày càng hoàn thiện hơn.
Huế, tháng 5 năm 2013
Sinh viên thực hiện
Đỗ Văn Quý
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý ii
MỤC LỤC
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT .................................................. v
DANH MỤC HÌNH ẢNH, SƠ ĐỒ, BIỂU ĐỒ ...........................................................vi
DANH MỤC BẢNG BIỂU ....................................................................................... viii
TÓM TẮT NGHIÊN CỨU ..........................................................................................ix
PHẦN I. MỞ ĐẦU ....................................................................................................... 10
1. Lý do chọn đề tài ....................................................................................................... 10
2. Mục tiêu nghiên cứu .................................................................................................. 11
3. Đối tượng, phạm vi nghiên cứu ................................................................................. 11
4. Phương pháp nghiên cứu ........................................................................................... 11
5. Nội dung của khóa luận ............................................................................................. 12
PHẦN II. NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU ............................................ 13
CHƯƠNG 1. CƠ SỞ LÝ LUẬN VỀ TRẮC NGHIỆM KHÁCH QUAN .............. 13
1.1. Tổng quan về trắc nghiệm khách quan .............................................................. 13
1.1.1. Tự luận và trắc nghiệm khách quan .................................................................... 13
1.1.2. Những trường hợp dùng trắc nghiệm .................................................................. 15
1.1.3. Quy trình xây dựng đề thi trắc nghiệm khách quan, ngân hàng câu hỏi ............. 16
1.2. Một số dạng câu hỏi trắc nghiệm khách quan thường gặp .............................. 17
1.2.1. Câu trắc nghiệm đa lựa chọn (multiple choice question) .................................... 17
1.2.2. Câu trắc nghiệm đúng – sai (true - false question) .............................................. 19
1.2.3. Câu trắc nghiệm ghép đôi (matching question) ................................................... 19
1.2.4. Câu trắc nghiệm điền khuyết (filling question) ................................................... 20
1.2.5. Câu trắc nghiệm hình ảnh (image question) ........................................................ 21
1.3. Tính tin cậy và tính giá trị của bài trắc nghiệm ................................................ 22
1.3.1. Tính tin cậy (Reliability) ..................................................................................... 22
1.3.2. Tính giá trị (Validity) .......................................................................................... 23
1.3.3. Mối liên hệ giữa tính tin cậy và tính giá trị ......................................................... 24
1.4. Đánh giá câu trắc nghiệm .................................................................................... 24
1.4.1. Độ khó của câu hỏi trắc nghiệm .......................................................................... 24
1.4.2. Độ phân cách của câu hỏi trắc nghiệm ................................................................ 26
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý iii
1.4.3. Độ tin cậy của bài trắc nghiệm ............................................................................ 29
1.5. Đánh giá một số phần mềm hiện nay .................................................................. 35
1.6. Kết luận ................................................................................................................. 36
CHƯƠNG 2: PHƯƠNG PHÁP LUẬN XÂY DỰNG HỆ THỐNG THI VÀ ĐÁNH
GIÁ CÂU HỎI, ĐỀ THI TRẮC NGHIỆM KHÁCH QUAN .................................. 37
2.1 Tổng quan về ngôn ngữ lập trình C-Sharp (C#) ................................................ 37
2.2 Môi trường phát triển tích hợp Microsoft Visual Studio .................................. 39
2.3 Tổng quan về kiến trúc ADO.NET ...................................................................... 40
2.3.1 Giới thiệu .............................................................................................................. 40
2.3.2 Các ưu điểm của ADO.NET ................................................................................. 41
2.4 Tổng quan về hệ quản trị CSDL MS SQLServer và ngôn ngữ T-SQL ............ 43
2.4.1 Giới thiệu hệ quản trị CSDL Microsoft SQL Server ............................................ 43
2.4.2 Giới thiệu ngôn ngữ T-SQL (Transact-SQL) ....................................................... 45
2.5. Các sơ đồ phân tích hệ thống............................................................................... 47
2.6. Thư viện công cụ thiết kế của DevExpress ......................................................... 50
2.7. Kết luận ................................................................................................................. 50
CHƯƠNG 3. PHÂN TÍCH, THIẾT KẾ, XÂY DỰNG PHẦN MỀM THI, ĐÁNH
GIÁ CÂU HỎI, ĐỀ THI TRẮC NGHIỆM KHÁCH QUAN .................................. 51
3.1. Hệ thống hỗ trợ thi trắc nghiệm .......................................................................... 51
3.2. Phân tích hệ thống ................................................................................................ 52
3.2.1. Sơ đồ phân rã chức năng (BFD – Business Function Diagram): ........................ 52
3.2.2. Mô tả chức năng .................................................................................................. 53
3.2.3. Sơ đồ ngữ cảnh (Context Diagram) ..................................................................... 56
3.2.4. Sơ đồ mô hình luồng dữ liệu (DFD – Data Flow Diagram): ............................... 57
3.3. Thiết kế cơ sở dữ liệu ........................................................................................... 61
3.3.1. Liệt kê các tập thực thể và thuộc tính tương ứng ................................................ 61
3.3.2. Mối quan hệ giữa các tập thực thể ....................................................................... 63
3.3.3. Sơ đồ thực thể - mối quan hệ ............................................................................... 64
3.3.4. Chuyển các mối quan hệ thành lược đồ quan hệ ................................................. 65
3.3.5. Mô hình dữ liệu quan hệ ...................................................................................... 66
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý iv
3.4. Thiết kế thuật toán ............................................................................................... 70
3.4.1. Đăng nhập hệ thống ............................................................................................. 70
3.4.2. Tạo đề, trộn đề ..................................................................................................... 70
3.4.3. Đánh giá độ đo câu hỏi, bài trắc nghiệm ............................................................. 71
3.4.4. Thống kê kết quả bài làm của thí sinh ................................................................. 71
3.4.5. Xây dựng lớp DataProvider dùng chung ............................................................. 71
3.5. Thiết kế giao diện .................................................................................................. 72
3.6. Kết luận ................................................................................................................. 74
PHẦN 3. KẾT LUẬN .................................................................................................. 75
TÀI LIỆU THAM KHẢO ........................................................................................... 76
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý v
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
CSDL: cơ sở dữ liệu
TNKQ: trắc nghiệm khách quan
TN: trắc nghiệm
XML: eXtensible Markup Language (ngôn ngữ đánh dấu mở rộng)
HTTP: Hypertext Transfer Protocol (giao thức truyền tải siêu văn bản)
HQTCSDL: hệ quản trị cơ sở dữ liệu
SQL: Structured Query Language (ngôn ngữ hỏi có cấu trúc)
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý vi
DANH MỤC HÌNH ẢNH, SƠ ĐỒ, BIỂU ĐỒ
Hình 1.1 Dạng câu trắc nghiệm đa lựa chọn ................................................................. 18
Hình 1.2 Dạng câu trắc nghiệm đúng/sai ...................................................................... 19
Hình 1.3 Dạng câu trắc nghiệm ghép đôi ...................................................................... 20
Hình 1.4 Dạng câu trắc nghiệm điền khuyết ................................................................. 20
Hình 1.5 Dạng câu trắc nghiệm hình ảnh ...................................................................... 21
Hình 2.1 Kiến trúc ADO.NET ....................................................................................... 43
Hình 2.2 Hệ quản trị CSDL MSSSQL Server 2008 R2 ................................................ 45
Hình 2.3 Mối liên hệ giữa SQLServer và C# ................................................................ 47
Hình 2.4 DevExpress Framework ................................................................................. 50
Hình 3.1 Sơ đồ Use-case hệ thống hỗ trợ thi trắc nghiệm ............................................. 51
Hình 3.2 Sơ đồ chức năng BFD .................................................................................... 53
Hình 3.3 Chức năng quản lý hệ thống ........................................................................... 53
Hình 3.4 Chức năng tạo đề, trộn đề, phân mã đề thi ..................................................... 54
Hình 3.5 Chức năng thi trắc nghiệm ............................................................................. 54
Hình 3.6 Chức năng đánh giá ........................................................................................ 55
Hình 3.7 Chức năng thống kê ........................................................................................ 55
Hình 3. 8 Sơ đồ ngữ cảnh .............................................................................................. 56
Hình 3.9 Sơ đồ phân rã mức 0 ....................................................................................... 57
Hình 3.10 Sơ đồ phân rã mức 1 cho chức năng 1.0 ...................................................... 58
Hình 3.11 Sơ đồ phân rã mức 1 cho chức năng 2.0 ...................................................... 59
Hình 3.12 Sơ đồ phân rã mức 1 cho chức năng 3.0 ...................................................... 60
Hình 3.13 Sơ đồ phân rã mức 1 cho chức năng 4.0 ...................................................... 60
Hình 3.14 Sơ đồ phân rã mức 1 cho chức năng 5.0 ...................................................... 61
Hình 3.15 Sơ đồ thực thể mối quan hệ .......................................................................... 64
Hình 3.16 Mô hình dữ liệu quan hệ ............................................................................... 69
Hình 3.17 Giải thuật đăng nhập hệ thống ...................................................................... 70
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý vii
Hình 3.18 Giải thuật tạo đề, trộn đề .............................................................................. 70
Hình 3.19 Giải thuật đánh giá độ đo câu hỏi, bài trắc nghiệm ...................................... 71
Hình 3.20 Giải thuật thống kê kết quả bài làm .............................................................. 71
Hình 3.21 Giao diện chính chương trình ....................................................................... 72
Hình 3.22 Giao diện tạo đề, ấn định đề, xem đề ........................................................... 72
Hình 3.23 Giao diện nhập danh sách thí sinh ................................................................ 73
Hình 3.24 Giao diện làm bài thi trắc nghiệm ................................................................ 73
Hình 3.25 Giao diện đánh giá ........................................................................................ 74
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý viii
DANH MỤC BẢNG BIỂU
Bảng 1.1 So sánh giữa tự luận và trắc nghiệm .............................................................. 14
Bảng 1.2 Tương quan số lựa chọn và độ may rủi của câu đa lựa chọn ......................... 18
Bảng 1.3 Tỷ lệ may rủi và độ khó vừa phải của một số dạng câu hỏi trắc nghiệm ...... 26
Bảng 1.4 Điểm bài làm và điểm câu trắc nghiệm ......................................................... 28
Bảng 1.5 Kết luận độ phân cách .................................................................................... 29
Bảng 1.6 Điểm số của mỗi thí sinh................................................................................ 32
Bảng 1.7 Điểm bài làm mỗi thí sinh ............................................................................. 34
Bảng 1.8 Độ khó từng câu trắc nghiệm ....................................................................... 34
Bảng 1.9 Kết luận độ tin cậy ......................................................................................... 35
Bảng 1.10 So sánh các phần mềm trắc nghiệm ............................................................. 36
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý ix
TÓM TẮT NGHIÊN CỨU
Ngày nay, hình thức thi trắc nghiệm với ưu điểm là khách quan, nhanh chóng,
giảm thiểu chi phí tổ chức thi ngày đang càng được áp dụng rộng rãi trong hệ thống giáo
dục Việt Nam. Đề tài “Xây dựng phần mềm thi, đánh giá câu hỏi, đề thi trắc nghiệm
khách quan” là đề tài nghiên cứu tổng quan lý thuyết trắc nghiệm khách quan, phương
pháp đo lường độ khó, độ phân cách của câu hỏi trắc nghiệm và độ tin cậy của đề thi
trắc nghiệm khách quan. Phân tích tổng quan bài toán từ đó xác định cách thức xây dựng
chương trình dựa trên các nền tảng, môi trường, công cụ đã nghiên cứu, đi đôi với việc
phân tích cơ sở dữ liệu đáp ứng yêu cầu đề tài. Từ những cơ sở đó tiến hành xây dựng
phần mềm hỗ trợ tự động từ việc tạo đề, trộn đề đến tổ chức làm bài thi, chấm điểm
thông qua hệ thống máy tính, dựa trên kết quả đó tiến hành đánh giá câu hỏi, đề thi, phân
tích kết quả góp phần xây dựng những câu hỏi, đề thi có tính tin cậy và tính giá trị cao.
Kết quả mà khóa luận đặt ra là xây dựng được phần mềm cho phép tổ chức thi
các môn học dưới hình thức trắc nghiệm trên máy tính một cách trực quan, với đề thi
được tạo từ ngân hàng câu hỏi, bảo đảm tính khách quan của đề thi bằng cách bóc ngẫu
nhiên các câu hỏi từ ngân hàng theo ma trận, tự động trộn câu hỏi, câu trả lời để tạo sự
khác biệt lớn giữa các đề thi. Hỗ trợ đánh giá câu hỏi, đề thi, phân tích kết quả thi từ đó
đưa ra kết luận về chất lượng câu hỏi nói riêng và chất lượng ngân hàng đề nói chung.
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý 10
PHẦN I. MỞ ĐẦU
1. Lý do chọn đề tài
Hiện nay thi trắc nghiệm là một hình thức thi rất phổ biến, nhờ vào đặc điểm luôn
có sự rõ ràng của đáp án, tính khách quan trong cách đánh giá kết quả của người học,
chính xác và thuận tiện cho cả người ra đề thi và người thi, hình thức thi này đã được áp
dụng ở hầu khắp hệ thống giáo dục trên thế giới.
Tại Việt Nam, trong những năm gần đây, song song với việc đổi mới phương
pháp dạy và học, việc đổi mới hình thức thi cử cũng trở thành một việc làm cấp thiết.
Trong các hình thức thi cử, trắc nghiệm khách quan là hình thức được nhiều người chú
ý nhất do những ưu điểm của nó trong việc kiểm tra, đánh giá trình độ người dự thi dựa
trên các tiêu chí khách quan, trung thực, kiểm tra được nhiều kiến thức. Do đó, trắc
nghiệm khách quan đang là khuynh hướng của hầu hết các kỳ thi.
Làm bài thi trắc nghiệm trên giấy hiện nay đang rất phổ biến, tuy nhiên lại không
thuận tiện trong các vấn đề như tổ chức thi (thời gian, không gian), in ấn, phân phối đề
thi, thu bài, chấm bài Hiện nay, các hệ thống thi trắc nghiệm trên máy tính đang phát
triển rất mạnh cùng với sự phát triển của cơ sở hạ tầng công nghệ thông tin. Có thể dự
đoán rằng trong tương lai không xa, các kì thi sẽ được tổ chức thi trực tuyến, đặc biệt là
với quy mô trong nhà trường.
Trắc nghiệm khách quan ngày càng được sử dụng rộng rãi do tính ưu việt của nó,
là sự lựa chọn cần thiết và đang được khuyến khích trong các kỳ thi, kiểm tra đánh giá.
Kết quả đánh giá mà câu trắc nghiệm mang lại trong những lần kiểm tra phụ thuộc rất
lớn vào chất lượng của những câu hỏi trong đề thi, cho nên việc đánh giá chất lượng câu
hỏi trắc nghiệm là việc làm cấp thiết và quan trọng bằng việc loại bỏ đi những câu khó
hay có độ phân biệt thấp và đánh giá độ tin cậy của toàn bài trắc nghiệm để tạo ra những
ngân hàng đề chất lượng hơn. Việc tiến hành đánh giá độ đo của câu hỏi trắc nghiệm,
bài thi trắc nghiệm thường được tiến hành sau các kì thi dựa vào kết quả làm bài của thí
sinh, thông qua đó rút ra được các kết luận về các câu hỏi trong ngân hàng đề.
Nhận thấy được tầm quan trọng và hữu ích của hình thức thi trắc nghiệm, đồng
thời muốn tạo ra một chương trình hỗ trợ thi trắc nghiệm có thể xử lý tự động từ khâu
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý 11
tạo đề, trộn đề đến việc tổ chức thi và trả kết quả, cũng như đánh giá chất lượng câu hỏi
trong ngân hàng, tôi đã lựa chọn đề tài Xây dựng phần mềm thi và đánh giá câu hỏi,
đề thi trắc nghiệm khách quan làm đề tài khóa luận tốt nghiệp của mình.
2. Mục tiêu nghiên cứu
Mục tiêu đặt ra là nghiên cứu tổng quan về lý thuyết trắc nghiệm khách quan và
các phương pháp đánh giá câu hỏi, đề thi trắc nghiệm, cùng với việc tìm hiểu, khảo sát
những hệ thống thi trắc nghiệm khác để thực hiện xây dựng hệ thống thi trắc nghiệm
với đề thi được lấy từ phần mềm hỗ trợ quy trình soạn thảo đề thi trắc nghiệm khách
quan đã có, hỗ trợ đánh giá câu hỏi trắc nghiệm để nâng cao chất lượng câu hỏi trắc
nghiệm trong ngân hàng. Nghiên cứu các công cụ, nền tảng lập trình được sử dụng để
xây dựng hệ thống: ADO.NET, C#, MS SQLServer2008, T-SQL, DevExpress. Cài đặt
triển khai hệ thống qua mạng, kiểm lỗi và hoàn thiện các tính năng theo yêu cầu của đề
tài đặt ra.
3. Đối tượng, phạm vi nghiên cứu
Đối tượng nghiên cứu: các dạng câu hỏi trắc nghiệm theo chuẩn IMS, các công
thức dùng để tính độ khó, độ phân cách hay các độ đo khác của câu hỏi trắc nghiệm, độ
tin cậy của bài thi trắc nghiệm. Quy trình tạo đề, trộn đề và làm bài thi trên hệ thống.
Phạm vi nghiên cứu: quy trình tạo đề, trộn đề, làm bài thi và các tiêu chí đánh giá
câu hỏi trắc nghiệm, đề thi trắc nghiệm, thống kê kết quả sau kỳ thi, hỗ trợ công việc
chấm bài, thống kê kết quả bài làm và thống kê độ đo câu hỏi.
Thời gian: từ 10/02/2014 đến 17/05/2014.
4. Phương pháp nghiên cứu
* Phương pháp nghiên cứu lý thuyết:
Phương pháp quan sát: trực tiếp quan sát và sử dụng thử một số phần mềm thi
trắc nghiệm hiện hành, để phân tích ưu nhược điểm, các quy trình cơ bản đối với phần
mềm thi trắc nghiệm khách quan.
Phương pháp thu thập tài liệu: thông qua quá trình thu thập tài liệu từ các nguồn
như sách báo, mạng internet, tổng hợp các tài liệu, nghiên cứu tài liệu, ngôn ngữ và công
nghệ liên quan.
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý 12
Phương pháp phân tích, thiết kế hệ thống: Dựa trên những thông tin thu được để
tiền hành phân tích, thiết kế hệ thống bao gồm những chức năng chính của phần mềm
sẽ xây dựng thông qua quá trình mô hình hóa hệ thống, chuẩn hóa cơ sở dữ liệu một
cách phù hợp.
* Phương pháp nghiên cứu thực nghiệm:
Phân tích yêu cầu thực tế và xây dựng các bước phân tích hệ thống để hỗ trợ lập
trình, xây dựng ứng dụng. Đánh giá kết quả đạt được, triển khai, bảo trì.
5. Nội dung của khóa luận
Ngoài phần Mở đầu và Kết luận, khóa luận gồm 3 chương với kết cấu như sau:
Chương I: Cơ sở lý luận về trắc nghiệm khách quan – Trình bày tổng quan lý
thuyết trắc nghiệm và các phương pháp đánh giá độ đo của câu hỏi, đề thi trắc nghiệm.
Chương II: Phương pháp luận xây dựng phần mềm thi, đánh giá câu hỏi, đề
thi trắc nghiệm khách quan – Giới thiệu ngôn ngữ, các công cụ, nền tảng, môi trường
để xây dựng phần mềm.
Chương III: Phân tích, thiết kế và xây dựng phần mềm thi và đánh giá câu
hỏi, đề thi trắc nghiệm khách quan – Đây là nội dung chính của khóa luận. Chương
này trình bày tất cả các giai đoạn đi từ khảo sát phần mềm, mô phỏng hệ thống, phân
tích hệ thống thông tin, thiết kế cơ sở dữ liệu, xây dựng thuật toán, thiết kế giao diện
đến lập trình ra chương trình.
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý 13
PHẦN II. NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU
CHƯƠNG 1. CƠ SỞ LÝ LUẬN VỀ TRẮC NGHIỆM KHÁCH QUAN
Nội dung của chương này tập trung nghiên cứu tổng quan về lý thuyết trắc
nghiệm khách quan, các dạng câu hỏi trắc nghiệm khách quan và các tiêu chí cũng như
cách thức để đánh giá chất lượng của câu hỏi và đề thi trắc nghiệm khách quan. Trên cơ
sở lý thuyết đó, khóa luận khảo sát và đưa ra một số nhận xét, đánh giá cho phần mềm
trắc nghiệm hiện nay.
1.1. Tổng quan về trắc nghiệm khách quan
1.1.1. Tự luận và trắc nghiệm khách quan
Tự luận và trắc nghiệm khách quan đều là những phương tiện kiểm tra khả
năng học tập, và cả hai đều là trắc nghiệm. Các bài kiểm tra thuộc loại tự luận mà xưa
nay vốn quen thuộc với chúng ta cũng là những bài trắc nghiệm nhằm khảo sát khả năng
của học sinh về các môn học. Các chuyên gia đo lường gọi chung các hình thức kiểm
tra này là “trắc nghiệm tự luận” (essay-type-test) để phân biệt với loại trắc nghiệm gọi
là “trắc nghiệm khách quan” (objective test). Thật ra, việc dùng từ “khách quan” này để
phân biệt hai loại kiểm tra nói trên cũng không đúng hẳn, vì trắc nghiệm tự luận không
nhất thiết là trắc nghiệm “chủ quan” và trắc nghiệm khách quan không phải là hoàn toàn
“khách quan”. Tại Việt Nam, các tài liệu thường ghi là “trắc nghiệm khách quan”, không
phải hiểu theo nghĩa đối lập với một đo lường chủ quan nào, mà nên hiểu là hình thức
kiểm tra này có tính khách quan cao hơn cách kiểm tra, đánh giá bằng tự luận chẳng hạn.
Để thuận tiện trong cách gọi, nên trong nội dung của khóa luận này từ “tự luận”
sẽ được dùng thay cho trắc nghiệm tự luận và từ “trắc nghiệm” thay cho trắc nghiệm
khách quan. Bảng so sánh dưới đây chúng ta sẽ có một cái nhìn rõ ràng hơn giữa tự luận
và trắc nghiệm.
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý 14
Bảng 1.1 So sánh giữa tự luận và trắc nghiệm
Tự luận Trắc nghiệm
Một câu hỏi thuộc loại tự luận đòi hỏi thí
sinh phải tự mình soạn câu trả lời và diễn
tả câu trả lời bằng ngôn ngữ của mình
Một câu hỏi trắc nghiệm buộc thí sinh
phải lựa chọn câu trả lời đúng nhất trong
một số câu đã cho sẵn
Một bài tự luận gồm số câu hỏi tương đối
ít và có tính cách tổng quát, đòi hỏi thí
sinh phải triển khai câu trả lời bằng lời lẽ
dài dòng
Một bài trắc nghiệm thường gồm nhiều
câu hỏi có tính cách chuyên biệt chỉ đòi
hỏi những câu trả lời ngắn gọn
Trong khi làm một bài tự luận, thí sinh
phải bỏ ra phần lớn thời gian để suy nghĩ
và viết
Trong khi làm một bài trắc nghiệm, thí
sinh dùng nhiều thời gian để đọc và suy
nghĩ
Chất lượng của một bài tự luận tùy thuộc
chủ yếu vào kỹ năng của người chấm bài
Chất lượng của một bài trắc nghiệm được
xác định một phần lớn do kỹ năng của
người soạn thảo bài trắc nghiệm
Một bài thi theo lối tự luận tương đối dễ
soạn, nhưng khó chấm và khó cho điểm
chính xác
Một bài thi trắc nghiệm khó soạn, nhưng
việc chấm và cho điểm tương đối dễ dàng
và chính xác.
Thí sinh có nhiều tự do bộc lộ cá tính của
mình trong câu trả lời, và người chấm bài
cũng có tự do cho điểm các câu trả lời
theo xu hướng riêng của mình
Người soạn thảo trắc nghiệm có nhiều tự
do bộc lộ kiến thức và các giá trị của mình
qua việc đặt các câu hỏi, nhưng chỉ cho
thí sinh quyền tự do chứng tỏ mức độ hiểu
biết của mình qua tỉ lệ câu trả lời đúng
Trong các câu hỏi tự luận, nhiệm vụ học
tập của người học và trên cơ sở đó giám
khảo thẩm định mức độ hoàn thành nhiệm
vụ ấy không được phát biểu một cách rõ
ràng
Trong các câu hỏi trắc nghiệm, nhiệm vụ
học tập của người học và trên cơ sở đó
giám khảo thẩm định mức độ hoàn thành
các nhiệm vụ ấy được phát biểu một cách
rõ ràng.
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý 15
Một bài tự luận cho phép và đôi khi
khuyến khích sự “lừa phỉnh” (chẳng hạn
như bằng những ngôn từ hoa mỹ hay bằng
cách đưa ra những bằng chứng khó có thể
xác định được)
Một bài trắc nghiệm cho phép và đôi khi
khuyến khích sự phỏng đoán.
Sự phân bố điểm số của một bài thi tự luận
có thể được kiểm soát một phần lớn do
người chấm
Phân bố điểm số của thí sinh hầu như
hoàn toàn được quyết định do bài trắc
nghiệm.
Tuy nhiên tự luận hay trắc nghiệm chung quy vẫn là những phương pháp kiểm
tra kết quả học tập cho nên chúng vẫn có những điểm chung sau:
Thứ nhất, trắc nghiệm hay tự luận đều có thể đo lường hầu hết mọi thành quả học
tập quan trọng mà một bài khảo sát bằng lối viết có thể khảo sát được.
Thứ hai, trắc nghiệm và tự luận có thể được sử dụng để khuyến khích học sinh
học tập nhằm đạt đến các mục tiêu: hiểu biết các nguyên lý, tổ chức và phối hợp các ý
tưởng, ứng dụng kiến thức giải quyết các vấn đề.
Thứ ba, trắc nghiệm và tự luận đòi hỏi sự vận dụng ít nhiều phán đoán chủ quan.
Thứ tư, giá trị cả hai loại trắc nghiệm và tự luận tùy thuộc vào tính khách quan
và đáng tin cậy của chúng.
1.1.2. Những trường hợp dùng trắc nghiệm
Chúng ta nên sử dụng trắc nghiệm để khảo sát thành quả học tập trong những
trường hợp sau:
- Khi ta cần khảo sát thành quả học tập của một số đông học sinh, hay muốn rằng
bài khảo sát ấy có thể được sử dụng lại vào một lúc khác.
- Khi ta muốn có những điểm số đáng tin cậy, không phụ thuộc vào chủ quan của
người chấm bài.
- Khi các yếu tố công bằng, vô tư, chính xác được coi là những yếu tố quan trọng
nhất của việc thi cử.
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý 16
- Khi ta có nhiều câu trắc nghiệm tốt đã được dữ trữ sẵn để có thể lựa chọn và
cấu trúc lại một bài thi trắc nghiệm mới. Đặc biệt là muốn chấm nhanh và công bố kết
quả sớm.
- Khi muốn ngăn ngừa nạn học tủ, học vẹt, gian lận trong thi cử của thí sinh.
1.1.3. Quy trình xây dựng đề thi trắc nghiệm khách quan, ngân hàng câu hỏi
Để xây dựng một đề thi trắc nghiệm khách quan, cũng một ngân hàng câu hỏi
trắc nghiệm, phải thực hiện theo một quy trình tuần tự như sau:
Xác định mục tiêu cụ thể
Cá nhân tự viết câu hỏi
Trao đổi trong nhóm
Duyệt lại câu hỏi
Lập đề trắc nghiệm thử
Trắc nghiệm thử
Phân tích kết quả trắc nghiệm thử
Chỉnh lý các câu hỏi đưa vào ngân hàng
Lập đề trắc nghiệm chính thức
Tổ chức thi
Chấm thi và phân tích kết quả, đánh giá câu hỏi, đề thi
- Xác định mục tiêu cụ thể (bảng đặc trưng 2 chiều): bao gồm việc liệt kê các mục tiêu
cụ thể liên quan đến các năng lực cần đo lường và cây kiến thức đối với từng phần của
môn học. Sau đó tùy vào mục đích hay mức độ quan trọng mà quyết định số câu hỏi cho
phù hợp.
- Cá nhân tự viết câu hỏi: mỗi cá nhân thực hiện việc soạn câu hỏi thông qua bảng
“Nhiệm vụ”, tại đây mô tả đầy đủ thông tin vùng kiến thức cần soạn và số câu phải soạn.
- Trao đổi trong nhóm: câu hỏi sau khi được nhập vào ngân hàng sơ bộ sẽ được các cá
nhân (giáo viên) khác cùng trao đổi, thảo luận nhằm đảm bảo tính đúng đắn và phù hợp
của câu hỏi.
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý 17
- Duyệt lại câu hỏi: duyệt câu hỏi là căn cứ để hệ thống tự động hoặc quản lý hệ thống
thực hiện chuyển câu hỏi vào ngân hàng chính thức.
- Lập đề trắc nghiệm thử: thực hiện việc tạo đề một cách ngẫu nhiên theo ma trận từ
ngân hàng sơ bộ.
- Trắc nghiệm thử: sau khi lập đề trắc nghiệm thử sẽ cho tiến hành thi thử, lấy kết quả
làm căn cứ cho việc đánh giá câu hỏi, đánh giá đề thi.
- Phân tích kết quả trắc nghiệm thử: phân tích độ khó, độ phân cách của câu hỏi, độ
tin cậy của đề thi.
- Chỉnh lý các câu hỏi đưa vào ngân hàng: câu hỏi sau khi soạn nếu chưa được công
khai duyệt sẽ được chính cá nhân soạn chỉnh lý hoặc dựa vào kết quả đánh giá câu hỏi
để chỉnh sửa cho phù hợp.
- Lập đề trắc nghiệm chính thức: tạo đề thi chính thức với câu hỏi được lấy từ ngân
hàng chính thức.
- Tổ chức thi
- Chấm thi và phân tích kết quả, đánh giá câu hỏi, đề thi: thực hiện chấm bài thi và trả
kết quả cho thí sinh, phân tích kết quả bài làm, và thực hiện đánh giá các độ đo câu hỏi,
đề thi.
Trong khóa luận này sẽ nghiên cứu 3 nội dung Lập đề trắc nghiệm chính thức,
Tổ chức thi và Chấm thi, phân tích kết quả, đánh giá câu hỏi, đề thi trong quy trình trên.
1.2. Một số dạng câu hỏi trắc nghiệm khách quan t...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ững mục
đích này được được tóm tắt như sau:
C# là ngôn ngữ đơn giản
C# là ngôn ngữ hiện đại
C# là ngôn ngữ hướng đối tượng
C# là ngôn ngữ mạnh mẽ và mềm dẻo
C# là ngôn ngữ có ít từ khóa
ữ hướng module
C# sẽ trở nên phổ biến
C# là ngôn ngữ đơn giản
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 (virtual
base class). 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++.
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý 38
Ngôn ngữ C# đơn giản vì nó dựa trên nền tảng C và C++. Nếu chúng ta thân thiện
với C và C++ hoặc thậm chí là Java, chúng ta sẽ thấy C# khá giống về diện mạo, cú
pháp, biểu thức, toán tử và những chức năng khác được lấy trực tiếp từ ngôn ngữ C và
C++, nhưng nó đã được cải tiến để làm cho ngôn ngữ đơn giản hơn. Một vài trong các
sự cải tiến là loại bỏ các dư thừa, hay là thêm vào những cú pháp thay đổi.
C# là 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ữ hướng đối tượng
Những đặc điểm chính của ngôn ngữ hướng đối tượng (Object-oriented language)
là sự đóng gói (encapsulation), sự kế thừa (inheritance), và đa hình (polymorphism). C#
hỗ trợ tất cả những đặc tính trên.
C# là ngôn ngữ mạnh mẽ và cũng mềm dẻo
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 các dự án khác nhau như là 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í những trình biên dịch cho các ngôn ngữ
khác.
C# là ngôn ngữ ít từ khóa
C# là ngôn ngữ sử dụng giới hạn những từ khóa (chỉ khoảng 80 từ khóa và mười
mấy kiểu dữ liệu được dựng sẵn). 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. Điều này
không phải sự thật, ít nhất là trong trường hợp ngôn ngữ C#, chúng ta có thể tìm thấy
rằng ngôn ngữ này 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 được gọi là những lớp, những
lớp này chứa các phương thức thành viên của nó. Những lớp và những phương thức có
thể được sử dụng lại trong ứng dụng hay các chương trình khác. Bằng cách truyền các
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý 39
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ả.
C# sẽ là một ngôn ngữ phổ biến
Ngôn ngữ này có một số lý do để trở thành một ngôn ngữ phổ biến. Một trong
những lý do chính là Microsoft và sự cam kết của .NET. Microsoft muốn ngôn ngữ C#
trở nên phổ biến, nó được sử dụng bởi Microsoft. Nhiều sản phẩm của công ty này đã
chuyển đổi và viết lại bằng C#. Bằng cách sử dụng ngôn ngữ này Microsoft đã xác nhận
khả năng của C# cần thiết cho những người lập trình.
Micorosoft .NET là một lý do khác để đem đến sự thành công của C#. .NET là
một sự thay đổi trong cách tạo và thực thi những ứng dụng. Ngoài hai lý do trên ngôn
ngữ C# cũng sẽ trở nên phổ biến do những đặc tính của ngôn ngữ này được đề cập trong
mục trước như: đơn giản, hướng đối tượng, mạnh mẽ...
2.2 Môi trường phát triển tích hợp Microsoft Visual Studio
Microsoft Visual Studio là môi trường phát triển tích hợp (Integrated
Development Environment - IDE) được phát triển từ Microsoft, là một loại phần mềm
máy tính có công dụng giúp đỡ các lập trình viên trong việc phát triển phần mềm, cung
cấp một môi trường phát triển hợp nhất nhiều ngôn ngữ.
Microsoft Visual Studio được dùng để phát triển console (thiết bị đầu cuối – bàn
giao tiếp người máy) và GUI (giao diện người dùng đồ họa) cùng với các trình ứng dụng
như Windows Forms, các web sites, cũng như ứng dụng, dịch vụ wed (web applications,
and web services). Chúng được phát triển dựa trên một mã ngôn ngữ gốc (native code )
cũng như mã được quản lý (managed code) cho các nền tảng được được hỗ trợ Microsoft
Windows, Windows Mobile, .NET Framework, .NET Compact Framework và
Microsoft Silverlight.
Visual Studio hỗ trợ rất nhiều ngôn ngữ lập trình, có thể kể tên như sau: C/C++
( Visual C++), VB.NET (Visual Basic .NET), và C# (Visual C#) cũng như hỗ trợ các
ngôn ngữ khác như F#, Python, và Ruby, ngoài ra còn hỗ trợ cả XML/XSLT,
HTML/XHTML, JavaScript và CSS
Microsoft Visual Studio có những chức năng cơ bản sau: soạn thảo mã (code
editor), trình gỡ lỗi (debugger), và thiết kế (designer) mà trong đó một số công cụ quan
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý 40
trọng của chức năng Designer được xem là một trong những điểm nhấn của Microsoft
Visual Studio.
- WinForms Designer: đây là công cụ tạo giao diện đồ họa dùng WinForms.
Điểm đặc biệt ở đây là giao diện với người dùng sinh động, dễ nắm bắt. Nó bao gồm
các phím bấm, thanh tác vụ, hay các box đa dạng (textbox, list box, grid view). Người
lập trình có thể di chuyển, kéo ra, nhúng thả chúng một cách dễ dàng.
- WPF Designer: WPF Designer còn có tên mã là Cider, được hỗ trợ trong Visual
Studio 2008. Nó tạo các mã XAML cho giao diện người sử dụng (UI), mã này tích hợp
với trình ứng dụng Microsoft Expression Design.
- Web designer: Visual Studio cũng hỗ trợ công cụ thiết kế trang web, trong đó
cho phép các công cụ thiết kế trang web được kéo, thả, rê, nhúng một cách dễ dàng
Công cụ này dùng để phát triển trình ứng dụng ASP.NET và hỗ trợ HTML, CSS and
JavaScript.
- Class designer: Đây là công cụ dùng để thực thi và chỉnh sửa lớp. Nó có thể
dùng mã C# và VB.NET
- Data designer: Đây là công cụ dùng để chỉnh sửa một cách sinh động, linh hoạt
các lược đồ dữ liệu, bao gồm nhiều loại lược đồ, liên kết trong và ngoài
- Mapping designer: Đây là công cụ tạo các mối liên hệ giữa sơ đồ dữ liệu và
các lớp để quản lý dữ liệu một cách hiệu quả hơn.
2.3 Tổng quan về kiến trúc ADO.NET
2.3.1 Giới thiệu
ADO.NET (ActiveX Data Object for .NET Framework) là một công nghệ truy
cập cơ sở dữ liệu được phát triển với Microsoft, có thể truy cập bất cứ loại nguồn dữ
liệu (datasource) nào. Đây là một tập hợp những lớp hướng đối tượng, cung cấp một tập
hợp phong phú các cấu kiện dữ liệu (data component) cho phép tạo ra những ứng dụng
cơ sở dữ liệu có hiệu năng cao, mức độ tin dùng tốt và có thể dễ dàng tăng quy mô theo
thời gian trong một môi trường ứng dụng client-server cũng như môi trường phân tán
(distributed) trên Internet/Intranet.
Trên một mô hình ADO.NET, các ứng dụng sẽ kết nối về nguồn dữ liệu khi đọc
hoặc khi cập nhật dữ liệu. Sau đó thì đóng kết nối lại, điều này rất quan trọng vì trong
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý 41
các ứng dụng client-server hoặc phân tán, việc để mở các kết nối liên tục làm tiêu tốn
tài nguyên. Chính vì vậy, chúng ta không nhất thiết phải kết nối về cơ sở dữ liệu liên tục
khi không cần đến.
ADO.NET sử dụng các câu lệnh truy cấn (query) SQL cũng như các thủ tục
thường trú (stored procedures – là một nhóm câu lệnh T-SQL đã được biên dịch, được
lưu trữ trong máy CSDL và được xử lý như một đơn vị tính toán độc lập khi được gọi
đến thông qua tên thủ tục) để đọc, thêm, cập nhật, xóa dữ liệu khỏi một CSDL. Dùng
các SQL Query thông qua đối tượng Command của ADO.NET, đối tượng này sẽ trả về
dữ liệu dưới dạng DataSet hoặc DataReader. Sau khi đóng kết nối, chúng ta sẽ dùng các
đối tượng DataSet để làm việc với dữ liệu và sẽ kết nối lại khi cần cập nhật dữ liệu.
Một DataSet là một tập các đối tượng DataTable kèm theo những mối liên hệ
giữa các đối tượng này. .NET Framework cung cấp ba loại Data Provider: Sql, OleDb
và ODBC. Thông qua một đối tượng DataAdapter của một data provider gọi hàm Fill
để điền dữ liệu cho một DataSet.
XML sẽ giữ một vai trò chủ yếu trong ADO.NET. Mô hình ADO.NET sẽ sử
dụng XML để lưu trữ dữ liệu trên cache và chuyển giao dữ liệu giữa các ứng dụng. Các
DataSet sẽ sử dụng XML schema (lược đồ) để lưu trữ và chuyển giao dữ liệu giữa các
ứng dụng. Chúng ta có thể dùng dữ liệu giữa tất cả các loại ứng dụng vì XML là một
chuẩn công nghệ hay còn có thể chuyển dữ liệu thông qua nhiều nghi thức khác nhau
chẳng hạn HTTP, vì bản chất XML sử dụng đến văn bản.
2.3.2 Các ưu điểm của ADO.NET
ADO.NET mang lại nhiều ưu điểm so với những công nghệ truy cập dữ liệu trước
đó của Microsoft, kể cả ADO.
* API (Application Programming Interface) hướng đối tượng duy nhất
Có nhiều cách để truy cập dữ liệu từ cơ sở dữ liệu, mỗi cách đều có các ưu điểm
và khuyết điểm. Đôi lúc, các nhà triển khai ứng dụng không biết nên chọn sử dụng công
nghệ truy cập dữ liệu nào và việc triển khai những kỹ thuật này trên các máy client là
một vấn đề lớn vì những lỗi do DLL gây ra. ADO.NET cung cấp một tập hợp duy nhất
các lớp hướng đối tượng. Có những data provider khác nhau làm việc với những cơ sở
dữ liệu khác nhau, nhưng mô hình lập trình đối với tất cả các các data provider này đều
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý 42
làm việc giống nhau. Do đó, trên .NET một khi người lập trình đã biết làm việc với một
data provider nào đó, thì cũng có thể dễ dàng làm việc với các data provider khác, chỉ
là vấn đề thay đổi tên lớp và chuỗi kết nối.
* Managed Code
Các lớp của ADO.NET đều thuộc managed class (lớp bị quản lý bởi CLR). Các
lớp này hưởng những ưu điểm của .NET CLR (Common Language Runtime), chẳng
hạn thuộc tính độc lập của ngôn ngữ cũng như quản lý tự động các tài nguyên. Tất cả
các ngôn ngữ .NET đều truy cập cùng một API. Do đó, nếu người lập trình đã biết sử
dụng các lớp này trên C# thì cũng không gặp vấn đề gì khi sử dụng lớp đó trên VB.NET.
Một ưu điểm khác rất lớn là tất cả mọi việc quản lý bộ nhớ sẽ do CLR lo liệu thông qua
dịch vụ GC (garbage collector), chính vì vậy người lập trình khỏi phải bận tâm về việc
cấp phát cũng như giải phóng bộ nhớ bị chiếm dụng.
* Triển khai ứng dụng
Trong thực tế, việc viết những ứng dụng cơ sở dữ liệu sử dụng ODBC, DAO và
các công nghệ khác đi trước, rồi cho triển khai lên các máy client là một vấn đề cực kỳ
khó khăn vì OBDC, DAO có quá nhiều phiên bản. Tuy nhiên, vấn đề này đã được ADO
giải quyết ngoại trừ việc có những phiên bản khác nhau về MDAC (Microsoft Data
Access Components). Bây giờ, với ADO.NET việc cài đặt trong môi trường phân tán,
các thành phần .NET sẽ lo mọi việc.
* Hỗ trợ của XML
Ngày nay, XML là một chuẩn mực công nghệ và là một phương pháp được sử
dụng nhiều nhất trong việc chia sẻ sử dụng dữ liệu giữa các ứng dụng chạy trên Internet.
Trên ADO.NET dữ liệu sẽ được lưu trữ trên bộ nhớ cache và được chuyển giao theo
dạng XML. Tất cả các ứng dụng có thể chia sẻ sử dụng kiểu dữ liệu này, và chuyển giao
dữ liệu thông qua những giao thức khác nhau chẳng hạn là HTTP.
* Hiệu năng và khả năng tăng quy mô ứng dụng (scalability)
Performance và scalability là hai yếu tố quan trọng khi triển khai những ứng dụng
và dịch vụ dựa trên web. Chuyển đổi dữ liệu trên Internet từ một dữ liệu nguồn này đến
một nguồn dữ liệu khác là một việc tốn kém vì băng thông kết nối (connection
bandwidth) giới hạn và như thế tăng nhanh việc lưu thông trên mạng. Bằng cách sử dụng
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý 43
dữ liệu tách rời được lưu trữ trên bộ nhớ (disconnected cached data) trên XML, ta giải
quyết cả hai vấn đề trên.
Hình 2.1 Kiến trúc ADO.NET
(Nguồn: www.msdn.microsoft.com)
2.4 Tổng quan về hệ quản trị CSDL MS SQLServer và ngôn ngữ T-SQL
- Hệ quản trị cơ sở dữ liệu (Database Management System - DBMS): là một hệ
thống phần mềm cho phép tạo lập cơ sở dữ liệu và điều khiển mọi truy nhập đối với cơ
sở dữ liệu đó.
- Hệ quản trị cơ sở dữ liệu quan hệ (Relation Database Management
System - RDBMS) là một hệ quản trị cơ sở dữ liệu theo mô hình quan hệ.
2.4.1 Giới thiệu hệ quản trị CSDL Microsoft SQL Server
Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ, cung cấp cách
tổ chức dữ liệu bằng cách lưu chúng vào các bảng. Dữ liệu quan hệ được lưu trữ trong
các bảng và các quan hệ đó được định nghĩa giữa các bảng với nhau. 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
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý 44
cập dữ liệu đồng thời. Các phiên bản của SQL Server phổ biến hiện này trên thị trường
là SQL Server 2005, SQL Server 2008, SQL Server 2012.
* Các đặc tính của SQL Server:
- Cho phép quản trị một hệ CSDL lớn (lên đến vài tegabyte), có tốc độ xử lý dữ
liệu nhanh đáp ứng yêu cầu về thời gian.
- Cho phép nhiều người cùng khai thác trong một thời điểm đối với một CSDL
và toàn bộ quản trị CSDL (lên đến vài chục ngàn user).
- Có hệ thống phân quyền bảo mật tương thích với hệ thống bảo mật của công
nghệ NT (Network Technology), tích hợp với hệ thống bảo mật của Windows NT hoặc
sử dụng hệ thống bảo vệ độc lập của SQL Server.
- Hỗ trợ trong việc triển khai CSDL phân tán và phát triển ứng dụng trên Internet.
- Cho phép lập trình kết nối với nhiều ngôn ngữ lập trình khác dùng xây dựng các
ứng dụng đặc thù (Visual Basic, C, C++, ASP...).
- Sử dụng câu lệnh truy vấn dữ liệu Transaction – SQL.
* Các Database hệ thống
Khi cài đặt SQL Server có 4 database hệ thống được cài đặt, đó là:
- master: Ghi nhận thông tin cấp hệ thống, thông tin khởi tạo SQL Server và thiết
lập cấu hình SQL Server. Database này cũng ghi nhận tất cả các tài khoản đăng nhập,
sự tồn tại của các Database khác, vị trí tập tin chính cho tất cả Database người dùng.
- tempdb: Giữ các bảng tạm, các stored procedure tạm,.v.v... Được dùng cho các
nhu cầu lưu trữ tạm của SQL Server.
- model: là khuôn mẫu cho tất cả các CSDL khác được tạo trên hệ thống kể cả
tempdb. Database model phải được tồn tại trên hệ thống, bởi vì nó được dùng để
tạo lại tempdb mỗi khi SQL server được khởi động.
- msdb: Giữ các bảng mà SQL Server Agent dùng để lập thời gian biểu thực thi
các công việc, các cảnh báo và các operator.
Trong khóa luận này, tác giả lựa chọn hệ quản trị cơ sở dữ liệu MS SQLServer
phiên bản 2008 R2 để phục vụ cho việc lưu trữ và xử lý dữ liệu của mình.
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý 45
Hình 2.2 Hệ quản trị CSDL MSSSQL Server 2008 R2
(Nguồn: www. geekswithblogs.net)
2.4.2 Giới thiệu ngôn ngữ T-SQL (Transact-SQL)
T-SQL là ngôn ngữ SQL mở rộng dựa trên SQL chuẩn của ISO (International
Organization for Standardization) và ANSI (American National Standards Institute)
được sử dụng trong SQL Server khác với P-SQL (Procedural-SQL) dùng trong Oracle.
SQL, viết tắt của Structured Query Language (ngôn ngữ hỏi có cấu trúc),
là công cụ sử dụng để tổ chức, quản lý và truy xuất dữ liệu đuợc lưu trữ trong các cơ sở
dữ liệu. SQL là một hệ thống ngôn ngữ bao gồm tập các câu lệnh sử dụng để tương tác
với cơ sở dữ liệu quan hệ.
Tên gọi ngôn ngữ hỏi có cấu trúc phần nào làm chúng ta liên tưởng đến một
công cụ (ngôn ngữ) dùng để truy xuất dữ liệu trong các cơ sở dữ liệu. Thực sự mà nói,
khả năng của SQL vượt xa so với một công cụ truy xuất dữ liệu, mặc dù đây là mục đích
ban đầu khi SQL được xây dựng nên và truy xuất dữ liệu vẫn còn là một trong những
chức năng quan trọng của nó. SQL được sử dụng để điều khiển tất cả các chức năng mà
một hệ quản trị cơ sở dữ liệu cung cấp cho người dùng bao gồm:
- Định nghĩa dữ liệu: SQL cung cấp khả năng định nghĩa các cơ sở dữ liệu, các
cấu trúc lưu trữ và tổ chức dữ liệu cũng như mối quan hệ giữa các thành phần dữ liệu.
- Truy xuất và thao tác dữ liệu: Với SQL, người dùng có thể dễ dàng thực hiện
các thao tác truy xuất, bổ sung, cập nhật và loại bỏ dữ liệu trong các cơ sở dữ liệu.
- Điều khiển truy cập: SQL có thể được sử dụng để cấp phát và kiểm soát các
thao tác của người sử dụng trên dữ liệu, đảm bảo sự an toàn cho cơ sở dữ liệu.
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý 46
- Đảm bảo toàn vẹn dữ liệu: SQL định nghĩa các ràng buộc toàn vẹn trong cơ sở
dữ liệu nhờ đó đảm bảo tính hợp lệ và chính xác của dữ liệu trước các thao tác cập nhật
cũng như các lỗi của hệ thống.
Như vậy, có thể nói rằng SQL là một ngôn ngữ hoàn thiện được sử dụng trong
các hệ thống cơ sở dữ liệu và là một thành phần không thể thiếu trong các hệ quản trị cơ
sở dữ liệu. Mặc dù SQL không phải là một ngôn ngữ lập trình như C, C++, Java,... song
các câu lệnh mà SQL cung cấp có thể được nhúng vào trong các ngôn ngữ lập trình
nhằm xây dựng các ứng dụng tương tác với cơ sở dữ liệu. Khác với các ngôn ngữ lập
trình quen thuộc như C, C++, Java,... SQL là ngôn ngữ có tính khai báo. Với SQL, người
dùng chỉ cần mô tả các yêu cầu cần phải thực hiện trên cơ sở dữ liệu mà không cần phải
chỉ ra cách thức thực hiện các yêu cầu như thế nào. Chính vì vậy, SQL là ngôn ngữ dễ
tiếp cận và dễ sử dụng.
* Vai trò của SQL
Bản thân SQL không phải là một hệ quản trị cơ sở dữ liệu, nó không thể tồn tại
độc lập. SQL thực sự là một phần của hệ quản trị cơ sở dữ liệu, nó xuất hiện trong các
hệ quản trị cơ sở dữ liệu với vai trò ngôn ngữ và là công cụ giao tiếp giữa người sử dụng
và hệ quản trị cơ sở dữ liệu.
Trong hầu hết các hệ quản trị cơ sở dữ liệu quan hệ, SQL có những vai trò như sau:
- SQL là ngôn ngữ hỏi có tính tương tác: Người sử dụng có thể dễ dàng thông
qua các trình tiện ích để gởi các yêu cầu dưới dạng các câu lệnh SQL đến cơ sở dữ liệu
và nhận kết quả trả về từ cơ sở dữ liệu
- SQL là ngôn ngữ lập trình cơ sở dữ liệu: Các lập trình viên có thể nhúng các
câu lệnh SQL vào trong các ngôn ngữ lập trình để xây dựng nên các chương trình ứng
dụng giao tiếp với cơ sở dữ liệu
- SQL là ngôn ngữ quản trị cơ sở dữ liệu: Thông qua SQL, người quản trị cơ sở
dữ liệu có thể quản lý được cơ sở dữ liệu, định nghĩa các cấu trúc lưu trữ dữ liệu, điều
khiển truy cập cơ sở dữ liệu,...
- SQL là ngôn ngữ cho các hệ thống khách/chủ (client/server): Trong các hệ
thống cơ sở dữ liệu khách/chủ, SQL được sử dụng như là công cụ để giao tiếp giữa các
trình ứng dụng phía máy khách với máy chủ cơ sở dữ liệu.
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý 47
- SQL là ngôn ngữ truy cập dữ liệu trên Internet: Cho đến nay, hầu hết các máy
chủ Web cũng như các máy chủ trên Internet sử dụng SQL với vai trò là ngôn ngữ để
tương tác với dữ liệu trong các cơ sở dữ liệu.
- SQL là ngôn ngữ cơ sở dữ liệu phân tán: Đối với các hệ quản trị cơ sở dữ liệu
phân tán, mỗi một hệ thống sử dụng SQL để giao tiếp với các hệ thống khác trên mạng,
gởi và nhận các yêu cầu truy xuất dữ liệu với nhau.
- SQL là ngôn ngữ sử dụng cho các cổng giao tiếp cơ sở dữ liệu: Trong một hệ
thống mạng máy tính với nhiều hệ quản trị cơ sở dữ liệu khác nhau, SQL thường được
sử dụng như là một chuẩn ngôn ngữ để giao tiếp giữa các hệ quản trị cơ sở dữ liệu.
Hình 2.3 Mối liên hệ giữa SQLServer và C#
(Nguồn: www.data-miners.com)
2.5. Các sơ đồ phân tích hệ thống
Phân tích hệ thống nhằm xác định một cách chính xác và cụ thể các chức năng
chính của hệ thống thông tin. Trong giai đoạn này cần phải xác định rõ ràng những gì
mà hệ thống cần phải thực hiện mà chưa quan tâm đến phương pháp thực hiện chức
năng đó. Như vậy việc phân tích phải đề cập đến những mô tả cơ sở. Để tiến hành phân
tích hệ thống ta sẽ xây dựng các sơ đồ sau:
- Sơ đồ Use-case: Use-case được dùng trong kỹ thuật phần mềm và hệ thống để
nắm bắt yêu cầu chức năng của hệ thống. Use case mô tả sự tương tác đặc trưng giữa
người dùng bên ngoài (actor) và hệ thống. Nó thể hiện ứng xử của hệ thống đối với bên
ngoài, trong một hoàn cảnh nhất định, xét từ quan điểm của người sử dụng. Nó mô tả
các yêu cầu đối với hệ thống, có nghĩa là những gì hệ thống phải làm chứ không phải
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý 48
mô tả hệ thống làm như thế nào?. Tập hợp tất cả Use case của hệ thống sẽ mô tả tất cả
các trường hợp mà hệ thống có thể được sử dụng.
- Sơ đồ phân rã chức năng (BFD – Business Function Diagram): xác địch
chức năng của nghiệp vụ là bước đầu tiên của việc phân tích hệ thống. Để phân tích yêu
cầu thông tin của tổ chức ta phải biết được tổ chức đó thực hiện những nhiệm vụ, chức
năng gì. Từ đó, tìm ra các dữ liệu, các thông tin được sử dụng và tạo ra trong các chức
năng. Đồng thời, cũng phải tìm ra những hạn chế mối ràng buộc đặt lên các chức năng
đó. Mô hình BFD là công cụ biểu diễn việc phân rã có thứ bậc đơn giản các công việc
cần thực hiện. Mỗi công việc được chia ra làm các công việc con, số mức chia ra phụ
thuộc kích cỡ và độ phức tạp của hệ thống.
- Sơ đồ ngữ cảnh (Context Diagram): là một dạng sơ đồ được dùng để hỗ trợ
cho quá trình xây dựng sơ đồ dòng dữ liệu. Thể hiện khái quát nội dung chính của hệ
thống thông tin. Sơ đồ chỉ bao gồm một xử lý chung nhất nêu bật chức năng của hệ
thống thông tin. Xung quanh là các thực thể ngoài, chỉ nguồn phát và đích nhận thông
tin cùng với các dòng thông tin đi vào và đi ra hệ thống thông tin.
Việc sử dụng sơ đồ ngữ cảnh nhằm làm rõ biên giới của hệ thống và hỗ trợ việc
nghiên cứu các mối quan hệ của hệ thống với thế giới bên ngoài, từ đó cũng có thể làm
rõ các hoạt động của hệ thống, các thông tin vào ra của hệ thống.
Sơ đồ ngữ cảnh bao gồm 3 nhóm thành phần:
Thứ nhất, Thành phần chính nằm ở trung tâm của sơ đồ, biểu thị cho toàn bộ hệ
thống đang được nghiên cứu. Ký hiệu là hình tròn.
Thứ hai, Xung quanh vòng tròn trung tâm này là tất cả các phần tử bên ngoài (tác
nhân ngoài) – đại diện cho một người hoặc một tổ chức bên ngoài lĩnh vực nghiên cứu
của hệ thống nhưng có một số hình thức tiếp xúc với hệ thống, có quan hệ với hệ thống.
Là nguồn gốc cung cấp thông tin cũng như là nơi nhận sản phẩm của hệ thống. Ký hiệu
là hình chữ nhật.
Thứ ba, tất cả các đường truyền thông tin vào và ra khỏi hệ thống, nối hệ thống
với các tác nhân ngoài của nó).
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý 49
- Sơ đồ mô hình luồng dữ liệu (DFD – Data Flow Diagram): là một sơ đồ hình
học nhằm diễn tả các luồng tài liệu thông qua các chức năng của hệ thống, nhằm mục
đích bổ sung khiếm khuyết của mô hình phân rã chức năng bằng việc bổ sung các luồng
thông tin nghiệp vụ cần để thực hiện chức năng, cho ta cái nhìn đầy đủ hơn về các mặt
hoạt động của hệ thống và là một trong số các đầu vào cho quá trình thiết kế hệ thống.
Mô hình DFD là một công cụ mô tả mối quan hệ thông tin giữa các công việc.
Những hỗ trợ của DFD:
- Xác định yêu cầu của người dùng.
- Lập kế hoạch và minh hoạ những phương án cho phân tích viên và người
dùng xem xét.
- Trao đổi giữa những phân tích viên và người dùng trong hệ thống.
- Làm tài liệu đặc tả yêu cầu hình thức và đặc tả thiết kế hệ thống.
Sau khi có được sơ đồ chức năng BFD, tiếp theo ta cần xem xét chi tiết hơn về
thông tin cần cho việc thực hiện các chức năng đã nêu trong sơ đồ BFD trên. Công cụ
được sử dụng cho mục đích này là sơ luồng dữ liệu DFD. Ở sơ đồ này nêu ra một mô
hình về hệ thống có quan điểm cân xứng cho cả dữ liệu và chức năng. Nó chỉ ra cách
mà thông tin chuyển vận từ chức năng này của hệ thống qua chức năng khác của hệ
thống. Điều quan trọng nhất là nó chỉ ra phải có sẵn những thông tin nào cần phải có,
trước khi cho thực hiện một hàm hay một quá trình.
Các kí pháp trong sơ đồ DFD:
- Tiến trình (Proccess) hoặc chức năng: Có nhiệm vụ biến đổi thông tin. Kí
pháp là hình tròn hoặc hình chữ nhật có góc tròn có thể được đánh số. Số đó chỉ mức
phân rã của sơ đồ. Tên gọi là duy nhất và có dạng Động từ - Bổ ngữ.
- Ví dụ kí pháp xử lý và chức năng.
1.0
Chức năng
Tác nhân
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý 50
- Dòng dữ liệu (Data flow): Có nhiệm vụ biểu diễn việc chuyển dữ liệu trong hệ
thống, dữ liệu vào hoặc ra khỏi một xử lý hoặc chức năng. Kí pháp là mũi tên một đầu
hoặc hai đầu chỉ hướng thông tin. Tên gọi không cần phải duy nhất nhưng cần đặt khác
để tránh nhầm lẫn.
Ví dụ kí pháp dòng dữ liệu:
- Kho dữ liệu (Data store): là nơi chứa dữ liệu, là các bảng đã được xác định trong
quá trình phân tích thiết kế dữ liệu. Kí pháp là cặp đường song song chứa tên của thông
tin được cất giữ. Hoặc hình chữ nhật hở bên phải, bên trái có tên kho dữ liệu kí hiệu là
A1 ... Z1, A2 ... Z2, ... Dòng dữ liệu hướng về kho dữ liệu dùng để diễn tả hoạt động:
thêm, sửa hay xóa dữ liệu. Dòng dữ liệu rời kho dữ liệu diễn tả hoạt động đọc dữ liệu
trong kho.
Ví dụ kí pháp kho dữ liệu :
2.6. Thư viện công cụ thiết kế của DevExpress
Quá trình thiết kế giao diện ứng dụng có sự hỗ trợ của bộ công cụ DevExpress 13.1.8
Hình 2.4 DevExpress Framework
2.7. Kết luận
Ở chương này, khóa luận đã điểm qua môi trường, các công cụ, nền tảng, công
nghệ và phương pháp để xây dựng hệ thống. Những nội dung đó sẽ là hữu ích cho quá
trình phát triển ứng dụng sẽ được phân tích cụ thể ở chương 3.
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý 51
CHƯƠNG 3. PHÂN TÍCH, THIẾT KẾ, XÂY DỰNG PHẦN MỀM THI, ĐÁNH
GIÁ CÂU HỎI, ĐỀ THI TRẮC NGHIỆM KHÁCH QUAN
Từ những kiến thức tìm hiểu lý thuyết tổng qua về trắc nghiệm và môi trường,
công cụ, nền tảng để phân tích, xây dựng phần mềm. Nội dung chương 3 này sẽ đi sâu
vào phân tích thiết kế và tiến hành lập trình để xây dựng ra sản phẩm hoàn chỉnh.
3.1. Hệ thống hỗ trợ thi trắc nghiệm
Một hệ thống hỗ trợ thi trắc nghiệm bao gồm các yếu tố được thể hiện trong sơ
đồ use-case dưới đây:
Giáo viên
Bộ soạn thảo
Quản trị viên
Quản trị hệ thống
Ngân hàng
Trắc
nghiệm
Chương trình
thi trắc nghiệm
Công cụ đánh giá,
thống kê
Sinh viên
Bảng đánh
giá, thống
kê
Hình 3.1 Sơ đồ Use-case hệ thống hỗ trợ thi trắc nghiệm
Hệ thống này bao gồm các thành phần:
- Ngân hàng trắc nghiệm: bao gồm ngân hàng trắc nghiệm, ngân hàng bố cục
đề, ngân hàng đề trắc nghiệm của tất cả các môn học được phân theo từng bộ môn, từng
khoa.
- Chương trình Bộ soạn thảo đề thi trắc nghiệm: là chương trình giúp cho giáo
viên soạn thảo câu hỏi trắc nghiệm, soạn thảo bố cục đề và soạn thảo đề trắc nghiệm.
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý 52
- Chương trình Thống kê và Đánh giá trắc nghiệm: là chương trình dùng để
thống kê và đánh giá câu hỏi và đề thi trắc nghiệm. Dữ liệu tính toán được sẽ lưu theo
từng câu trắc nghiệm và từng đề trắc nghiệm giúp cho giáo viên sửa chữa hoặc giúp cho
“bộ” bóc đề chọn câu trắc nghiệm phù hợp.
- Chương trình Thi trắc nghiệm: đây là chương trình dành cho các thí sinh.
Chương trình này sẽ lấy đề thi từ ngân hàng đề theo ca thi, thí sinh sẽ làm bài ngay trong
chương trình. Sau khi xác nhận nộp bài, chương trình sẽ trả về kết quả của thí sinh.
- Quản trị hệ thống: đây là chương trình nhằm để quản lý toàn bộ hệ thống.
Người quản trị có thể phân quyền, bãi bỏ quyền, quản lý truy xuất ngân hàng trắc
nghiệm, cập nhật, duy tu ngân hàng trắc nghiệm,
Trong phạm vi của hệ thống này, khóa luận nghiên cứu 2 phần là Chương trình
thi trắc nghiệm và Công cụ đánh giá, thống kê. Sau đây, khóa luận sẽ trình bày quá trình
phân tích thiết kế và xây dựng các chức năng của chương trình.
3.2. Phân tích hệ thống
3.2.1. Sơ đồ phân rã chức năng (BFD – Business Function Diagram):
Dựa vào sơ đồ use-case hệ thống hỗ trợ thi trắc nghiệm cùng với việc nghiên cứu
các nghiệp vụ thì phần mềm thi, đánh giá câu hỏi, đề thi trắc nghiệm khách quan có các
chức năng chính là: Hệ thống, Tạo đề - trộn đề - phân mã đề, Thi trắc nghiệm, Đánh giá,
Thống kê. Dưới đây là sơ đồ chức năng thể hiện phần mềm được xây dựng với 5 chức
năng sau:
+ Quản lý hệ thống
+ Tạo đề, trộn đề, phân mã đề
+ Thi trắc nghiệm
+ Đánh giá
+ Thống kê
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý 53
Phần mềm thi, đánh giá đề thi, câu hỏi trắc nghiệm khách quan
Quản lý hệ thống Thi trắc nghiệm
Tạo đề, trộn đề,
phân mã đề
Đánh giá
Nhập danh sách
thí sinh
Thống kê
Làm bài thi
Chấm bài
Trả kết quả
Lưu bài làm
Chọn thông tin
môn thi
Tạo đề, trộn đề
Lưu đề cho ca
thi, ngày thi
Xem đề
Đánh giá
độ khó câu hỏi
Đánh giá
độ phân cách câu
hỏi
Đánh giá
độ tin cậy đề thi
Thống kê kết quả
thi
Thống kê độ đo
của câu hỏi
Đăng nhập
Đăng xuất
Tạo tài khoản
Hình 3.2 Sơ đồ chức năng BFD
3.2.2. Mô tả chức năng
a. Chức năng “Quản lý hệ thống”
- Chức năng quản lý hệ thống bao gồm các chức năng:
+ Đăng nhập
+ Đăng xuất
+ Nhập danh sách thí sinh
+ Tạo tài khoản
Quản lý hệ thống
Nhập danh sách
thí sinh
Đăng nhập Đăng xuất Tạo tài khoản
Hình 3.3 Chức năng quản lý hệ thống
Để sử dụng được hệ thống thì người dùng gồm người quản lý (giáo viên) và người
dự thi (sinh viên) phải đăng nhập vào hệ thống thông qua một tài khoản được phân quyền
Khóa luận tốt nghiệp
Sinh viên thực hiện: Đỗ Văn Quý 54
trước đối với người quản lý, và đăng nhập bằng mã sinh viên đối với sinh viên dự thi
được nhập từ danh sách cho trước. Người quản trị có quyền được tạo thêm tài khoản sử
dụng hệ thống khi cần thiết.
b. Chức năng “Tạo đề, trộn đề, phân mã đề thi”
- Chức năng bóc đề, trộn đề, phân mã đề bao gồm các chức năng:
+ Chọn thông tin môn học
+ Tạo đề, trộn đề
+ Lưu đề cho ca thi, ngày thi
+ Xem đề
Tạo đề, trộn đề,
phân mã đề
Chọn thôn
Các file đính kèm theo tài liệu này:
- khoa_luan_xay_dung_phan_mem_thi_danh_gia_cau_hoi_de_thi_trac.pdf