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

Xây dựng hệ thống thi trắc nghiệm trực tuyến dành cho hoc sinh tiểu học

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 (3.7 MB, 78 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƢỜNG ĐẠI HỌC SƢ PHẠM
KHOA TIN HỌC
---

BÁO CÁO KHÓA LUẬN TỐT NGHIỆP
ĐỀ 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

SINH VIÊN: NGUYỄN THỊ DIỄM
LỚP: 11CNTT1
CÁN BỘ HƢỚNG DẪN: PGS.TS. LÊ VĂN SƠN

ĐÀ NẴNG, 5/2015


i

LỜI CAM ĐOAN
Tôi xin cam đoan:
1. Những nội dung trong luận văn này là do tôi thực hiện dƣới sự hƣớng
dẫn trực tiếp của thầy PGS.TS. Lê Văn Sơn.
2. Mọi tham khảo dùng trong luận văn đều đƣợc trích dẫn rõ ràng tên tác
giả, tên cơng trình, thời gian, địa điểm công bố.
3. Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi
xin chịu hoàn toàn trách nhiệm.

Sinh viên

Nguyễn Thị Diễm



Nguyễn Thị Diễm – 11CNTT1


ii

LỜI CẢM ƠN
Em chân thành cảm ơn các thầy cô trong khoa Tin Học trƣờng Đại học
Sƣ Phạm, Đại học Đà Nẵng, đã truyền đạt những kiến thức quý báu cho em trong
những năm học vừa qua và nhất là đã tạo điều kiện thuận lợi cho em học tập và
thực hiện đề tài tốt nghiệp này.
Đặc biệt, em xin chân thành cảm ơn thầy giáo PGS.TS. Lê Văn Sơn đã
trực tiếp, tận tình giúp đỡ và hƣớng dẫn em trong suốt thời gian thực hiện đề tài.
Mặc dù đã có nhiều cố gắng để hồn thành đồ án nhƣng trong phạm vi
và khả năng cho phé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 08 tháng 5 năm 2015
Sinh viên thực hiện

Nguyễn Thị Diễm

Nguyễn Thị Diễm – 11CNTT1


iii

MỤC LỤC
LỜI CAM ĐOAN .............................................................................................. i
LỜI CẢM ƠN ................................................................................................... ii

DANH MỤC TỪ VIẾT TẮT ........................................................................... vi
DANH MỤC BẢNG BIỂU ............................................................................ vii
DANH MỤC HÌNH VẼ ................................................................................. viii
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 ......................................... 2
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. Cấu trúc của báo cáo .................................................................................. 3
CHƢƠNG 1....................................................................................................... 4
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................... 4
1.1. Giới thiệu về ngơn ngữ lập trình PHP .................................................... 4
1.1.1. Tổng quan về PHP ............................................................................ 4
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 .............................. 5
1.1.4. Cách xuất giá trị ra trình duyệt ......................................................... 6
1.1.5. Đặc điểm của ngôn ngữ PHP ............................................................ 6
1.2. Giới thiệu về HTML, CSS, JavaSript, MySQL ...................................... 9
1.2.1. HTML ............................................................................................... 9
1.2.2. Tìm hiểu về CSS ............................................................................. 10
1.2.3. Tìm hiểu về JavaScript ................................................................... 11
1.2.4. Hệ quản trị cơ sở dữ liệu MySQL .................................................. 12
1.2.5. Kết hợp PHP và MySQL trong ứng dụng website ......................... 13
Nguyễn Thị Diễm – 11CNTT1


iv


CHƢƠNG 2..................................................................................................... 14
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 TIỂU HỌC ............................................................ 14
2.1. Phân tích u cầu .................................................................................. 14
2.1.1. Mơ tả hệ thống thi trắc nghiệm cho học sinh tiểu học.................... 14
2.1.2. Phân tích yêu cầu hệ thống ............................................................. 15
2.1.3. Xác định các chức năng chính của hệ thống................................... 16
2.2. Phân tích và thiết kế hệ thống ............................................................... 16
2.2.1. Tác nhân hệ thống ........................................................................... 16
2.2.2. Biểu đồ use case sử dụng ................................................................ 17
2.3. Thiết kế cơ sở dữ liệu............................................................................ 39
2.3.1. Mô tả chi tiết các bảng dữ liệu ........................................................ 39
2.3.2. Sơ đồ cơ sở dữ liệu quan hệ ............................................................ 44
CHƢƠNG 3..................................................................................................... 45
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 ......................................................................... 45
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 .............. 45
3.1.1. Trang chủ ........................................................................................ 45
3.1.3. Giới thiệu hệ thống ......................................................................... 46
3.1.4. Vào thi ............................................................................................. 47
3.1.5. Hƣớng dẫn sử dụng hệ thống .......................................................... 49
3.2. Xây dựng các màn hình chức năng của ngƣời quản trị ........................ 50
3.2.1. Đăng nhập ....................................................................................... 50
3.2.3. Quản lý học sinh ............................................................................. 51
3.2.4. Quản lý đề thi .................................................................................. 54
3.2.5. Quản lý câu hỏi ............................................................................... 57
3.2.6. Quản lý tin tức ................................................................................ 60
3.2.7. Quản lý nhân viên ........................................................................... 63
Nguyễn Thị Diễm – 11CNTT1



v

3.3. Giải pháp phát triển ứng dụng .............................................................. 66
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ...................................................... 67
1. Kết quả đạt đƣợc ................................................................................. 67
2. Hạn chế ............................................................................................... 67
3. Hƣớng phát triển ................................................................................. 67
TÀI LIỆU THAM KHẢO ............................................................................... 68

Nguyễn Thị Diễm – 11CNTT1


vi

DANH MỤC TỪ VIẾT TẮT
DBMS

Database Management System - Hệ quản trị cơ sở dữ liệu

ODBC

Open Database Connectivity - Kết nối cơ sở dữ liệu mở

IBM

International Bussiness Machines – Một tập đồn cơng nghệ
Microsoft Active Server Page - Mơi trƣờng kịch bản trên máy
chủ


ASP
CSDL

Cơ sở dữ liệu

SQL

Structured Query Language – Ngôn ngữ truy vấn cấu trúc

Nguyễn Thị Diễm – 11CNTT1


vii

DANH MỤC BẢNG BIỂU
Bảng 1. Mô tả chức năng Đăng nhập.................................................... 18
Bảng 2. Mô tả chức năng Thi ............................................................... 19
Bảng 3. Mô tả chức năng Xem tin tức .................................................. 21
Bảng 4. Mô tả chức năng Đăng nhập của Ngƣời quản trị .................... 23
Bảng 5. Mô tả chức năng Quản lý học sinh .......................................... 25
Bảng 6. Mô tả chức năng Quản lý đề thi .............................................. 28
Bảng 7. Mô tả chức năng Quản lý câu hỏi ........................................... 31
Bảng 8. Mô tả chức năng Quản lý tin tức ............................................. 34
Bảng 9. Mô tả chức năng Quản lý nhân viên ....................................... 37
Bảng 10. Mô tả chức năng Thống kê .................................................... 38
Bảng 11. Bảng tbl_hocsinh ................................................................... 39
Bảng 12. Bảng tbl_dethi ....................................................................... 40
Bảng 13. Bảng tbl_khoihoc .................................................................. 40
Bảng 14. Bảng tbl_cauhoi ..................................................................... 41
Bảng 15. Bảng Post ............................................................................... 41

Bảng 16. Bảng tbl_kqlambai ................................................................ 42
Bảng 17. Bảng tbl_news ....................................................................... 42
Bảng 18. Bảng tbl_nhanvien................................................................. 43

Nguyễn Thị Diễm – 11CNTT1


viii

DANH MỤC HÌNH VẼ
Hình 1. PHP hỗ trợ nhiều Database khác nhau giúp việc phát triển Web
tiện lợi hơn ........................................................................................................ 7
Hình 2. Sơ đồ Use case tổng quát ......................................................... 17
Hình 3. Use case Đăng nhập ................................................................. 18
Hình 4. Use case Thi dành cho Học sinh .............................................. 19
Hình 5. Use case Xem tin tức ............................................................... 21
Hình 6. Use case Đăng nhập của Ngƣời quản trị.................................. 22
Hình 7. Use case Quản lý học sinh ....................................................... 24
Hình 8. Sơ đồ hoạt động của chức năng Quản lý học sinh................... 25
Hình 9. Use case Quản lý đề thi ........................................................... 27
Hình 10. Sơ đồ hoạt động của chức năng Quản lý đề thi ..................... 28
Hình 11. Sơ đồ hoạt động của chức năng Quản lý câu hỏi .................. 31
Hình 12. Use case Quản lý tin tức ........................................................ 33
Hình 13. Sơ đồ hoạt động của chức năng Quản lý tin tức .................... 34
Hình 14. Use case Quản lý nhân viên ................................................... 36
Hình 15. Sơ đồ hoạt động của chức năng Quản lý nhân viên .............. 36
Hình 16. Use case Thống kê ................................................................. 38
Hình 17. Sơ đồ cơ sở dữ liệu quan hệ ................................................... 44
Hình 18. Màn hình Trang Chủ .............................................................. 45
Hình 19. Màn hình Giới thiệu hệ thống ................................................ 46

Hình 20. Màn hình Thi ......................................................................... 47
Hình 21. Màn hình Hiển thị kết quả thi ................................................ 48
Hình 22. Màn hình hƣớng dẫn sử dụng hệ thống ................................. 49
Hình 23. Màn hình Đăng nhập của ngƣời quản trị ............................... 50
Hình 24. Màn hình Trang Chủ .............................................................. 50
Hình 25. Màn hình Quản lý học sinh .................................................... 51
Hình 26. Màn hình Tìm kiếm học sinh ................................................. 52
Nguyễn Thị Diễm – 11CNTT1


ix

Hình 27. Màn hình Thêm học sinh mới ................................................ 53
Hình 28. Màn hình Xóa học sinh .......................................................... 53
Hình 29. Màn hình Sửa thơng tin học sinh ........................................... 54
Hình 30. Màn hình Quản lý đề thi ........................................................ 54
Hình 31. Màn hình Tìm kiếm đề thi ..................................................... 55
Hình 32. Màn hình Thêm đề thi............................................................ 55
Hình 33. Màn hình trang Xóa đề thi ..................................................... 56
Hình 34. Màn hình Sửa thơng tin đề thi ............................................... 56
Hình 35. Màn hình Quản lý câu hỏi ..................................................... 57
Hình 36. Màn hình Tìm kiếm câu hỏi................................................... 58
Hình 37. Màn hình Thêm câu hỏi mới.................................................. 58
Hình 38. Màn hình Xóa câu hỏi............................................................ 59
Hình 39. Màn hình Chỉnh sửa câu hỏi .................................................. 59
Hình 40. Màn hình Quản lý tin tức ....................................................... 60
Hình 41. Màn hình Tìm kiếm tin tức .................................................... 61
Hình 42. Thêm tin tức ........................................................................... 61
Hình 43. Màn hình Xóa tin tức ............................................................. 62
Hình 44. Màn hình trang Chỉnh sửa tin tức .......................................... 62

Hình 45. Màn hình Quản lý nhân viên ................................................. 63
Hình 46. Màn hình trang Thêm nhân viên mới .................................... 64
Hình 47. Màn hình Xóa nhân viên........................................................ 65

Nguyễn Thị Diễm – 11CNTT1


1
PHẦ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. Ngay từ khi các em còn nhỏ nên đƣợc quan tâm chăm sóc, tạo cho các em
thái độ ham hiểu biết, ham học tập.
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ững thà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 đƣợc nhiều kiến
Nguyễn Thị Diễm – 11CNTT1


2
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ủa hầ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 nhỏ đồng thời khảo sát trên một số các
website em nhận thấy rằng: Nếu có một website để cho các em ở các trƣờng Tiểu
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 tiểu học”.
2. Ƣu điểm, khuyết điểm của hệ thống trang web
Ƣu điểm:
 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ác em.
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
 Ý nghĩa lý luận:
 Việc nghiên cứu đề tài giúp cho bản thân em có thể nắm vững hơn về
ngơn ngữ PHP, cách lập trình một trang web.
Nguyễn Thị Diễm – 11CNTT1


3
 Đề tài chú trọng nghiên cứu về việc học tập cũng nhƣ cách làm tăng khả
năng nhanh nhạy của học sinh Tiểu học.
 Ý nghĩa thực tiễn:
 Giúp cho các học sinh có thể kiểm tra lại kiến thức nhanh hơn, tiết kiệm
thời gian và tiền bạc hơn.
 Giúp cho nhà trƣờng có hình thức thi mới tiết kiệm hơn và tránh học
sinh gian lận hơn.
5. Cấu trúc của báo cáo
Báo cáo gồm có 5 phần:


Phần mở đầu: Giới thiệu về đề tài



Chƣơng I: 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



Chƣơng II: Phân tích, thiết kế hệ thống thông tin 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



Chƣơng III: 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


Phần Kết luận và tài liệu tham khảo

Nguyễn Thị Diễm – 11CNTT1


4
CHƢƠNG 1
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
1.1. Giới thiệu về ngơn ngữ lập trình PHP
1.1.1. Tổng quan về PHP
- 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.
- Có nhiều lý do khiến cho việc sử dụng ngơn ngữ này chiếm ƣu thế xin
nêu ra đây một số lý do cơ bản:
+ Mã nguồn mở (open source code)
+ Miễn phí, download dễ dàng từ Internet

+ Ngơn ngữ rất dễ học, dễ viết.
+ Mã nguồn không phải sửa lại nhiều khi viết chạy cho các hệ điều
hành từ Windows, Linux, Unix.
+ Rất đơn giản trong việc kết nối với nhiều nguồn DBMS. Ví dụ
nhƣ : MySQL, Microsoft SQL Server 2000, Oracle, PostgreSQL, Adabas,
dBase, Empress, FilePro, Informix, InterBase, mSQL, Solid, Sybase,
Velocis và nhiều hệ thống CSDL thuộc Hệ Điều Hành Unix (Unix dbm)
cùng bất cứ DBMS nào có sự hổ trợ cơ chế ODBC (Open Database
Connectivity) ví dụ nhƣ DB2 của IBM.
1.1.2. Cấu trúc của PHP
- PHP cũng có thẻ bắt đầu và kết thúc giống với ngôn ngữ HTML. Chỉ
khác, đối với PHP chúng ta có nhiều cách để thể hiện.
Cách 1: Cú pháp chính:
<?php mã lệnh php ?>
Nguyễn Thị Diễm – 11CNTT1


5
Cách 2: Cú pháp ngắn gọn
<? mã lệnh php ?>
Cách 3: Cú pháp giống với ASP.
<% mã lệnh php %>
Cách 4: Cú pháp bắt đầu bằng script
<script language =php>
……….
</script>
- Mặc dù có 4 cách thể hiện. Nhƣng đối với 1 lập trình viên có kinh
nghiệm thì việc sử dụng cách 1 vẫn là lựa chon tối ƣu.
Trong PHP để kết thúc 1 dòng lệnh chúng ta sử dụng dấu ";"
1.1.3. Khái niệm biến, hằng, chuỗi và các kiểu dữ liệu

- Biến trong PHP:
Biế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 có gạch dƣới.
Một biến đƣợc xem là hợp lệ khi nó thỏa các yếu tố:
+ Tên của biến phải bắt đầu bằng dấu gạch dƣới và theo sau là các ký tự,
số hay dấu gạch dƣới.
+ Tên của biến khơng đƣợc phép trùng với các từ khóa của PHP.
- Trong PHP để sử dụng 1 biến chúng ta thƣờng phải khai báo trƣớc, tuy
nhiên đối với các lập trình viên khi sử dụng họ thƣờng xử lý cùng một lúc các
công việc, nghĩa là vừa khái báo vừa gán dữ liệu cho biến.
- Hằng trong PHP:
Nguyễn Thị Diễm – 11CNTT1


6
Nếu biến là cái có thể thay đổi đƣợc thì ngƣợc lại hằng là cái chúng ta
không thể thay đổi đƣợc. Hằng trong PHP đƣợc định nghĩa bởi hàm define theo
cú pháp: define (string tên_hằng, giá_trị_hằng).
Cũng giống với biến hằng đƣợc xem là hợp lệ thì chúng phải đáp ứng 1
số yếu tố:
+ Hằng khơng có dấu "$" ở trƣớc tên.
+ Hằng có thể truy cập bất cứ vị trí nào trong mã lệnh
+ Hằng chỉ đƣợc phép gán giá trị duy nhất 1 lần.
+ Hằng thƣờng viết bằng chữ in để phân biệt với biến
- Chuỗi trong PHP:
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";
Thông tin bao gồm: biến, chuỗi, hoặc lệnh HTML ….
- 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
Nguyễn Thị Diễm – 11CNTT1


7
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í. Thật tuyệt vời phải không nào.
b) Hỗ trợ tối đa phần mềm
Ngôn ngữ PHP hỗ trợ trên hầu hết các hệ điều hành nhƣ Windows, RISC
OS, Mac OS X, Linux và nhiều loại biến thể khác của Unix. Tƣơng tự nhƣ thế với
Web Server thì PHP cũng chạy tốt trên hầu hết các Web Server bao gồm Apache
và IIS.
c) Hỗ trợ tối đa cho Database
Đâ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 giúp việc phát triển Web tiện

