TRUNG TÂM CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ĐÀ NẴNG DNICT --- BÁO CÁO ĐỒ ÁN MÔN HỌC ĐỀ TÀI: XÂY DỰNG HỆ THỐNG THI TRẮC NGHIỆM TRỰC TUYẾN DÀNH CHO HỌC SINH TRUNG HỌC GIÁO VIÊN HƯỚNG
Trang 1TRUNG TÂM CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ĐÀ NẴNG
DNICT -
BÁO CÁO ĐỒ ÁN MÔN HỌC
ĐỀ TÀI:
XÂY DỰNG HỆ THỐNG THI TRẮC NGHIỆM TRỰC TUYẾN
DÀNH CHO HỌC SINH TRUNG HỌC
GIÁO VIÊN HƯỚNG DẪN: THẦY NGUYỄN HỮU THANH
ĐÀ NẴNG, 07/2015
Trang 2LỜI CẢM ƠN
Em xin chân thành cảm ơn Trung tâm công nghệ thông tin và truyền thông – DNIC đãtạo điều kiện cho chúng em học tập và thực tập trong thời gian qua Em cũng vô cùng biết ơn cácthầy cô, các anh chị trong trung tâm, đặc biệt là thầy giáo Nguyễn Hữu Thanh và thầy Ngô ĐìnhCường người đã dìu dắt, truyền đạt những kiến thức quý báu, tận tình hướng dẫn cho chúng emrất nhiều trong suốt thời gian thực hiện đề tài
Mặc dù đã có nhiều cố gắng để hoàn thành đồ án nhưng trong phạm vi và khả năng chophép chắc chắn đồ án không tránh khỏi những thiếu sót Em rất mong nhận được sự thông cảm,góp ý và tận tình chỉ bảo của quý thầy cô và các bạn
Đà Nẵng, ngày 12 tháng 7 năm 2015
Sinh viên thực hiện
Trang 3MỤC LỤC
LỜI CẢM ƠN ii
DANH MỤC TỪ VIẾT TẮT vi
DANH MỤC BẢNG BIỂU vi
DANH MỤC HÌNH VẼ vii
PHẦN MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Ưu điểm, khuyết điểm của hệ thống trang web 1
3 Hướng tiếp cận của đề tài 2
4 Ý nghĩa lý luận và ý nghĩa thực tiễn của đề tài: vai trò quan trọng trong việc thực hiện đề tài 2
5 Kế hoạch triển khai xây dựng website 2
CHƯƠNG 1 3
CƠ SỞ LÝ THUYẾT CỦA ĐỀ TÀI XÂY DỰNG HỆ THỐNG THI TRẮC NGHIỆM TRỰC TUYẾN DÀNH CHO HỌC SINH TIỂU HỌC 3
1.1 Giới thiệu về ngôn ngữ lập trình PHP 3
1.1.1 Tổng quan về PHP 3
1.1.2 Cấu trúc của PHP 4
1.1.3 Khái niệm biến, hằng, chuỗi và các kiểu dữ liệu 4
1.1.4 Cách xuất giá trị ra trình duyệt 5
1.1.5 Đặc điểm của ngôn ngữ PHP 5
1.2 Giới thiệu về HTML, CSS, JavaSript, MySQL 6
1.2.1 HTML 6
1.2.2 Tìm hiểu về CSS 6
1.2.3 Tìm hiểu về JavaScript 7
1.2.4 Hệ quản trị cơ sở dữ liệu MySQL 8
1.2.5 Kết hợp PHP và MySQL trong ứng dụng website 8
CHƯƠNG 2 10
PHÂN TÍCH, THIẾT KẾ HỆ THỐNG THI TRẮC NGHIỆM TRỰC TUYẾN DÀNH CHO HỌC SINH TRUNG HỌC 10
2.1 Phân tích yêu cầu 10
Trang 42.1.1 Mô tả hệ thống thi trắc nghiệm cho học sinh trung học 10
2.1.2 Phân tích yêu cầu hệ thống 10
2.1.3 Xác định các chức năng chính của hệ thống 11
2.2 Phân tích và thiết kế hệ thống 12
2.2.1 Tác nhân hệ thống 12
2.2.2 Biểu đồ use case sử dụng 13
2.3 Thiết kế cơ sở dữ liệu 18
2.3.1 Mô tả chi tiết các bảng dữ liệu 18
2.3.2 Sơ đồ cơ sở dữ liệu quan hệ 21
CHƯƠNG 3 22
XÂY DỰNG HỆ THỐNG THI TRẮC NGHIỆM TRỰC TUYẾN DÀNH CHO HỌC SINH TRUNG HỌC 22
3.1 Xây dựng các màn hình chức năng của người dùng học sinh 22
3.1.1 Trang chủ 22
3.1.2 Vào thi 23
3.2 Xây dựng các màn hình chức năng của người quản trị 25
3.2.1 Đăng nhập 25
3.2.2 Trang chủ 25
3.2.3 Quản lý học sinh 26
3.2.4 Quản lý đề thi 27
3.2.5 Quản lý câu hỏi 28
3.2.6 Quản lý tin tức 29
3.3 Giải pháp phát triển ứng dụng 29
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 30
1 Kết quả đạt được 30
2 Hạn chế 30
3 Hướng phát triển 30
TÀI LIỆU THAM KHẢO 30
Trang 5DANH MỤC TỪ VIẾT TẮTBảng 1: Danh mục từ viết tắt.
DBMS Database Management System - Hệ quản trị cơ sở dữ liệuODBC Open Database Connectivity - Kết nối cơ sở dữ liệu mở
IBM International Bussiness Machines – Một tập đoàn công nghệ
Trang 6ASP Microsoft Active Server Page - Môi trường kịch bản trên máy chủ
SQL Structured Query Language – Ngôn ngữ truy vấn cấu trúc
DANH MỤC BẢNG BIỂU
Bảng 1: Danh mục từ viết tắt vi
Bảng 2 Kế hoach xây dựng website 3
Bảng 3 Mô tả chức năng Đăng nhập của User 14
Bảng 4 Mô tả chức năng Đăng nhập của Người quản trị 15
Bảng 5 Bảng tbl_hocsinh 18
Bảng 6 Bảng tbl_dethi 18
Bảng 7 Bảng tbl_khoihoc 18
Bảng 8 Bảng tbl_cauhoi 19
Bảng 9 Bảng tbl_ktbailam 19
Bảng 10 Bảng tbl_kqlambai 19
Bảng 11 Bảng tbl_news 19
Bảng 12 Bảng tbl_nhanvien 20
DANH MỤC HÌNH VẼ
Trang 7Hình 1 PHP hỗ trợ nhiều Database khác nhau 6
Hình 2 Sơ đồ phân rã chức năng 12
Hình 3 Sơ đồ Use case tổng quát 13
Hình 4 Use case Đăng nhập 14
Hình 5 Use case Đăng nhập của Người quản trị 15
Hình 6 Use case Quản lý học sinh 17
Hình 7 Sơ đồ cơ sở dữ liệu quan hệ 20
Hình 8 Màn hình Trang Chủ 21
Hình 9 Màn hình Thi 22
Hình 10 Màn hình Hiển thị kết quả thi 23
Hình 11 Màn hình Đăng nhập của người quản trị 24
Hình 12 Màn hình Trang Chủ 24
Hình 13 Màn hình Quản lý học sinh 25
Hình 14 Màn hình Quản lý đề thi 26
Hình 15 Màn hình Quản lý câu hỏi 27
Hình 16 Màn hình Quản lý tin tức 28
Trang 8PHẦN MỞ ĐẦU
1 Lý do chọn đề tài
Bác Hồ từng nói: “ Non sông Việt Nam có trở nên tươi đẹp hay không, dân tộc Việt nam
có bước đến đài vinh quang để sánh vai với các cường quốc năm châu được hay không, chính là nhờ một phần ở công học tập của các em”
Thế hệ trẻ là thế hệ cần được bồi dưỡng, đặc biệt là thế hệ mầm non của Tổ quốc Nhà nước ta đã dành ưu tiên hàng đầu cho việc giáo dục thế hệ trẻ Và với sự phát triển vượt trội của công nghệ, việc giáo dục đi vào một trang mới, trang của việc giáo dục hiện đại, ứng dụng nhữngthành tựu của công nghệ, đặc biệt là công nghệ thông tin
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ư kinh tế, y khoa, 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, chính xác hơn Đặ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 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 nhất 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ác nước
Tại Việt Nam, trong những năm gần đây, song song với việc đổi mới phương pháp dạy
và học, việc đổi mới hình thức thi cử cũng trở thành một việc làm cấp thiết Trong các hình thức thi cử, trắc nghiệm khách quan là hình thức được nhiều người chú ý nhất do những ưu điểm của
nó trong việc kiểm tra, đánh giá trình độ người dự thi như: khách quan, trung thực, kiểm tra đượcnhiều kiến thức, tránh được việc học tủ, học vẹt… Do đó, trắc nghiệm đang là khuynh hướng củahầu hết các kỳ thi ở Việt Nam hiện nay
Qua quá trình tiếp xúc với các em trung học đồng thời khảo sát trên một số website em nhận thấy rằng: Nếu có một website để cho các em ở các trường Trung học học thi cũng như ôn luyện lại kiến thức thì sẽ rất tốt nên em quyết định lựa chọn đề tài: “Xây dựng hệ thống thi trắc nghiệm trực tuyến dành cho học sinh trung học”
2 Ưu điểm, khuyết điểm của hệ thống trang web
Ưu điểm:
Trang 9 Trang web giúp cho các em học sinh có thể thi trắc nghiệm một cách tự động,giáo viên không cần phải chấm điểm trực tiếp từng em một mà đã có hệ thống hỗtrợ.
Kiến thức do các thầy cô cung cấp nên khá rộng, và vừa sức học của các em
Giao diện tương đối thân thiện, chức năng đơn giản phù hợp với lứa tuổi của cácem
Nhược điểm:
Trang web thiếu diễn đàn cho học sinh vào trao đổi thông tin
Trang web chưa được mở rộng
3 Hướng tiếp cận của đề tài
Khảo sát chi tiết các yêu cầu từ phía nhà trường và khảo sát qua website
Thông qua các website về trắc nghiệm trực tuyến
4 Ý nghĩa lý luận và ý nghĩa thực tiễn của đề tài: vai trò quan trọng trong việc thực hiện đề tài
5 Kế hoạch triển khai xây dựng website
Các giai đoạn thực hiện:
Giai đoạn 1: Khảo sát, phân tích website
Giai đoạn 2: Thiết kế website
Giai đoạn 3: Lập trình chạy thử ứng dụng
Giai đoạn 4: Hoàn thiện website , viết báo cáo
Chi tiết kế hoạch xây dựng website.
Trang 10Bảng 2 Kế hoach xây dựng website
- Xử lý sự kiện cho form
đăng nhập, đăng xuất
- Xây dựng các chức
năng về quản lý học sinh, quản lý đề thi, quản lý câu hỏi, quản
lý tin tức
- Xem, sửa, xóa, tìm kiếm được học sinh, đề thi, câu hỏi, tin tức
- Thống kê kếtquả làm bài của học sinh
19/06/2015 10/07/2015
4
4
- Kiểm tra, hoàn thiện
website, viết báo cáo
10/07/2015 14/07/2015
Trang 11- PHP (Hypertext Preprocessor) là ngôn ngữ script trên server được thiết kế để dễ
dàng xây dựng các trang Web động Mã PHP có thể thực thi trên Webserver để tạo ra mã HTML và xuất ra trình duyệt web theo yêu cầu của người sử dụng Ngôn ngữ PHP ra đời năm 1994 Rasmus Lerdorf sau đó được phát triển bởi nhiều người trải qua nhiều phiên bản Phiên bản hiện tại là PHP 5 đã được công bố 7/2004
Trang 12Biến được xem là vùng nhớ dữ liệu tạm thời Và giá trị có thể thay đổi được Biến được bắt đầu bằng ký hiệu "$" Và theo sau chúng là 1 từ, 1 cụm từ nhưng phải viết liền hoặc
Chuỗi là một nhóm các ký tự, số, khoảng trắng, dấu ngắt được đặt trong các dấu nháy
- Kiểu dữ liệu trong PHP:
Các kiểu dữ liệu khác nhau chiếm các lượng bộ nhớ khác nhau và có thể được xử lý theo cách khác nhau khi chúng được theo tác trong 1 script
1.1.4 Cách xuất giá trị ra trình duyệt
- Để xuất dữ liệu ra trình duyệt chúng ta có những dòng cú pháp sau:
+ Echo "Thông tin";
+ Printf "Thông tin";
- Nếu giữa hai chuỗi muốn liên kết với nhau ta sử dụng dấu "."
1.1.5 Đặc điểm của ngôn ngữ PHP
a) Giá thành rẻ
PHP là mã nguồn mở nên tất nhiên là chúng ta sẽ chẳng mất gì khi sử dụng nó Có rất nhiều các sản phẩm nổi tiếng được xây dựng trên nền tảng PHP mà chắc chắn bạn đã từng nghe nói đến như WordPress, Joomla, Drupal….Và tất nhiên là chúng đều miễn phí
Trang 13Đây là một trong những ưu điểm mạnh mẽ nhất làm nên sự vượt trội của PHP so với các ngôn ngữ khác PHP hỗ trợ rất nhiều kiểu cơ sở dữ liệu (Database) khác nhau Kết quả là việc các lập trình viên code lên các Website có sử dụng Database sẽ trở nên dễ dàng hơn bao giờ hết.
Hình dưới đây thể hiện các Database được PHP hỗ trợ
Hình 1 PHP hỗ trợ nhiều Database khác nhau
d) Dễ dàng huy động được nguồn nhân lực
PHP rất linh hoạt; có rất nhiều cách và framework để thực hiện một việc tương tự
PHP giao tiếp với ít ngôn ngữ hơn, không giống như ASP.net được thiết kế để làm việc tốt hơn với các ngôn ngữ lập trình C#, J#, C++ và VB.net
Một hạn chế khác của PHP là sự chọn lựa không gian tên (namespace separator), và thứ tự không phù hợp của các tham số trong các hàm được xây dựng sẵn (built-in functions)
1.2 Giới thiệu về HTML, CSS, JavaSript, MySQL
1.2.1 HTML
HTML(viết tắt cho Hyper Text Markup Language, hay là “ngôn ngữ đánh dấu Siêu văn bản”) là một ngôn ngữ được thiết kế ra để tạo nên các trang web mới với các mẫu thông tin đượctrình bày trên word wide web HTML đã trở thành một chuẩn Internet do tổ chức World Wide Web Consortium(W3C) duy trì
Trang 14Áp dụng trực tiếp trên một đối tượng nhất định bằng thuộc tính style:
<span style="font-weight:bold;text-decoration:underline;color:#FF0000;">Đoạn text cần in đậm, gạch chân, màu đỏ</span>
body {font-family:verdana;color:#0000FF;} /* Kiểu chữ trong trang Web là
"Verdana", màu chữ thông thường là màu xanh dương */
</style>
External CSS:
Đặt các thuộc tính CSS vào một tệp tin riêng biệt (*.css), khi đó có thể tham chiếu đến
từ nhiều trang Web khác nhau:
Ví dụ về nội dung tệp style.css:
Trang 15Cách sử dụng JavaScript :
Cách 1:
Nhúng trực tiếp mã JavaScript vào trong tập tin HTML
Ta có thể viết mã JavaScript trực tiếp trong file HTML với cú pháp như sau
Sử dụng tập tin JS (*.js) bên ngoài
Ngoài ra, chúng ta có thể viết mã javascript vào 1 file bên ngoài và lưu lại với đuôi *.js sau đó triệu gọi nó vào file HTML với đoạn mã như sau:
HTML Code:
<script language="javascript" src="tenfile.js"></script>
Thuộc tính src: của thẻ <script> cho phép bạn chỉ rõ đường dẫn (link) file nguồn
JavaScript được sử dụng
1.2.4 Hệ quản trị cơ sở dữ liệu MySQL
MySQL là hệ quản trị dữ liệu miễn phí, được tích hợp sử dụng chung với apache, PHP.Chính yếu tố phát triển trong cộng đồng mã nguồn mở nên MySQL đã qua rất nhiều sự hỗ trợcủa những lập trình viên yêu thích mã nguồn mở MySQL cũng có cùng một cách truy xuất và
mã lệnh tương tự với ngôn ngữ SQL Nhưng MySQL không bao quát toàn bộ những câu truyvấn cao cấp như SQL Về bản chất MySQL chỉ đáp ứng việc truy xuất đơn giản trong quá trìnhvận hành của Website nhưng hầu hết có thể giải quyết các bài toán trong PHP
1.2.5 Kết hợp PHP và MySQL trong ứng dụng website
Để làm việc với MySQL và PHP chúng ta cần nắm 6 hàm cơ bản:
+ Kết nối cơ sở dữ liệu:
Trang 16+ Thực thi câu lệnh truy vấn:
Cú pháp: mysql_query ("Câu truy vấn ở đây");
Trang 17CHƯƠNG 2 PHÂN TÍCH, THIẾT KẾ HỆ THỐNG THI TRẮC NGHIỆM TRỰC TUYẾN
DÀNH CHO HỌC SINH TRUNG HỌC 2.1 Phân tích yêu cầu
2.1.1 Mô tả hệ thống thi trắc nghiệm cho học sinh trung học
Mục đích hệ thống: Xây dựng hệ thống thi trắc nghiệm trực tuyến dành cho học sinh trung học Yêu cầu cụ thể như sau:
Người quản trị hệ thống có thể tạo đề thi các môn học cho từng khối học để các em học sinh tiến hành thi Người quản trị hệ thống sẽ tạo tài khoản cho các thí sinh vào mỗi đợt thi giữa
kỳ hay kết thúc học kỳ để các em vào thi Ngoài ra người quản trị hệ thống sẽ cung cấp các thôngtin, thông báo liên quan đến các em trên hệ thống
Học sinh sử dụng hệ thống để chọn đề thi và vào thi Để đảm bảo kết quả thi chính xác, mỗi học sinh chỉ được thi một lần, nếu đăng nhập vào thi lần thứ hai, hệ thống sẽ hiển thi thông báo không cho phép thi Học sinh có thể sử dụng hệ thống để xem các thông tin, thông báo liên quan đến khối học từ người quản trị
Nếu người chưa có tài khoản đăng nhập thì có thể vào hệ thống để xem các thông tin, thông báo quan trọng
Các giải pháp công nghệ có thể sử dụng để xây dựng hệ thống: Ngôn ngữ lập trình HTML, CSS, JavaScript, PHP; hệ quản trị cơ sở dữ liệu MySQL
2.1.2 Phân tích yêu cầu hệ thống
a Yêu cầu chức năng
Học sinh
Học sinh có thể đăng nhập hệ thống với tài khoản mà Người quản trị cấp (bởi vì
hệ thống ứng dụng cho phạm vi một trường học nên việc Người quản trị cấp mật khẩu và quản lý người dùng (Học sinh) tốt hơn Nếu học sinh quên tên hay mật khẩu người dùng thì có thể liên hệ Người quản trị cấp lại tài khoản
Học sinh có thể tìm kiếm, chọn đề thi phù hợp với khối học của mình
Học sinh được quyền thi một lần khi Người quản trị cấp tài khoản Để đảm bảo cho việc quản lý học sinh trong trường, mỗi lần thi học sinh phải được kích hoạt
Trang 18tài khoản Sau khi thi xong, hệ thống sẽ hiển thị điểm thi, số câu đúng để học sinh biết.
Học sinh có thể xem hướng dẫn sử dụng hệ thống
Học sinh được đọc giới thiệu về hệ thống, được đọc thông tin – thông báo từ Người quản trị, xem tin tức – sự kiện liên quan đến lứa tuổi mình mà Người quản trị đã cập nhật trước
Người quản trị
Người quản trị có quyền quản lý người dùng Học sinh (Tìm kiếm học sinh, thêm học sinh mới, sửa thông tin học sinh, Xóa học sinh ra khỏi danh sách người dùng
Quản lý đề thi, bao gồm: thêm thông tin đề thi, sửa đề thi, xóa đề thi
Quản lý câu hỏi, bao gồm: thêm câu hỏi vào đề thi, sửa, xóa câu hỏi
Quản lý tin tức, bao gồm: thêm tin tức, sửa tin tức, xóa tin tức
b Yêu cầu phi chức năng
Hệ thống phải đảm bảo hoạt động được 24/24
Giao diện thân thiện, dễ nhìn
Dễ sửa đổi bổ sung, phát triển thêm các chức năng và tiện ích khác
Bảo mật ngăn chặn người dùng truy cập trái phép
Thống kê điểm của học sinh
Đăng nhập, đăng xuất
Sơ đồ phân rã hệ thống: