Tải bản đầy đủ (.pdf) (75 trang)

Xây dựng hệ thống quản lý và thi trắc nghiệm theo mô hình ASP.NET MVC

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.78 MB, 75 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DUY TÂN

NGUYỄN NGỌC PHƯƠNG

XÂY DỰNG HỆ THỐNG QUẢN LÝ VÀ
THI TRẮC NGHIỆM THEO MƠ HÌNH
ASP.NET MVC

KHĨA LUẬN CỬ NHÂN CƠNG NGHỆ THƠNG TIN

Đà Nẵng, 2013


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DUY TÂN

NGUYỄN NGỌC PHƯƠNG - 152122508
Tên đề tài:

XÂY DỰNG HỆ THỐNG QUẢN LÝ VÀ
THI TRẮC NGHIỆM THEO MƠ HÌNH
ASP.NET MVC

GIẢNG VIÊN HƯỚNG DẪN
TH.S NGUYỄN THỊ MINH THI

NIÊN KHÓA 2009 - 2013


LỜI CẢM ƠN



Em xin chân thành cảm ơn các thầy cô trong Khoa Công nghệ thông tin, trường
Đại học Duy Tân, đã tạo điều kiện để cho em thực hiện đề tài đồ án này.
Xin cảm ơn cô giáo Th.S Nguyễn Thị Minh Thi, người đã nhiệt tình hướng dẫn,
chỉ bảo em trong suốt quá trình thực hiện đề tài.
Mặc dù đã cố gắng hoàn thiện đồ án với tất cả sự nổ lực của bản thân, tuy nhiên,
do việc nghiên cứu và xây dựng chương trình trong thời gian có hạn nên đồ án “Xây
dựng hệ thống quản lý và thi trắc nghiệm theo mơ hình ASP.Net MVC” chắc chắn
sẽ khơng thể tránh được thiếu sót, nên em rất mong nhận được sự quan tâm, thơng
cảm, góp ý và tận tình chỉ bảo của các thầy cơ giáo và các bạn để chương trình này
càng được hồn thiện hơn.
Một lần nữa em xin chân thành cảm ơn và luôn mong nhận được sự đóng góp
của tất cả mọi người.

Đà Nẵng, ngày 20 tháng 4 năm 2013
Sinh viên thực hiện

Nguyễn Ngọc Phương


LỜI CAM ĐOAN

Em xin cam đoan đồ án “Xây dựng hệ thống quản lý và thi trắc nghiệm theo mơ
hình ASP.Net MVC” là cơng trình nghiên cứu của riêng cá nhân em, dưới sự hướng
dẫn từ Th.S Nguyễn Thị Minh Thi. Các nội dung nghiên cứu được lấy từ nhiều
nguồn tài liệu khác nhau một cách hợp pháp.
Em xin chịu hồn tồn trách nhiệm và chấp nhận mọi hình thức kỷ luật theo quy
định cho lời cam đoan của mình.

Đà Nẵng, ngày 20 tháng 04 năm 2013

Người cam đoan

Nguyễn Ngọc Phương


MỤC LỤC
LỜI CẢM ƠN
LỜI CAM ĐOAN
MỤC LỤC
DANH MỤC CÁC TỪ VIẾT TẮT
DANH MỤC CÁC HÌNH
MỞ ĐẦU ................................................................................................................ 1
1.

Lý do chọn đề tài .......................................................................................... 1

2.

Ý nghĩa khoa học và thực tiễn của đề tài ....................................................... 1

3.

Mục tiêu của đề tài........................................................................................ 2

4.

Đối tượng và phạm vi nghiên cứu ................................................................. 2

5.


Phương pháp nghiên cứu .............................................................................. 3

Chương 1: GIỚI THIỆU MƠ HÌNH THI TRẮC NGHIỆM VÀ LẬP TRÌNH
ASP.NET MVC...................................................................................................... 4
1.1. MƠ HÌNH THI TRẮC NGHIỆM ................................................................. 4
1.1.1. Trắc nghiệm là gì? ................................................................................. 4
1.1.2. Một số dạng câu hỏi trắc nghiệm............................................................ 5
1.1.2.1. Câu hỏi kiểu nhiều phương án chọn................................................. 5
1.1.2.2. Câu hỏi đúng sai .............................................................................. 6
1.1.2.3. Câu hỏi điền khuyết......................................................................... 7
1.1.2.4. Câu hỏi ghép hợp ............................................................................ 7
1.2. CÔNG CỤ VÀ MÔI TRƯỜNG PHÁT TRIỂN ............................................ 8
1.2.1. Lựa chọn công nghệ và môi trường phát triển ........................................ 8
1.2.1.1. Giới thiệu ASP.NET........................................................................ 8
1.2.1.2. Giới thiệu chung hệ quản trị cơ sở dữ liệu ..................................... 10
1.2.2. Tổng quan về mơ hình ASP.NET MVC ............................................... 12
1.2.2.1. Khái qt về mơ hình MVC........................................................... 12
1.2.2.2. Xây dựng ứng dụng đơn giản với ASP.NET MVC ........................ 15
Chương 2 : PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG .................................... 22
2.1. PHÂN TÍCH HIỆN TRẠNG .................................................................... 22


