1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng phần mềm tạo đề thi trắc nghiệm

67 598 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 67
Dung lượng 3,76 MB

Nội dung

ình thức thi trắc nghiệm Hình thức của thi trắc nghiệm rất đa dạng, ví dụ: một câu hỏi có một số phương án trả lời, thí sinh chọn câu trả lời đúng nhất, hay một câu hỏi có nhiều phương

Trang 2

2 | P a g e

M L

N M N S N 3

LỜ MỞ ẦU 6

N 1 Ớ T ỆU UN 7

1.1 ẶT VẤN Ề 7

1.1.1 Xu hướng chung 7

1.1.2 Hình thức thi trắc nghiệm 7

1.2 N ỆM V Ủ N 8

N P N P P T Ự ỆN 9

2.1 SỞ LÝ T UYẾT 9

2.1.1 Ngôn ngữ thực hiện 9

2.1.2 Phương pháp tiếp cận dữ liệu XML 10

2.1.3 Các công nghệ được sử dụng để xây dựng ứng dụng 13

2.2 P ÂN TÍ V T ẾT Ế Ệ T N 15

2.2.1 Khảo sát thực trạng 15

2.2.2 Phân tích hệ thống 17

2.2.3 Thiết kế hệ thống 18

N ẾT QU ẶT 34

3.1 Ớ T ỆU N TR N 34

3.1.1 Sơ đồ chức năng hệ thống 34

3.1.2 Xây dựng các trang chức năng 34

3.1.3 Chi tiết các trang chức năng 35

3.2 ỚN ẪN SỬ N N TR N 46

3.2.1 Người dùng Quản trị viên 46

3.2.2 Người dùng Giảng viên 53

3.2.3 Người dùng Sinh viên 62

N 4 ẾT LUẬN V ỚN P T TR ỂN 65

4.1 ẾT LUẬN 65

4.1.1 Những thuận lợi và khó khăn 65

4.1.2 Kết quả đạt được 65

4.2 ỚN P T TR ỂN 66

TÀI L ỆU T M O 67

Trang 3

3 | P a g e

N M N S N

Bảng 2 1: File XML bản FACULTY 24

Bảng 2 2: File DTD bảng FACULTY 24

Bảng 2 3: File XML bảng DEPARTMENT 24

Bảng 2 4: File DTD bảng DEPARTMENT 25

Bảng 2 5: File XML bảng SUBJECT 25

Bảng 2 6: File DTD bảng SUBJECT 25

Bảng 2 7: File XML bảng CHAPTER 26

Bảng 2 8: File DTD bảng CHAPTER 26

Bảng 2 9: File XML bảng LEVEL 26

Bảng 2 10: File DTD bảng LEVEL 26

Bảng 2 11: File XML bảng TYPE 27

Bảng 2 12: File DTD bảng TYPE 27

Bảng 2 13: File XML bảng CLASS 27

Bảng 2 14: File DTD bảng CLASS 27

Bảng 2 15: File XML bảng QUESTION 28

Bảng 2 16: File DTD bảng QUESTION 28

Bảng 2 17: File XML bảng TEACHER 29

Bảng 2 18: File DTD bảng TEACHER 29

Bảng 2 19: File DTD bảng EXAMINATION 30

Bảng 2 20: File XML bảng EXAMINATION 31

Bảng 2 21: File XML bảng STUDENT 31

Bảng 2 22: File DTD bảng STUDENT 32

Bảng 2 23: File XML bảng USER 32

Bảng 2 24: File DTD bảng USER 32

Bảng 2 25: File XML bảng STUDENT_ANSWER 33

Bảng 2 26: File DTD bảng STUDENT_ANSWER 33

Bảng 3.1: Danh sách các trang chức năng 35

Sơ đồ 3 1: Sơ đồ chức năng hệ thống 34

Hình 2 1: Mô hình quan niệm dữ liệu 21

Hình 3 1: Trang chủ 36

Trang 4

4 | P a g e

Hình 3 2: Trang danh sách bài kiểm tra 36

Hình 3 3: Trang sinh viên làm bài kiểm tra 37

Hình 3 4: Trang sinh viên kết thúc bài làm 37

Hình 3 5: Trang sinh viên xem kết quả bài làm 38

Hình 3 6: Trang sinh viên đối chiếu đáp án bài làm 38

Hình 3 7: Trang sinh viên chờ nhận bài kiểm tra 38

Hình 3 8: Trang thông tin cá nhân giảng viên 39

Hình 3 9: Trang tạo mới câu hỏi 39

Hình 3 10: Trang ngân hàng câu hỏi 40

Hình 3 11: Trang tạo mới đề thi 40

Hình 3 12: Trang ngân hàng đề thi 41

Hình 3 13: Trang in đề thi ra giấy 41

Hình 3 14: Trang quản lý danh sách sinh viên 42

Hình 3 15: Trang quản lý điểm sinh viên 42

Hình 3 16: Trang quản lý học phần của giảng viên 43

Hình 3 17: Trang quản lý khoa của quản trị viên 43

Hình 3 18: Trang quản lý lớp của quản trị viên 44

Hình 3 19: Trang quản lý học phần của quản trị viên 44

Hình 3 20: Trang quản lý giảng viên của quản trị viên 45

Hình 3 21: Trang thêm mới một giảng viên 45

Hình 3 22: Trang cập nhập thông tin giảng viên 46

Hình 3 23: Giao diện vào menu "Quản lý khoa" 46

Hình 3 24: Giao diện nút lệnh “thêm mới khoa” 47

Hình 3 25: Giao diện nhập tên khoa 47

Hình 3 26: Giao diện thêm mới bộ môn trong khoa 47

Hình 3 27: Giao diện cập nhập tên khoa 48

Hình 3 28: Giao diện cập nhật bộ môn trong khoa 48

Hình 3 29: Giao diện vào menu "Quản lý lớp" 49

Hình 3 30: Giao diện thêm mới lớp 49

Hình 3 31: Giao diện cập nhật tên lớp 49

Hình 3 32: Giao diên vào menu "Quản lý học phần" 50

Hình 3 33: Giao diện thêm mới học phần 50

Hình 3 34: Giao diên cập nhật học phần 51

Trang 5

5 | P a g e

Hình 3 35: Giao diện vào menu "Quản lý giảng viên" 51

Hình 3 36: Giao diện thêm mới giảng viên 52

Hình 3 37: Giao diện nhập các thông tin giảng viên 52

Hình 3 38: Giao diện cập nhật thông tin giảng viên 53

Hình 3 39: Giao diện thêm mới câu hỏi 54

Hình 3 40: Giao diện cấu hình nội dung câu hỏi nhiều lựa chọn 54

Hình 3 41: Giao diện cấu hình nội dung câu hỏi Ghép đôi 55

Hình 3 42: Giao diện cấu hình nội dung câu hỏi Trả lời ngắn 55

Hình 3 43: Giao diện quản lý ngân hàng câu hỏi 56

Hình 3 44: Giao diện cấu hình nội dung đề thi 57

Hình 3 45: Giao diện kích hoạt đề thi 57

Hình 3 46: Giao diện in đề thi ra file word 58

Hình 3 47: Giao diện quản lý học phần 58

Hình 3 48: Giao diện thêm mới chương/ chủ đề học phần 59

Hình 3 49: Giao diện quản lý danh sách sinh viên 59

Hình 3 50: Giao diên thêm mới sinh viên vào danh sách 60

Hình 3 51: Giao diện nhập điểm cho sinh viên 60

Hình 3 52: Giao diện xem điểm sinh viên 61

Hình 3 53: Giao diện xem điểm bài kiểm tra của sinh viên 61

Hình 3 54: Giao diện xuất bảng điểm ra file excel 62

Hình 3 55: Giao diện danh sách bài kiểm tra của sinh viên 62

Hình 3 56: Giao diện màn hình sinh viên chuẩn bị làm bài 62

Hình 3 57: Giao diện làm bài của sinh viên 63

Hình 3 58: Giao diện sinh viên xem điểm sau khi kết thúc bài làm 63

Hình 3 59: Giao diện màn hình sinh viên xem đáp án 64

Trang 6

6 | P a g e

LỜ MỞ ẦU

Hiện nay giáo dục Việt Nam đang có những cải cách đổi mới mạnh mẽ cả về hình thức lẫn nội dung Theo xu hướng đó các hình thức tổ chức thi – kiểm tra cũng được đổi mới Chúng ta có thể thấy rõ điều này qua công tác thi tuyển sinh đại học hằng năm Hình thức thi tự luận sẽ được thay thế bằng hình thức thi trắc nghiệm trực quan – đây chính là hình thức thi đảm bảo tính khách quan, chính xác, nhanh chóng và giảm thiểu chi phí tổ chức thi

Trên những nhu cầu đó, trong đồ án thực tập tốt nghiệp này tôi đã nghiên cứu

và xây dựng trang web thi trắc nghiệm trực tuyến cho các học phần Hệ thống thi trắc nghiệm trực tuyến sẽ giúp giảng viên tổ chức thi tốt hơn, đánh giá tốt hơn Sinh viên làm bài nhanh chóng, tiện lợi, và biết ngay kết quả ngay khi hoàn thành bài thi

Dựa trên sự nỗ lực của bản thân, và sự giúp đỡ tận tình của giảng viên Lê

Thị ích ằng trong suốt thời gian thực tập để tôi hoàn thành đồ án thực tập của

mình Tôi xin chân thành cảm ơn và gởi đến cô những lời chúc tốt đẹp nhất

Nha Trang, ngày 26 tháng 06 năm 2013 Sinh viên

Nguyễn Quang ình

Trang 7

lượng dạy và học

Trong thi cử cũng vậy, hình thức thi trắc nghiệm hay trắc nghiệm kết hợp với tin học đã trở thành một trong những hình thức thi phổ biến trên thế giới Với ưu điểm khách quan, chính xác và thuận tiện cho cả người ra đề và thí sinh đi thi, hình thức thi này đã được áp dụng hầu khắp cả nước, đặt biệt là trong các kỳ thi của các

tổ chức lớn có phạm vi toàn cầu như ETS (Educational Testing Service) – tổ chức

các kỳ thi TOEFL, GMAT, GRE , Microsoft – tổ chức các kỳ thi MCSE, MCAD

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ần 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 như: khách quan, trung thực, kiểm tra được nhiều kiến thức, tránh việc học tủ, học vẹt Do đó, trắc nghiệm đang là khuynh hướng của hầu hết các kỳ thi ở

Việt Nam hiện nay

1.1.2 ình thức thi trắc nghiệm

Hình thức của thi trắc nghiệm rất đa dạng, ví dụ: một câu hỏi có một số phương án trả lời, thí sinh chọn câu trả lời đúng nhất, hay một câu hỏi có nhiều phương án trả lời và thí sinh chọn câu trả lời đúng

Tuy nhiên, do độ phổ biến của một số cách thể hiện cũng như về bản chất nội dung, trắc nghiệm thường được hiểu theo một phạm vi hẹp hơn, cụ thể: đó là một hay nhiều bài kiểm tra, trong đó có một hay nhiều câu hỏi, trong mỗi câu hỏi có nhiều phương án trả lời (thường là 4) và nhiệm vụ của thí sinh là chọn ra câu hỏi đúng nhất

