WEBSITE HỌC VÀ THI TRẮC NGHIỆM TIẾNG ANH TRỰC TUYẾN
Trang 1BÁO CÁO PROJECT 1
WEBSITE HỌC VÀ THI TRẮC NGHIỆM TIẾNG ANH
Trang 21 Problem Definition 3
1.1 Problem Abstraction 3
1.2 The Current System 3
1.3 The Proposed System 3
1.4 Boundaries of the System 4
1.5 Hardware and Software Requirements 4
1.5.1 Minimum Requirements 4
1.5.2 Recommended Requirements 4
2 Customer Requirements Specification 5
2.1 Users of the System 5
2.2 System functions 5
System Designs 19
2.3 Entity Relationship Diagram 19
2.4 Database Design 21
2.5 Sitemap 25
2.6 Algorithms 25
3 Task Sheet 26
4 Checklists 27
4.1 Check List of Validation 27
4.2 Submission Checklist 27
Trang 31 Problem Definition
1.1 Problem Abstraction
Ngày nay, tiếng Anh đã trở thành ngôn ngữ quốc tế, được sử dụng rộng rãi ở hầu hết cáclĩnh vực đời sống xã hội, đặc biệt trong các lĩnh vực thương mại và khoa học kỹ thuật Khi quá trìnhtoàn cầu hóa ngày một sâu rộng, Tiếng Anh trở thành phương tiện giao tiếp phổ biến, tối ưu giúpngười với người ở các vùng miền địa lý khác nhau cùng biết ngôn ngữ này có thể hợp tác làm ăncùng nhau, trao đổi thông tin cho nhau
Giờ đây trong bối cảnh đất nước ta hội nhập với thế giới, việc thông thạo Tiếng Anh là mộtlợi thế, đôi khi là một yêu cầu bắt buộc trong những hoàn cảnh nhất định Hiện nay có rất nhiềuWebsite học và thi Tiếng Anh trực tuyến như : http://tienganh.com.vn , http://lopngoaingu.com ,
http://tienganhcaptoc.com … và để thêm sự lựa chọn các các bạn khi muốn cũng cố lại kiến thứcTiếng Anh cũng như muốn nâng cao trình độ Tiếng Anh của mình Chúng tôi đã chọn đề tàiWEBSITE HỌC VÀ THI TRẮC NGHIỆM TIẾNG ANH TRỰC TUYẾN cho Project I của mình
1.2 The Current System
Hiện nay các website học Tiếng Anh trực tuyến trên mạng với số lượng bài viết khá phongphú, nhưng giao diện website không thân thiện mang lại cảm giác khó sử dụng và tất nhiên là sẽkhông tạo được cảm hứng học tập cho người sử dụng Một số website cho phép làm bài thi trắcnghiệm còn hạn chế như bị lặp đề, lặp câu hỏi khá nhiều và không có khung thời gian làm bài cụthể…
Nhận thấy được những khuyết điểm đó, chúng tôi xây dựng hệ thống này với tiêu chí : manglại cảm hứng và kết quả tốt nhất cho người sử dụng khi truy cập vào hệ thống của chúng tôi
1.3 The Proposed System
Hệ thống website mà chúng tôi xây dựng sẽ bao gồm những nội dung như sau:
Những bài viết chi tiết về ngữ pháp Tiếng Anh từ cơ bản đến nâng cao, các kỹ năngnghe, nói, đọc, viết
Download tài liệu học Tiếng Anh
Các phần mềm hỗ trợ học Tiếng Anh
Thi trắc nghiệm tiếng anh trực tuyến
Học tiếng anh qua các trò chơi và bài hát
Một số tính năng cơ bản chúng tôi sẽ tích hợp vào website như :
Cho phép người dùng đăng ký thành viên để theo dõi quá trình làm bài trắc nghiệm củamình, cho phép đăng bài viết lên trang web (có kiểm duyệt của Admin)
Cho phép thành viên đăng bài lên website (có kiểm duyệt của Admin) và quản lý bàiviết của mình
Khách vãng lai có thể bình luận cho bài viết mà mình quan tâm (và sẽ được hiện thị trêntrang web sau khi được admin kiểm duyệt)
Trang 4 Tính năng tra từ bất kỳ trên trang web sang tiếng việt
Chức năng đăng ký nhận Email mỗi khi có bài viết mới
Tính năng Capcha vào phần Bình luận để chống spam
Tìm kiếm bài viết : Tìm kiếm cơ bản & Tìm kiếm nâng cao
Tạo ngẫu nhiên đề thi trắc nghiệm : các câu hỏi cũng như đáp án của mỗi đề thi sẽ đượctạo ngẫu nhiên mỗi khi thành viên chọn cấp độ
Ngoài những nội dung và tính năng như đã nói trên + Giao diện website đẹp, thân thiện, cácchuyên mục được phân chia rõ ràng, top những thành viên có kết quả thi xuất sắc, những bài viếtđược quan tâm nhiều nhất và những bình luận mới nhất sẽ được hiển thị ở Trang chủ sẽ giúp chongười dùng nắm bắt được thông tin nhiều nhất có thể khi truy cập vào website của chúng tôi
1.4 Boundaries of the System
Hệ thống được triển khai cho tất cả các đối tượng trên cộng đồng mạng có thể sử dụng
1.5 Hardware and Software Requirements
- Connect Internet or LAN
Software - Từ Windown Server 2003
Trang 5- APACHE
2 Customer Requirements Specification
2.1 Users of the System
Những đối tượng tham gia vào hệ thống website bao gồm :
- Guest (Khách vãng lai)
- Member (Thành viên)
- Admin (Quản trị hệ thống website)
2.2 System functions
A Quyền hạn của khác vãng lai khi tham gia hệ thống :
1 Xem bài viết : Khách vãng lai có thể nhấp chọn chuyên mục và những bài viết trên hệ thống
để đọc bài viết
Input : Khách nhấp vào các liên kết bài viết trên website.
Process : Server tiếp nhận yêu cầu sau đó lấy các thông tin : Tiêu đề bài viết, thời gian
viết bài, tác giả viết bài, số lượng lời bình luận, nội dung bài viết
Output : Hiện thị các thông tin Server trả về lên trang web.
2 Tìm kiếm bài viết : Khách có thể tìm bài viết theo từ khóa bằng cách nhập từ khóa vào ô
tìm kiếm rồi bấm nút tìm
Input
Process
Output
Tìm kiếm cơ bản Nhập từ hoặc chuỗi từ cần tìm
Tìm kiếm nâng cao
+ Nhập từ hoặc chuỗi từ cần tìm+ Chọn chuyên mục
+ Chọn khoảng thời gian
Client Validate : ô tìm kiếm không được để trống và > 2 ký tựServer Tìm trong cơ sở dữ liệu
+ Hiển thị danh sách các bài viết ra màn hình (bao gồm tiêu đề và nội dung tóm tắt)
+ Phân trang thành 10 bài viết/Trang (nếu số lượng bài viết > 10)
Trang 63 Bình luận bài viết : khách viết ý kiến nhận xét hoặc đóng góp ý kiến cho bài viết mình
quan tâm
Input
Process
Output
4 Gửi ý kiến phản hồi với ban quản trị : gửi ý kiến đóng góp với quản trị để website ngày
một hoàn thiện hơn
Input
Process
Output
5 Đăng ký
thành viên : Khách đăng ký thành viên để sử dụng các chức năng khác của website như làm
bài thi trắc nghiệm, post bài lên website
+ mã bảo mật phải nhập chính xácServer Nhận thông tin từ form và ghi vào database
Thông báo “Gửi thành công Lời bình sẽ được hiển thị sau khi được admin kiểm duyệt!”
.Nhập thông tin bao gồm Họ và Tên, Email, Nội dung lời bình và Mã bảo mật
Client
Validate các input sau :+ Họ tên không để trống phải từ 2->30 ký tự+ Vui lòng nhập email có dạng : letrungclub@gmail.com+ ý kiến đóng góp không để trống từ 6->500 ký tựServer Nhận thông tin từ form và ghi vào database
Thông báo “Ý kiến của bạn đã được gửi.Cám ơn bạn đóng góp ý kiến.”
.Nhập thông tin bao gồm: Họ tên, Email, Số điện thoại, Tiêu đề, Ý kiếnđóng góp
.Nhập thông tin bao gồm Tên đăng nhập, mật khẩu, xác nhận mật khẩu, Email, Họ tên, Số điện thoại
Trang 7 Process
Output
6 Đăng ký nhận bài viết qua email : Khách có thể đăng ký nhận bài viết mỗi khi có bài mới
được đăng lên để tiện theo dõi và cập nhật kiến thức từ website
Input
Process
Output
B Quyền hạn của Member khi tham gia hệ thống : ngoài những quyền khách vãng lai Member
còn có thêm một số quyền hạn sau :
1 Đăng nhập hệ thống : Đăng nhập vào website để trở thành thành viên của website, sử dụng
các chức năng mà thành viên được phép
Client
Validate các input sau : + Tên tài khoản từ 4 -> 20 ký tự gồm a-z A-Z _ 0-9+ Mật khẩu từ 6 -> 20 ký tự
+ Xác nhận mật khẩu phải đúng+ Họ tên không để trống và từ 2 -> 30 ký tự+ Email phải đúng định dạng : letrungclub@gmail.com
Server Nhận thông tin từ form sau đó kiểm tra nếu Username và Email đã tồn tại trong Database thì gửi thông báo về client
Ngược lại ghi thông tin vào Database
Thông báo “Đăng ký thành công !” hoặc username or email đã tồn tại
Nhập thông tin gồm : Username và Password vào form đăng nhập
Client KT Email phải đúng định dạng : letrungclub@gmail.com
Server Nhận địa chỉ email từ form và tự động gửi những bài viết
mới vào email đã đăng ký
Thông báo “Đăng ký thành công !”
.Nhập chính xác địa chỉ email vào form đăng ký
Trang 8 Input
Process
Output
2 Đổi mật khẩu : Thành viên không muốn sử dụng mật khẩu hiện tại nữa và muốn thay bằng
mật khẩu mới để bảo mật tài khoản thì sử dụng chức năng này
Input
Process
Output
3 Thay đổi thông tin cá nhân : Thành viên có thể thay đổi họ tên, email hoặc số điện thoại
của mình, bằng cách click vào thông tin cá nhân -> click mục sửa đổi Bạn phải đăng nhập
Server Kiểm tra Username và Password trong database
Thông báo “Đăng nhập thành công !” và hiển thị lời chào member
Client
Validate các input sau : + Mật khẩu cũ phải hợp lệ+ Mật khẩu mới và Nhập lại mật khẩu mới phải giống nhau
và >= 6 ký tự
Server + Kiểm tra mật khẩu cũ và trả kết quả về client
+ Thay thế mật khẩu cũ = mật khẩu mới trong database
Thông báo “Mật khẩu đã được thay đổi!” nếu thành công Ngược lạiThông báo “Mật khẩu cũ không đúng!”
. Nhập thông tin : Mật khẩu cũ, Mật khẩu mới, nhập lại Mật khẩu mới
Client
Validate các input sau : + Họ tên ko để trống và từ 2 -> 30 ký tự+ Email phải đúng định dạng
Server
+ Kiểm tra email đã tồn tại trong database chưa? Nếu chưa tồn tại thì update thông tin vào database, ngược gửi lỗi về client
. Nhập thông tin cần thay đổi : họ tên, email, số điện thoại
Trang 9 Process
Output
4 Đăng bài viết : Thành viên có thể viết bài đưa lên website, những bài viết này được Admin
kiểm duyệt và sẽ được hiển thị lên website Đăng nhập để sử dụng chức năng này
Input
Process
Output
5 Quản lý bài viết của bạn: Thành viên có thể quản lý bài viết của mình đã đăn bằng cách
click vào dòng quản lý bài viết ở khu vực thành viên Đăng nhập để sử dụng chức năng này:
a Chức năng sửa: cho phép sửa lại bài viết bạn đã đăng
Thông báo “Bài viết đã được ghi nhận! sẽ được hiển thị lên website saukhi được Admin kiểm duyệt”
.Nhập thông tin gồm : Chọn chuyên mục,Tiêu đề, tóm tắt nội dung, nội dung chính
.Thông tin gồm : tiêu đề, chuyên mục, tóm tắt, nội dung chính
Client
Validate các input sau : + Tiêu đề phải từ 6 -> 100 ký tự+ Nội dung không để trốngServer Ghi thông tin vào database
Thông báo “Thông tin cá nhân đã được cập nhật!” nếu thành công Ngượclại thì thông báo “Email đã tồn tại trong database!”
Trang 10Server Lấy ngẫu nhiên 20 câu hỏi trong database ứng với cấp độ
bạn đã chọn trả về cho Client
Client
+ Hiển thị thời gian làm bài còn lại (bằng javascipt)+ Hiển thị đề thi dạng bảng, gồm câu hỏi và các phương ántrả lời
Server Nhận kết quả bài thi từ client -> Tính điểm -> Lưu các thông
tin ở mục (*) vào bảng nhật ký thi trong database.
.Chọn cấp độ thi -> chọn các phương án trả lời ứng với từng câu hỏi
Thông báo “Đã cập nhật bài viết thành công”
. Chọn id bài viết cần xóaClient Thông báo : Xóa bài viết này ?
Server
Kiểm tra bài viết có liên qua đến bảng khác không? Nếu có gửi thông báo lỗi về client Ngược lại xóa thông tin trong database
Thông báo “Xóa thành công” nếu thành công Ngược lạiThông báo “Không xóa được vì có dữ liệu liên quan”
Trang 11C Admin – Quản trị hệ thống : có toàn quyền trong hệ thống Để sử dụng các chức năng của
Quản trị bạn phải đăng nhập hệ thống bằng tài khoản Quản trị Ngoài các chức năng như của Đối tượng Guest và Member, Admin còn có những chức năng quản trị sau :
1 Quản lý thành viên : Admin có thể tìm kiếm thành viên, xem thông tin thành viên, thêm
thành viên, sửa thông tin thành viên, xóa thành viên
a Tìm kiếm thành viên : tìm kiếm thành viên đã đăng ký trên website
Input
Process
Output
Hiển thị thông báo ra màn hình : + Tên thành viên + Tên tài khoản + Số câu hỏi + Tổng số điểm
Server Lấy các thông tin ở mục (*) trong database trả về cho Client
Hiện thị các thông tin ở mục (*) dưới dạng bảng, liệt kê theo cấp độ và
thời gian
.Thành viên chọn dòng Nhật ký thi ở khu vực thành viên
Client Validate ô tìm kiếm không để trống và >= 3 ký tựServer Tìm trong database và trả kết quả về client
+ Nếu tìm thấy : Hiện thị thông tin cá nhân của username gồm
UserID, Username, Password, Họ tên, Số điện thoại, Email dưới dạng
bảng+ Nếu không tìm thấy hiển thị thông báo “Không tìm thấy kết quả nào”
Nhập Username hoặc họ tên vào form tìm kiếm
Trang 12b Xem thông tin thành viên: quản trị có thể xem chi tiết thông tin cá nhân của bất kỳ
thành viên nào, thông tin bao gồm : (**)username, họ tên, số điện thoại, email
Server Lấy các thông tin ở mục (**) trong database trả về Client
Hiện thị các thông tin ở mục (**) dưới dạng bảng
Chọn id user cần xem
Client
Validate các input sau : + Tên tài khoản từ 4 -> 20 ký tự gồm a-z A-Z _ 0-9+ Mật khẩu từ 6 -> 20 ký tự
+ Xác nhận mật khẩu phải đúng+ Họ tên không để trống và từ 2 -> 30 ký tự+ Email phải đúng định dạng : letrungclub@gmail.com
Server
Nhận thông tin từ form sau đó kiểm tra nếu Username và Email đã tồn tại trong Database thì gửi thông báo về client Ngược lại ghi thông tin vào Database
Thông báo “Đã thêm thành viên thành công !” Hoặc Thông báo lỗi “username or email đã tồn tại trong hệ thống”
.Nhập thông tin bao gồm Tên đăng nhập, mật khẩu, xác nhận mật khẩu, Email, Họ tên, Số điện thoại
Trang 13d Sửa thông tin thành viên : quản trị có thể sửa thông tin của bất cứ thành viên nào.
2 Quản lý bài viết : Quản trị có thể tìm kiếm, thêm, sửa, xóa bài viết, kiểm duyệt các bài viết
do thành viên post lên
a Tìm kiếm bài viết : Quản trị nhấp chọn dòng bài viết từ form tìm kiếm Sau đó nhập từ
hoặc chuỗi cần tìm rồi bấm nút tìm (hệ thống sẽ tự động tìm trong tiêu đề và nội dung các bài viết)
Server
Kiểm tra dữ liệu của user ở trong database nếu user có liên quan đến những bảng khác thì thông báo lỗi ngược lại xóa user khỏi database
Thông báo “Thành viên đã được xóa khỏi hệ thống !” nếu không có dữliệu liên quan Ngược lại thông báo “không xóa được vì có dữ liệu liên quan”
Server + Kiểm tra email đã tồn tại trong database chưa? Nếu chưa tồn tại thì update thông tin vào database, ngược gửi lỗi về
client
Thông báo “Thông tin cá nhân đã được cập nhật!” nếu thành công
Ngược lại thì thông báo “Email đã tồn tại trong database!”
. Nhập thông tin cần thay đổi : họ tên, email, số điện thoại
Trang 14 Input
Process
Output
b Đăng bài viết : Quản trị nhấp vào dòng Viết bài mới trong mục Quản lý bài viết để thực
hiện viết bài Bài viết do admin đăng không phải kiểm duyệt
Client Validate : Input tìm kiếm không để trống và > 2 ký tựServer Tìm trong database rồi trả kết quả về cho client
Hiển thị kết quả tìm kiếm với Tiêu đề, tác giả viết bài, tình trạng, chuyên mục, lượt xem, tổng số lời bình ở dạng bảng
Server Lấy các thông tin về bài viết trong database trả về Client
Client Validate các input sau : + Tiêu đề phải từ 6 -> 100 ký tự
+ Nội dung không để trống
Server
+ Nếu bài viết chưa kiểm duyệt mà chọn làm slide sẽ gửi thông báo lỗi về client Ngược lại
+ Thay thế thông tin bài viết mới và ghi vào database
Nhập thông tin gồm : Tiêu đề, tóm tắt bài viết, nội dung bài viết, chọn chuyên mục, chọn làm slide
Client
Validate các input sau : + Tiêu đề không để trống từ 6->100 ký tự+ Nội dung bài viết không để trống + Phải chọn một chuyên mục bài viếtServer Ghi thông tin vào database
Thông báo “Thêm bài viết thành công”
.Nhập thông tin gồm : Chọn chuyên mục,Tiêu đề, tóm tắt nội dung, nội dung chính
Trang 15Thông báo “Bài viết đã được sửa đổi !” nếu thành công Ngược lại thì thông báo “Thao tác không thành công”
Server Chuyển bài viết sang trạng thái đã kiểm duyệt active = 1
Thông báo “Bài viết đã được kiểm duyệt !”
Chọn id bài viết cần kiểm duyệt kiểm duyệt
. Chọn id bài viết cần xóaClient Thông báo : Xóa bài viết này ?
Server
Kiểm tra bài viết có liên qua đến bảng khác không? Nếu có gửi thông báo lỗi về client Ngược lại xóa thông tin trong database
Thông báo “Xóa thành công” nếu thành công Ngược lạiThông báo “Không xóa được vì có dữ liệu liên quan”
Trang 163 Quản lý bình luận : Quản trị có thể kiểm duyệt lời bình, viết, sửa và xóa lời bình.
a Kiểm duyệt bình luận : kiểm duyệt lời bình của thành viên và khách vãng lai
Input
Process
Output
b Viết bình luận : quản trị có thể trả lời thành viên hoặc khách thông qua viết lời bình cho
bài viết Lời bình của quản trị tự động kích hoạt mà không cần kiểm duyệt
Server Chuyển lời bình sang trạng thái đã kiểm duyệt (Active = 1)
Thông báo “Lời bình đã được kiểm duyệt !”
Chọn id lời bình cần kiểm duyệt
Server Lấy các thông tin về lời bình trong database trả về Client
Client Validate
+ Nội dung lời bình không để trống Server Thay thế lời bình mới và ghi vào databaseThay đổi nội dung lời bình
Client
Validate các input sau : + lời bình không được để trống+ mã bảo mật phải nhập chính xácServer Nhận thông tin từ form và ghi vào database
Thông báo “Gửi thành công”
.Nhập thông tin bao gồm Nội dung lời bình và Mã bảo mật
Trang 174 Quản lý quảng cáo : khi hệ thống website có số lượng truy cập lớn, hệ thống sẽ cung cấp
dịch vụ quảng cáo cho cá nhân hoặc doanh nghiệp muốn đặt quảng cáo Quản trị có thể vào phần này để thêm, sửa hoặc xóa bỏ quảng cáo
a Thêm quảng cáo : Quản trị nhấp chọn thêm quảng cáo trong mục quản lý quảng cáo
Input
Process
Thông báo “Sửa thành công !”
Client Thông báo : Bạn muốn xóa lời bình này?
Server Xóa lời bình ra khỏi database
Thông báo “Lời bình đã được xóa khỏi hệ thống !”
Trang 18c Xóa quảng cáo : Quảng cáo sẽ tự động gỡ bỏ khỏi hệ thống khi thời gian quảng cáo hết
hạn Nhưng vì một lý do nào đó bạn ko muốn hiển thi quảng cáo này nữa trong lúc quảngcáo chưa hết hạn Quản trị sẽ sử dụng chức năng này
Input
Process
Thông báo “Đã thêm quảng cáo thành công !”
Server Lấy thông tin về quảng cáo cần sửa trong database và trả về
Thông báo “Sửa quảng cáo thành công !”
Nhập thông tin gồm : tên công ty, mô tả quảng cáo, file ảnh, link quảngcáo, thời gian bắt đầu, thời gian kết thúc quảng cáo
Client Thông báo : Bạn muốn xóa quảng cáo này?
Server Xóa thông tin quảng cáo ra khỏi databaseChọn id quảng cáo cần xóa