2.1.1. Hình thức thi trắc nghiệm truyền thống ................................................ 22
2.1.2. Hạn chế khi thi trắc nghiệm truyền thống ............................................. 22
2.2. ĐẶC TẢ YÊU CẦU ................................................................................. 23
2.2.1. Yêu cầu chức năng ............................................................................... 24
2.2.2. Yêu cầu phi chức năng ......................................................................... 25
2.3. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ............................................... 25
2.3.1. Biểu đồ use case................................................................................... 25
2.3.1.1. Biểu đồ use case của tác nhân quản trị ........................................... 26

2.3.1.2. Biểu đồ use case của tác nhân giáo viên ........................................ 36
2.3.1.3. Biểu đồ use case của tác nhân sinh viên......................................... 38
2.3.2. Biểu đồ trình tự .................................................................................... 40
2.3.2.1. Biều đồ trình tự đăng nhập hệ thống quản lý ................................. 40
2.3.2.2. Biểu đồ trình tự tạo đề thi .............................................................. 41
2.3.2.3. Biểu đồ trình tự thi ........................................................................ 41
2.3.2.4. Biểu đồ trình tự cập nhật mơn thi .................................................. 42
2.3.2.5. Biểu đồ trình tự cập nhật thành viên .............................................. 43
2.3.2.6. Biểu đồ trình tự cập nhật câu hỏi ................................................... 44
2.3.3. Biểu đồ lớp .......................................................................................... 45
2.3.4. Biểu đồ hoạt động ................................................................................ 46
2.3.4.1. Biểu đồ hoạt động đăng nhập ........................................................ 46
2.3.4.2. Biểu đồ hoạt động thi của sinh viên ............................................... 47
2.3.5. Biểu đồ triển khai ................................................................................. 48
2.3.6. Mơ hình quan hệ thực thể ..................................................................... 49
2.3.6.1. Mơ hình E-R ................................................................................. 49
2.3.6.2. Thiết kế cơ sở dữ liệu vật lý .......................................................... 50
Chương 3 : XÂY DỰNG VÀ CÀI ĐẶT HỆ THỐNG........................................ 54
3.1. GIAO DIỆN ỨNG DỤNG ......................................................................... 54
3.1.1. Màn hình đăng nhập ............................................................................. 54
3.1.2. Màn hình quản lý sinh viên .................................................................. 54
3.1.3. Màn hình quản lý khóa học .................................................................. 55
3.1.4. Màn hình tìm kiếm ............................................................................... 55


3.1.5. Màn hình quản lý câu hỏi ..................................................................... 56
3.1.6. Màn hình thi......................................................................................... 56
3.2. MỘT SỐ ĐOẠN MÃ CHÍNH ................................................................... 57
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN........................................................... 63
1.


Kết quả đạt được......................................................................................... 63

2.

Hướng phát triển ......................................................................................... 63

Tài liệu tham khảo


DANH MỤC CÁC TỪ VIẾT TẮT
Các từ Nghĩa viết tắt

Nghĩa tiếng việt

viết tắt
MVC

Model-View-Controller

Mơ hình- Hiển thị- Điều khiển

SQL

Structured Query Language

Ngơn ngữ truy vấn có cấu trúc

GUI


Graphic User Interface

Giao diện người dùng đồ họa

TDD

Test driven developer

Phát triển điều hướng bởi kiểm thử

E-R

Entity Relationship

Quan hệ thực thể

HTML

Hyper Text Markup Language

Ngôn ngữ đánh dấu siêu văn bản

HTTP

Hyper Text Transfer Protocol

Giao thức truyền siêu văn bản

CSS


Cascading Style Sheets

Bảng kiểu xếp chồng

PC

Personal Computer

Máy tính cá nhân

ASP

Active Server Page

AJAX

Asynchronous JavaScript And XML


DANH MỤC CÁC HÌNH
Hình 1.1: Mơ hình ASP.NET WebForm ................................................................. 8
Hình 1.2: Mơ hình MVC....................................................................................... 12
Hình 1.3: Mơ hình trình tự MVC .......................................................................... 13
Hình 1.4: Tạo mới dự án ASP.NET MVC ............................................................ 15
Hình 1.5: Tạo một dự án unit test.......................................................................... 16
Hình 1.6: Giao diện Solution của dự án ................................................................ 16
Hình 1.7: Giao diện tạo CSDL của dự án .............................................................. 17
Hình 1.8: Tạo các thuộc tính cho CSDL của dự án ............................................... 17
Hình 1.9: Tạo Model ............................................................................................ 18
Hình 1.10: Tạo một database model với Entity Data Model Wizard...................... 18