lợi hơn
Thêm vào đó, PHP có một thành phần mở rộng Database với tên gọi DBX.
Nó cho phép chúng ta sử dụng một cách công khai các loại cơ sở dữ liệu khác cùng
đƣợc hỗ trợ bởi thành phần này.
Chƣa hết, PHP hỗ trợ ODBC – chuẩn kết nối cơ sở dữ liệu mở. Kết quả là
các lập trình viên có thể sử dụng đồng thời các Database khác mà cũng hỗ trợ
chuẩn ODBC.
Nguyễn Thị Diễm – 11CNTT1


8
d) Dễ dàng huy động đƣợc nguồn nhân lực
Khó khăn lớn nhất khi thiết kế và phát triển Website là việc huy động đƣợc
nguồn tài nguyên cho dự án. Do PHP là một trong những ngơn ngữ lập trình tốt
nhất và có số lƣợng ngƣời dùng đơng đảo nên bạn sẽ khơng gặp nhiều khó khăn
trong việc tìm ngƣời trợ giúp. Tại Việt nam có rất nhiều lập trình viên PHP giỏi để
những ngƣời mới bắt đầu học ngôn ngữ này tìm đƣợc sự giúp đỡ.
e) Nhƣợc điểm
Vì tính dễ phát triển của nó mà có nhiều các ứng dụng PHP rất khơng bảo
mật trên mạng. Có rất nhiều mã nguồn PHP kém trên mạng. Rất nhiều ngƣời
không chuyên lập trình chọn và khơng biết xem xét bảo mật. Cho nên tạo ra sự
nhận thức rằng PHP chính nó là khơng an tồn.
PHP gần gũi với C trong khi loại bỏ một số không cần thiết nhƣ quản lý
bộ nhớ, con trỏ và việc biên dịch, PHP là ngôn ngữ thơng dịch.
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ự
Thƣ viện và các phần mở rộng, sự đóng góp của cộng đồng có thể là cao
nhất so với bất kỳ ngôn ngữ lập trình nào. Tuy nhiên, có q nhiều sự lựa chọn
để chọn một thƣ viện hoặc framework, rất nhiều thời gian có thể bị lãng phí để
tìm ra cái phù hợp.

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.
Ngƣời lập trình PHP khơng có nhƣng cơng cụ phát triển Visual nhƣ
Visual Studio của ASP.Net. Làm cho nó rất khó khăn để những ngƣời khác tiếp
tục việc của bạn, gỡ rối và tái cấu trúc mã nguồn, xử lý lỗi là những hạn chế so
với ASP.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).
Tóm lại,
Nguyễn Thị Diễm – 11CNTT1


