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

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

pdf81 trang | Chia sẻ: huong20 | Ngày: 08/01/2022 | Lượt xem: 462 | Lượt tải: 0download
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:

  • pdfkhoa_luan_xay_dung_phan_mem_thi_danh_gia_cau_hoi_de_thi_trac.pdf