Hình 1.11: Entity Data Model Designer ................................................................ 19
Hình 1.12: Tạo Controller ..................................................................................... 19
Hình 1.13: Giao diện Solution sau khi tạo controller ............................................. 20
Hình 2.1: Các tác nhân của hệ thống ..................................................................... 25
Hình 2.2: Biểu đồ use case của tác nhân quản trị .................................................. 26
Hình 2.3: Biểu đồ use case của chức năng quản lý khóa học ................................. 28
Hình 2.4: Biểu đồ use case của chức năng quản lý mơn thi ................................... 29
Hình 2.5: Biểu đồ use case của chức năng quản lý thành viên hệ thống ................ 30
Hình 2.6: Biểu đồ use case của chức năng quản lý giáo viên................................. 31
Hình 2.7: Biểu đồ use case của chức năng quản lý sinh viên ................................. 32
Hình 2.8: Biểu đồ use case của chức năng tìm kiếm.............................................. 33
Hình 2.9: Biểu đồ use case của chức năng báo cáo thống kê ................................. 34
Hình 2.10: Biểu đồ use case của tác nhân giáo viên .............................................. 36
Hình 2.11: Biểu đồ use case của tác nhân sinh viên .............................................. 38
Hình 2.12: Biểu đồ trình tự đăng nhập hệ thống quản lý ....................................... 40
Hình 2.13: Biểu đồ trình tự tạo đề thi .................................................................... 41
Hình 2.14: Biểu đồ trình tự thi .............................................................................. 41
Hình 2.15: Biểu đồ trình tự cập nhật mơn thi ........................................................ 42
Hình 2.16: Biểu đồ trình tự cập nhật thành viên .................................................... 43


Hình 2.17: Biểu đồ trình tự cập nhật câu hỏi ......................................................... 44
Hình 2.18: Biểu đồ lớp ......................................................................................... 45
Hình 2.19: Biểu đồ hoạt động đăng nhập .............................................................. 46
Hình 2.20: Biểu đồ hoạt động thi .......................................................................... 47
Hình 2.21: Biểu đồ triển khai ................................................................................ 48
Hình 2.22: Mơ hình E-R ....................................................................................... 49
Hình 3.1: Màn hình đăng nhập .............................................................................. 54
Hình 3.2: Màn hình quản lý sinh viên ................................................................... 54
Hình 3.3: Màn hình quản lý khóa học ................................................................... 55

Hình 3.4: Màn hình tìm kiếm ................................................................................ 55
Hình 3.5: Màn hình quản lý câu hỏi ...................................................................... 56
Hình 3.6: Màn hình thi.......................................................................................... 56


Xây dựng hệ thống thi trắc nghiệm cho các trường đại học, cao đẳng theo mơ hình ASP.NET MVC

MỞ ĐẦU
1. Lý do chọn đề tài
Hiện nay việc thiết kế một trang web ASP.NET rất dễ dàng, chúng ta có thể tìm
tài liệu trên mạng hoặc tham khảo các project để nghiên cứu và xây dựng. Bởi vì do
Microsoft muốn tạo ra một cơng cụ để người sử dụng có thể dễ dàng làm việc và
xây dựng một trang web nhanh chóng nhất, đó là ASP.NET WebForm.
ASP.NET Webform được thiết kế để người dùng cảm thấy như mình đang thiết
kế một chương trình Windows Form, bằng cách kéo thả các button, tự sinh mã
HTML, đơn giản, dễ hiểu...
Tuy nhiên ưu điểm của ASP.NET đơi khi chính là nhược điểm của nó, chính là
khơng có sự phân chia rõ ràng giữa giao diện và code xử lý, nên ngay trong trang
giao diện lại có câu lệnh truy vấn sql. Đến khi chúng ta muốn thay thế hoặc nâng
cấp một chức năng nào đó thì rất rắc rối. Để khắc phục những nhược điểm của
ASP.NET WebForm, năm 2007 Microsoft đã cho ra đời nền tảng ASP.NET MVC.
ASP.NET MVC được xây dựng với 3 lớp chính, lớp giao diện (Views), lớp điều
khiển (Controllers) và lớp dữ liệu (Models). Việc chia một trang web thành nhiều
lớp như thế sẽ giúp cho lập trình viên có thể xây dựng một website với cấu trúc chặt
chẽ, rõ ràng. Với cấu trúc 3 lớp như thế, việc nâng cấp hoặc thay thế một chức năng
nào đó trở nên hết sức dễ dàng, đồng thời việc kiểm thử cũng trở nên đơn giản hơn.
Với những ưu điểm trên, trong tương lai chắc chắn ASP.NET MVC sẽ là một nền
tảng chính trong việc xây dựng và phát triển một website ASP.NET. Chính vì thế,
em đã mạnh dạn chọn đề tài nghiên cứu về MVC để làm đồ án tốt nghiệp của mình.


2. Ý nghĩa khoa học và thực tiễn của đề tài
Hiện nay việc ứng dụng tin học vào trong việc dạy và học đang được nhà nước ta
triển khai. Nhưng vấn đề cấp bách hiện nay chính là việc ứng dụng chương trình
phục vụ cho việc thi cử cịn gặp khó khăn, vẫn cịn phải thực hiện một cách thủ
cơng gây lãng phí thời gian, tiền bạc, cơng sức. Vậy u cầu đặt ra là cần có một
chương trình nhằm giúp quản lý hình thức thi cử một cách dễ sử dụng. Mặt khác

SVTH: Nguyễn Ngọc Phương – Lớp: K15TPM

Trang 1


Xây dựng hệ thống thi trắc nghiệm cho các trường đại học, cao đẳng theo mơ hình ASP.NET MVC

ứng dụng cần phải có một cách sử dụng trực quan, giúp các thầy cơ, các bạn có thể
sử dụng một cách tốt nhất, hiệu quả nhất.
Với đề tài "Xây dựng hệ thống quản lý và thi trắc nghiệm theo mơ hình ASP.Net
MVC" một đề tài cũng khơng q mới nhưng có thể nói đây là một vấn đề hiện
đang rất được quan tâm khi mà tốc độ phát triển của nền giáo dục ngày càng cao.
Nó giải quyết được khá nhiều các vấn đề về nhân lực, về tốc độ xử lý cũng như chi
phí cho bộ máy vận hành là hồn tồn khả thi và có chiều hướng ngày càng phát
triển mạnh mẽ ở Việt Nam. Đề tài này nghiên cứu góc độ đặc trưng nhất mà một hệ
thống "thi trắc nghiệm" cần có.

3. Mục tiêu của đề tài
 Xây dựng website dễ sử dụng và đầy đủ chức năng đáp ứng việc thi trắc
nghiệm.
 Quản lý cập nhật môn thi.
 Quản lý được ngân hàng câu hỏi.
 Quản lý việc ra đề và chấm điểm kết quả thi.

 Quản lý các thành viên.
 Quản lý tìm kiếm để thực hiện những yêu cầu khác.
 Thống kê báo cáo theo các yêu cầu.

4. Đối tượng và phạm vi nghiên cứu
 Đối tượng nghiên cứu
 Thư viện: MVC
 Lập trình ASP.NET MVC
 Các công cụ phát triển: MS Visual 2010, SQL Server 2008.
 Phạm vi nghiên cứu
 Lý thuyết
 Nghiên cứu về quản lý và thi trắc nghiệm.
 Nghiên cứu hệ quản trị CSDL SQL Server 2008.
 Nghiên cứu mơ hình ASP.NET MVC.
 Thực tiễn
SVTH: Nguyễn Ngọc Phương – Lớp: K15TPM

Trang 2


Xây dựng hệ thống thi trắc nghiệm cho các trường đại học, cao đẳng theo mơ hình ASP.NET MVC

 Xây dựng hệ thống thi trắc nghiệm theo mơ hình ASP.NET MVC.

5. Phương pháp nghiên cứu
 Phương pháp lý thuyết:
 Thu thập, phân tích, tổng hợp các tài liệu có liên quan đến đề tài.
 Phương pháp thực nghiệm:
 Xây dựng hệ thống thi trắc nghiệm theo mơ hình ASP.NET MVC.


SVTH: Nguyễn Ngọc Phương – Lớp: K15TPM

Trang 3


Xây dựng hệ thống thi trắc nghiệm cho các trường đại học, cao đẳng theo mơ hình ASP.NET MVC

Chương 1: GIỚI THIỆU MƠ HÌNH THI TRẮC NGHIỆM VÀ LẬP
TRÌNH ASP.NET MVC
1.1. MƠ HÌNH THI TRẮC NGHIỆM
1.1.1. Trắc nghiệm là gì?
Trắc nghiệm là một hoạt động nhằm mục đích xác định, đo lường năng lực của
đối tượng nào đó. Thi trắc nghiệm là hình thức thi mà một đề thi thường gồm rất
nhiều câu hỏi, mỗi câu nêu ra một vấn đề cùng với những thông tin cần thiết sao
cho học viên chỉ phải trả lời vắn tắt cho từng câu.
Trắc nghiệm là một phương pháp đánh giá kết quả học tập của học viên, trong đó
ảnh hưởng các yếu tố chủ quan đã được giảm thiểu đến mức tối ưu. Điểm nổi bật
của phương pháp này là số lượng câu hỏi trong mỗi đề thi lớn. Số câu hỏi càng lớn,
độ chính xác của việc đánh giá càng cao. Câu hỏi trắc nghiệm sẽ gồm một khái
niệm, một nội dung đã có trong chương trình, kèm theo gợi ý để học viên trả lời. Từ
cách gợi ý trả lời, ta sẽ có nhiều câu hỏi trắc nghiệm khác nhau.
Có 2 phương pháp được áp dụng trong thi cử đó là trắc nghiệm vấn đáp và trắc
nghiệm khách quan.
 Phương pháp trắc nghiệm vấn đáp:
Với phương pháp này, người dự thi phải trả lời câu hỏi trực tiếp của giáo viên.
Trong thời gian kiểm tra vấn đáp, giáo viên có thể hỏi bất kì một vấn đề nào trong
lĩnh vực đã học, qua đó giáo viên sẽ đánh giá được trình độ kiến thức của học viên.
Hình thức này có ưu điểm nổi bật là loại bỏ hoàn toàn gian lận, quay cóp trong kỳ
thi. Tuy vậy phương pháp này cịn có hạn chế:
 Q trình tổ chức thi rất mất công sức và thời gian.

 Thời gian tổ chức cho học viên ít, vì vậy số lượng câu hỏi trong một đề khơng
