Nếu như có một công cụ lưu trữ tốt các đề này, mỗi lần ra đề kiểm tra, đề thi mới, giáo viên chỉ cần chọn lựa từ một ngân hàng câu hỏi có sẵn thì công việc ra đề sẽ trở nên nhẹ nhàng và
Trang 1MỤC LỤC
MỤC LỤC 1
MỞ ĐẦU 3
CHƯƠNG 1 6
TỔNG QUAN 6
1.1 YÊU CẦU THỰC TẾ VÀ LÝ DO CHỌN ĐỀ TÀI 6
1.2 MỤC TIÊU ĐỀ TÀI 7
1.3 CƠ SỞ CHỌN ĐỀ TÀI 7
1.4 PHẠM VI NGHIÊN CỨU VÀ XÂY DỰNG 7
CHƯƠNG 2 8
MỘT SỐ VẤN ĐỀ 8
TRONG QUY CHẾ ĐÀO TẠO VỀ THI HỌC PHẦN 8
2.1 QUY CHẾ ĐÀO TẠO VỀ VIỆC RA ĐỀ THI 8
2.2 THỰC TRẠNG CÁC MÔN HỌC 8
CHƯƠNG 3 11
PHÂN TÍCH THIẾT KẾ HỆ THỐNG 11
CHƯƠNG TRÌNH XỬ LÝ TỰ ĐỘNG NGÂN HÀNG ĐỀ THI VIẾT 11
3.1 KHẢO SÁT VÀ PHÂN TÍCH HIỆN TRẠNG HỆ THỐNG 11
3.1.1 Mô tả: 11
3.1.2 Khảo sát hệ thống 14
3.1.3 Phân tích hiện trạng hệ thống 14
3.2 PHÂN TÍCH HỆ THỐNG 15
3.2.1 Tổ chức dữ liệu 15
3.2.2 Sơ đồ phân cấp chức năng 17
3.2.3 Sơ đồ luồng dữ liệu 19
3.2.4 Sơ đồ liên kết thực thể ERD 27
CHƯƠNG 4 30
NGÔN NGỮ LẬP TRÌNH VISUAL BASIC NET 30
4.1 TỔNG QUAN VỀ NET FRAMEWORK 30
4.1.1 Giao diện người dùng (User Interface) 31
4.1.2 Thư viện các lớp cơ sở (Base Class Library) 31
4.1.3 Common Language Runtime (CLR)- Thư viện thực thi ngôn ngữ chung 31
4.2 TRUY CẬP CHỨC NĂNG CƠ BẢN TỪ CHƯƠNG TRÌNH NGUỒN VISUAL BASIC.NET 32
4.3 CÁCH VISUAL BASIC.NET LÀM VIỆC 32
4.4 CÁC CHƯƠNG TRÌNH VISUAL BASIC.NET KẾT HỢP VỚI NHAU 33 4.5 KHÁI QUÁT VỀ IDE (INTERGRATED DEVELOPMENT
ENVIRONMENT) CỦA VISUAL BASIC.NET 33
4.6 MÃ CHƯƠNG TRÌNH 34
4 6.1 Kế thừa 34
4.6.2 Bắt đầu từ lớp Form1 35
Trang 2SVTH: ĐỖ THỊ HƯƠNG- LỚP K1A Trang: 2
4.8 LẬP TRÌNH CƠ SỞ DỮ LIỆU BẰNG VISUAL BASIC.NET VÀ SỬ
DỤNG ADO 36
4.8.1 Giới thiệu ADO.NET 36
4.8.2 Các đối tượng của ADO.NET 37
4.8.3 Quản lý các Providers trong ADO.NET 39
CHƯƠNG 5 42
XÂY DỰNG CHƯƠNG TRÌNH 42
5.1 YÊU CẦU VỀ CHƯƠNG TRÌNH 42
5.2 THUẬT TOÁN XỬ LÝ 42
5.2.1 Thuật toán sinh mã tự động 42
5.2.2 Sinh đề thi 44
5.2.3 Nhúng MS Word vào chương trình 49
5.3 GIAO DIỆN CHƯƠNG TRÌNH 58
5.3.1 Form đăng nhập hệ thống 58
5.3.2 Giao diện form chính 59
5.3.3 Giao diện form quản lý câu hỏi 61
5.3.4 Giao diện form quản lý các loại câu hỏi 62
5.3.5 Giao diện form tạo ngân hàng câu hỏi 63
5.3.6 Form Quản lý câu hỏi 65
5.3.7 Giao diện form tạo đề thi 66
5.3.9 Giao diện form đề thi và đáp án 67
5.3.10 Giao diện form Quản lý đề thi 68
KẾT LUẬN 69
1 KẾT QUẢ ĐẠT ĐƯỢC 69
2 NHỮNG VẤN ĐỀ CHƯA GIẢI QUYẾT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN 69
TÀI LIỆU THAM KHẢO 70
Trang 3MỞ ĐẦU
Trong những năm gần đây, sự phát triển của công nghệ thông tin đã và đang
làm thay đổi toàn bộ thế giới Mọi ngành nghề, mọi lĩnh vực như: Y tế, kinh tế, giáo
dục đào tạo, quản lý nhà nước, ngân hàng, bưu điện, công nghiệp…đã dần dần được
tin học hóa và làm cho công việc trở nên dễ dàng, nhanh chóng, hiệu quả và chính
xác cao Đặc biệt trong công tác giáo dục việc tin học hóa đã góp phần nâng cao
chất lượng đào tạo dạy và học Trong thi cử cũng vậy, để đảm bảo chất lượng của
mỗi kì thi tính khách quan, chất lượng, chính xác và khoa học phải đặt lên hàng
đầu.Việc kiểm tra đánh giá không chỉ đơn thuần chú trọng vào kết quả học tập của
học sinh, mà còn có vai trò to lớn trong việc thúc đẩy động cơ, thái độ tích cực của
người học, hoàn thiện quá trình dạy học, kiểm định chất lượng, hiệu quả dạy học và
trình độ nghề nghiệp của người dạy
Tuy nhiên, việc tổ chức các kỳ thi của các trường hiện tại vẫn chưa được sự
hỗ trợ công nghệ thông tin nhiều, đặc biệt là khâu ra đề vẫn chưa đảm bảo được các
yêu cầu trên, do đó cần có một chương trình để đáp ứng được những yêu cầu của
việc ra đề thi
Các lý do khiến các nhà trường nên sử dụng một chương trình tạo và quản lý
đề thi một cách tự động:
- Trong mọi nhà trường hai công việc chính cơ bản nhất liên quan đến đào tạo
là giảng dạy và đánh giá học sinh, sinh viên
Về phía các giáo viên việc ra các đề kiểm tra từ đề kiểm tra điều kiện, đề thi
hết môn học hay đề kiểm tra cuối kỳ đều đòi hỏi nhiều công sức lao động Công
việc này lại phải tiến hành rất thường xuyên và trong suốt thời gian giảng dạy Nếu
như có một công cụ lưu trữ tốt các đề này, mỗi lần ra đề kiểm tra, đề thi mới, giáo
viên chỉ cần chọn lựa từ một ngân hàng câu hỏi có sẵn thì công việc ra đề sẽ trở nên
nhẹ nhàng và thuận tiện hơn rất nhiều
Trang 4SVTH: ĐỖ THỊ HƯƠNG- LỚP K1A Trang: 4
học Số lượng các đề kiểm tra cần tạo ra khá lớn Nếu toàn bộ quá trình tạo đề kiểm
tra này được tiến hành bằng máy tính thì sẽ rất thuận tiện cho các nhà trường
- Việc tạo ra các ngân hàng câu hỏi cho các môn học còn có một ý nghĩa lớn
khác nữa: ở qui mô một nhà trường, việc tập hợp các câu hỏi từ các giáo viên khác
nhau trong trường sẽ mang tính khách quan cao và đồng thời tập trung được trí tuệ
của toàn thể giáo viên trong nhà trường
- Các ngân hàng câu hỏi nếu làm được còn có một ý nghĩa đặc biệt nữa là việc
sử dụng chúng sẽ kéo dài trong nhiều năm và theo thời gian khi các ngân hàng này
càng nhiều dữ liệu, chất lượng các đề kiểm tra càng tốt thì công việc chuẩn bị ra đề
càng trở nên nhẹ nhàng hơn Như vậy một ngân hàng câu hỏi sẽ có ý nghĩa rất lớn
trong tương lai tiết kiệm được công sức lao động của giáo viên trong nhà trường
Đã đến lúc việc đánh giá kết quả học tập của học sinh trong nhà trường cần
được tin học hóa và sử dụng các phần mềm quản lý tương ứng, đặc biệt là các phần
mềm lưu trữ ngân hàng câu hỏi và kiến tạo đề kiểm tra môn học.Vì vậy trong đợt
làm đồ án tốt nghiệp này em mạnh dạn chọn đề tài: “Xây dựng chương trình xử lý
tự động ngân hàng đề thi viết” nhằm mục đích ứng dụng hiệu quả công nghệ
thông tin vào việc ra đề thi để đảm bảo cho việc ra đề trong các trường đại học mà
cụ thể là khoa công nghệ thông tin- Đại học Thái Nguyên được chính xác, nhanh
chóng, hiệu quả, khách quan và góp phần nâng cao chất lượng đánh giá kết quả theo
yêu cầu của đổi mới giáo dục
Đồ án gồm các phần chính:
Tổng quan giới thiệu đề tài
Một số vấn đề trong quy chế đào tạo về thi học phần
Phân tích thiết kế hệ thống chương trình
Tổng quan về ngôn ngữ lập trình Visual Basic.Net
Xây dựng chương trình
Kết luận: Những kết quả đạt được và hạn chế, hướng phát triển
Trang 5Em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin - Đại Học Thái
Nguyên, thầy T.S Lê Xuân Quảng, thầy Th.S Vũ Đức Thái, các thầy cô trong khoa
và các anh chị trong trung tâm phần mềm 3CSoft- Công ty máy tính truyền thông
điều khiển 3C đã tận tình hướng dẫn chỉ bảo em trong suốt thời gian thực hiện đồ án
và tạo mọi điều kiện tốt nhất để em hoàn thành tốt đồ án được giao
Mặc dù em đã cố gắng hoàn thành đồ án trong khả năng và phạm vi cho phép
nhưng chắc chắn không thể tránh khỏi sai sót em rất mong nhận được cảm thông và
những đóng góp dạy bảo của quý thầy cô và các bạn để em tiến bộ hơn
Trang 6SVTH: ĐỖ THỊ HƯƠNG- LỚP K1A Trang: 6
CHƯƠNG 1 TỔNG QUAN
1.1 YÊU CẦU THỰC TẾ VÀ LÝ DO CHỌN ĐỀ TÀI
Trong những năm gần đây, việc thi cử luôn là một chủ đề thời sự rất được
quan tâm Chuyện gian lận trong các kỳ thi luôn xảy ra từ việc ra đề thi, thi và cho
đến việc chấm thi của cán bộ giáo viên và thí sinh luôn xảy ra và thường gây ra
nhiều tranh cãi, khiếu kiện… hầu như năm nào cũng xảy ra gây nhiều bức xúc trong
xã hội.Ở đây ta chỉ bàn đến khâu ra đề thi cũng đã có rất nhiều bất cập cần nói đến:
Việc ra đề thi không sát với chương trình học, ra đề không đồng đều giữa các lớp do
sự thiếu công bằng của giáo viên với các lớp, do vô tình, hoặc việc làm lộ đề thi của
một số kỳ thi đã xảy ra gây hậu quả nghiêm trọng trong thi cử Đối với các giáo
viên ra đề, để tạo một ngân hàng câu hỏi và ra đề theo ngân hàng đó cũng mất rất
nhiều thời gian và công sức Một phương pháp ra đề thi mới được đặt ra để khắc
phục những nhược điểm và yếu kém kể trên của phương pháp ra đề thi theo kiểu thủ
công truyền thống
Ngay như trong khoa công nghệ thông tin- Đại Học Thái Nguyên của chúng
ta, hàng năm cũng có rất nhiều kỳ thi, đợt thi được tổ chức và do đó phải mất rất
nhiều công sức ra đề thi làm sao cho hiệu quả và đáp ứng được các yêu cầu tối thiểu
của một đề thi Tuy nhiên lại không có một chương trình phần mềm nào hỗ trợ cho
việc này trong khi khoa lại là một trung tâm giảng dạy và đào tạo về công nghệ
thông tin, ứng dụng nó trong đời sống và khoa học
Có một số hình thức thi mà khoa thường tổ chức đó là: Vấn đáp, trắc nghiệm
và thi viết
Hình thức thi vấn đáp được tổ chức cho một số môn như: Tiếng Anh, Tin đại
cương, đại số tuyển tính,
Hình thức thi trắc nghiệm được tổ chức cho các môn như: Môn chuyên đề 2
(CCNA)
Hình thức thi viết được tổ chức cho rất nhiều môn trong nhà trường, hầu hết
là sử dụng hình thức này
Trang 7Hình thức trắc nghiệm tuy được coi là một hình thức mới nhưng trong điều
kiện khoa Công Nghệ Thông Tin của chúng ta thì hình thức thi viết vẫn chiếm đa
số
Trong bối cảnh đó, chương trình xử lý tự động ngân hàng đề thi là một giải
pháp được nhắc đến Việc tổ chức ra đề thi tốt sẽ giúp cho các giáo viên ra đề thi
một cách dễ dàng, thuận tiện và nhanh chóng, tránh được các nhược điểm của kiểu
ra đề thủ công truyền thống, đáp ứng được nhu cầu mới là ứng dụng công nghệ
thông tin vào trong giáo dục và đào tạo trong các nhà trường, đảm bảo tính công
bằng nhất quán, chính xác, nhanh chóng, hiệu quả, khách quan và góp phần nâng
cao chất lượng đánh giá kết quả theo yêu cầu của đổi mới giáo dục
1.2 MỤC TIÊU ĐỀ TÀI
Mục tiêu của đề tài là nhằm đưa ra một giải pháp xây dựng một hệ thống xử
lý tự động ngân hàng đề thi viết giúp các giáo viên thuận tiện trong việc ra đề và
đáp ứng được các thuận lợi kể trên
1.3 CƠ SỞ CHỌN ĐỀ TÀI
Bộ giáo dục và đào tạo cũng đã cung cấp cho chúng ta cơ chế cho việc ra đề
thi và chấm thi, dựa trên cơ chế đó và yêu cầu của khoa Công Nghệ Thông Tin,
bằng kiến thức đã thu lượm được và kinh nghiệm sử dụng ngôn ngữ lập trình Visual
Basic Net em đã xây dựng nên chương trình xử lý tự động ngân hàng đề thi viết
bằng ngôn ngữ lập trình Visual Basic Net và cơ sở dữ liệu SQL Server
1.4 PHẠM VI NGHIÊN CỨU VÀ XÂY DỰNG
Phạm vi nghiên cứu là Khoa Công Nghệ Thông Tin- Đại Học Thái Nguyên
và trong phạm vi nhỏ cho hệ đại học, bao gồm 61 môn học trong đó có 17 môn thi
vấn đáp, 1 môn thi trắc nghiệm (Chuyên đề 2- CCNA) và còn lại là thi viết Do đó
ta thấy hình thức thi viết được sử dụng trong khoa vẫn là chủ yếu
Trang 8SVTH: ĐỖ THỊ HƯƠNG- LỚP K1A Trang: 8
CHƯƠNG 2 MỘT SỐ VẤN ĐỀ TRONG QUY CHẾ ĐÀO TẠO VỀ THI HỌC PHẦN
2.1 QUY CHẾ ĐÀO TẠO VỀ VIỆC RA ĐỀ THI
1 Đề thi phải phù hợp với nội dung học phần đã quy định trong chương
trình Việc ra đề thi hoặc lấy từ ngân hàng đề thi được thực hiện theo quy định của
Hiệu trưởng
2 Hình thức thi kết thúc học phần có thể là thi viết (trắc nghiệm hoặc tự
luận), vấn đáp, viết tiểu luận, làm bài tập lớn, hoặc kết hợp giữa các hình thức trên
Hiệu trưởng duyệt các hình thức thi thích hợp cho từng học phần
2.2 THỰC TRẠNG CÁC MÔN HỌC
Như đã trình bày ở chương 1, phạm vi nghiên cứu của đề tài là các môn thi
viết cho hệ đại học của khoa Công Nghệ Thông Tin- Đại Học Thái Nguyên, và do
đó hiện tại có 61 môn học
Danh sách các môn học và hình thức thi tương ứng:
Thi trắc nghiệm: Môn Chuyên Đề 2
Thi vấn đáp:Các môn: Anh Văn 1, 2, 3, 4 ; Đại số tuyến tính; Tin học đại
cương; Toán rời rạc; Lập trình có cấu trúc; Ngôn ngữ hình thức và Otomat; Lý
thuyết thuật toán; Lập trình mạng; Trí tuệ nhân tạo; Bảo trì hệ thống máy tính; Lập
trình hướng đối tượng; Tối ưu hoá; Lý thuyết thông tin; Giao diện người máy; Đồ
hoạ máy tính; Hệ chuyên gia
Thi viết: Vật lý 1, 2; Giải tích 1, 2; Kỹ thuật điện tử; Phương pháp số; Mạch
điện tử số; Cơ sở dữ liệu 1; Hợp ngữ; Cơ sở dữ liệu 2; Nguyên lý các hệ điều hành;
Mạng máy tính; Kỹ thuật truyền tin; Kinh tế chính trị; Chủ nghĩa xã hội khoa học;
Cơ ứng dụng; Chương trình dịch; Phân tích và thiết kế hệ thống; Chuyên đề 1; Xử
lý ảnh; Triết học; Phương trình vi phân; Kỹ thuật điện; Lý thuyết mạch; Cấu trúc dữ
liệu; Phương trình đạo hàm riêng; Xác suất thống kê; Xử lý tín hiệu số; Vi xử lý;
Kiến trúc máy tính; Hệ quản trị cơ sở dữ liệu; An toàn và bảo mật thông tin; Hệ
Trang 9điều hành mạng; Ngoại vi và giao diện ghép nối; Công nghệ phần mềm; Tư tưởng
Hồ Chí Minh; Lịch sử Đảng CSVN; Multimedia; Phát triển phần mềm với UML
Ưu nhược điểm của từng hình thức thi:
Hình thức thi vấn đáp:
- Ưu điểm: Hình thức này diễn ra nhanh chóng, sinh viên có thể biết điểm
ngay sau khi thi, kiến thức học bao quát toàn bộ chương trình học, giáo viên có thể
kiểm tra trực tiếp kiến thức thực tế của thí sinh và giảm thiểu được tiêu cực như
quay cóp, chép bài…
- Nhược điểm: Việc tổ chức thi vấn đáp là khó vì còn tuỳ thuộc vào số
lượng giáo viên có thể vấn đáp được, việc bố trí thời gian của các giáo viên này
Hình thức thi trắc nghiệm:
- Ưu điểm: Tránh được tình trạng gian lận trong thi cử vì đề thi trắc nghiệm
có khả năng tráo đổi thứ tự của các câu và thứ tự các đáp án trong một đề có cùng
nội dung, do đó các thí sinh ngồi gần nhau vẫn có đề thi khác nhau Lượng kiến
thức trong đề thi trắc nghiệm là lớn, bao quát được nhiều vấn đề, nên hạn chế được
sự quay cóp, gian lận trong quá trình thi, phù hợp với khả năng vận dụng linh hoạt,
sáng tạo các kiến thức kỹ năng của người học trong các tình huống thực tế đa dạng
hiện nay Nếu tin học hoá được hình thức thi này thì còn giúp nâng cao hiệu quả tiết
kiệm thời gian, công sức; tiết kiệm nhân lực, kinh tế; Việc ra đề cũng ra một cách
ngẫu nhiên tự động do máy; Chấm thi tự động, làm bài thi trên máy
- Nhược điểm: Xảy ra nhiều trường hợp đoán mò trong việc chọn các đáp
án làm bài; Chất lượng của kỳ thi cũng phụ thuộc rất nhiều vào chất lượng của ngân
hàng đề thi, số lượng câu hỏi trong ngân hàng cũng như số lượng các đáp án trong
một câu Không đánh giá được tính sáng tạo ở cấp độ cao của thí sinh Việc viết
được câu hỏi trắc nghiệm để đánh giá mức độ tư duy cao thường rất khó khăn, đòi
hỏi người viết phải có chuyên môn rất sâu và thuần thục trong kỹ năng viết câu hỏi
Trang 10SVTH: ĐỖ THỊ HƯƠNG- LỚP K1A Trang: 10
Hình thức thi viết:
- Ưu điểm: Như đã nói ở trên, hình thức thi viết rất thích hợp với việc đánh
giá tính sáng tạo, năng lực tư duy ở cấp độ cao của thí sinh Do đó các môn đòi hỏi
đánh giá tính tự luận, tính sáng tạo, tư duy ở cấp độ cao nên sử dụng hình thức thi
này để đánh giá học sinh, sinh viên Ngoài ra đây là phương pháp đánh giá học sinh,
sinh viên một cách truyền thống nên từ trước tới nay phương pháp này vẫn được sử
dụng rất phổ biến trong các kỳ thi và vẫn là hình thức được yêu thích trong các kỳ
thi
- Nhược điểm: Tuy hình thức thi này được sử dụng rất phổ biến, là phương
pháp thi truyền thống ra đời từ rất lâu nhưng vẫn chưa được sự giúp sức của công
nghệ thông tin Việc ra đề thi vẫn làm một cách thủ công gây tốn công sức để làm
đề, giáo viên chủ động ra đề nên thường xảy ra tiêu cực ngay tại khâu ra đề giữa
giáo viên và thí sinh, xảy ra hiện tượng học tủ, chuẩn bị tài liệu quay cóp sẵn Nếu
sử dụng chương trình xử lý tự động ngân hàng đề thi viết vào việc xử lý ra đề thi thì
nhược điểm này sẽ được khắc phục và phương pháp thi viết vẫn là phương pháp
được yêu thích để sử dụng cho rất nhiều môn thi của các kỳ thi
Trang 11CHƯƠNG 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG CHƯƠNG TRÌNH XỬ LÝ TỰ ĐỘNG NGÂN HÀNG ĐỀ THI VIẾT
3.1 KHẢO SÁT VÀ PHÂN TÍCH HIỆN TRẠNG HỆ THỐNG
3.1.1 Mô tả:
Việc ra đề thi là việc luôn luôn phải làm cho mỗi một môn thi, kỳ thi Tuy
vậy việc ra một đề thi khách quan, chính xác, nhanh chóng thì lại không hề đơn giản
nếu làm theo cách thủ công Để đáp ứng được nhu cầu bức thiết này, có thể giúp
người ra đề bớt bận rộn và giải quyết được những nhược điểm của việc ra đề thủ
công, chương trình ngân hàng đề thi tự động là một chương trình rất thiết thực và
hiệu quả đặc biệt trong những kỳ thi quan trọng hàng năm
Khi phải đưa ra một đề thi, nếu không có phần mềm hỗ trợ thì các giáo viên
- Số câu hỏi dùng để làm ngân hàng cho một câu trong đề thi để từ đó chọn
được một câu trong số đó đưa vào đề thi (Có thể chọn một cách ngẫu nhiên hoặc
chọn theo chủ quan của người ra đề)
Trang 12SVTH: ĐỖ THỊ HƯƠNG- LỚP K1A Trang: 12
Ví dụ một số đề thi viết thường ra trong Khoa Công nghệ thông tin- Đại học
Câu1: 3 điểm Câu2: 4 điểm Câu 3: 3 điểm
Phân tích thiết kế
Câu 1: 1 điểm Câu2: 5 điểm Câu3: 4 điểm
Câu1: 1.5 điểm Câu2: 2 điểm Câu 3: 3 điểm Câu 4: 2.5 điểm Câu5: 1 điểm
Nguyên lý
hệ điều hành
Câu1: 2 điểm Câu 2: 4 điểm Câu 3: 4 điểm
Trang 13Các đối tượng chính trong chương trình:
- Câu hỏi (question) là các phần tử chính trong ngân hàng câu hỏi, cũng là
phần tử chính trong đề thi Các câu hỏi phải được ra trong chương trình đã học của
thí sinh và có đáp án cụ thể cho từng câu hỏi.Câu hỏi dạng Trắc nghiệm (Multiple
Choice) là loại câu hỏi với các đáp án hoặc đáp số đã cho sẵn và người thực hiện chỉ
cần chọn một trong các đáp án này thay cho lời giải
Ngược lại câu hỏi dạng Tự Luận (Essay) không có các đáp án sẵn Người
làm bài phải viết lời giải hoặc đáp số theo các khuôn mẫu trống theo các qui định
riêng của bài kiểm tra
Chương trình này chỉ làm việc với các câu hỏi tự luận
- Ngân hàng câu hỏi (Bank): Đó là một cơ sở dữ liệu lưu trữ các câu hỏi
Mỗi câu hỏi được lưu theo loại câu hỏi để tiện cho việc chọn sinh đề Bank là đối
tượng làm việc chính của chương trình
- Đề thi (Test): Đề thi là sản phẩm đầu ra của chương trình Test là một tập
hợp các câu hỏi do giáo viên tạo ra từ ngân hàng câu hỏi và được sử dụng để kiểm
tra trình độ thí sinh theo yêu cầu chương trình môn học Đề thi có 3 loại:Tự luận,
trắc nghiệm và kết hợp giữa tự luận và trắc nghiệm Một đề kiểm tra có thể chứa
một số câu hỏi trắc nghiệm và một số câu hỏi tự luận Nếu đề này chứa toàn bộ các
câu hỏi trắc nghiệm, ta sẽ có một đề kiểm tra trắc nghiệm Nếu đề chứa tất cả các
câu hỏi là tự luận ta thu được một đề kiểm tra tự luận Nếu đề kiểm tra có chứa câu
hỏi trắc nghiệm lẫn tự luận ta thu được đề kiểm tra xen kẽ trắc nghiệm - tự luận
Chương trình này cũng chỉ làm việc với các đề thi tự luận
Khi đã tạo ra được 1 đề kiểm tra hoàn chỉnh, đề kiểm tra này sẽ độc lập hoàn
toàn với CSDL câu hỏi Một trong các chức năng quan trọng nhất của phần mềm là
chức năng tạo ra được các đề kiểm tra này Việc tạo đề kiểm tra có thể tiến hành tự
động hoặc bán tự động do giáo viên kiểm soát, mỗi câu trong đề thi được chọn từ
Trang 14SVTH: ĐỖ THỊ HƯƠNG- LỚP K1A Trang: 14
3.1.2 Khảo sát hệ thống
Thông tin vào:
+ Thông tin về môn thi
+ Thông tin về câu hỏi được tổ chức theo từng loại câu hỏi trong đề thi
+ Thông tin về cấu trúc đề thi (Tên đề thi, thời gian thi, số câu, người ra đề…)
Thông tin ra:
+ Đề thi
+ Đáp án tương ứng của đề
3.1.3 Phân tích hiện trạng hệ thống
Từ trước tới nay việc đánh giá kết quả học tập của học sinh sinh viên đều
thông qua việc thi cử, do vậy việc ra đề thi trong mỗi kì thi luôn luôn được các giáo
viên giảng dạy quan tâm và phải làm cẩn thận để có thể đưa ra được một đề thi theo
các tiêu chí đã đặt ra, tuy nhiên còn nhiều vấn đề của việc ra để thủ công không thể
giải quyết được, đó là: chậm, kém hiệu quả, không khách quan do đó người ra đề
phải giành rất nhiều thời gian, công sức để ra đề và tạo ngân hàng câu hỏi Vì lý do
này mà nhu cầu có một chương trình xử lý đề thi tự động để giải quyết các yếu điểm
trên của việc ra đề thủ công là rất cần thiết, đồng thời góp phần vào việc tin học hóa
công tác giảng dạy và thi cử trong ngành giáo dục đã và đang là việc làm rất cần
thiết trong thời buổi hiện nay
Trang 153.2 PHÂN TÍCH HỆ THỐNG
3.2.1 Tổ chức dữ liệu:
Tổ chức bảo mật, quản lý người dùng:
Người sử dụng được phân chia thành 3 cấp quyền:
Admin: Người này được phép đăng nhập hệ thống và tạo tài khoản cũng
như cấp quyền cho các user khác nhưng không đăng nhập được vào hệ thống ra đề
thi
Giáo viên: Giáo viên các bộ môn sau khi nhận thông tin về tài khoản sử
dụng do admin cấp, được phép đăng nhập vào hệ thống và phải thay đổi mật khẩu
sử dụng khi sử dụng lần đầu tiên để tạo các ngân hàng câu hỏi trong phạm vi bộ
môn của mình nhưng không được quyền can thiệp và đăng nhập vào hệ thống tạo
đề, xem và quản lý đề thi
Cán bộ ra đề: Người dùng này cũng nhận thông tin về tài khoản sử dụng do
admin cấp, chỉ được quyền đăng nhập vào chức năng ra đề thi mà không được phép
đăng nhập vào hệ thống khi hệ thống khởi động.Người này cũng phải thay đổi mật
khẩu trong lần sử dụng đầu tiên và được cấp quyền tạo đề thi Để đảm bảo tính
khách quan, tránh tình trạng người ra đề thi tự làm lộ đề thi gây hậu quả nghiêm
trọng, người ra đề thi không có quyền truy nhập vào hệ thống khi hệ thống khởi
động nên khi ra đề thi luôn luôn có ít nhất một người cán bộ ra đề và một người có
khả năng đăng nhập vào hệ thống khi hệ thống khởi động để giám sát việc ra đề
Tổ chức dữ liệu về ngân hàng câu hỏi:
Các môn học được quản lý bằng một mã môn, mã này được cấp phát một
cách tự động và luôn thoả mãn là mã nhỏ nhất trong số các mã chưa được cấp phát
Mỗi một môn học có các thông tin: Mã môn, tên môn, số trình.Số lượng môn lớn
nhất có thể đạt tới là 1000 môn, do đó mã môn sẽ là một xâu gồm 3 ký tự, bắt đầu
từ 001- 999
Trang 16SVTH: ĐỖ THỊ HƯƠNG- LỚP K1A Trang: 16
Loại câu hỏi được quản lý bằng mã loại, mã loại này cũng được cấp phát một
cách tự động giống như của mã môn và có phần đầu là mã môn ứng với mã loại đó
Ví dụ:
Môn cơ sở dữ liệu có mã: 001, các loại tương ứng của nó sẽ có mã theo phân cấp:
0011; 0012; 0013…
Thông thường số lượng loại nhỏ hơn 10 Số lượng loại chính là số lượng câu hỏi
được ra trong đề thi của môn học đó
Mỗi loại lưu các thông tin: Tên loại, mã môn thi, điểm của loại
Câu hỏi: Mỗi câu hỏi cũng ứng với một mã câu hỏi được cấp phát giống như
ở mã loại Mỗi câu hỏi tham chiếu đến 2 file câu hỏi và đáp án được lưu trong thư
mục Question và Answer của chương trình
Trang 173.2.2 Sơ đồ phân cấp chức năng:
Chương trình làm việc xử lý chức năng ra đề thi
Ban Lãnh đạo khoa
khác
Các chức
năng khác
Tổ chức thi, kiểm tra
Thi viết
Thi trắc nghiệm Thi vấn đáp
Ra đề thi Tổ chức thi Chấm thi
Trang 18SVTH: ĐỖ THỊ HƯƠNG- LỚP K1A Trang: 18
Sơ đồ phân cấp chức năng Ra đề thi:
Các chức năng: Khảo sát, thiết kế mẫu và Biên soạn câu hỏi là các chức năng
thực hiện bằng tay, còn hai chức năng: Nhập câu hỏi và tạo đề thi, đáp án là chức
năng tin học hoá, sử dụng máy tính để xử lý
Khảo sát,
thiết kế mẫu
Tạo đề thi, đáp án
Biên soạn câu hỏi
Ra đề thi
Nhập câu hỏi
Trang 193.2.3 Sơ đồ luồng dữ liệu:
3.2.3.1 Sơ đồ luồng dữ liệu mức khung cảnh
Trang 20SVTH: ĐỖ THỊ HƯƠNG- LỚP K1A Trang: 20
3.2.3.2 Sơ đồ luồng dữ liệu mức đỉnh:
Khảo sát, thiết kế mẫu
1
Quản lý ngân hàng câu hỏi
3
Xử lý đề thi, đáp án
4
Giáo viên
Mẫu
Cán bộ quản lý
đề, đáp
Ngân hàng đề theo mẫu
Trang 213.2.3.3 Phân rã các chức năng máy tính: Chức năng Quản lý ngân hàng câu hỏi
-3 và chức năng Xử lý đề thi, đáp án- 4
- Chức năng 3- Quản lý ngân hàng câu hỏi:
Ngân hàng đề thi
Giáo viên tạo ngân hàng câu hỏi
Quản lý ngân hàng câu hỏi 3.2
Môn học, Loại câu hỏi
Câu hỏi, đáp án
Loại câu hỏi Môn học
Quản lý đào tạo 3.1
Trang 22SVTH: ĐỖ THỊ HƯƠNG- LỚP K1A Trang: 22
Giáo viên tạo ngân hàng câu hỏi
Yêu cầu
Trang 233.2.3.4 Sơ đồ luồng dữ liệu chức năng 3.1- Quản lý đào tạo:
Môn học
Giáo viên tạo ngân hàng câu hỏi
Quản lý loại câu hỏi
Trang 24SVTH: ĐỖ THỊ HƯƠNG- LỚP K1A Trang: 24
3.2.3.5 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng 3.2 - Quản lý ngân hàng
câu hỏi:
Ngân hàng đề thi
Xoá câu hỏi
Giáo viên tạo ngân hàng câu hỏi
Nhập câu
Câu hỏi mới
Câu hỏi cần sửa
Câu hỏi cần xoáCâu hỏi
mới
Trang 253.2.3.6 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng 4.1-Xử lý sinh, sửa, in
Yêu cầu, mẫu đề
Ngân hàng đề thi Câu hỏi
Yêu cầu, mẫu đề
Trang 26SVTH: ĐỖ THỊ HƯƠNG- LỚP K1A Trang: 26
3.2.3.7 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng 4- Quản lý người dùng:
Tạo mới
người
dùng
Xoá người dùng
Đổi mật khẩu
Người dùng
Đăng nhập hệ thống
Đăng nhập
Quản trị
hệ thống
Giáo viên tạo ngân hàng câu hỏi
Trang 273.2.4 Sơ đồ liên kết thực thể ERD:
3.2.5 Dữ liệu các bảng:
3.2.5 1 Bảng môn học tblSubject:
Trang 28SVTH: ĐỖ THỊ HƯƠNG- LỚP K1A Trang: 28
3.2.5 2 Bảng loại câu hỏi tblLoai:
3.2.5 3 Bảng câu hỏi tblQuestion:
Trang 293.2.5 4 Bảng đề thi tblTest:
3.2.5 5 Bảng tblTestDetail:
3.2.5 6 Bảng tblUsers:
Trang 30SVTH: ĐỖ THỊ HƯƠNG- LỚP K1A Trang: 30
CHƯƠNG 4 NGÔN NGỮ LẬP TRÌNH VISUAL BASIC NET
Từ khi Internet phát triển, thương mại trên toàn cầu bắt đầu công việc trên
Internet với một tốc độ cực nhanh EDI(Electronic Data Interchange- Vấn đề trao
đổi dữ liệu điện tử), được đề thực hiện vào năm 1985, sử dụng để trao đổi đơn đặt
hàng, hoá đơn, thanh toán cập nhật các dữ liệu văn phòng, trải qua thời kỳ phục
hưng của việc thích nghi với Internet Quá trình thương mại trao đổi điện tử ngày
càng mở rộng với rất nhiều tiềm năng và nó yêu cầu phải có các tiêu chuẩn độc lập
phần cứng và ngôn ngư cũng như hệ điều hành Bộ khung NET ( NET
Framework) cung cấp các thành phần để biến khả năng đa nền trở thành hiện thực
Hạt nhân của NET Framework là CLR(Common Language Runtime) CLR
quản lý sự thực thi của đoạn mã NET và cung cấp các dịch vụ tạo quá trình phát
triển chương trình ứng dụng dễ dàng hơn Các trình biên dịch và các công cụ làm
cho chức năng của thư viện thực thi runtime trở nên phong phú và hiệu quả hơn
CLR quản lý đoạn mã ở mức thực thi thấp nhất, kết hợp khả năng sử dụng đồng thời
nhiều ngôn ngữ đan xen nhau(cross- language), tích hợp quản lý các lỗi ngoại lệ,
khởi động và chấm dứt tiểu trình(Thread)ở mức thấp, hỗ trợ về bảo mật, quản lý
phiên bản, đóng gói cài đặt
CLR cung cấp sự dễ dàng cho các nhà phát triển Visual Basic NET khi thiết
kế và xây dựng ứng dụng mà những đối tượng của chúng có thể tương tác với các
đối tượng viết bằng ngôn ngữ khác Sự tương tác này là có thể bởi vì các trình biên
dịch ngôn ngữ và các công cụ phát triển hướng đến sử dụng CLR với một hệ thống
kiểu dữ liệu chung định nghĩa bởi thư viện runtime
Các thành phần cấu thành trong NET Framework
- Mức trên cùng là trình biên dịch Visual Basic(hoặc các trình biên dịch của
các ngôn ngữ khác)
- Phía dưới trình biên dịch là đặc tả ngôn ngữ chung(Common Language
Specification-CLS) Đặc tả này là một tập hợp những quy tắc chịu ảnh hưởng bởi
Trang 31những đặc tính nhỏ nhất của ngôn ngữ được hỗ trợ nhằm đảm bảo rằng ngôn ngữ sẽ
được kết hợp với các thành phần và công cụ khác được chấp nhận bởi những quy
định mà CLS đề ra
Visual Basic hoàn toàn ngang hàng với những ngôn ngữ lập trình khác như:
C++, C#, và bất kì ngôn ngữ nào biên dịch theo đặc tả CLS mà NET đưa ra, Visual
Basic.NET giờ đây có những kiểu biến, kiểu mảng, các kiểu do người dùng định
nghĩa, các lớp, form, các điều khiển trực quan và các giao diện hoàn toàn giống như
các ngôn ngữ khác Cấu trúc chung này cho phép gọi một lớp đối tượng trong một
ngôn ngữ NET này từ một ngôn ngữ.NET khác Ví dụ chúng ta có thể gọi lớp đối
tượng của C++ trong Visual Basic cũng tương tự như gọi lớpđối tượng Visual Basic
từ C++
4.1.1 Giao diện người dùng (User Interface)
Giao diện người dùng cùng mức với Web services.Phần này sẽ trình bày
thông tin thiết kế cho các cửa sổ trên Windows (Windows Forms) User Interface
cung cấp các thư viện phục vụ thao tác vẽ trên màn hình, máy in, văn bản, hiển thị
hình ảnh Khả năng tạo ảnh hai chiều tinh vi cũng được cài đặt sẵn, cung cấp những
thuận lợi cho người dùng thực hiện những công việc như thao tác nhấn, xây dựng
những hình ảnh phức tạp, lĩnh vực mà trước kia chỉ có những lập trình viên C++
chuyên nghiệp mới thực hiện được
4.1.2 Thư viện các lớp cơ sở (Base Class Library)
Thư viện các lớp cơ sở (BCL) là phần nền của cơ chế xử lý dữ liệu XML
BCL là nguồn gốc cho tất cả các lớp cơ sở của tất cả các chương trình NET
Mỗi một sự vật trong Visual Basic NET là một đối tượng, và tất cả các đối
tượng bắt nguồn từ lớp cơ sở System BCL cũng cung cấp các tập hợp(Collection),
các lớp đối tượng văn bản (TextBox), các đoạn mã tương tác giữa các đối tượng
NET và ActiveX controls, và hỗ trợ rất nhiều dịch vụ khác
4.1.3 Common Language Runtime (CLR)- Thư viện thực thi ngôn ngữ chung
Trang 32SVTH: ĐỖ THỊ HƯƠNG- LỚP K1A Trang: 32
thực thi chương trình Bằng cách này mà chương trình đ• chuyển qua ngôn ngữ
CLR sẽ có thể chạy ở bất kỳ hệ điều hành nào có thể hỗ trợ NET FrameWork
CLR là một tập của nguồn tài nguyên chuẩn mà bất kỳ chương trình NET
nào cũng có thể tận dụng và khai thác nó từ bất cứ một ngôn ngữ nào có hỗ trợ
NET
Tất cả các ngôn ngữ đều trở nên ngang hàng NET tạo cho các ngôn ngữ
không còn phân biệt nhau về chức năng nữa Tất cả các ngôn ngữ NET sẽ hỗ trợ tất
cả những dịch vụ.NET thông qua tập hợp các lớp đối tượng trong thư viện chuẩn
CLR bao gồm những hỗ trợ về BCL (Base Class Library), nơi điều khiển
các cấu trúc và giao diện form của chương trình CLR cũng chịu trách nhiệm quản
lý các luồng thực thi và xử lý lỗi ngoại lệ CLR cũng điều khiển các bộ thu gom rác
CLR tiếp nhận đoạn mã được phát sinh bởi trình biên dịch Visual
Basic.NET (hoặc của bất kỳ trình biên dịch.NET nào) và chuyển nó sang ngôn ngữ
máy tự nhiên của cấu trúc máy hiện hành Bằng sự chuyển đổi này, cơ chế thực thi
chương trình độc lập với hệ điều hành và phần cứng máy tính
4.2 TRUY CẬP CHỨC NĂNG CƠ BẢN TỪ CHƯƠNG TRÌNH NGUỒN
VISUAL BASIC.NET
Những chức năng cơ bản được gom lại trong các thành phần của.NET
FrameWork để dễ quản lý hơn Truy cập những chức năng này trong chương trình
bằng cách tham chiếu không gian tên(namespace).Namespace là một lược đồ tên
sắp xếp kiểu dữ liệu theo nhóm các chưc năng logic có liên quan với nhau
trong.NET Import một namespace là việc kế thừa những chức năng cơ bản từ lớp
Forms tạo nên cửa sổ giao diện người dùng
NET cung cấp các dịch vụ Các dịch vụ được thiết kế để làm tăng hiệu suất
của tiến trình phát triển ứng dụng- Từ thiết kế cho đến viết mã, phát triển và bảo
mật
4.3 CÁCH VISUAL BASIC.NET LÀM VIỆC
Trang 33Trình soạn mã của Visual Basic NET cho phép tự động điền đầy đủ các từ
khoá khác nhau khi đánh vào.Visual Basic.NET không hỗ trợ kiểu Variant nữa
Kiểu Variant tương tự trong.NET là kiểu Object
Visual Basic NET không sử dụng chuỗi với chiều dài cố định các mảng điều
khiển(Control array), các đối tượng COM Mọi thứ trong.NET giờ đây đều là đối
tượng
4.4 CÁC CHƯƠNG TRÌNH VISUAL BASIC.NET KẾT HỢP VỚI NHAU
Biên dịch một chương trình Visual Basic.NET:
Bước 1: Đầu tiên biên dịch các đoạn chương trình nguồn Visual Basic.NET
Trình biên dịch sẽ dịch chương trình nguồn sang ngôn ngữ Microsoft IL(Microsoft
Intermedia Language-MSIL-Ngôn ngữ trung gian)
MSIL là một tập hợp các lệnh độc lập với CPU có thể chuyển đổi hiệu quả
và nhanh chóng sang ngôn ngữ máy MSIL cung cấp một tập phong phú những lệnh
phục những việc lấy ra, lưu trữ, khởi tạo gọi các phép toán số học luận lý điều khiển
luồng xử lý, truy cập bộ nhớ, xử lý biểu thức Tất cả các đoạn mã được xây dựng
trên MSIL thực thi ở dạng mã được quản lý (managed code)
Bước 2: Chạy MSIL trong môi trường dịch Just In Time (JIT).Do CLR cung
cấp một hay nhiều trình biên dịch JIT cho mỗi kiến trúc máy tính, mã MSIL có thể
được dịch bởi các trình JIT và thực thi trên nhiều kiến trúc máy khác nhau
4.5 KHÁI QUÁT VỀ IDE (INTERGRATED DEVELOPMENT
ENVIRONMENT) CỦA VISUAL BASIC.NET
Cách tạo một Project mới:
Bước 1: Chọn File | New | Project để hiển thị hộp thoại New Project
Bước 2: Để tên mặc định là WindowsApplication1 và chọn thư mục con để
lưu trữ và biên dịch đoạn
Trang 34SVTH: ĐỖ THỊ HƯƠNG- LỚP K1A Trang: 34
IDE của Visual Basic.NET trông dầy đặc và hiện đại.Nó bao gồm các điều
khiển đồ hoạ, cửa sổ Form Disigner, Properties, và Solution Explorer điều khiển các
chi tiết quản lý file dự án ứng dụng Nó cung cấp và hiển thị thông tin nhận dạng về
Project và các file trong Project đó
Một Solution bao gồm nhiều khối Project Solution có thể quản lý dễ dàng
sự phức tạp của các Project và Solution mà các Project đó phụ thuộc Các file
Solution có đuôi mở rộng là.sln và.suo Tạo Solution bằng 1 trong 2 cách:
Cách 1: Tạo một Solution trống, sau đó thêm các Project với các file vào
Solution
Cách 2: Khi tạo Project đầu tiên trong một Solution với hộp thoại New
Project và chọn tuỳ chọn Create Directory For Solution
Cách chạy một chương trình Visual Basic.NET:Chọn Debug | Start (Hoặc
nhấn F5)
Khi muốn chỉnh sửa lại chương trình: Đóng cửa sổ form trở về chế độ thiết
kế Nếu cửa sổ Output không được hiển thị, chọn View | Other Windows | Output
Nhấn vào tab Design để hiển thị form, sau đó nhấn đôi vào form để hiển thị mã Lúc
này trình hiển thị sẽ hiển thị sẵn sàng đoạn chương trình để người lập trình viết mã
4.6 MÃ CHƯƠNG TRÌNH
4 6.1 Kế thừa:
Muốn thêm một chức năng có sẵn vào chương trình của mình, ta phải import
chức năng đó vào đoạn mã Một module có thể chứa nhiều câu lệnh Import Câu
lệnh Import phải xuất hiện trong module trước khi tham chiếu đễn những hàm hay
phương thức được cài đặt sẵn trong các lớp Bằng cách import không gian tên
(namespace) định nghĩa các lớp theo cơ chế này, ta có thể tham chiếu đến các đối
tượng như Form một cách ngắn gọn mà không cần đầy đủ tên truy nhập tường minh
như System Windows.Forms.Form:
Import System.ComponentModel
Import System.Drawing
Trang 35Import System.Windows.Forms.Form
4.6.2 Bắt đầu từ lớp Form1:
Một lớp, như lớp Form1 cần một constructor (phương thức khởi dựng), một
thủ tục (procedure) điều khiển sự khởi động của các đối tượng mới, phương thức
huỷ (destructor) dùng giải phóng đối tượng đó khi nó không cần dùng nữa Visual
Basic cung cấp sự kiện khởi tạo Public Sub New.Phương thưc Sub New sẽ chỉ chạy
một lần là khi lớp được tạo ra, đoạn mã trong phương thức Sub New sẽ luôn luôn
chạy trước các đoạn mã khác trong lớp
4.6.3 Sự kiện:
Sự kiện là một hành động mà ta có thể đáp ứng Các ứng dụng xử lý sự kiện
thực thi đoạn mã nhằm phản hồi một sự kiện Mỗi Form và điều khiển đưa ra một
tập hợp các sự kiện được định nghĩa trước mà ta có thể lập trình Nếu một trong
những sự kiện này xảy ra và bộ xử lý sự kiện chứa đoạn mã, đoạn mã đó sẽ được
gọi Các kiểu của sự kiện phát sinh tuỳ theo đối tượng, nhưng có những kiểu sự kiện
chung đối với hầu hết các điều khiển
4.7 VISUAL BASIC LÀ NGÔN NGỮ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
4.7.1 Đối tượng:
Đối tượng là sự kết nối của dữ liệu và chương trình, là một khối nhỏ làm nên
chương trình hướng đối tượng Một chương trình hướng đối tượng về bản chất là
một tập hợp các đối tượng
Những yếu tố chính của đối tượng:
Properties (Thuộc tính) Biểu diễn đặc tính của một form (Hoặc các đối
tượng khác), như kích cỡ, vị trí hay là font Thuộc tính chứa các giá trị duy
nhất cho mỗi đối tượng
Methods (Phương thức) Đó là những gì mà đối tượng có thể hành động