9
PHP sẽ mãi chỉ là một ngơn ngữ lập trình bình thƣờng nhƣ bao ngơn ngữ
khác nếu chúng ta khơng hiểu rõ và phát huy đƣợc nguồn “nội lực” của nó. Hãy
lập trình PHP thật giỏi để trở thành một Web Developer (nhà phát triển Web) tài
năng. Lúc đó thì ta mới hiểu hết đƣợc vì sao PHP lại là ngơn ngữ tốt nhất cho
cơng việc của mình [1].
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 đƣợc trì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ì.


Ngơn ngữ đánh dấu là một tập hợp các thẻ đánh dấu




Tài liệu HTML đƣợc mô tả bởi các thẻ HTML



Mỗi thẻ HTML mô tả nội dung tài liệu khác nhau
Ví dụ Giải thích



Các DOCTYPE khai báo xác định các loại tài liệu là HTML



Các văn bản giữa <html> và </ html> mô tả một tài liệu HTML



Các văn bản giữa <head> và </ head> cung cấp thông tin về tài liệu



Các văn bản giữa <title> và </ title> cung cấp một tiêu đề cho tài liệu



Các văn bản giữa <body> và </ body> mô tả nội dung trang có thể nhìn thấy




Các văn bản giữa

và </ h1> mô tả một đề mục