Thật ra, trắc nghiệm không chỉ có thế, hình thức thi này rất phong phú, đa dạng về nội dung và hình thức thể hiện Câu hỏi trắc nghiệm không chỉ kiểm tra việc thí sinh lựa chọn một phương án trả lời đúng mà còn có thể là kiểm tra kiến thức kết hợp các ý niệm, kiến thức khác nhau khi tạo đường nối các phương án trả lời có liên quan Trong tình huống này, thể hiện của câu hỏi không còn là một số phương án trả lời với ô đánh dấu để chọn câu trả lời đúng nữa, mà là 2 cột phương

án trả lời được xếp cạnh nhau để thí sinh tạo đường nối giữa các phương án trả lời

có liên quan Hay trong một tính huống khác, câu hỏi trắc nghiệm có thể kiểm tra kiến thức thuộc lòng một đoạn ký tự có ý nghĩa nào đó Lúc này, sẽ không có phương án trả lời nào được đưa ra để lựa chọn Việc trả lời câu hỏi được thực hiện

Trang 8

8 | P a g e

bằng cách điền một đoạn ký tự vào một ô trống cho trước Câu trả lời này đúng khi

nó so khớp với câu trả lời - là một đoạn ký tự - mà người ra đề mong đợi

1.2 N ỆM V Ủ N

Hình thức thi trắc nghiệm đang trở thành một xu hướng tất yếu cho rất nhiều

kỳ thi, đặc biệt là trong các kỳ thi đào tạo theo tín chỉ hiện nay Đã có nhiều phần mềm ra đời để phục vụ cho học sinh, sinh viên làm quen, ôn luyện kiến thức bằng hình thức thi này Đi xa hơn, các trang web hỗ trợ làm bài trắc nghiệm qua mạng xuất hiện đã đem lại rất nhiều lợi ích Người ra đề cũng như người dự thi có thể ở bất cứ nơi đâu và bất cứ khi nào muốn đều có thể thực hiện công việc của mình, không có giới hạn về địa lý, chi phí rẻ do không cần sự di chuyển, phân phối đề thi, thu bài, chấm bài

Mong muốn góp phần vào việc giúp đỡ các giảng viên cũng như sinh viên trong trường tiếp cần với hình thức thi này, tôi đã quyết định tìm hiểu, nghiên cứu

và xây dựng một trang web trắc nghiệm trực tuyến, hỗ trợ cho việc rèn luyện, ôn tập kiến thức một các cơ bản nhất với những chức năng sau đây:

- Quản lý thông tin học phần: Quản lý các chương, chủ đề trong học phần của giảng viên

- Quản lý ngân hàng câu hỏi: Thêm, xóa, sửa, tìm kiếm câu hỏi

- Quản lý ngân hàng đề thi: Thêm, xóa, sửa, xuất đề ra file word

- Quản lý sinh viên: Giảng viên quản lý danh sách sinh viên, quản lý điểm của sinh viên theo từng học phần

- Quản lý điểm: Giảng viên xem điểm của sinh viên theo học phần, nhập điểm của sinh viên trong trường hợp tổ chức thi, kiểm tra trên giấy, cho phép giảng viên kết xuất bảng điểm của sinh viên ra file excel

- Cho phép sinh viên làm bài trên máy tính, sinh viên biết ngay kết quả sau khi kết thúc bài làm

Trang 9

9 | P a g e

N : P N P P T Ự ỆN

2.1 SỞ LÝ T UYẾT

2.1.1 Ngôn ngữ thực hiện

 iới thiệu.NET và ASP.NET

Phần quan trọng của Visual studio.NET là các công nghệ mới với trung tâm

là NET Framework - tập các tính năng Windows được xây dựng trên nền tảng môi trường thực thi ngôn ngữ chung (CLR – Common Language Runtime), trên đó là các lớp thư viện dùng để xây dựng ứng dụng Windows, ứng dụng web và dịch vụ web XML Tất cả ngôn ngữ NET đều được dịch sang dạng ngôn ngữ trung gian của Microsoft (MSIL – Microsoft Intermediate Language) trước rồi mới được dịch sang dạng mã thực thi bởi một trình dịch JIT (Just – in Time) trên nền NET CLR

và MSIL cho phép tất cả các ngôn ngữ NET làm việc với nhau Ví dụ: người dùng

có thể dùng một lớp C# kế thừa từ một đối tượng COM C++/ATL, lớp này lại có thể bắt lỗi từ một chương trình Vbasic Nhờ có sự hỗ trợ từ cấp hệ thống cho phép tích hợp đa ngôn ngữ, người dùng có thể chạy từng bước để bẫy lỗi qua cả

3 ngôn ngữ trong cùng một môi trường phát triển ứng dụng VS NET

Trình dịch JIT cung cấp thêm khả năng bảo mật, tính an toàn lúc thực thi và khả năng chạy trên nhiều nền tảng (Microsoft cho biết sẽ dùng một tập con chuẩn hoá của NET Framework - được gọi là nền tảng ngôn ngữ chung - để xây dựng một thể hiện trên FreeBSD) Hầu hết các phần mềm ứng dụng của Microsoft (kể cả Office) được dùng ngôn ngữ trung gian

ASP NET là một nền tảng ứng dụng web (web application framework) được phát triển và cung cấp bởi Microsoft, cho phép những người lập trình tạo ra những trang web động, những ứng dụng web và những dịch vụ web Lần đầu tiên được đưa ra thị trường vào tháng 2 năm 2002 cùng với phiên bản 1.0 của NET Framwork, là công nghệ nối tiếp của MicrosoftServer Pages (ASP) ASP.NET được biên dịch dưới dạng Common Language Runtime (CLR), cho phép những người lập trình viết mã ASP NET với bất kỳ ngôn ngữ nào được hỗ trợ bởi NET language

 iới thiệu về ngôn ngữ #

