Tài liệu tham khảo kỹ thuật công nghệ, chuyên ngành tin học Chấm điểm bài thi trắc nghiệm dựa vào biểu mẫu
Trang 1BÁO CÁO CHUYÊN ĐỀ THỰC TẬP
ĐĐỀ TÀI:
CHẤM ĐIỂM BÀI THI TRẮC NGHIỆM DỰA VÀO BIỂU MẪU
Chuyên ngành : Công nghệ thông tin
Mã số sinh viên : CQ481893
Giảng viên hướng dẫn : ThS Nguyễn Trung Tuấn
HÀ NỘI- 2010
Trang 2LỜI CẢM ƠN
Em xin cảm ơn Bộ môn công nghệ thông tin trường Đại học Kinh tếquốc dân Hà Nội và Công Ty Cổ Phần Công Nghệ Tinh Vân đã cho phép vàtạo điều kiện để em thực hiện luận văn này.
Luận văn này sẽ không thể hoàn thành nếu không có sự giúp đỡ và chỉbảo tận tình của thầy Nguyễn Trung Tuấn, nguyên Trưởng Bộ môn công nghệthông tin, người thầy hướng dẫn của em cùng với các anh chị trong Trung tâmTV1-Công Ty Cổ Phần Công Nghệ Tinh Vân Em xin chân thành biết ơn vềnhững chỉ bảo, định hướng nghiên cứu thực hiện, hỗ trợ và tạo những điềukiện tốt nhất cho em trong suốt quá trình thực hiện đề tài.
Em xin chân thành cảm ơn tất cả các quý thầy cô trong Bộ môn Côngnghệ thông tin đã tận tình chỉ bảo, rèn luyện, truyền đạt những tri thức, kỹnăng, kinh nghiệm quý báu cho em trong suốt 4 năm ở giảng đường đại học.
Mặc dù đã hết sức nỗ lực và cố gắng, nhưng chuyên đề chắc chắnkhông tránh khỏi những thiếu sót Em kính mong nhận được sự cảm thông vàtận tình chỉ bảo, góp ý của quý Thầy Cô và các bạn Xin cảm ơn!
Sinh viên thực hiện
Nguyễn Ngọc Nam
Trang 3LỜI MỞ ĐẦU
Hiện nay thi trắc nghiệm là một hình thức thi rất phổ biến tại các nướctrên thế giới.Phổ biến vì hình thức thi này có nhiều ưu điểm nổi bật.Ở nhữngbài thi trắc nghiệm sự rõ ràng của các đáp án giúp giảm sai sót trong việc tínhđiểm cho sinh viên.Điều này dẫn đến việc nâng cao tính chính xác, kháchquan trong việc đưa ra kết quả của bài thi.Bên cạnh đó thời gian chấm bài thicũng là tương đối nhanh ,tăng tính hiệu quả và nhất là giảm chi phí cho việcchấm thi do phải thuê các giáo viên chấm.Thi trắc nghiệm thường được ápdụng cho các hình thức thi đòi hỏi tính tự luận ko cao ví dụ như các mônngoại ngữ.
Tuy có nhiều lợi ích như vậy nhưng trong nền giáo dục nước ta hìnhthức thi này vẫn chưa được áp dụng rộng rãi.Tại trường Đại Học Kinh TếQuốc Dân thì hình thức thi trắc nghiệm cũng đã được sử dụng trong mấy nămgần đây trong nhà trường trong các môn như Kinh Tế Chính Trị,Lịch SửĐảng,Tiếng Anh …cũng mang lại những thành công khả quan.Tuy nhiên vẫncòn những vấn đề khó khăn trong việc triển khai thi trắc nghiệm do các giảipháp –bao gồm các thiết bị chuyên dụng và phần mềm đi kèm thường có giáthành cao và chỉ phù hợp với các kì thi lớn và quan trọng.Ngoải ra,còn phảikể đến sự cứng nhắc trong định dạng của mẫu bài thi.Tức là mẫu bài thi phảicố định tất cả các máy chỉ được sử dụng mẫu bài thi đó mà thôi.
Trong đề tài này,giải pháp đặt ra là sử dụng những thiết bị có sẵn trongmôi trường của sinh viên như máy tính để bàn,máy scan để xử lý chấm bàithi trắc nghiệm Khi sử dụng hình thức này việc thi trắc nghiệm sẽ làm tăngtính khả dụng và giảm được giá thành.
Trang 4KHÁI NIỆM VÀ THUẬT NGỮ
Pixel Là phần tử nhỏ nhất trong một bức ảnh Điểm ảnh Microsoft Công ty phần mềm lớn nhất thế giới MS
ACTOR Người dùng bên ngoài của hệ thống
USER CASE Use case mô tả sự tương tác đặc trưng giữa ngườidùng bên ngoài (actor) và hệ thống.
USGrayscale Phép làm xám ảnh trong xử lý ảnh số
Threshhold Phép đưa ảnh về nhị phân
IDE Integrated Development Environment môi trường phát triển lập trình của MS
IDE
Trang 5DANH MỤC CÁC HÌNH VẼ, SƠ ĐỒ, BẢNG BIỂU
Hình 2.10.Ảnh trước khi làm xám
Hình 2.11.Hình sau khi được làm xám với tỉ lệ trênHình 2.12.Ảnh xám trước khi đưa ảnh vể nhị phânHình 2.13.Ảnh đã đưa về ảnh nhị phân
Hình 2.14.Vùng tô khi chưa được tôHình 2.15.Vùng tô khi đã được tô
Hình 2.16.Cột mốc đen của biểu mẫu trường Kinh Tế
Hình 2.17.Cột mốc đen (phía trái )của biểu mẫu trường NUSHình 3.1.Sơ đồ lớp của ứng dụng
Hình 3.2.Các thuộc tính của lớp Biểu MẫuHình 3.4.Các phương thức lớp Xml biểu mẫuHình 3.3.Các phương thức lớp Biểu MẫuHình 3.5.Các thuộc tính lớp Đáp Án
Hình 3.6.Các phương thức của lớp Đáp ánHình 3.7.Các phương thức của lớp Xử lý ảnhHình 4.1.Giao diện chính của chương trìnhHình 4.2.Giao diện xem biểu mẫu
Hình 4.3.Chức năng quản lý đáp ánHình 4.4.Chức năng chọn biểu mẫuHình 4.4.Chức năng chấm điểm
Hình 5.1.Bài thi mẫu của Đại Học Kinh Tế Quốc DânHình 5.2.Kết quả chầm điểm biểu mẫu hình 5.1
Hình 5.3.Bài thi trắc nghiệm của biểu mẫu trường NUSHình 5.4.Kết quả chấm điểm bài thì trên hình 5.3.Hình 5.5.Bài thi biểu mẫu trường NUS
Hình 5.6.Kết quả chấm thi hình 5.5.
Trang 6CHƯƠNG 1.TỔNG QUAN
1.1.TỔNG QUAN
Nói về sự quan trọng của các kì thi trắc nghiệmcó thể thấy được rằngviệc áp dụng thi trắc nghiệm càng ngày càng được các trường quan tâm vàchú trọng,không chi ở các trường đại học ,mà cả tại các trường trung học phổthông nữa.Nguyên nhân là do phạm vi đào tạo của các trường ngày càngcao,việc tổ chức thi cử sao cho tốn ít kinh phí và sức người nhất là vấn đề màcác trường đều gặp phải.Nếu thi theo kiểu truyền thống,các trường không chỉtổ chức các kì thi,thuê giáo viên coi thi và còn phải tổ chức chấm thi, baogiồm việc thuê giáo viên chấm thi thuê phòng chấm ,tổ chức các buổichấm,phân công các cán bộ giám sát v v Điều này gây tốn kém tiền bạc vàthời gian của các trường.Trong khi thi trắc nghiệm lại hạn chế được cácnhược điểm đó.Việc tổ chức coi thi và nhất là hoạt động chấm thi tự độngbằng máy giúp tiết kiệm tối đa được thời gian tiền bạc và công sức của cáctrường.
Hoàn cảnh thi trắc nhiệm tại trường Đại Học Kinh Tế Quốc Dân:hiệnnay,tại trường kinh tế quốc dân hiện đang thực hiện thi trắc nghiệm với hìnhthức thi trên máy tính.Với hình thức thi này,sinhv iên sẽ vào làm bài theo thờigian của phần mềm.sau khi hoàn thành xong sinh viên có thể biết được kếtquả lun.Giải pháp này cũng là một giải pháp rất hay,tuy nhiên nó cũng tiềm
Trang 7Thứ hai là việc làm bài thi trên máy tính gặp những rủi ro rất cao chosinh viên nếu lỗi phần mềm hay bài thi bị virus.Sinh viên hoặc học sinh sẽ bịhủy kết quả thi.
Nhược điểm của nó là thực hiện chậm do mất thời gian scan các bàithi,nếu như trong các cuộc thi lớn chi phí scan các bài thi sẽ là rất cao.
Phân tích thiết kế cho chương trình thực hiện chấm điểm bài thi trắcnghiệm bằng phương pháp xử lý ảnh dựa trên biểu mẫu đã phân tích ở bướctrước đó
Thực hiện chấm thử nghiệm trên các bài thi mẫu khác nhau
CHƯƠNG 2.CƠ SỞ LÝ THUYẾT
Trang 82.1.BIỂU MẪU
2.1.1.CÁC BIỂU MẨU THU THẬP
Trang 9Hình 2.1.Biểu mẫu Computing Test của trường NUS
Trang 11Sau quá trình quan sát ta ta thấy : các biểu mẫu có các nội dung chủ yếunhư sau :
(1)Vủng Thông tin thí sinh Là thông tin cá nhân của sinh viên bao gồmhọ tên ngày sinh…
(2)Thông tin về mã sinh viên Phần này gồm hai phần mã đề thi và phầnsố báo danh
Phần này dựa vào các tích chọn của thí sinh để đưa ra thông tin về thísinh và thông tin về mã đề thi
(3)Phần trả lời câu hỏi của thí sinh ,phần này là phần thí sinh dành chothí sinh tích chọn các câu trả lời đúng vào.
(4)Thành phần căn lề : đây là một trong những thành phần quan trọngtrong bài thi trắc nghiệm của ta, vì nó đóng vai trò quan trọng trong việcchấm bài thi một cách chính xác,mỗi một vạch đen là một dòng chấm,tươngứng mỗi dòng chấm sẽ có các ô tròn tương ứng cho việc tích chọn.
Như vậy có 4 thành phần cơ bản trong các biểu mẫu đề thi trắc nghiệmmà ta có thể làm việc với bao gồm :
Phần mã thí sinh(1)
Phần thông tin thí sinh(2)
Phần trả lời câu hỏi trắc nghiệm (3)Phần mã vạch (4)
2.1.2.TỔ CHỨC LƯU TRỮ BIỂU MẪU
Các biểu mẫu là các dạng đề thi trắc nghiệm có thể dùng chung chomột số dạng đề thi khác nhau có cùng kiểu
Trong chương trình nó đóng vai trò rất quan trọng là đầu vào thông tincho các dữ kiện để có thể thực hiện chấm thi trắc nghiệm trên các bài thi códạng như biểu mẫu đó Và vì vậy việc lưu trữ là lấy thông tin của các biểumẫu là một vai trò tất yếu và cần phải thực hiện
Trang 12Trong chương trình của mình ,em chọn định dạng xml để lưu trữ cơ sởdữ liệu cho các biểu mẫu,mỗi một biểu mẫu được lưu trữ thành các file xmlcó các phần tổng quan như sau :
Vùng mã sinh viên Vùng câu trả lời
Hình 2.7 Tổ chức file biểu mẫu
Với mỗi vùng có các thông tin về tọa độ hay thông tin về các kí hiệudùng tương ứng cho các yếu tố trích chọn ,Ví dụ như vùng mã thí sinh :
Trang 13Hình 2.8.Chi tiết vùng mã thí sinh của biểu mẫu Computing TestCác thẻ:
ValueM:Tọa độ Y của vùng mã thí sinh
MKCHaimocX :lưu trữ thông tin khoảng cách từ điểm đen đánh dấutrong phần căn lề cho tới điểm bắt đầu của vùng đánh dấu mã sinh viên theophương X
MKCHaimocY:lưu trữ thông tin khoảng cách từ điểm đen đánh dấu trongphần căn lề cho tới điểm bắt đầu của vùng đánh dấu mã sinh viên theo phương Y
SoHangToiDa:là số hàng tối đa cho vùng mã thí sinh
Trang 14SoCotToiDa :là số cột tối đa cho vùng mã thí sinh,là thông tin trongviệc duyệt ma trận chấm thi
Giả sử máy scan đã scan chuẩn cho chúng ta,có nghĩa là bài thi đàu vàolà không bị sai lệch so với mẫu chấm đã được xây dựng sẵn.
Công việc tiếp theo là thực hiện chấm điểm bài thi đã được scan dựavào mẫu mà ta đã nghiên cứu khảo sát Dựa vào thông tin của các vị trí cầnthiết (Thông tin lấy từ biểu mẫu mà ta có thể chấm điểm được bài thi của thísinh )
Trong phạm vi đề tài chỉ xử lý chấm vùng tô và đọc số báo danh chocác thí sinh,các xử lý nâng cao như nhận dạnh chữ viết tay không nằm trongphạm vi của đề tài này
Sau khi nhận biết các vùng tô hay không trên bài thi,chương trình sẽdựa vào thông tin đáp án so sánh và đưa ra kết quả chấm của bài thi
Tổng quan các bước thực hiện như sau :
Trang 15Hình 2.9.Tổng quan các bước xử lýBài làm của thí sinh
Ảnh của thí sinh
Ảnh đã làm xám
Ảnh nhị phân
Vùng đọc mã thí sinh và bài thi
Mã thí sinh và mã bài thiKết quả bài làm của thí sinh
Kết quảScan
Vùng làm bài của thí sinh, nơi cần chấm
Trang 16Trong máy tính mỗi một màu được lưu trữ bởi 1byte như vậy đối với một pixel máy tính cần đến 3bytes để lưu trữ
Phép đưa ảnh về ảnh xám thực ra chỉ là cách làm sao đưa 3bytes ảnh màu thành một byte duy nhất bằng một công thức hợp lý.đưa ảnh về xám.
Trong đề tài thực hiện áp dụng công thức làm xám ảnh như sau :Pixel kết quả =R*0.3+G*0.59+B*0.11
Kết quả của việc làm xám ảnh như sau :
Trang 17Các cách thực hiện như sau :
Quét toàn bộ pixel của ảnh nếu pixel nào nằm trong khoảng quy địnhthì chuyển pixel đó thành thành đen ngược lại thì chuyển nó thành trắng
Trang 18chuyển nó thành màu đen (giá trị điểm ảnh lúc này là 0).Kết quả biến đổi ảnhtừ ảnh xám thành ảnh nhị phân như sau :
Hình 2.12.Ảnh xám trước khi đưa ảnh vể nhị phân
Trang 19Hình 2.13.Ảnh đã đưa về ảnh nhị phân
2.2.2.3 Kiểm tra vùng tô
Vùng tô là phần được giới hạn bởi các ô tròn để xác định câu trả lời chocác thí sinh,tùy theo từng cách làm bài của thí sinh mà ta cần xác định xemcác ô tròn có được tô hay không Tùy theo quy định số phần trăm cần thiết đểxác định vùng tô đó có được tô hay chưa
Hình 2.14.Vùng tô khi chưa được tô
Hình 2.15.Vùng tô khi đã được tô
Do vùng tô là một vùng hình tròn ,trong ảnh bitmap thì ta chỉ xử lýđược với các vùng có hình chữ nhật mà thôi cho nên khi xử lý xem xét vùngtô hay chưa ta có thể thực hiện theo hướng như sau :
Ta quét toàn bộ ảnh vuông từ trái sang phải từ trên xuống dưới xét sốpixel đen chiếm bao nhiêu phần trăm trong vùng vuông đang xét Theo quy
Trang 20định của đề tài này thì số pixel đen nếu chiếm trên 60 % tổng số pixel trongvùng ô vuông đang xét thì vùng đó được coi là tô ngược lại là không tô.
2.2.2.4.Phát hiện điểm đen đầu tiên
Việc phát hiện điểm đen đầu tiên trong bài thi là một trong những bướcquan trọng trong việc phát hiện ra các vùng trong bài thi (vùng mã thí sinh vàvùng chấm điểm ).
Mục đích :
Tìm ra được điểm mốc của ảnh để thực hiện việc tìm vùng mã và vùngchấm thi trong bài làm của thí sinh mà ở trong hình chính là điểm đầu tiêncủa hình vuông đen bên rìa của bài thi như sau:
Hình 2.16.Cột mốc đen của biểu mẫu trường Kinh Tế
Hình 2.17.Cột mốc đen (phía trái )của biểu mẫu trường NUSNói tóm lại ,nhiệm vụ trong bước này là là sao phát hiện được hìnhvuông đen đậm tại vị trí rìa của ảnh bài thi.Để làm được điều này thì ta có thểlàm theo thuật toán dưới đây:
Thuật toán
Cách thực hiện như sau(để cụ thể ta sẽ nói tới vùng chấm điểm bài
Trang 21 Lần lượt xét từng pixel từ rìa vào và từ tung độ tương đốixuống.Nếu pixel đó là đen ,thì xem 6 pixel tiếp theo có phải là màu đen haykhông ?nếu có thì thực hiện bước tiếp theo,nếu không phải thì bỏ qua.
Nếu pixel đen thỏa mãn điều kiện,ta thực hiện vẽ một hìnhvuông kích thước 14x4,nếu hình vuông đó có tổng số pixel đen vượt mộtngưỡng nào đó (trong đề tài ngưỡng này là 60 pixel ) thì thực hiện bước tiếptheo,ngược lại thì ta tăng tung độ của vị trí đó và tìm tiếp cho tới khi đến đượcbước sau
Tại bước này ,ta đã xác định được vị trí của hình vuông đen cầntìm Thực hiện đưa ra điểm mốc tìm thấy
Thứ hai là việc phát hiện như thế sẽ mở ra cách xử lý việc chấm các bàithi bị nghiêng.Nếu ta xác định được điểm mốc và tìm được các điểm đen lâncận,ta biết các điểm lân cận này nằm trên một đường thẳng thì việc xác địnhđược độ nghiêng của bài thi sẽ là khả quan.Hiện đề án đang nghiên cứu vàphát triển thêm chức năng này.
Tuy nhiên nhược điểm của thuật toán là tỉ lệ xác suất phát hiện điểmđen đúng vẫn còn chưa cao,phải phụ thuộc vào tung độ tương đối của bài thi
Trang 22CHƯƠNG 3.PHÂN TÍCH THIÊT KẾ CHƯƠNG TRÌNH
3.1.PHÂN TÍCH
Trong phạm vi đề tài chường trình chấm điểm bài thi trắc nghiệm thựchiện công việc nhận bản scan bài thi của thí sinh,đọc số báo danh,phần làmbài của thí sinh ,xác định và chấm điểm cho bài thi với các đáp án đúng đãđược soạn.
Trình tự các bước xử lý việc chấm điểm tự động sẽ như sau
Xác định vị trí của vùng mã và vùng bài làm của thísinh
Kiểm tra vùng tô Đưa ra kết quả chấm.
Cách tính điểm trong chương trình sẽ như sau :chương trình sẽ hỗ trợviệc soạn ra các đáp án Dựa vào đáp án có sẵn chương trình sẽ xem xét thísinh đã đánh dấu đúng đáp án hay chưa và cứ mỗi một đáp án đúng thí sinh sẽđược cộng một số điểm theo quy định ngược lại thí sinh cũng sẽ bị trừ một sốđiểm theo quy định lúc soạn đáp án.
3.2.XÁC ĐỊNH YÊU CẦU
Xây dựng hệ thống “Chấm điểm bải thi trắc nghiệm dựa vào biểu mẫu”cần phải xây dựng các tính năng sau :
Soạn đáp án
Trang 233.3.XÂY DỰNG MÔ HÌNH USER CASE
3.3.1 ACTOR
Người dùng :đây là người thực hiện việc soạn ra các đáp án và thựchiện chấm điểm bài thi trắc nghiệm
3.3.2.USER CASE
Soạn đáp án :soạn ra các đáp án cho một trong hai biểu mẫu có sẵn :
Computing Test của trường NUS và Biểu mẫu trắc nghiệm của trường ĐạiHọc Kinh Tế Quốc Dân.
Chấm điểm :là user case thực hiện chấm điểm bài thi trắc nghiệm của
Phát sinh:User case này được phát sinh khi người dùng muốn tạo ra
một đáp án cho hai biểu mẫu hay sửa một đáp án đã có sẵn trong hệ thống.
Thêm đáp án :Người dùng chọn một nơi trên ổ cứng để lưu lại file đáp
án File đáp án là một file xml lưu trữ các thông tin về đáp án của người dùngsoạn thảo
Sau khi chọn nơi lưu đáp án,hện thống sẽ yêu cầu người dùng điềnthông tin của đáp án bao gồm :Thông tin về đáp án,số điểm cho mỗi câu đúng,số điểm cho mỗi câu sai,cấu trả lời đúng cho từng câu hỏi trong bài thi
Sau khi nhấn chấp nhận người dùng nhấn Lưu để lưu lại đáp án vàotrong hệ thống.
Sưả đáp án:Hệ thống hiển thị mục chọn các đáp án đã có sẵn trong máy
của bạn.
Trang 24Sau khi chọn đáp án.Hệ thống sẽ giúp đỡ cho bạn hiển thị ra các thôngtin đáp án để người dùng sửa.
Sau khi sửa xong người dùng nhấn Lưu để hoàn thành thao tác sửa đáp án
Trang 253.4.MÔ HÌNH LỚP
Mô hình lớp của hệ thống trong như sau :
Hình 3.1.Sơ đồ lớp của ứng dụng