Xây dựng các màn hình chức năng của người dùng học sinh .... 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
Trang 1XÂ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
Trang 2Nguyễn Thị Diễm – 11CNTT1
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
Trang 3Nguyễn Thị Diễm – 11CNTT1
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 để hoà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
Trang 4Nguyễn Thị Diễm – 11CNTT1
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
Trang 5Nguyễn Thị Diễm – 11CNTT1
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 yê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
Trang 6Nguyễn Thị Diễm – 11CNTT1
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
Trang 7Nguyễn Thị Diễm – 11CNTT1
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 đoàn công nghệ ASP Microsoft Active Server Page - Môi trường kịch bản trên máy
chủ CSDL Cơ sở dữ liệu
SQL Structured Query Language – Ngôn ngữ truy vấn cấu trúc
Trang 8Nguyễn Thị Diễm – 11CNTT1
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
Trang 9Nguyễn Thị Diễm – 11CNTT1
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
Trang 10Nguyễn Thị Diễm – 11CNTT1
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
Trang 11Thế 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
Trang 122 Ư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
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
Trang 13 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
Trang 14Nguyễn Thị Diễm – 11CNTT1
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
Trang 15- 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
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:
Trang 16Nguyễn Thị Diễm – 11CNTT1
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
- 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
Trang 17Nguyễn Thị Diễm – 11CNTT1
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
Trang 18Nguyễn Thị Diễm – 11CNTT1
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 toà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ó quá 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,
Trang 19Nguyễn Thị Diễm – 11CNTT1
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 <h1> và </ h1> mô tả một đề mục
Các văn bản giữa <p> 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]
Trang 20Nguyễn Thị Diễm – 11CNTT1
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
Đặt CSS ở đầu trang Web để áp dụng kiểu dáng cho toà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 */
Trang 21Cá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 toà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:
Trang 22Nguyễn Thị Diễm – 11CNTT1
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 [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 quát toà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]
Trang 23Nguyễn Thị Diễm – 11CNTT1
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");
Trang 24Nguyễn Thị Diễm – 11CNTT1
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
Trang 25Nguyễn Thị Diễm – 11CNTT1
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
Trang 26Nguyễn Thị Diễm – 11CNTT1
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
2.2 Phân tích và thiết kế hệ thống
2.2.1 Tác nhân hệ thống
Hệ thống thi trắc nghiệm trực tuyến dành cho học sinh tiểu học gồm 3
tác nhân, đó là Người quản trị (người quản lý hệ thống) và Học sinh (người dùng), Người dùng chung
Phía Người quản trị: thực hiện các chức năng Quản lý học sinh, Quản
lý đề thi, Quản lý câu hỏi, Quản lý tin tức
Trang 27 Người dùng chung: được quyền sử dụng hệ thống để xem tin tức
2.2.2 Biểu đồ use case sử dụng
a Sơ đồ use case tổng quát
Hình 2 Sơ đồ Use case tổng quát
Trang 28Hành động của hệ thống
Nhập thông tin đăng nhập (tài khoản, mật khẩu)
Lấy thông tin (tài khoản, mật khẩu), tiến hành kiểm tra và gởi yêu cầu về server
Trang 29Nguyễn Thị Diễm – 11CNTT1
Nếu thành công thì đăng nhập vào ứng dụng Nếu thất bại thì trả về lỗi
c Phân rã Use case Thi
Trang 30Nguyễn Thị Diễm – 11CNTT1
kiện trước học sinh
Điều
kiện sau
Kết quả thi của học sinh được lưu vào cơ sở dữ liệu
Mô tả Học sinh thực hiện các việc chọn đề thi, và thi, sau khi nộp
bài hệ thống sẽ hiển thị kết quả thi
Kịch
bản
Hành động của tác nhân
Hành động của hệ thống
Chọn tab vào thi
Gởi yêu cầu tới server, tìm xem người dùng ở đây là học sinh thuộc khối lớp mấy để load đề thi phù hợp theo khối
đó
Chọn đề thi Hiển thị bài thi của đề thi đó
Nếu không có đề thi thì thông báo
Đề thi đang được cập nhật Nếu học sinh
đã thi đề thi này trước đó thì hiện thông báo lỗi không cho phép thi lần 2
Thi : Tích vào đáp án đúng -> Nộp bài
Kiểm tra trong cơ sở dữ liệu xem đáp án của học sinh có trùng với đáp án đúng trong sơ sở dữ liệu không Xuất ra kết quả thi của học sinh
Xem kết quả thi Lưu kết quả thi của học sinh vào
cơ sở dữ liệu
Trang 32Nguyễn Thị Diễm – 11CNTT1
Điều kiện
sau
Không có điều kiện sau
trong hệ thống
nhân
Hành động của hệ thống
Học sinh/ Người dùng chung kích vào các mục danh sách đề thi, thông tin – thông báo, tin tức – sự kiện, giới thiệu, hướng dẫn để xem tin tức
Hệ thống hiển thị tin tức tương ứng ra màn hình
e Phân rã Use case Đăng nhập của Người quản trị
- Sơ đồ
Hình 6 Use case Đăng nhập của Người quản trị
Trang 33Điều kiện sau Hệ thống sẽ lưu trữ thông tin phiên đăng nhập
của User qua biến SESSION
thống quản lý dành cho người quản trị
động của tác nhân
Hành động của hệ thống
Nhập thông tin đăng nhập trên màn hình đăng nhập
Gởi yêu cầu tới server, kiểm tra thông tin đăng nhập có hợp lệ hay không Nếu có, chuyển sang trang chủ Quản lý hệ thống của người quản trị Nếu không hợp lệ, hiển thị lỗi đăng nhập
Trang 34Nguyễn Thị Diễm – 11CNTT1
f Phân rã chức năng quản lý học sinh
- Sơ đồ Use case
Hình 7 Use case Quản lý học sinh
Trang 35Nguyễn Thị Diễm – 11CNTT1
- Sơ đồ hoạt động của chức năng quản lý học sinh
Hình 8 Sơ đồ hoạt động của chức năng Quản lý học sinh
Trang 36Nguyễn Thị Diễm – 11CNTT1
học sinh, thêm học sinh mới, xóa học sinh, chỉnh sửa thông
Gởi yêu cầu tới server, trả lại tên các học sinh có thông tin chứa từ giống từ Người quản trị
đã nhập
+ Nhấn nút
„Thêm học sinh mới‟
+ Nhập thông tin học sinh và nhấn cập nhật
+ Chuyển sang trang
„Thêm học sinh mới‟
+ Cập nhật thông tin Người quản trị đã nhập vào cơ sở
dữ liệu
+ Tích vào các nút chọn phía trước mỗi dòng thông tin học sinh trong màn hình Quản lý học sinh Nhấn nút
„Xóa‟
+ Hệ thống xóa thông tin về học sinh tương ứng trong cơ sở dữ liệu
+ Nhấn nút „Sửa‟
trên mỗi dòng thông tin học sinh trong màn hình Quản lý học sinh
+ Nhập thông tin cần chỉnh sửa và nhấn
„Cập nhật‟
+ Hệ thống chuyển sang trang „Chỉnh sửa thông tin học sinh‟
+ Hệ thống cập nhật thông tin của học sinh tương ứng vào cơ sở dữ liệu
Trang 37Nguyễn Thị Diễm – 11CNTT1
g Quản lý đề thi
- Sơ đồ use case
Hình 9 Use case Quản lý đề thi
Trang 38Nguyễn Thị Diễm – 11CNTT1
- Sơ đồ hoạt động của chức năng Quản lý đề thi
Hình 10 Sơ đồ hoạt động của chức năng Quản lý đề thi
Cập nhật các thay đổi về đề thi vào cơ sở dữ liệu
Mô tả Người quản trị thực hiện các chức năng Tìm kiếm
đề thi, thêm đề thi mới, xóa đề thi, chỉnh sửa thông tin đề
Trang 39Nhập từ cần tìm kiếm về một học sinh vào
ô „Tìm kiếm đề thi‟
Gởi yêu cầu tới server, trả lại tên các đề thi có thông tin chứa từ giống từ Người quản trị đã nhập
+ Nhấn nút „Thêm
đề thi mới‟
+ Nhập thông tin đề thi (có chọn ảnh) và nhấn cập nhật
+ Chuyển sang trang
„Thêm đề thi mới‟
+ Cập nhật thông tin Người quản trị đã nhập vào
cơ sở dữ liệu
+ Tích vào các nút chọn phía trước mỗi dòng thông tin đề thi trong màn hình Quản lý đề thi Nhấn nút „Xóa‟
+ Hệ thống xóa thông tin về đề thi tương ứng trong
„Cập nhật‟
+ Hệ thống chuyển sang trang „Chỉnh sửa thông tin đề thi‟
+ Hệ thống cập nhật thông tin của đề thi tương ứng vào cơ sở dữ liệu