C# bao gồm tất cả những hỗ trợ cho cấu trúc, thành phần component, lập trình hướng đối tượng Những tính chất đó hiện diện trong một ngôn ngữ lập trình hiện đại Và ngôn ngữ C# hội đủ những điều kiện như vậy, hơn nữa nó được xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java

Tại sao phải sử dụng ngôn ngữ C# ?

Ngôn ngữ C# là một ngôn ngữ được dẫn xuất từ C và C++, nhưng nó được tạo từ nền tảng phát triển hơn Microsoft bắt đầu với công việc trong C và C++ và thêm vào những đặc tính mới để làm cho ngôn ngữ này dễ sử dụng hơn Nhiều trong số những đặc tính này khá giống với những đặc tính có trong ngôn ngữ Java Không dừng lại ở đó, Microsoft đưa ra một số mục đích khi xây dựng ngôn ngữ này

Trang 10

10 | P a g e

- C# là ngôn ngữ đơn giản: Ngôn ngữ C# đơn giản vì nó dựa trên nền tảng

C và C++ Nếu người dùng thân thiện với C và C++ hoặc thậm chí là Java, người dùng 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

- 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# 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# là ngôn ngữ mạnh mẽ và cũng mềm dẻo: 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 Phần lớn các từ khóa được sử dụng để mô tả thông tin

- 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ó

- C# sẽ là một ngôn ngữ phổ biến: C# là một trong những ngôn ngữ lập trình mới nhất 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

2.1.2 Ph ơng ph p tiếp cận dữ liệu XML

 iới thiệu về OM

h i niệm

Document Object Model (DOM) là một phương pháp tiếp cận dữ liệu

từ XML, trong đó tất cả các thành phần của XML như thẻ, thuộc tính, text đều được xem như là các đối tượng Dựa vào các đối tượng này mà chúng ta có thể trích xuất thông tin, thay đổi thông tin hay truy vấn thông tin dựa vào các hàm mà đối tượng cung cấp

W3C DOM là tiêu chuẩn mà W3School giới thiệu Tiêu chuẩn này không

phụ thuộc vào hệ điều hành hay ngôn ngữ lập trình W3C DOM được chia làm 3 phần: Core DOM là tập hợp các đối tượng dùng cho cấu trúc 1 văn bản; XML

DOM là tập hợp các đối tượng dùng cho cấu trúc 1 văn bản XML; HTML DOM là

tập hợp các đối tượng dùng cho cấu trúc 1 văn bản HTML

c i t ng trong OM

- Tất cả các thành phần trong XML đều được xem như là 1 “node” Trong

đó root là document node, các thẻ là element node, thuộc tính

là attribute node, text là text node, ghi chú là comment node

- Khi parser đọc XML thành đối tượng DOM trên bộ nhớ chúng ta sẽ có 1 cấu trúc cây với các đối tượng là các node và trên cấu trúc này chúng ta sẽ

Trang 11

11 | P a g e

thấy mối quan hệ phân tầng giữa các node Trên cùng là thẻ root (document node), từ node này có thẻ rẽ nhánh đến các tầng thấp hơn của cấu trúc cây cho đến khi chạm tới text node là tầng thấp nhất của cấu trúc này

- Mối quan hệ giữa các node được mô tả bằng thuật ngữ “parent” và “child” (cha và con) Thuật ngữ “leafnode” dùng để chỉ các node không

có child node

 iới thiệu về S X

Simple API for XML (SAX) là một phương pháp phân tích dữ liệu XML

dựa vào sự kiện trong quá trình đọc file XML từ trên xuống dưới Như vậy để dùng phương pháp này các ngôn ngữ lập trình cần định nghĩa ra các sự kiện và các hàm tương ứng với từng sự kiện Khi đó người lập trình sẽ viết class dựa trên các hàm

mà ngôn ngữ lập trình cung cấp và dùng class này để phân tích dữ liệu XML Trong quá trình phân tích, khi gặp sự kiện nào parser sẽ gọi các đoạn code trong hàm tương ứng sự kiện để thực thi Ví dụ như trong Java, khi parser gặp sự kiện mở thẻ, parser sẽ gọi lại các đoạn code trong hàm “startElement” để thi hành

Tuy nhiên, SAX không ghi nhớ XML như một cấu trúc cây trên bộ nhớ như DOM SAX chỉ xây dựng cấu trúc của nhiệm vụ đang thi hành trên bộ nhớ do đó SAX sẽ thực hiện nhanh hơn và ít tốn tài nguyên hơn

 iới thiệu về DTD

Tổng quan X c ịnh nội dung văn b n

Có hai phương pháp xác định nội dung văn bản XML:

- Document Type Definition ( ịnh nghĩa kiểu văn b n của Văn b n), hoặc DTD: Một DTD xác định các phần tử có thể xuất hiện trong văn bản,

thứ tự chúng xuất hiện, cách chúng được sắp xếp trong cái khác, và các chi tiết cơ bản trong cấu trúc văn bản XML Các DTD là bộ phận của chi tiết kỹ thuật XML gốc, và chúng rất giống với các DTD SGML

- XML Schema (L c ồ XML): Một lược đồ XML có thể xác định tất cả

các cấu trúc văn bản được định nghĩa trong một DTD, nhưng nó cũng có thể xác định chủng loại dữ liệu và các quy tắc phức tạp hơn DTD có thể làm

Trang 12

12 | P a g e

W3C đã phát triển chi tiết kỹ thuật lược đồ XML trong vài năm sau chi tiết