nhiều. Do đó khó mà kiểm tra được kiến thức tồn bộ mơn thi với học viên.
 Điểm của học viên được chấm ngay sau khi kết thúc vấn đáp học viên đó. Vì
vậy nó cũng khơng hồn tồn chính xác, phụ thuộc vào cảm quan của người
chấm.

SVTH: Nguyễn Ngọc Phương – Lớp: K15TPM

Trang 4


Xây dựng hệ thống thi trắc nghiệm cho các trường đại học, cao đẳng theo mơ hình ASP.NET MVC

 Phương pháp trắc nghiệm khách quan:
Đây là một hình thức trắc nghiệm, trong đó đề thi bao gồm nhiều câu hỏi, được
lấy từ ngân hàng câu hỏi có sẵn. Mỗi câu hỏi nêu ra một vấn đề với những thông tin
cần thiết cho phép học viên trả lời thật vắn tắt từng câu hỏi, phương pháp này có
một số ưu điểm nổi bật:
 Bài thi trải đều mọi lĩnh vực đã học, do đó loại bỏ hồn tồn tình trạng học tủ.
 Lĩnh vực ra đề rộng, thời gian trả lời ngắn nên học viên khơng thể quay cóp,
tra cứu tài liệu.
 Cơng tác chấm điểm dễ dàng, chính xác, khách quan.
 Đề thi được ra một cách khách quan, tin cậy.
 Việc xây dựng ngân hàng câu hỏi có tác dụng chuẩn hóa chương trình giảng
dạy.
 Khi ra đề giáo viên phải đối chiếu theo nội dung chương trình để đặt câu hỏi
cho phù hợp.
 Tiết kiệm được lao động trong các khâu xử lý trước và sau thi, giảm được chi
phí văn phịng phẩm phục vụ thi.
 Tránh được hoạt động tiêu cực trước, trong và sau khi thi cử.

Ngoài ra phương pháp này vẫn tồn tại nhược điểm:
 Việc biên soạn bộ đề thi trắc nghiệm là rất khó. Địi hỏi nhiều cơng sức của
các giáo viên. Mặt khác, muốn có một bộ đề chất lượng người soạn phải là các
giáo viên có kiến thức sâu sắc về môn học liên quan và giàu kinh nghiệm
giảng dạy.
 Không phát huy được tư duy, năng lực sáng tạo của học viên và do đó khó
phát hiện được các học viên xuất sắc.
 Khối lượng trắc nghiệm phải đủ lớn.

1.1.2. Một số dạng câu hỏi trắc nghiệm
1.1.2.1. Câu hỏi kiểu nhiều phương án chọn
Câu hỏi có nhiều phương án chọn với một phương án trả lời là dạng câu hỏi trắc
nghiệm gồm một phần mô tả chung và các lựa chọn A, B, C, D,… Thí sinh cần lựa
chọn câu trả trời đúng trong số các lựa chọn.
SVTH: Nguyễn Ngọc Phương – Lớp: K15TPM

Trang 5


Xây dựng hệ thống thi trắc nghiệm cho các trường đại học, cao đẳng theo mơ hình ASP.NET MVC

Ưu điểm:
 Với số lượng phương án chọn lớn, yếu tố may rủi trong việc trả lời câu hỏi của
học viên được giảm đi rất nhiều.
 Mỗi câu hỏi được đi kèm một lượng lớn các phương án lựa chọn. Do đó nội
dung câu hỏi thi có thể bao trùm được tồn bộ mơn học. Vì thế học viên phải
sử dụng tối đa kiến thức cùng với sự phán đoán logic của mình để trả lời câu
hỏi.
 Cơng việc chấm hết sức đơn giản, điểm được chấm một cách hết sức khách
quan và chính xác.

Nhược điểm:
Cơng việc biên soạn câu hỏi khó khăn, yêu cầu người viết câu hỏi phải am hiểu
sâu sắc về lĩnh vực chun mơn của mình cũng như phải biết được một số kiến thức
về văn phạm. Bởi vì nội dung câu phải rõ ràng mạch lạc giúp cho học viên có thể
hiểu được ý tưởng của câu, đồng thời khơng cho họ đốn trước được phương án trả
lời.

1.1.2.2. Câu hỏi đúng sai
Câu hỏi đúng sai là câu hỏi trắc nghiệm dạng đặc biệt của câu hỏi nhiều lựa chọn,
dạng này chỉ có hai phương án lựa chọn là đúng hoặc sai. Đây là hình thức trắc
nghiệm đơn giản nhất với mức độ may rủi 50% .
Ưu điểm:
Công việc xây dựng các câu hỏi này tương đối đơn giản, thích hợp với các câu
hỏi nhận biết sự kiện. Trong trường hợp bài thi với số lượng câu hỏi nhiều, phương
pháp này có thể kiểm tra kiến thức học viên trong nhiều lĩnh vực. Đồng thời công
việc chấm điểm thi cũng đơn giản và khách quan.
Nhược điểm:
 Xác suất trả lời đúng với câu hỏi này là rất cao. Dù học viên không nắm vững
