MỤC LỤC
Chương I: KHẢO SÁT HỆ THỐNG 4
1.1. Giới thiệu về Internet 4
1.2. Sự ra đời và phát triển của Internet 4
1.3. Ứng dụng web 4
1.4. Mô hình hoạt động 4
1.5. Khái niệm về mô hình trên Server 5
1.5.1. Mô hình Client/Server 5
1.5.2. Ứng dụng mô hình Client/Server 5
1.5.3. Mô hình Web Client/Server 6
1.6. Hoạt động của cơ chế Client/Server 6
1.7. Mở rộng khả năng của Web Server 6
Chương II: PHP/MySQL 8
2.1. Giới thiệu về PHP 8
2.1.1. PHP là gì? 8
2.1.2. Lịch sử ra đời của PHP 8
2.1.3. Cài đặt và cấu hình PHP 9
2.2. Giới thiệu về MySQL 10
2.2.1. MySQL là gì? 10
2.2.2. Cài đặt MySQL 10
2.2.3. Sơ lược MySQL 10
2.2.4. Các lệnh cơ bản trong MySQL 11
Chương III: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 12
3.1. Đặt vấn đề 12
Chương IV: CÀI ĐẶT HỆ THỐNG VÀ DEMO CHƯƠNG TRÌNH 40
4.1. Cài đặt chương trình 40
TÀI LIỆU THAM KHẢO 53
ĐẶT VẤN ĐỀ
Ngày nay Internet, Website và trang Web không còn là khái niệm xa lạ nữa, và ngày
càng trở nên không thể thiếu trong cuộc sống. Mọi người, mọi lứa tuổi đều biết đến
Internet, Internet còn là công cụ không thể thiếu được mọi người và một số ngành
Khi nói đến Internet người ta thường nhắc đến bộ giao thức chuẩn TCP/IP
và các dịch vụ điển hình nhất của nó là email, FTP (File Transfer Protocol) và
WWW (World Wide Web). Tuy nhiên WWW chiếm vai trò quan trọng nhất vì
nó quyệt định mô hình của internet.
1.4. Mô hình hoạt động
WWW là một ứng dụng với nhiều chức năng và vai trò cực kỳ to lớn. Để
phân tích chi tiết được nó thật không đơn giản, do đó trong phạm vi hẹp ở đây
chỉ đề cập tới WWW từ khía cạnh công nghệ.
Hầu hết tất cả các dịch vụ trên Internet đều được triển khai trên mô hình
khách/chủ (Client/Server) và đây cũng là mô hình hoạt động mà WWW áp
dụng.
1.5. Khái niệm về mô hình trên Server
Thuật ngữ Server được dùng cho những chương trình thi hành như một
dịch vụ trên toàn mạng. Các chương trình Server này cấp nhận tất cả các yêu
cầu hợp lệ đến từ mọi nơi trên mạng, sau đó thi hành dịch vụ trên Server và kết
quả trả về máy yêu cầu.
Một chương trình coi là Client khi nó gửi các yêu cầu tới máy có chương
trình Server và chờ đợi câu trả lời từ Server. Chương trình Server và Client nói
chuyện với nhau bằng các thông điệp (messages) thông qua một cổng truyền
thông liên tác IPC (Interprosses communication). Để chương trình Server và
một chương trình Client có thể giao tiếp được với nhau thì giữa chúng phải có
một chuẩn để giao tiếp, chuẩn này được gọi là giao thức (protocol). Nếu một
chương trình Client nào muốn yêu cầu lấy thông tin từ Server thì nó phải tuân
theo giao thức Server đưa ra.
1.5.1. Mô hình Client/Server
Thực tế mô hình Client/Server là sự mở rộng tự nhiên và tiện lợi cho việc
truyền thông tiến trình trên các máy tính cá nhân, mô hình này cho phép xây dựng các
chương trình Client/Server một cách dễ dàng và sử dụng chúng để liên lạc với nhau
đạt hiệu quả hơn. Mô hình Client/Server như sau :
1.5.2. Ứng dụng mô hình Client/Server
để gửi về cho trình duyệt Client.
- Trình duyệt nhận và định dạng dữ liệu theo chuẩn của trang Web để hiển thị
lên màn hình.
- Quá trình cứ tiếp diễn như vậy được gọi là duyệt Web trên mạng.
1.7. Mở rộng khả năng của Web Server
Web Server là một phần mềm đóng vai trò phục vụ khi được hình thành, nó nạp
vào bộ nhớ và đợi các yêu cầu từ nơi khác đến. Các yêu cầu có thể từ trình duyệt hoặc
từ Web Server khác đến. Các yêu cầu thường là đòi hỏi về một tư liệu hay một thông
tin nào đó. Khi nhận yêu cầu, nó phân tích để xác định xem tư liệu thông tin mà người
dùng yêu cầu là gì. Sau đó gửi trả kết quả lại nơi yêu cầu. Các phần mềm Web Server
chủ yếu:
1. Apche dùng cho UNIX.
2. IIS dùng cho Window NT.
3. PWS dùng cho Window9x.
Bản thân Web Server không có khả năng truy cập CSDL. Vấn đề đặt ra là cần
mở rộng khả năng của Web Server để nó có thể xử lý các yêu cầu truy nhập vào một
CSDL nào đó, lấy các thông tin từ đó ra và sau đó trả các thông tin này về cho trình
duyệt – nơi đã gửi yêu cầu.
Chương II: PHP/MySQL
2.1. Giới thiệu về PHP
2.1.1. PHP là gì?
PHP (Hypertext Preprocessor) được giới thiệu năm 1994 bởi R. Lerdoft, như
một bộ sưu tập của ngôn ngữ chưa chặt chẽ dựa vào Perl và các công cụ của trang chủ.
Vì quá trình xử lý dựa trên máy chủ nên các trang Web được viết bằng PHP sẽ dễ dàng
hơn ở bất cứ hệ điều hành nào. Nói một cách ngắn gọn: PHP là một ngôn ngữ lập trình
kiểu script, chạy trên Server và trả về mã HTML cho trình duyệt. Xu hướng sử dụng
PHP trong việc thiết kế Web đang ngày càng phát triển trong giai đoạn hiện nay và
trong tương lai.
PHP là một ngôn ngữ lập trình được kết nối chặt chẽ với máy chủ. Nói một
cách đơn giản không theo thuật ngữ khoa học thì một quá trình xử lý PHP được thực
Download PHP tại http://WWW. php. net/downloads. php, giải nén (ví dụ
C:\PHP)
2.2. Giới thiệu về MySQL
2.2.1. MySQL là gì?
MySQL là một database Server, là hệ thống quản lý cơ sở dữ liệu quan hệ.
Trong việc lưu trữ, tìm kiếm, sắp xếp và truy vấn dữ liệu, nó tỏ ra rất nhanh và mạnh
mẽ. MySQL Server điều khiển truy cập dữ liệu đa người dùng cùng một thời điểm,
cung cấp khả năng truy cập dữ liệu nhanh, đảm bảo cho người sử dụng được cấp
quyền truy cập dữ liệu của hệ thống. Do vậy MySQL là đa người dùng đa luồng. Nó
sử dụng các câu lệnh truy vấn SQL (ngôn ngữ truy vấn có cấu trúc) là một chuẩn ngôn
ngữ truy vấn cơ sở dữ liệu hiện nay trên Web. MySQL được chính thức sử dụng rộng
rãi năm 1996 nhưng nó đã hình thành từ năm 1979.
MySQL có thể quản lý tới hàng Terabyte dữ liệu, hàng triệu bản ghi, chạy trên
nhiều môi trường khác nhau, có giao diện tương đối dễ sử dụng, có thể truy vấn cơ sở
dữ liệu thông qua câu lệnh SQL.
MySQL thường được sử dụng chung với PHP trong những trang Web cần sử
dụng đến cơ sở dữ liệu.
2.2.2. Cài đặt MySQL
Download MySQL từ địa chỉ http://WWW. mysql. com/download/, giải nén và
tiến hành cài đặt, phải thiết lập username (ở đây là admin) và Database Server (ở đây
là localhost).
2.2.3. Sơ lược MySQL
Các cơ sở dữ liệu trong MySQL được tạo hoàn toàn bằng lệnh. Các lệnh trong
SQL được kết thúc bởi dấu chấm phẩy (;). Trừ một số lệnh như Quit là trường hợp đặc
biệt.
Khi thực hiện lệnh, MySQL chuyển nó đến Server và yêu cầu thực hiện lệnh.
Do đó “mysql>” ở cuối cùng khi bấm enter thực hiện lệnh báo hiệu yêu cầu đã được
thực hiện.
MySQL đưa ra kết quả dưới dạng 1 bảng gồm các cột và hàng.
MySQL cũng đưa ra bao nhiêu hàng được trả về và trong vòng bao nhiêu giây.
[ LIMIT number] // Xóa dữ liệu trong bảng
UPDATE tablename
SET column1 = expression1, column2 = expression2,
[ WHERE condition ]
[ LIMIT number ]
ALTER TABLE tên table RENAME tên table mới // Thay đổi tên bảng
ALTER TABLE table_name ADD COLUMN column_name column atributes.
// Thêm cột vào bảng.
ALTER TABLE table_name DROP column_name // Xóa cột trong bảng.
Chương III: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.1. Đặt vấn đề
- Có rất nhiều hình thức thi khác nhau trong các trường Đại học, Cao đẳng,
Trung cấp, Trung học, các trung tâm, chương trình đào tạo từ xa và nhiều lĩnh vực
khác… Trong đó thi viết là một hình thức thi phổ biến từ trước đến nay được áp dụng
trong ngành giáo dục. Tất cả các học sinh, sinh viên đều làm cùng một đề giống nhau,
do đó sẽ dẫn đến việc đánh giá kết quả cụ thể của từng thí sinh không chính xác,
không công bằng vì có thể gian lận bài thi của nhau, quay cóp… trong lúc thi. Còn nếu
mỗi học sinh, sinh viên thi mỗi đề khác nhau thì dẫn đến việc ra đề thi gặp khó khăn
cho người ra đề và việc đánh giá kết quả cũng phải mất nhiều thời gian, vì lý do đó mà
thi trắc nghiệm được áp dụng trong vài năm gần đây.
- Thi trắc nghiệm là một hình thức thi để kiểm tra trình độ, kiến thức, khả năng
nhạy bén của từng học sinh, sinh viên ở tất cả các trường, nơi tuyển sinh của các cơ
quan ban ngành (thậm chí cả ở các công ty, xí nghiệp cũng áp dụng hình thức thi trắc
nghiệm để tuyển nhân viên) dựa trên nhiều đề khác nhau và việc ra đề cũng gặp ít khó
khăn hơn cũng như việc đánh giá kết quả ít tốn thời gian hơn. Do đó mà hình thức thi
trắc nghiệm được dùng khá phổ biến trong các trường Đại học, Cao đẳng, Trung cấp…
trong vài năm gần đây. Ngày nay với sự phát triển ngày càng mạnh mẽ của khoa học
máy tính nói chung và mạng máy tính nói riêng, đáng chú ý nhất là mạng toàn cầu
Internet. Sự ra đời của mạng Internet đã đưa con người đến với thế giới máy tính, hòa
nhập với thế giới. Với mạng Internet chúng ta có thể trao đổi thông tin, gởi Email,
• Thủ tục đăng ký dự thi còn nhiều công đoạn,
• Sau khi nộp bài thi phải dọc phách, đánh số thứ tự, tiến hành lập hội đồng chấm
thi, chọn giáo viên chấm thi, chấm xong phải tiến hành kiểm tra….
• Việc chấm thi thủ công rất mất thời gian của giáo viên và mỗi một kỳ thi, số
lượng bài thi là rất nhiều và việc sai sót là có thể xảy ra.
• Thời gian từ việc thi, chấm thi việc lên điểm cũng mất rất nhiều. Thí sinh dự thi
phải chờ đợi để có thể biết được kết quả bài thi của mình.
Từ những hạn chế trên cho thấy nếu các công đoạn thi và chấm điểm tự động được tự
động thì sẽ khắc phục được những hạn chế trên và mang lại hiệu quả hơn.
Với sự phát triển của công nghệ thông tin ngày nay chúng ta có thể áp dụng
những thành tựu của nó vào công việc chấm thi trắc nghiệm một cách nhanh chóng và
hiệu quả làm tăng hiệu suất của công việc như:
• Tăng số đề thi,
• Tránh được những nhầm lẫn không đáng có có thể xảy ra,
• Thời gian chấm thi diễn ra nhanh chóng, điểm thi của thí sinh sẽ sớm được
công bố trên mạng.
3.4. Hệ thống thi trắc nghiệm ngoại ngữ trên mạng
Hệ thống bao gồm: Thành phần tham gia hệ thống, hoạt động của hệ thống.
3.4.1. Thành phần tham gia:
• Bộ phận tổ chức thi,
• Giáo viên,
• Thí sinh dự thi.
3.4.2. Hoạt động gồm:
• Soạn câu hỏi cho đề thi,
• Tạo cấu trúc đề thi,
• Tổ chức thi,
• Báo cáo kết quả thi,
• Quản trị hệ thống phân cấp và giới hạn quyền tham gia hệ thống.
Cụ thể như sau:
- Soạn câu hỏi cho đề thi: Câu hỏi phải nằm trong chương trình học của thí sinh dự
- Khi thí sinh kết thúc bài thi thì nhấn nút nộp bài hoặc là do hết thời gian làm
bài hệ thống tự động khóa bài thi của thí sinh và nộp bài thí sinh về máy
chủ. Tùy theo từng kỳ thi mà hệ thống sẽ cho hiển thị kết quả bài thi của thí
sinh (Tổng số câu làm đúng trên tổng số câu của bài thi, tổng điểm của bài
thi, thông báo cho thí sinh biết là đỗ hay trượt) hoặc là không hiển thị kết
quả.
+ Kết thúc thi.
- Giám thị ghi lại kết quả giám sát quá trình thi của phòng thi bao gồm tổng
số thí sinh dự thi, số thí sinh vắng, giấy phép của thí sinh vắng (nếu có), số
thí sinh vi phạm quy chế thi, các sự cố xảy ra trong quá trình thi, … .
Việc tính điểm cho bài thi dựa trên những nguyên tắc sau:
- Thang điểm cho bài thi và từng câu hỏi là tùy thuộc vào hội đồng tổ chức
thi.
- Mỗi câu hỏi có nhiều phương án trả lời nhưng chỉ có một phương án là đáp
án đúng. Điểm cho câu hỏi sẽ được tính cho phương án trả lời đúng, phương
án sai sẽ không được tính điểm cho câu hỏi.
- Báo cáo kết quả thi:
Sau khi hoàn thành quá trình thi, hệ thống sẽ tự động thống kê danh sách các thí
sinh đạt và không đạt tùy theo biểu điểm do hội đồng tổ chức thi đề ra. Sau đó lập báo
cáo kết quả thi và đưa toàn bộ kết quả thi lên một địa chỉ xác định để thí sinh có thể tra
cứu điểm bài thi của mình. Nếu thí sinh có thắc mắc về điểm thi sau khi tra cứu thì có
thể phúc tra bài thi, khi đó được sự đồng ý của hội đồng thi quản trị hệ thống sẽ đưa ra
chi tiết bài thi của thí sinh để giải đáp thắc mắc của thí sinh.
3.5. Các dạng trắc nghiệm ngoại ngữ có thể thực hiện:
1.5.1. Câu hỏi có nhiều phương án lựa chọn với một phương án trả lời
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ả lời đúng trong số các lựa chọn.
1.5.2. Câu hỏi có nhiều phương án lựa chọn với nhiều phương án trả lời
Câu hỏi có nhiều lựa chọn với nhiều phương án là câu hỏi trắc nghiệm gồm một
nghiệm
trực tuyến
Đăng nhập
Thông tin hệ thống
Thông báo
Thay đổi password
Thay đổi thông tin trong hệ thống
Cập nhật thành viên vào hệ thống
Thông báo
Thông tin
Thay đổi password
Soạn câu hỏi thi, sửa chữa
Xem kết quả thi
Kết quả
Đăng nhập
Thông báo
Đề thi
Nộp bài
Kêt thúc thi
Ban lãnh đạo
Xác nhận bài thi của thí sinh
Yêu cầu báo cáo
Báo cáo
Cán bộ khảo thí
Đăng nhập
Đăng nhập
Thông báo
Thông tin
Xóa bài thi
Đã xóa
4.3 Danh sách thi trượt
2. Quản lý ngân hàng câu hỏi
1.1 Thay đổi password
1.2 Cập nhật thành viên
1.3 Thay đổi thông tin
3.3 Kết thúc thi
3.2 Thi
1.4 Xóa bài thi của thí
sinh
2.2 Tạo câu hỏi thi
2.3 Sửa câu hỏi thi
3.6.3.2. Quản lý ngân hàng câu hỏi
3.6.3.2.1 Tạo môn thi: Tạo ra môn thi trắc nghiệm.
3.6.3.2.2 Tạo câu hỏi thi: Tạo ra câu hỏi trắc nghiệm và đáp án mới của các môn học,
bao gồm các thông tin sau:
+ Dạng câu hỏi.
+ Số phương án trả lời.
+ Phương án trả lời đúng.
…
Lưu ý: Phần này chỉ có giáo viên trong hệ thống là có quyền cập nhật.
3.6.3.2.3 Sửa câu hỏi thi: Cập nhật, sửa chữa các câu hỏi cho từng môn học đã có trong
ngân hàng câu hỏi trong hệ thống, bao gồm các thông tin:
+ Dạng câu hỏi.
+ Số phương án trả lời.
+ Phương án trả lời đúng.
…
Lưu ý: Phần này chỉ có giáo viên trong hệ thống là có quyền thực hiện.
3.6.3.3. Tổ chức thi
3.6.3.3.1 Đăng ký dự thi: Lên danh sách phòng thi, số máy tham dự kỳ thi vào hệ
thống.
6. Phòng thi (D6)
7. Danh sách thí sinh tham dự thi (D7)
8. Bài thi của thí sinh (D8)
3.6.5. Ma trận thực thể chức năng
Các thực thể
Người quản trị
D1
Giáo viên
D2
Cán bộ khảo thí
D3
Môn thi
D4
Ngân hàng câu hỏi
D5
Phòng thi
D6
Danh sách thí sinh tham dự thi
D7
Bài thi của thí sinh
D8
Các chức năng
D1 D2 D3 D4 D5 D6 D7 D8
1.Quản lý hệ thống
U U U U
2. Quản lý ngân hàng câu hỏi
C U
3. Tổ chức thi
R R R R U
4. Lập báo cáo
D5 | Ngân hàng câu hỏi
D4 | Môn thi
D6 | Phòng thi
Hình 6: Sơ đồ luồng dữ liệu ở mức 0 (Đối với tác nhân là giáo viên).
Hình 7: Sơ đồ luồng dữ liệu ở mức 0 (Đối với tác nhân là ban lãnh đạo).
Giáo viên
Đăng nhập
1.0
Quản lý hệ
thống
D2 | Giáo viên
Nhập lại
Thông tin
Thay đổi thông tin, password
Đã thay đổi
Tạo môn thi
2.0
Quản lý
ngân hàng
câu hỏi
D4 | Môn thi
Môn thi
Tạo câu hỏi thi
Câu hỏi
Sửa câu hỏi thi
Thông tin câu hỏi
D5 | Ngân hàng câu hỏi
4.0
Lập báo
cáo
Đăng ký dự thi
Thông tin đăng ký
D6 | Phòng thi
Đã xóa