quyền: thứ nhất chức năng chính của web là thi, ngoài ra nhómnày còn được xem kết quả mà mình đã thi và kết quả mà các thísinh khác đã làm .- Nhóm thứ hai là người quản trị: nhóm này có
Trang 1TRƯỜNG ĐẠI HỌC TRẦN ĐẠI NGHĨA
KHOA CÔNG NGHỆ THÔNG TIN
- Dương Anh Tuấn
- Hồ Sỹ Đạt
Trang 2LỜI MỞ ĐẦU
Những năm gần đây, sự bùng nổ công nghệ thông tin đã làm thay đổithế giới mạnh mẽ Công nghệ thông tin đã len lỏi vào tất cả các lĩnh vực củađời sống con người từ kinh tế, giáo dục, kỹ thuật, y học….Với những điềudiệu kỳ mang lại cho thế giới có thể nói công nghệ thông tin nói chung vàinternet nói riêng đã trở thành một phần tất yếu không thể thiếu trong đờisống con người
Internet đã sâm nhập vào trong tất cả các lĩnh vực đời sống cũng nhưtrong việc hỗ trợ giáo dục đào tạo Nó giúp bạn tra cứu thông tin, trao đổikiến thức… nhưng ở việt nam hiện nay rất ít website hỗ trợ cho hoc sinh cóthêm kinh nghiệm về thi trắc nghiệm trước các kỳ thi quan trọng Do vậy emchọn đề tài này để có thêm một địa chỉ cho các bạn học sinh rèn luyện kỹnăng cũng như kiến thức trươc các kỳ thi quan trọng
Do còn nhiều hạn chế về trình độ cũng như thời gian nên đề tài này sẽkhông tránh khỏi sai sót Em rất mong nhận được sự chỉ bảo góp ý của cácthầy cô và các bạn để giúp em hoàn thiện nó tốt hơn
Trang 3CHƯƠNG 1 MÔ TẢ HỆ THỐNG
I Giới thiệu
Để đánh giá về chất lượng giáo dục người ta có 3 hình thức kiểm tra:
- Thi vấn đáp: thí sinh bốc tham đề thi có thời gian chuẩn, sau đó giáo viênchấm thi gọi thí sinh vào trình bày Sau khi trình bày giáo viên sẽ đặt racâu hỏi thí sinh trả lời
+ Ưu điểm :đánh giá đúng khả năng của thí sinh
+ Nhược điểm : hình thức này tốn thời gian
- Thi tự luận : các thí sinh được phân vào các phòng thi mỗi thí sinh cómột đề thi dưới dạng các câu hỏi, câu hỏi được cho dưới dạng mở thísinh tự trình bày
+ Ưu điểm :đánh giá được nhiều thí sinh cùng một lúc
+ Nhược điểm : rễ xảy ra gian lận
- Thi trắc nghiệm : đây là hình thức kiểm tra thí sinh bàng các câu hỏikhách quan dưới dạng lưa chọn đáp án đúng với yêu cầu đề bài Thitrắc nghiệm có thể thi trên máy hoặc trên giấy Phương pháp này trong
đề thi thường nhiều câu hỏi mỗi câu đưa ra một vấn đề cùng với nhữngthông tin cần thiết để thí sinh trả lời từng câu một cách ngăn gọn.+ Ưu điểm :
- Đánh giá được nhiều thí sinh cùng lúc
- Hạn chế được gian lận
- Chấm bài nhanh, đơn giản và khách quan, không bị ảnh hưởngbởi cách đánh giá cá nhân Toàn bộ quá trình chấm thi đề tự độngbằng máy
- Dạng bài này không yêu cầu thí sinh viết nhiều nên giúp tậptrung khiểm tra kỹ năng cụ thể
- Kiểm tra được một lượng lớn kiếm thức và kỹ năng
+ Nhược điểm :
- Một số thí sinh có thể học cách loại trừ đáp án
Trang 4II Vấn đề
1 Bài toán
Xây dựng một website để phục vụ cho các thí sinh rèn luyệnlàm các bài thi trắc nghiệm Qua hệ thống website thi, thí sinh sẽbiết được khả năng của mình để củng cố và cải thiện kiến, giúpcho công việc học tập tốt hơn
2 Giải quyết bài toán
Hệ thông cho phép người cập nhập đề thi, quản lý đề thi vàngân hàng câu hỏi theo môn… hỗ trợ cho các thí sinh (tài khoảnngười dùng) hoàn thành bài thi một các hiệu quả nhất Hệ quảntrị trang web tiện lợi, giúp cho người quản trị (admin) điều hành
- Tạo đề thi: công việc này là phần của admin
+ Thực hiện thi : thí sinh đăng nhập vào hệ thống chọn mônthi,thí sinh sẽ thi trong khoảng thời quy định làm bài thi, sau khithi xong bài thi sẽ được gửi về hệ thống để chấm thi
+ Chấm thi: bài thi được chấm sẽ trả lai cho thí sinh có đáp ánđúng kèm theo
+ Lưu lại: bài thi sẽ được hệ thống lưu vào CSDL của website
III Mô tả nghiệp vụ của hệ thống
1 Các chức năng của hệ thống
Website có các chức năng chính sau:
Trang 5quyền: thứ nhất chức năng chính của web là thi, ngoài ra nhómnày còn được xem kết quả mà mình đã thi và kết quả mà các thísinh khác đã làm
- Nhóm thứ hai là người quản trị: nhóm này có quyền cao nhất hệ thống,
có tất cả các quyền
2 Nguyên tắc hoạt động của hệ thống
Khi mới vào trang web bạn cần đăng nhập hoặc đăng ký, để làm bài thi.Đăng ký điền đầy đủ thông tin bắt buộc họ tên, ngày sinh, email, sau đóđồng ý với quy định của web sau đó bạn gửi đến hệ thống Nếu hệ thống kiểmtra đầy đủ yêu cầu sẽ gửi thư kích hoạt đến email của bạn bạn chỉ cần kích hoạt là có thể vào thi
Đăng nhập: bạn đăng nhập vào website, hệ thống sẽ tự động hiện các chức năng trong quyền hạn của bạn (Bạn cũng có thể thay đổi thông tin của tài khoản):
- Thí sinh/người dùng: có quyền tham gia luyện thi bằng cách chọn môn
Hệ thống sẽ đưa ra đề bài cho thí sinh thi Ngoài ra tài khoản này còn xem được những bài thi đã thực hiện và upload đề thi
- Admin: người chịu trách nhiệm quản trị chính của Web có các quyền như quyền quản trị nội dung, quản trị tài khoản, thêm người hỗ trợ trực tuyến
IV Mô hình tiến trình nghiệp vụ của hệ thống
1 Biểu đồ phân rã chức năng
Trang 6Hình 1: Biểu đồ phân cấp chức năng của hệ thống
a) Quản lý đăng nhập
Để sử dụng các chức năng của Website như luyện thi, hỗ trợ trực tuyến mỗi thí sinh phải có một tài khoản Mỗi tài khoản là một mã (giống sốbáo danh của thí sinh trong trường) để hệ thống quản lý các thí sinh tham gialàm bài
Hình 2: Biểu đồ phân dã chức năng Quản lý đăng nhậpNếu thí sinh chưa có tài khoản thì hệ thống hỗ trợ thí sinh đăng ký một tài khoản mới, thí sinh phải điền đầy đủ các thông tin người dùng ấn vào đăng
Qu n tr Đăng nh p ả ị ậ
Đăng ký Đăng nh p ậ Tùy ch nh ỉ Quên m t ậ
kh u ẩ
Trang 7b) Chức năng luyện thi
Chức năng này giúp thí sinh rèn luyện các kỹ năng thi trắc nghiệm cũng như rà soát lại các kiếm thức đã học trước khi bước vào các kỳ thi quan trọng
Hình 3: Biểu đồ phân dã chức năng luyện thi
Để tham gia luyện thi thí sinh cần phải đăng nhập vào hệ thống mới được luyện thi, Thí sinh sẽ chọn đề thì, để làm bài Sau khi thi xong hoặc hết thời bài thi hệ thống sẽ tự động chấm để và gửi kết quả cho thí sinh
Qu n tr đêề thi ả ị
Thêm m i ớ câu h i ỏ
S a câu ử
h i ỏ
Xóa câu
h i ỏ
Trang 8Hình 5: Biểu đồ phân dã chức năng Quản tri người dung
f) Quản lý thống kê
Chức năng này giúp cho người quản trị có thể kiểm soát được tình hình hoạt động của Website
2 Biểu đồ luồng dữ liệu
Biểu diễn các chức năng xử lý dữ liệu Tên chức năngbao gồm động từ có thể kèm thêm bổ ngữ tóm tắt vềchức năng đó
Chỉ luồng dữ liệu đi từ tác nhân, kho giữ liệu hay cácchức năng xử lý này đến các xử lý khác Tên loại dữ liệugồm danh từ và tính từ bổ xung
Biểu diễn các đối tượng bên ngoài hệ thống nhưng có trao đổi dữ liệu với hệ thống
Biểu diễn kho dữ liệu Tên của kho dữ liệu phải là một
Xóa user Phân quyêền
Trang 9a) Biểu đồ luồng dữ liệu mức ngữ cảnh
Hình 6: Biểu đồ luồng dữ liệu mức ngữ cảnh
C p nh p ậ ậ thông tn
thi trăếc nghi m ệ Qu n trả ị
Trang 10b) Biểu đồ luồng dữ liệu mức đỉnh
Hình 7: Biểu đồ luồng dữ liệu mức dưới đỉnh
Trang 11c) Biểu đồ luồng dữ liệu mức dưới đỉnh cho chức năng Quản trị đăng nhập
Hình 8: Biểu đồ luồng dữ liệu mức dưới đỉnh cho chức năng Quản trị đăng
nhập
Trang 12d) Biểu đồ luồng dữ liệu mức dưới đỉnh cho chức năng Luyện thi
Hình 9: Biểu đồ luồng dữ liệu mức dưới đỉnh cho chức năng Luyện thi
Trang 13e) Biểu đồ luồng dữ liệu mức dưới đỉnh cho chức năng Quản trị tài khoản
Hình 10: Biểu đồ luồng dữ liệu mức dưới đỉnh cho chức năng Quản trị tài
khoản
Trang 14f) Biểu đồ mức dưới đỉnh cho chức năng Quản trị đề thi
Hình 11: Biểu đồ mức dưới đỉnh cho chức năng Quản trị đề thi
Qu n tr n i dung ả ị ộ Ngân hàng Đêề
C p nh p ậ ậ câu h i ỏ
Upload đêề thi
Thêm m i ớ đêề thi
S a đêề thi ử
Xóa đêề thi
Trang 15CHƯƠNG 2: MÔ HÌNH HOÁ DỮ LIỆU QUAN HỆ
I Mô hình dữ liệu ban đầu
1 Xác định kiểu thực thể, kiểu thuộc tính
- Users (name, email, password, gender, avartar).
- Categories (name, description).
- Posts (title, pathFile, result, time, total).
- ExamResults (point, time).
Trang 163 Mô hình ERD mở rộng
Hinh 12: Mô hình ERD mở rộng
4 Chuẩn hoá dữ liệu
a Chuyển từ ERD mở rộng sang ERD kinh điển
Trang 17b Chuyển từ ERD kinh điển sang ERD hạn chế
Hình 14: Mô hình ERD hạn chế
c Mô hình quan hệ
Trang 185 Đặc tả bảng dữ liệu
trường Kiểu dữ liệu Ràng buộc Mô tả
1 idUser Int(10) Primary Key
Auto_Increment ID user
2 name Varchar(255) Not null Tên user
3 password Varchar(255) Not null Mật khẩu
tài khoản
4 gender Enum(‘m’,
‘f’) Not null
Giới tínhuser
5 avartar Varchar(255) Default(‘default.
png’)
Hình đạidiệnBảng 2: Bảng dữ liệu Users
1 idExams Int(10) Primary Key ID Exams
2 point Int(11) Not null Điểm làm bài
3 time Varchar(25
5) Not null
Thời gian đãlàm bài
4 userID Int(11) Foreign Key ID User
5 postID Int(11) Foreign Key ID Post
Trang 19T
Tên
1 idPost Int(10) Primary
2 title Varchar(255) Not null Tiêu đề bài
3 pathFile Varchar(255) Not null Đường dẫn lưu file đềthi
4 result Json Not null Đáp án đề thi
5 time Int(11) Not null Thời gian làm bài của
đề
6 total Int(11) Not null Tổng số câu trong đề
7 userID Int(11) Foreign
8 catID Int(11) ForeignKey ID Category
Bảng 5: Bảng dữ liệu Posts
Trang 20CHƯƠNG 3: MÔ HÌNH HOÁ DỮ LIỆU BẰNG MÔ
HÌNH HƯỚNG ĐỐI TƯỢNG
I Xác định tác nhân và use case
1 Xác định tác nhân
- Người quản trị: đây là người sử dụng hệ thống với quyền hạncao nhất Người quản trị có toàn quyền trên hệ thống, chịu trách nhiệm quản lý và điều hành website
- Người dùng: chính là người làm bài thi
- Người truy cập: người này chỉ được phép xem danh sách chuyên mục, bài viết và đăng ký là thành viên mới
2 Xác định use case
Hình 16: Use case Quản trị
Trang 21Hình 18: Use case dùng
3 Đặc tả use case
a) Use case đăng nhập quản trị
Mô tả Người quản trị đăng nhập vào trang quản trị để quản lý website.Tiền điều kiện Người dùng có user và user có quyền quản trị
(admin)
Hậu điều kiện Người dùng sẽ được vào trang quản trị
Luồng làm việc
chính
- Người dùng chọn form đăng nhập
- Nhập user và password và chọn đăng nhập
- Hệ thống thông báo thành công và chuyển đến trang quản trị
Trang 22b) Use case quản lý chuyên mục
Mô tả Cho phép người quản trị quản lý các
chuyên mục của website
Tiền điều kiện Người quản trị phải đăng nhập vào hệ
- Chọn chức năng quản lý chuyên mục
- Cho phép quản trị thêm, sửa xoá chuyênmục
- Nhập các thông tin yêu cầu
- Thông báo thành công hoặc thất bại
Bảng 7: Đặc tả use case chuyên mục
c) Use case quản lý người dùng
Mô tả Cho phép quản trị quản lý thành viên của
website
Tiền điều kiện Người quản trị phải đăng nhập vào hệ thống
quản trị
Hậu điều kiện Website được cập nhật người dùng
- Người quản trị đăng nhập vào trang quảntrị
Trang 23yêu cầu nhập lại.
Bảng 8: Đặc tả use case quản lý người dùng
d) Use case quản lý đề thi
Mô tả Cho phép quản trị quản lý thành viên của website
Tiền điều kiện trị.Người quản trị phải đăng nhập vào hệ thống quảnHậu điều kiện Website được cập nhật đề thi
Luồng làm việc
chính
- Người quản trị đăng nhập vào trang quản trị
- Chọn chức năng quản lý đề thi
- Cho phép quản trị thêm, sửa xoá đề thi
- Nhập các thông tin yêu cầu
- Thông báo thành công hoặc thất bại
e) Use case đăng ký
Mô tả Người truy cập có thể đăng ký thành viên mới của
website
Tiền điều kiện Người truy cập phải truy cập vào website
Hậu điều kiện Đăng nhập vào website
Trang 24f) Use case đăng nhập
Mô tả Cho phép đăng nhập vào website để làm bài thi
Tiền điều kiện Người truy cập phải truy cập website
Hậu điều kiện Làm được bài thi
Luồng làm việc
chính
- Người truy cập chọn form đăng nhập
- Nhập các thông tin cần thiết
- Người truy cập không có tài khoản
- Quên mật khẩu hoặc tài khoản
- Không chọn chức năng đăng nhập nữa
B ng 11ả : Đặc tả use case đăng nhập
g) Use case làm bài thi
Mô tả Cho phép người dùng làm bài thi, xem kết quả
thi
Tiền điều kiện Đăng nhập vào website
Hậu điều kiện Xem kết quả thi
Luồng làm việc
- Người dùng chọn đề thi cần làm
- Chọn bắt đầu làm bài
- Đọc đề và chọn đáp án
Trang 30i) Đăng nhập
Hình 27: sơ đồ tuần tự đăng nhập
5 Sơ đồ hoạt động
a) Đăng nhập quản trị
Trang 31b) Quản lý chuyên mục
Hình 29: sơ đồ hoạt động quản lý chuyên mục
Trang 32c) Quản lý thành viên
Hình 30: sơ đồ hoạt động quản lý thành viên
Trang 33d) Quản lý đề thi
Hình 31: sơ đồ hoạt động quản lý đề thi
e) Đăng nhập
Trang 34f) Đăng ký thành viên
Hình 31: sơ đồ hoạt động đăng ký thành viên
II Xây dựng sơ đồ lớp đối tượng
Trang 351. Xác định các đối tượng
Hình 32: các đối tượng
2 Xác định mối quan hệ giữa các lớp
Trang 37T
Tên
trường Kiểu dữ liệu Ràng buộc Mô tả
1 idExams Int(10) Primary Key ID Exams
2 point Int(11) Not null Điểm làm bài
3 time Varchar(255) Not null Thời gian
4 userID Int(11) Foreign Key ID User
5 postID Int(11) Foreign Key ID Post
Bảng 14: Bảng dữ liệu ExamResults
trường Kiểu dữ liệu Ràng buộc Mô tả
1 idCategory Int(10) Primary
Key ID Category
2 name Varchar(255) Not null Tên danh mục
3 description Varchar(255) Null able Mô tả danh mục
Bảng 15: Bảng dữ liệu Categories
STT trường Tên Kiểu dữ
1 idPost Int(10) Primary Key ID Post
2 title Varchar(255) Not null Tiêu đề bài
3 pathFile Varchar(25
5) Not null
Đường dẫn lưu file
đề thi
4 result Json Not null Đáp án đề thi
5 time Int(11) Not null Thời gian làm bài
của đề
6 total Int(11) Not null Tổng số câu
Trang 39Hình 36: Form làm bài
II. Cài đặt
1 Yêu cầu
- Cài đặt trên hệ điều hành Linux
- Môi trường Apache
- PHP version 5.6
- Mysql 5.7
2 Hướng dẫn cài đặt
Sửa file trong thư mục source code
- Sửa file env
- Thay đổi: DB_DATABASE, DB_USERNAME, DB_PASSWORD tương ứng với database
- Upload toàn bộ file trong thư mục source lên host
- Di chuyển các file trong thư mục public ra ngoài thư mục root
3 Màn hình giao diện
Trang 40Hình 37: Giao diện trang chủ
Hình 38: Giao diện đăng ký
Trang 41Hình 40: Giao diện làm bài thi
Hình 41: Giao diện upload đề thi