kiến thức vẫn trả lời đúng được nhiều câu hỏi.
 Nội dung câu hỏi không thể phản ánh đúng yêu cầu của đề thi bởi vì một số
câu hỏi có thể có nhiều phương án trả lời.

SVTH: Nguyễn Ngọc Phương – Lớp: K15TPM

Trang 6


Xây dựng hệ thống thi trắc nghiệm cho các trường đại học, cao đẳng theo mơ hình ASP.NET MVC

1.1.2.3. Câu hỏi điền khuyết

Câu hỏi điền khuyết là dạng câu hỏi trắc nghiệm gồm một phần mơ tả chung
trong
đó có những vị trí chưa có dữ liệu thích hợp. Nhiệm vụ của học viên là tìm ra nội
dung thích hợp để điền vào chỗ trống.
Ưu điểm:
Loại bỏ hoàn toàn được việc học viên lựa chọn ngẫu nhiên một phương án trả lời
bất kỳ, như trong các dạng câu hỏi trắc nghiệm khác. Học viên phải nắm vững được
kiến
thức mới có thể trả lời được câu hỏi.
Nhược điểm:
 Nội dung câu hỏi thường khơng thể bao qt được tồn bộ kiến thức mơn học.
Các câu hỏi thường khơng mang tính chất tư duy thường dựa vào sự thuộc bài
của học viên.
 Công việc chấm thi tương đối vất vả do mỗi học viên có một phương án trả lời
khác nhau. Người chấm thi phải sử dụng kiến thức chun mơn của mình để
xem xét, phán đoán ý tưởng của học viên trong những câu hỏi phức tạp hay
chưa rõ ràng.

1.1.2.4. Câu hỏi ghép hợp
Câu hỏi ghép hợp là dạng câu hỏi trắc nghiệm gồm một phần mô tả chung và một
bảng hai cột các lựa chọn 1, 2, 3, 4,… trong cột đầu tiên và A, B, C, D,… trong cột
thứ hai. Thí sinh tham dự thi cần chọn lựa các cặp ghép hợp tương ứng từ hai cột
lựa chọn này.
Ưu điểm:
Công việc xây dựng câu hỏi cũng như chấm điểm theo hình thức này rất đơn giản
và chính xác. Q trình ghép đôi từng câu một với nhau hay sắp xếp một dãy câu
theo một trình tự phù hợp làm cho độ may rủi trong việc trả lời ngẫu nhiên của học
viện được giảm bớt.
Nhược điểm:


SVTH: Nguyễn Ngọc Phương – Lớp: K15TPM

Trang 7


Xây dựng hệ thống thi trắc nghiệm cho các trường đại học, cao đẳng theo mơ hình ASP.NET MVC

Mỗi một câu hỏi gồm một dãy các câu khác nhau với lượng thông tin rất lớn, điều
này làm cho các học viên khơng khỏi bối rối, nhầm lẫn. Vì vậy mà chất lượng bài
thi khơng được đảm bảo.
1.2. CƠNG CỤ VÀ MƠI TRƯỜNG PHÁT TRIỂN
1.2.1. Lựa chọn cơng nghệ và mơi trường phát triển
1.2.1.1. Giới thiệu ASP.NET
ASP.NET đã là một buớc nhảy vọt khi lần đầu tiên xuất hiện, nhằm thu hẹp
khoảng cách giữa phát triển Windows Form hướng đối tượng và phát triển web
hướng HTML. Hình dưới minh họa cơng nghệ ASP.Net WebForm trong lần đầu
xuất hiện năm 2002.

Hình 1.1: Mơ hình ASP.NET WebForm

Microsoft đã cố gắng che dấu HTTP và HTML bằng cách dùng mơ hình giao
diện như một đối tượng điều khiển có cấu trúc hoạt động phía server.
Mỗi đối tượng điều khiển lưu giữ trạng thái qua các yêu cầu, tự động tạo ra mã
HTML khi cần thiết, và tự động kết nối với các sự kiện phía client với mã hồi đáp
phía server. Kết quả WebForm là một lớp trừu tượng lớn nhằm chuyển giao diện có
xử lý sự kiện thơng qua Web.

SVTH: Nguyễn Ngọc Phương – Lớp: K15TPM

Trang 8



Xây dựng hệ thống thi trắc nghiệm cho các trường đại học, cao đẳng theo mơ hình ASP.NET MVC

 Nhược điểm của ASP.NET:
ASP.NET truyền thống đã từng là một ý tưởng hay, nhưng thực tế lại trở nên rắc
rối. Qua nhiều năm, sử dụng ASP.NET WebForm cho thấy có một số nhược điểm:
 ViewState (trạng thái hiển thị): Kĩ thuật lưu giữ trạng thái qua các yêu cầu