Các văn bản giữa

và </ p> mô tả đoạn
Sử dụng mô tả này, một trình duyệt web có thể hiển thị một tài liệu với một

tiêu đề và đoạn văn.[2]

Nguyễn Thị Diễm – 11CNTT1


10
1.2.2. Tìm hiểu về CSS
CSS(Cassading Style Sheets) đƣợc dùng để miêu tả cách trình bày các tài
liệu viết bằng ngơn ngữ HTML và XHTML. CSS đƣợc phát triển bởi Word
Wide Web Consortium(W3C).
Thay vì đặt các thẻ qui định kiểu dáng cho văn bản HTML (hoặc
XHTML) ngay trong nội dung của nó, bạn nên sử dụng CSS.
Có 3 cách sử dụng CSS
Inline CSS:
Á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;textdecoration:underline;color:#FF0000;">Đoạn text cần in đậm, gạch chân, màu
đỏ</span>
Internal CSS:
Đặt CSS ở đầu trang Web để áp dụng kiểu dáng cho tồn bộ trang ấy, khi
đó chỉ cần đặt đoạn CSS vào trong cặp thẻ <style> rồi đặt vào trong phần header
của Web (giữa <head> và </head>):
<style type="text/css">
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:
body {font-family:verdana;color:#0000FF;}

Nguyễn Thị Diễm – 11CNTT1


11
Tham chiếu tới tệp tin CSS trên từ trang Web bằng đoạn mã (mã có thể
nằm ngồi thẻ <head>):
<link rel="stylesheet" type="text/css" href="style.css"/> .[3]
1.2.3. Tìm hiểu về JavaScript
JavaScript là một ngơn ngữ lập trình kịch bản phía ngƣời dùng (Client-Side
Script Language), đƣợc thực thi tại máy ngƣời dùng. Và vì javascript là một
Client-Side Script Language nên nó ko có khả năng kết nối và thao tác với CSDL
trên Server.
Các tài liệu cũ trƣớc đây nói Javascript là ngơn ngữ lập trình dựa vào đối
tƣợng (Object-based language). Nhƣng từ lúc Ajax (công cụ cho phép tăng tốc độ
ứng dụng web bằng cách cắt nhỏ dữ liệu và chỉ hiển thị những gì cần thiết, thay vì
tải đi tải lại tồn bộ trang web) ra đời, Javascript trở nên hƣớng đối tƣợng hơn rất
nhiều. Vì thế Javascript đƣợc coi là một ngơn ngữ lập trình hƣớng đối tƣợng
(Object-Oriented programming). Về cú pháp, Javascript cũng tƣơng tự nhƣ C, Perl
và Java…ví dụ mệnh đề lặp if, while, for, tƣơng tự nhau.
JavaScript đƣợc sử dụng nhằm bổ sung sự tƣơng tác cho các trang HTML.
JavaScript có thể đáp ứng các sự kiện nhƣ tải hay loại bỏ các form. Khả
năng này cho phép JavaScript trở thành một ngơn ngữ script động.

JavaScript có thể đƣợc sử dụng để xác nhận dữ liệu ngƣời dùng nhập vào
trƣớc khi nó đƣợc chuyển đến server.
Sử dụng Javascript có thể giúp website của bạn tƣơng tác với ngƣời dùng
một cách uyển chuyển hơn.
Cách sử dụng JavaScript:
Cách 1:

Nguyễn Thị Diễm – 11CNTT1


12
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
HTML Code:
<script language="javascript">
Mã chƣơng trình Javascript
..........................
</script>
Cách 2:
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 ngồi và lƣu lại với đ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 .[4]
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 qt tồn bộ những câu truy vấ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ình vậ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.[5]

Nguyễn Thị Diễm – 11CNTT1


13
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:
Cú pháp: mysql_connect ("hostname","user","pass")
+ Lựa chọn cơ sở dữ liệu:
Cú pháp: mysql_select_db ("tên_CSDL")
Ví dụ: $conn=mysql_connect ("localhost","root","root") or die ("khơng
thể kết nối"); mysql_select_db ("demo");
+ Thực thi câu lệnh truy vấn:
Cú pháp: mysql_query ("Câu truy vấn ở đây");
+ Đếm số dòng dữ liệu trong bảng:
Cú pháp: mysql_num_rows ();
+ Lấy dữ liệu từ bảng đƣa vào mảng:
Cú pháp: mysql_fetch_array ();
+ Đóng kết nối cơ sở dữ liệu:
Cú pháp: mysql_close ();

Nguyễn Thị Diễm – 11CNTT1


14

CHƢƠ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 TIỂU 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 tiểu 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 tiểu 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ông tin, 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.
Một số bƣớc xây dựng cơ bản sau:
 Phân tích yêu cầu của ngƣời sử dụng
 Phân tích và thiết kế hệ thống
 Thiết kế giao diện
 Xây dựng hệ thống

Nguyễn Thị Diễm – 11CNTT1


15
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 tà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.

Nguyễn Thị Diễm – 11CNTT1


×