kỹ thuật XML gốc

X c ịnh kiểu cho Văn b n

Một DTD cho phép chỉ ra cấu trúc của một văn bản XML Dưới đây là một DTD xác định cấu trúc cơ bản của văn bản địa chỉ:

<! address.dtd >

<!ELEMENT address (name, street, city, state, postal-code)>

<!ELEMENT name (title? first-name, last-name)>

<!ELEMENT title (#PCDATA)>

<!ELEMENT first-name (#PCDATA)>

<!ELEMENT last-name (#PCDATA)>

<!ELEMENT street (#PCDATA)>

<!ELEMENT city (#PCDATA)>

<!ELEMENT state (#PCDATA)>

<!ELEMENT postal-code (#PCDATA)>

DTD này xác định tất cả các phần tử sử dụng trong văn bản mẫu

Có một số ký tự thay thế được sử dụng trong các DTD để biểu thị mức độ xuất hiện thường xuyên (hoặc có xuất hiện hay không) của một số thứ trong văn bản XML Đây là vài ví dụ với ý nghĩa của chúng:

- <!ELEMENT address (name, city, state)>

Phần tử <address> phải chứa một phần tử <name>, một phần

tử <city>, và một phần tử <state>, theo đúng trật tự đó và tất cả các phần tử

đều bắt buộc Dấu phẩy biểu thị một danh sách

- <!ELEMENT name (title?, first-name, last-name)>

Điều này có nghĩa là phần tử <name> chứa một phần tử <title> tùy ý, tiếp theo một phần tử <first-name> và một phần tử <last-name> Dấu hỏi biểu thị một giá trị là tùy ý, nó có thể xuất hiện một lần hoặc không

- <!ELEMENT addressbook (address+)>

Một phần tử <addressbook> chứa một hoặc hơn một phần

tử <address> Dấu cộng biểu thị một giá trị ít nhất phải xuất hiện một lần, nhưng cũng có thể nhiều hơn một

- <!ELEMENT private-addresses (address*)>

Một phần tử <private-addresses> không chứa hoặc chứa nhiều phần

tử <address> Dấu hoa thị biểu thị một giá trị có thể xuất hiện bao nhiêu lần

cũng được, kể cả không lần nào

Trang 13

tử <last-name> Nói cách khác, cả <middle-initial> và <middle-name> đều tùy ý, tuy nhiên, chỉ có thể có một trong hai phần tử đó xuất hiện trong tài liệu XML Gạch thẳng đứng biểu thị một danh sách lựa chọn, chúng ta có thể chọn một giá trị duy nhất trong danh sách Ngoài ra trong ví dụ này sử dụng các dấu ngoặc đơn để nhóm các phần tử nhất định lại với nhau, và còn đặt dấu hỏi đứng sát với nhóm

- <!ELEMENT name ((title?, first-name, last-name) | (surname, name, given-name))>

mothers-Phần tử <name> có thể chứa một hoặc hai dãy: một phần tử tùy

ý <title>, theo sau bằng một phần tử <first-name>và một phần tử name>; hoặc một phần tử <surname>, một <mothers-name>, và một <given-name>

X c ịnh thuộc tính

Chúng ta có thể xác định thuộc tính cho các yếu tố sẽ xuất hiện trong văn bản XML Một tài liệu DTD có thể:

- Xác định những thuộc tính nào là bắt buộc

- Xác định các giá trị mặc định cho thuộc tính

- Lên danh sách tất cả các giá trị hợp lệ cho một thuộc tính đã cho

Ví dụ: Thuộc tính state được định nghĩa thêm cho phần tử <city> trong tài liệu DTD như sau:

<!ELEMENT city (#PCDATA)>

<!ATTLIST city state CDATA #REQUIRED>

Cái tên state là tên của thuộc tính, và từ khóa CDATA và #REQUIRED chỉ cho bộ kiểm ngữ biết rằng thuộc tính state bao gồm chữ cái và bắt buộc phải có (nếu nó là tùy ý thì kiểu sẽ là CDATA #IMPLIED)

2.1.3 c công nghệ c sử dụng ể xây dựng ứng dụng

 AJAX

AJAX là một công nghệ cho phép lập trình bất đồng bộ trong ứng dụng Web Thông thường người dùng muốn thay đổi thông tin từ trang Web bằng cách nhấp vào các nút lệnh (button) hay các liên kết (link) để submit yêu cầu về Web Server để thay đổi nội dung trang Web (postback) Như vậy toàn bộ trang Web phải được xử lý lại do đó tốn khá nhiều thời gian và gia tăng sự phản hồi các trang

Trang 14

14 | P a g e

Web, Công nghệ Ajax ( Asynchronous JavaScript and XML) cho phép chỉ các thông tin nào cần thay đổi được gửi về Sever xử lý, sau đó Server sẽ xử lý và trả kết quả về cho Client Sau đây là một số thông tin chung về Ajax:

- AJAX bắt đầu phổ biến từ năm 2005 bởi Google (với một ứng dụng Google Suggest, Google Maps, Gmail)

- AJAX không phải là ngôn ngữ lập trình mới, mà nó là một công nghệ mới

để tạo ra một ứng dụng web nhỏ hơn, nhanh hơn, tốt hơn và giao diện thân thiện với người dùng hơn

- AJAX dựa trên các thành phần HTML trước đây:

do đó trang web không reload lại

- AJAX sử dụng cơ chế làm việc bất đồng bộ (Asynchonous), nghĩa là trong khi đối tượng XMLHttpRequest thực hiện gửi yêu cầu đến Web server thì Web browser vẫn tiếp tục xử lý các công việc khác mà không cần Web server hoàn thành việc trả lời lại yêu cầu đó Nhiều công việc được xử lý song song với nhau, điều này khác với cách lập trình web cổ điển trước đây,

do đó ứng dụng web sẽ chạy nhanh hơn

- AJAX là một kĩ thuật của Web browser và độc lập với Web server

- Tất cả Web có sử dụng AJAX gọi là Web 2.0

- AJAX có thể gởi và nhận dữ liệu với nhiều định dạng khác nhau, bao gồm XML, HTML và thậm chí là file text

 JQUERY

JQuery là một Javascript Framework, hỗ trợ các nhà lập trình web tạo ra các tương tác trên website một cách nhanh nhất JQuery được khởi xướng bởi John Resig (hiện là trưởng dự án của Mozzila) vào năm 2006, jQuery có mã nguồn mở

và hoàn toàn miễn phí JQuery có một cộng đồng sử dụng đông đảo và được rất nhiều lập trình viên tham gia hoàn thiện, phát triển và viết plugin

Ưu điểm khi sử dụng Jquery:

- Hỗ trợ tốt việc xử lí các vấn đề thường gặp (DOM, AJAX )

- Tương thích nhiều trình duyệt web phổ biến

Trang 15

15 | P a g e

- Nhỏ gọn, dễ dùng, có nhiều tài liệu hướng dẫn sử dụng chi tiết

- Ít xung khắc với các thư viện Javascript khác

- Plugin phong phú

Jquery giúp người lập trình làm được những gì?

ớng tới c c thành phần trong TML: Jquery có thể giúp cho người

dùng có thể chọn bất cứ thành phần nào của tài liệu HTML một cách dễ dàng dựa vào jquery selector

Thay ổi giao diện của một trang web Jquery giúp định dạng một trang

web và hiển thị trên hầu hết các trình duyệt Jquery cũng có thể thay đổi những định dạng CSS đã được áp dụng lên bất cứ thành phần nào của HTML ngay cả khi trang web được trình duyệt load thành công

Thay ổi nội dung của tài liệu Jquery có thể thay đổi bề ngoài của trang

web và nội dung của tài liệu HTML Jquery có thể thêm, bớt nội dung trên trang web, thậm chí cả cấu trúc HTML của một trang web cũng có thể được viết lại và

mở rộng

T ơng t c với ng ời dùng Jquery có nhiều phương thức để tương tác với

người dùng và tối giản các mã Event trong code HTML

Tạo hiệu ứng ộng Jquery hỗ trợ nhiều hiệu ứng động như mờ dần,

slideUp, slideDown

ỗ tr jax Jquery giúp người thiết kế web tạo ra những trang web tương

tác cực tốt và nhiều tính năng Thư viện jQuery loại bỏ sự phức tạp của trình duyệt trong quá trình thực thi và cho phép người phát triển web có thể tập trung vào các tính năng đầu cuối

2.2 P ÂN TÍ V T ẾT Ế Ệ T N

2.2.1 h o sát thực trạng

Trước đây, khi chưa có sự giúp đỡ của phần mềm quản lý trắc nghiệm thì công tác tổ chức thi qua rất nhiều giai đoạn: in đề ra giấy, tổ chức thi trên giấy, thu bài thi về chấm và tập hợp điểm, công bố kết quả thi Sau vài ngày thì sinh viên mới biết được kết quả của bài làm

- Câu hỏi trắc nghiệm rất đa dạng:

 Đúng hoặc sai: Đưa ra một nhận định, sinh viên phải lựa chọn một trong hai phương án trả lời để khẳng định nhận định đó là đúng hay sai

 Nhiều lựa chọn: Đưa ra một nhận định và 4-5 phương án trả lời, sinh viên phải chọn để đánh giá vào một phương án đúng hoặc phương án tốt nhất

 Câu ghép đôi: Cho 2 cột nhóm từ, đòi hỏi sinh viên phải ghép nối đúng từng cặp nhóm từ ở hai cột với nhau sao cho phù hợp nội dung

 Câu trả lời ngắn: Là câu trắc nghiệm đòi hỏi sinh viên chỉ trả lời bằng câu rất ngắn

Trang 16

Hiện nay, đã có một số phần mềm hỗ trợ thi trắc nghiệm nhưng vẫn còn một

- Hỗ trợ tạo đề thi trên giấy

- Hỗ trợ trình soạn thảo linh hoạt

- Hỗ trợ tạo đề với các loại trắc nghiệm

- Hỗ trợ nhập ngân hàng câu hỏi từ file word

- Tính bảo trì và cập nhật phức tạp

Test Mixer - Hỗ trợ tạo đề và trộn đề thi từ

đề thi gốc

- Hỗ trợ nhập danh sách câu hỏi

từ file word sau đó sinh đề tự động

- Có khả năng chuyển nhập đề thi(tự luận và trắc nghiệm) một lần vào phần mềm từ file word

- Không hỗ trợ quản lý ngân hàng câu hỏi

- Không hỗ trợ quản lý ngân hàng đề thi

- Không hỗ trợ thi trực tuyến

- Hỗ trợ ôn thi

- Chưa hỗ trợ nhiều loại câu hỏi

- Chi phí triển khai cao

- Chưa hỗ trợ sinh viên biết kết quả sau khi kết thúc bài làm

Trang 17

- Tổ chức thi trực tuyến, tin học hóa nghiệp vụ các khâu kiểm tra và chấm bài

- Quản lý đề thi theo học phần

- Quản lý ngân hàng câu hỏi theo học phần

- Quản lý điểm theo học phần

- Nhập danh sách sinh viên từ file excel

- Sinh viên biết ngay kết quả và đáp án sau khi kết thúc bài làm

- Kết xuất bảng điểm của sinh viên ra file excel

- Hỗ trợ thi ở phòng học lý thuyết: Xuất đề thi ra file word để sinh viên có thể làm bài trên giấy

Ngoài ra giảng viên có thể biên soạn đề thi trắc nghiệm, hệ thống còn cho phép giảng viên tạo đề kiểm tra giữa kỳ theo quy định sau:

- Đối với đề thi kết thúc học phần: Theo Quyết định số 1450 – ĐHNT năm

2009 của Trường Đại học Nha Trang

- Đối với đề kiểm tra: Giảng viên có thể quyết định số lượng câu hỏi, thời gian làm bài cho mỗi đề Đề kiểm tra có thể dựa theo từng chủ đề, hoặc có thể kết hợp nhiều chủ đề với nhau

Trang 18

 Phân hệ tham gia kiểm tra

- Đối tượng: Sinh viên

- Nội dung:

 Tham gia các bài kiểm tra trực tuyến trên máy tính

 Biết ngay kết quả bài làm sau khi kết thúc bài làm

 Y u cầu phi chức năng

- Hệ thống được cài đặt trên một máy chủ, tại máy trạm người dùng truy cập vào internet để sử dụng Các đối tượng sử dụng trên hệ thống: Quản trị viên, Giảng viên, Sinh viên

- Yêu cầu phần cứng, phần mềm máy tính được cài đặt hệ thống cũng như máy tính người dùng:

 Yêu cầu máy tính phải kết nối internet

 Phần mềm: Cài đặt NET Framwork, trình duyệt web IE 6 trở lên

2.2.3 Thiết kế hệ th ng

2.2.3.1 Tính năng của hệ th ng

Trang 19

19 | P a g e

 Qu n lý ngân hàng câu hỏi

- Giảng viên có thể biên soạn các dạng câu hỏi khác nhau tùy theo đặc thù của học phần Các câu hỏi được tổ chức theo chương/ chủ đề học phần giúp việc sinh đề bao quát chương trình học

- Cho phép tích hợp trình soạn thảo mạnh mẽ giúp việc biên soạn câu hỏi đa dạng, phong phú hơn

- Hỗ trợ tìm kiếm thuận lợi, quá trình quản lý linh hoạt

- Hỗ trợ các dạng câu hỏi: Lựa chọn đúng sai, nhiều lựa chọn, trả lời ngắn, ghép nối

- Thêm mới một khoa, thêm những bộ môn thuộc khoa đó

- Cập nhập những thông tin khoa, bộ môn thuộc khoa

 Qu n lý gi ng vi n lớp học phần theo khoa

- Bộ phận quản lý thêm mới, cập nhật tài khoản cho giảng viên, gồm những thông tin họ tên, thông tin về các học phần, lớp học giảng viên đó sẽ dạy

- Thêm mới, cập nhật các lớp học theo từng khoa

- Thêm mới, cập nhật các học phần theo khoa

 Qu n lý sinh vi n

- Giảng viên quản lý danh sách sinh viên theo lớp giảng viên dạy

- Danh sách sinh viên được tạo từ file excel, việc tạo mới, chỉnh sửa dễ dàng

- Thêm hoặc cập nhật danh sách sinh viên dễ dàng, thuận tiện

- Giảng viên có thể reset mật khẩu cho sinh viên khi sinh viên yêu cầu

 Qu n lý iểm

- Giảng viên quản lý điểm của sinh viên theo học phần, lớp và bài kiểm tra

- Trong trường hợp kiểm tra trên giấy, giảng viên nhập điểm trực tiếp cho mỗi sinh viên

- Giảng viên xuất bảng điểm của bài kiểm tra ra file excel

 Qu n lý ch ơng chủ ề theo học phần

Trang 20

- Sau khi kết thúc bài làm, sinh viên có thể biết điểm của bài kiểm tra đó

- Sinh viên có thể xem kết quả bài làm của mình với kết quả của đề kiểm tra

2.2.3.2 Xây dựng mô hình cơ sở dữ liệu

a Mô hình quan niệm dữ liệu

Trang 21

21 | P a g e

Hình 2 1: Mô hình quan niệm dữ liệu

Trang 22

1 TeacherID Mã giảng viên

2 TeacherFirstName Họ giảng viên

3 TeacherLastName Tên giảng viên

4 Email Email giảng viên

 ng – CHAPTER

Trang 23

1 TypeID Mã loại câu hỏi

2 TypeName Tên loại câu hỏi

 ng – LEVEL

1 LevelID Mã cấp độ câu hỏi

2 LevelName Tên cấp độ câu hỏi

 ng – QUESTION

1 QuestionID Mã câu hỏi

2 QuestionContent Nội dung câu hỏi

 ng – STUDENT

1 StudentID Mã chương/chủ đề

2 StudentFirstName Họ sinh viên

3 StudentLastName Tên sinh viên

4 DateOfBirth Ngày sinh

Trang 24

24 | P a g e

1 StudentAnswer Đáp án sinh viên

2 Score Điểm của sinh viên

<!ELEMENT Facultys (Faculty)*>

<!ELEMENT Faculty (#PCDATA)*>

<!ATTLIST Faculty

FacultyID ID #REQUIRED FacultyName CDATA #REQUIRED

>

< Departments >

Bảng 2 1: File XML bảng FACULTY

Bảng 2 2: File DTD bản FACULTY

Bảng 2 3: File XML bảng DEPARTMENT

Trang 25

<!ELEMENT Subjects (Subject)* >

<!ELEMENT Subject (#PCDATA) >

<!ELEMENT Departments (Department)*>

<!ELEMENT Department (#PCDATA)*>

<!ATTLIST Department

DepartD ID #REQUIRED DepartName CDATA #REQUIRED FacultyID IDREF #REQUIRED

>

Bảng 2 4: File DTD bảng DEPARTMENT

Bảng 2 5: File XML bảng SUBJECT

Bảng 2 6: File DTD bảng SUBJECT

Trang 26

<!ELEMENT Chapters (Chapter)* >

<!ELEMENT Chapter (#PCDATA) >

<!ELEMENT Levels (Level)* >

<!ELEMENT Level (#PCDATA) >

Trang 27

<!ELEMENT Types (Type)* >

<!ELEMENT Type (#PCDATA) >

<!ELEMENT Classes (Class)* >

<!ELEMENT Class (#PCDATA) >

Trang 28

28 | P a g e

 QUESTION

< Questions >

LevelID ="1" Active ="true" TypeID ="3" ChapterID ="CTSUB2-4-5">

LevelID ="1" Active ="true" TypeID ="3" ChapterID =CTSUB2-4-4">

lệnh:</ Text >

<!ELEMENT Questions (Question)* >

<!ELEMENT Question (Text, Answer) >

<!ELEMENT Text (#PCDATA) >

<!ELEMENT Answer (#PCDATA) >

<!ATLIST Question

ID ID #REQUIRED

TeacherID IDREF #REQUIRED

Date CDATA #REQUIRED

Update CDATA #REQUIRED

Active CDATA #REQUIRED

LevelID IDREF #REQUIRED

TypeID IDREF #REQUIRED

ChapterID IDREF #REQUIRED

>

Bảng 2 15: File XML bảng QUESTION

Bảng 2 16: File DTD bảng QUESTION

Trang 29

29 | P a g e

 TEACHER

<!ELEMENT Teachers (Teacher)* >

<!ELEMENT Teacher (FirstName, LastName, Classes, Subjects) >

<!ELEMENT FirstName (#PCDATA) >

<!ELEMENT LastName (#PCDATA) >

<!ELEMENT Classes (Class)+ >

<!ELEMENT Subject (Subject)+ >

ClassID IDREF #REQUIRED

FacultyID IDREF #REQUIRED

>

<!ATLIST Subject

SubjectID IDREF #REQUIRED

FacultyID IDREF #REQUIRED

>

< Teachers >

Trang 30

30 | P a g e

 EXAMINATION

<!ELEMENT Exam (Questions) >

<!ELEMENT Questions (Question)+ >

<!ELEMENT Question (Text, Answer) >

<!ELEMENT Text (#PCDATA) >

<!ELEMENT Answer (#PCDATA) >

<!ATLIST Question

ID ID #REQUIRED

TeacherID IDREF #REQUIRED

Date CDATA #REQUIRED

Update CDATA #REQUIRED

Active CDATA #REQUIRED

LevelID IDREF #REQUIRED

TypeID IDREF #REQUIRED

ChapterID IDREF #REQUIRED

<!ATLIST Exam

TeacherID IDREF #REQUIRED

ClassID IDREF #REQUIRED

SubjectID IDREF #REQUIRED

ExamID ID #REQUIRED

SubjectID ID #REQUIRED

Title CDATA #REQUIRED

Description CDATA

CreateDate CDATA #REQUIRED

Time CDATA #REQUIRED

ExamDate CDATA #REQUIRED

TC CDATA #REQUIRED

Active CDATA #REQUIRED

>

Bảng 2.19: File DTD bảng EXAMINATION

Trang 31

31 | P a g e

 STUDENT

< Exam TeacherID ="TCR2-2" ExamID ="SUB2-4-TCR2-2-CLS2-2-20136410219"

SubjectID ="SUB2-4" Title ="Tin hoc kiem tra" Description ="" TC ="2" Time ="60"

ExamDate ="04/06/2013" ClassID ="CLS2-2" Active ="false" CreateDate ="04/06/2013">

LevelID ="1" Active ="true" TypeID ="3" ChapterID ="CTSUB2-4-5">

LevelID ="1" Active ="true" TypeID ="3" ChapterID =CTSUB2-4-4">

< STUDENTS xmlns ="http://tempuri.org/XMLSchema1.xsd" ClassID ="CLS2-2" >

Trang 32

32 | P a g e

 USER

<!ELEMENT STUDENTS (Student)* >

<!ELEMENT Student (FirstName, LastName, DateOfBirth, Sex, PlaceOfBirth, ClassName) >

<!ELEMENT FirstName (#PCDATA) >

<!ELEMENT LastName (#PCDATA) >

<!ELEMENT DateOfBirth (#PCDATA) >

<!ELEMENT Sex (#PCDATA) >

<!ELEMENT PlaceOfBirth (#PCDATA) >

<!ELEMENT ClassName (#PCDATA) >

<!ELEMENT Users (User)* >

<!ELEMENT User (Password) >

<!ELEMENT Password (#PCDATA) >

Trang 33

< Question QuestionID ="47" TypeID ="3" Studentanswer ="1B6" examanswer ="1b6" />

examanswer ="1048576" />

<!ELEMENT Students (Student)* >

<!ELEMENT Student (Answer) >

<!ELEMENT Answer (Question)+ >

<!ELEMENT Question (#PCDATA) >

<!ATLIST Student

StudentID IDREF #REQUIRED

score CDATA #REQUIRED

>

<!ATLIST Question

QuestionID IDREF #REQUIRED

TypeID IDREF #REQUIRED

Studentanswer CDATA #REQUIRED

examanswer CDATA #REQUIRED

>

Bảng 2.25: File XML bảng STUDENT_ANSWER

Bảng 2.26: File DTD bảng STUDENT_ANSWER

Ngày đăng: 20/03/2015, 08:48

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w