thường
mang lại kết quả là những khối dữ liệu lớn được chuyển qua lại giữa client và
server. Nó có thể đạt hàng trăm kilobytes dữ liệu thực, và chuyển qua lại với
mỗi lần yêu cầu, làm những người truy cập vào trang web phải chờ một thời
gian dài khi họ click một button hoặc cố gắng di chuyển đến trang kế tiếp.
ASP.NET bị tình trạng này rất tồi tệ, AJAX là một trong các giải pháp được
đưa ra để giải quyết vấn đề này.
 Page life cycle (chu kỳ sống của một trang web): Kĩ thuật kết nối sự kiện phía

client với mã xử lý sự kiện phía server là một phần của page life cycle, có thể
cực kì rắc rối và mỏng manh. Chỉ có một số ít lập trình viên thành công trong
việc xử lý hệ thống đối tượng điều khiển trong thời gian thực mà không bị lỗi
ViewState hoặc hiểu được rằng một số trình xử lý sự kiện khơng được kích
hoạt một cách bí hiểm.
 Limited control over HTML (giới hạn kiểm sốt HTML): Server control tự tạo

ra nó như là mã HTML, nhưng không phải là mã HTML mà bạn muốn. Ngồi
việc mã HTML của chúng thường khơng tuân theo tiêu chuẩn web hoặc không
sử dụng tốt CSS mà hệ thống các server control còn tạo ra các giá trị ID phức
tạp và khơng đốn trước được, làm khó khăn trong việc sử dụng JavaScript.
 Ý thức sai về sự tách biệt các thành phần: Mơ hình code-behind của ASP.NET


cung cấp một giải pháp cho phép ứng dụng đưa mã ra khỏi các dòng HTML
vào thành một lớp code – behind riêng biệt. Điều này đã được ca ngợi là làm
tách biệt giữa giao diện với mã xử lý, nhưng thực tế người lập trình được
khuyến khích pha trộn mã xử lý giao diện với mã xử lý chương trình trong
cùng những lớp code behind khổng lồ. Nếu khơng có sự tách biệt rõ ràng giữa
các thành phần, kết quả cuối cùng thường là mỏng manh và khó hiểu.
 Untestable (kiểm chứng): Khi những người thiết kế của ASP.NET lần đầu tiên

giới thiệu nền tảng này, họ có thể đã không lường trước được là việc kiểm thử
SVTH: Nguyễn Ngọc Phương – Lớp: K15TPM

Trang 9


Xây dựng hệ thống thi trắc nghiệm cho các trường đại học, cao đẳng theo mơ hình ASP.NET MVC

tự động sẽ trở thành một cơng đoạn chính của việc phát triển phần mềm ngày
nay. Không quá ngạc nhiên, cấu trúc mà họ đã thiết kế hồn tồn khơng thích
hợp với việc kiểm thử tự động.
1.2.1.2. Giới thiệu chung hệ quản trị cơ sở dữ liệu
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 đượ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ệ. 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.
 Đả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.
Với SQL, dữ liệu được lưu trữ dưới dạng bảng. CSDL quan hệ là một tập các
bảng hay các quan hệ. Trong mỗi quan hệ, dữ liệu được bố trí theo hai chiều: cột
theo chiều
dọc và dòng theo chiều ngang. Một dòng là một mục dữ liệu trong quan hệ, mỗi
dòng
được đặc trưng bằng một số các thuộc tính gọi là cột.
Có nhiều phần mềm có thành phần SQL thơng dụng, mỗi phần mềm đều có
những điểm mạnh và yếu của nó. Một số phần mềm được phát triển cho máy PC và
làm cho người dùng dễ giao tiếp với hệ thống, trong khi một số khác lại được phát
triển để cung

SVTH: Nguyễn Ngọc Phương – Lớp: K15TPM

Trang 10


Xây dựng hệ thống thi trắc nghiệm cho các trường đại học, cao đẳng theo mơ hình ASP.NET MVC

cấp cho các CSDL lớn. Dưới đây là một số đặc điểm chính của các phần mềm thơng
dụng.
 Microsoft Access: Rất dễ sử dụng, bạn có thể dùng cơng cụ giao diện đồ họa
GUI hoặc tự gõ các câu lệnh của SQL vào.
 Pesonal Oracle: Thể hiện các dòng lệnh SQL và các kỹ thuật quản trị CSDL.

 MSSQL : Toàn bộ CSDL được tập trung lưu trữ trên máy chủ (Server), mọi
thao
tác xử lý dữ liệu được thực hiện trên máy chủ bằng các lệnh SQL. Máy trạm
(Client) chỉ dùng để cập nhật dữ liệu cho máy chủ hoặc lấy thông tin từ máy
chủ…
 Vai trò của SQL :
 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.
 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
SVTH: Nguyễn Ngọc Phương – Lớp: K15TPM

Trang 11



Xây dựng hệ thống thi trắc nghiệm cho các trường đại học, cao đẳng theo mơ hình ASP.NET MVC

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.

1.2.2. Tổng quan về mơ hình ASP.NET MVC
1.2.2.1. Khái qt về mơ hình MVC
MVC viết tắt của các chữ cái đầu của Models, Views, Controllers.

Hình 1.2: Mơ hình MVC

Các thành phần của MVC:
 Model: Là một đối tượng hoặc một tập hợp các đối tượng biểu diễn cho phần dữ

liệu của chương trình, ví dụ các dữ liệu được lưu trong cơ sở dữ liệu hay từ hệ
thống ứng dụng khác...
 View: Là phần giao diện với người dùng, bao gồm việc hiện dữ liệu ra màn

hình, cung cấp các menu, nút bấm, hộp đối thoại, chọn lựa... để người dùng có
thể thêm, xóa, sửa, tìm kiếm và làm các thao tác khác đối với dữ liệu trong hệ
thống.
SVTH: Nguyễn Ngọc Phương – Lớp: K15TPM

Trang 12


Xây dựng hệ thống thi trắc nghiệm cho các trường đại học, cao đẳng theo mơ hình ASP.NET MVC

 Controller: Là phần điều khiển toàn bộ logic về hoạt động của giao diện, tương


tác với thao tác của người dùng và cập nhật, thao tác trên dữ liệu theo đầu vào
nhận được và điều khiển việc chọn phần “hiển thị” thích hợp để truyền dữ liệu
tới người dùng.

Hình 1.3: Mơ hình trình tự MVC

Lợi ích của việc dùng phương pháp MVC là sự phân đoạn rõ ràng giữa models,
views, controllers bên trong ứng dụng. Cấu trúc sạch sẽ giúp cho việc kiểm tra lỗi
ứng dụng trở nên dễ dàng hơn.
ASP.NET MVC là nền tảng công nghệ mới nhất của Microsoft hiện nay là
ASP.NET MVC, nó được thiết kế từ suy nghĩ là làm thế nào để xây dựng một phần
mềm tốt. ASP.NET MVC được thiết kế để làm sao có thể bổ sung các ngun lý và
các mơ hình phát triển phần mềm khi xây dựng các ứng dụng web. Bên cạnh đó, nó
được thiết kế để hỗ trợ trong việc kiểm thử.
 Một vài đặc tính trong ASP.NET MVC:
 ASP.NET MVC là một nền tảng framework phát triển ứng dụng web mới của

Microsoft, nó kết hợp giữa tính hiệu quả và nhỏ gọn của mơ hình model-viewSVTH: Nguyễn Ngọc Phương – Lớp: K15TPM

Trang 13


Xây dựng hệ thống thi trắc nghiệm cho các trường đại học, cao đẳng theo mơ hình ASP.NET MVC

controller (MVC), những ý tưởng và công nghệ hiện đại nhất, cùng với những
thành phần tốt nhất của nền tảng ASP.NET hiện thời. Là một lựa chọn khác
bên cạnh nền tảng WebForm khi phát triển 1 ứng dụng web sử dụng
ASP.NET.
 Tách rõ ràng các mối liên quan, mở khả năng test TDD (test driven


developer). Có thể test unit trong ứng dụng mà khơng cần phải chạy
Controllers cùng với tiến trình của ASP.NET và có thể dùng bất kỳ một unit
testing framework nào như NUnit, MBUnit, MS Test, v.v…
 Có khả năng mở rộng, mọi thứ trong MVC được thiết kế cho phép dễ dàng

thay thế hoặc tùy biến.
 Điều kiện cần để xây dựng ứng dụng ASP.NET MVC:

+ Microsoft.Net Framework 3.5 SP1
+ Microsoft ASP.NET MVC
+ Visual Studio 2008 SP1
 Lợi ích của ứng dụng web dựa trên mơ hình MVC:
 Có tính mở rộng do có thể thay thế từng thành phần một cách dễ dàng
 Không sử dụng viewstate, điều này làm các nhà phát triển dễ dàng điều khiển

ứng dụng của mình.
 Hệ thống định tuyến mới mạnh mẽ
 Hỗ trợ tốt hơn cho test-driven development (TDD) cài đặt các unit tests tự

động, xác định và kiểm tra lại các yêu cầu trước khi bắt tay vào viết code.
 Hỗ trợ kết hợp rất tốt giữa người lập trình và người thiết kế giao diện.
 Sử dụng các tính năng tốt nhất đã có của ASP.NET.

SVTH: Nguyễn Ngọc Phương – Lớp: K15TPM

Trang 14


Xây dựng hệ thống thi trắc nghiệm cho các trường đại học, cao đẳng theo mơ hình ASP.NET MVC


 Nhược điểm của ASP.NET MVC:
 Không hướng đến sự kiện làm cho các nhà phát triển ASP.NET webform khó

khăn.
 Yêu cầu hiểu biết về HTTP, HTML, CSS và JavaScript.
 Thư viện của nhà phân phối thứ ba không mạnh bằng.

1.2.2.2. Xây dựng ứng dụng đơn giản với ASP.NET MVC
Yêu cầu: Xây dựng trang web thêm sửa xóa các mặt hàng.
Bước 1: Tạo một project mặc định bằng ASP.NET MVC như sau:
 Khởi động visual studio 2010, chọn File  New project  ASP.NET MVC 4

Web Application

Hình 1.4: Tạo mới dự án ASP.NET MVC

SVTH: Nguyễn Ngọc Phương – Lớp: K15TPM

Trang 15


×