Khi nhận được các câu hỏi từ các cộng tác viên hoặc từ các nguồn khác, người quản lý hệ thống có nhiệm vụ phân loại câu hỏi, kiểm tra độ chính xác của câu hỏi, đưa vào thư viện của hệ th
Trang 19Mục lục 1
1 Khảo sát 4
1.1 Mục đích 4
1.2 Yêu cầu nghiệp vụ 4
1.3 Phạm vi sử dụng 4
1.4 Đặc điểm người dùng 5
2 Phân tích 6
2.1 Các yêu cầu chức năng 6
2.1.1 Đăng ký 6
2.1.2 Đăng nhập 6
2.1.3 Quản lý tin tức 7
2.1.4 Quản lý thành viên 8
2.1.5 Quản lý nhóm thành viên 8
2.1.6 Quản lý bài giảng 8
2.1.7 Quản lý câu hỏi 9
2.1.8 Quản lý đề thi 9
2.1.9 Làm bài thi 9
2.1.10.Chấm điểm thi 9
2.1.11.Tìm kiếm tin tức 9
2.1.12.Tìm kiếm bài giảng 10
2.1.13.Tìm kiếm đề thi 10
2.1.14.Tìm kiếm thành viên 10
2.1.15.Thống kê thành viên 10
2.1.16.Thống kê bài giảng 10
2.1.17.Thống kê tin tức 10
2.1.18.Thống kê đề thi 10
2.1.19.Báo cáo bảng điểm thành viên 11
Trang 22.3 Biểu đồ phân cấp chức năng 12
2.4 Biểu đồ luồng dữ liệu 16
2.4.1 Biểu đồ luồng dữ liệu mức ngữ cảnh 16
2.4.2 Biểu đồ luồng dữ liệu mức đỉnh 17
2.4.3 Biểu đồ luồng dữ liệu mức dưới đỉnh 18
2.4.3.1 Quản lý thành viên 18
2.4.3.2 Quản lý tin tức 18
2.4.3.3 Quản lý bài giảng 19
2.4.3.4 Quản lý đề thi 19
2.4.3.5 Quản lý câu hỏi 20
2.4.3.6 Tìm kiếm 20
2.4.3.7 Báo cáo, thống kê 21
2.5 Mô hình hóa dữ liệu 21
2.5.1 Các thực thể và liên kết 21
2.5.1.1 Mô tả thực thể 21
2.5.1.2 Mô tả liên kết 21
2.5.2 Biểu đồ thực thể liên kết – ERD 21
2.5.2.1 Lược đồ khái niệm 21
2.5.2.2 Chuẩn hóa 21
3 Thiết kế 21
3.1 Kiến trúc ứng dụng 21
3.2 Thiết kế cơ sở dữ liệu 22
3.2.1 Mô hình dữ liệu quan hệ – DRM 22
3.2.2 Cài đặt cơ sở dữ liệu 22
3.3 Thiết kế giao diện 22
3.3.1 Giao diện chính 22
3.3.2 Giao diện Front End 22
3.3.2.1 Menu Bar 22
3.3.2.2 Đăng nhập 23
Trang 33.3.2.4 Thông tin cá nhân 24
3.3.2.5 Tin tức 24
3.3.2.6 Bài giảng 25
3.3.2.7 Đề thi 26
3.3.2.8 Tìm kiếm 27
3.3.2.9 Báo cáo, thông báo 27
3.3.3 Giao diện Back End 27
3.3.3.1 Menu Bar 27
3.3.3.2 Thông tin thành viên 28
3.3.3.3 Tin tức 29
3.3.3.4 Bài giảng 30
3.3.3.5 Đề thi 31
3.3.3.6 Câu hỏi 32
3.3.3.7 Tìm kiếm 33
Trang 41 Khảo sát
1.1 Mục đích
Tạo một địa chỉ tin cậy để mọi người có thể kiểm tra trình độ tiếng anh, cùng học tập và nâng cao tiếng anh của bản thân Các câu hỏi cần có độ chính xác cao, các đề thi không trùng lập nhau, thời gian cung cấp dịch vụ ở mức tốt nhất Giao diện xây dựng hợp lý, dễ sử dụng nhưng vẫn cần sự sáng tạo, phù hợp với đối tượng tham gia sử dụng
Xây dựng một hệ thống website thi trắc nghiệm tiếng anh trực tuyến, cho phép các thành viên của hệ thống có thể làm bài thi trên máy tính Các dạng bài thi có thể
là thi thử tốt nghiệp, đại học, các chứng chỉ tiếng anh Kết cấu dạng bài thi và điều kiện, thời gian giống như thi thật
1.2 Yêu cầu nghiệp vụ
Người quản lý hệ thống cần có sự cẩn thận cao, có trình độ tiếng anh tốt
Khi nhận được các câu hỏi từ các cộng tác viên hoặc từ các nguồn khác, người quản lý hệ thống có nhiệm vụ phân loại câu hỏi, kiểm tra độ chính xác của câu hỏi, đưa vào thư viện của hệ thống
Nhận được các phản hồi về câu hỏi của người sử dụng, người quản lý có nhiệm vụ kiểm tra lại độ chính xác của thông tin, tham khảo ý kiến của cố vấn để đưa ra cách sử lý hợp lý nhất
Khi có sự cố phát sinh với hệ thống, người quản lý có trách nhiệm nhanh chóng tìm hiểu lỗi phát sinh để có cách sử lý nhanh nhất, đảm bảo sự hoạt động của
Trang 51.4 Đặc điểm người dùng
Muốn sử dụng hệ thống thì trước hết người dùng phải đăng ký để trở thành thành viên, yêu cầu chọn tên sử dụng (username, dùng để đăng nhập vào hệ thống), mật khẩu và một vài thông tin cá nhân
Khi học viên đăng nhập vào hệ thống, dựa vào việc lựa chọn về trình độ và độ khó, hệ thống sẽ đưa ra một đề thi ngẫu nhiên tạo từ cơ sở dữ liệu, sẽ không có câu hỏi nào bị trùng (lặp lại) trong đề thi
Với độ khó ở mức “dễ”, sẽ có 60% câu hỏi ở mức dễ, 30% câu hỏi ở mức trung bình, 10% câu hỏi ở mức khó
Với độ khó ở mức “trung bình”, sẽ có 40% câu hỏi ở mức dễ, 30% câu hỏi ở mức trung bình, 30% câu hỏi ở mức khó
Với độ khó ở mức “khó”, sẽ có 20% câu hỏi ở mức dễ, 40% câu hỏi ở mức trung bình, 40% câu hỏi ở mức khó
Mỗi bài thi bao gồm: mã bài thi, thời gian làm bài thi, mã học viên làm bài thi, tên học viên làm bài thi và các câu hỏi Câu hỏi sẽ bao gồm phần hỏi và phần thông tin trả lời để thành viên lựa chọn (a, b, c, d) và điểm của câu hỏi Mỗi bài thi đều có phần đáp án, bao gồm: tên môn thi, đáp án cho từng câu hỏi (a hoặc b hoặc c hoặc d) Mã bài thi, vị trí câu hỏi, vị trí đáp án (a, b, c, d) của từng câu hỏi sẽ được thay đổi ngẫu nhiên với mỗi thành viên và với mỗi lần làm bài thi Sau khi thành viên nộp bài thi (hết thời gian, hệ thống tự chấm dứt hoặc thành viên nộp bài), hệ thống
sẽ thực hiện lưu thông tin bài làm của thành viên, hệ thống tự động chấm điểm bài thi và điểm của bài thi sẽ được lưu lại trong hồ sơ của học viên
Học viên có thể vào phần bài giảng để học các kiến thức trong các bài giảng được giáo viên đưa lên
Ngoài ra, học viên có thể vào mục tin tức để theo dõi các tin tức liên quan đến
hệ thống Các tin tức này được đưa lên bởi người quản trị hệ thống
Giáo viên là người được quản trị hệ thống cấp tài khoản với quyền hạn “giáo viên” Giáo viên có thể đưa các bài giảng của mình lên hệ thống, gửi vào cơ sở dữ liệu các câu hỏi của mình
Quản trị hệ thống là người có quyền hạn cao nhất, có quyền quản lý (tạo, cập nhật, xóa) thông tin các thành viên, các môn thi, nhập dữ liệu cho các bài thi bao gốm danh sách câu hỏi, thời gian làm bài và thông tin đáp án Dữ liệu phải tuyệt đối đúng Một câu hỏi trong bài thi có nhiều phương án để trả lời nhưng chi có 1 đáp án đúng duy nhát, thành viên khi làm bài sẽ chọn lấy một trong các phương án này và đáp án sẽ lưu phương án trả lời đúng cho câu hỏi Quản trị hệ thống đưa các tin tức liên quan đến hệ thống (bảo trì hệ thống, nâng cấp hệ thống …), quản lí các bài giảng
Trang 6Sau khi đăng kí, người dùng có thể sử dụng tài khoản vừa đăng kí để đăng nhập vào hệ thống
Xử lý:
Trang 72.1.3 Quản lý tin tức
Người quản lý có thể tạo ra một bản tin hoặc sửa một bản tin Các thông tin của một tin tức bao gồm: mã tin tức, tiêu đề tin tức, loại tin tức và nội dung tin tức Người quản lý có thể tạo, sửa và xóa phân loại tin tức
Người dùng có thể xem nội dung tin tức và in nội dung tin tức (nếu muốn)
Xử lý:
Trang 82.1.4 Quản lý thành viên
Người quản lý có quyền cấp tài khoản cho nhiều người dùng khác hoặc xóa một tài khoản nào đó Nhưng không có quyền sửa các thông tin tài khoản như tài khoản, mật khẩu Với mỗi người dùng, có thể đổi mật khẩu của mình sau khi đã được cung cấp tài khoản bởi người quản lý
Đối với giáo viên trong trường, khi nhập thông tin cá nhân, sẽ có một tài khoản do hệ thống cung cấp Và giáo viên đó có quyền thay đổi mật khẩu của mình
2.1.5 Quản lý nhóm thành viên
Người quản lý có thể phân các học viên thành các nhóm nhỏ để cho việc quản
lý được dễ dàng hơn Các nhóm này được người quản lý tạo ra và có xóa đi khi cần thiết Người quản lý có thể thêm một học viên vào nhóm và loại bỏ học viên ra khỏi nhóm khi cần thiết
2.1.6 Quản lý bài giảng
Giáo viên hoặc người quản lý có khả năng tạo/sửa một bài giảng Thông tin về một bài giảng bao gồm: Mã bài giảng, tiêu đề bài giảng, phân loại bài giảng, nội dung bài giảng Người quản lý có thể tạo, sửa và xóa phân loại tin tức
Người dùng có thể xem nội dung bài giảng và in nội dung bài giảng (nếu muốn)
Xử lý:
Trang 92.1.7 Quản lý câu hỏi
Người quản lý hoặc giáo viên có thể tạo ra câu hỏi mới, sửa câu hỏi, đáp án hoặc xóa câu hỏi khỏi cơ sở dữ liệu Câu hỏi được phân loại thành các dạng bài khác nhau (điền từ vào chỗ trống, chia động từ, giới từ…)
Thông tin về một câu hỏi bao gồm: mã câu hỏi, trình độ câu hỏi, độ khó câu hỏi, đáp án câu hỏi, đáp án đúng
2.1.10 Chấm điểm thi
Sau khi thí sinh nộp bài hoặc hết thời gian làm bài, hệ thống sẽ chấm điểm và thông báo điểm cho thí sinh, đồng thời hệ thống sẽ tự động lưu điểm vào hồ sơ thí sinh Bài làm sẽ chấm theo thang điểm 10, nghĩa là mỗi câu đúng thí sinh sẽ được 0.2 điểm
2.1.11 Tìm kiếm tin tức
Khi người dùng muốn tìm kiếm tin tức trong hệ thống hay người quản lý muốn tìm kiếm tin tức trên hệ thống với mục đích xem thông tin hay sửa thông tin của tin tức, sẽ phải điền các thông tin liên quan tới tin tức như tên tin tức, mã tin tức, mộ phần nội dung, … Để có kết quả xem chính xác nhất
Trang 102.1.12 Tìm kiếm bài giảng
Khi người dùng muốn tìm kiếm bài giảng trong hệ thống hay người quản lý hoặc giáo viên muốn tìm kiếm bài giảng trên hệ thống với mục đích xem thông tin hay sửa thông tin của tin tức, sẽ phải điền các thông tin liên quan tới bài giảng như tên tin tức, mã tin tức, mộ phần nội dung, … Để có kết quả xem chính xác nhất
2.1.13 Tìm kiếm đề thi
Khi người dùng muốn tìm kiếm đề thi trong hệ thống để làm bài hay người quản lý hoặc giáo viên muốn tìm kiếm đề thi trên hệ thống với mục đích xem thông tin hay sửa thông tin của đề thi, sẽ phải điền các thông tin liên quan tới đề thi như
mã đề thi, độ khó, trình độ bài thi… Để có kết quả xem chính xác nhất
2.1.14 Tìm kiếm thành viên
Khi người dùng muốn tìm kiếm thông tin của một cá nhân trong hệ thống để xem hay người quản lý viên muốn tìm kiếm thông tin của người dùng trên hệ thống với mục đích xem thông tin hay sửa thông tin của người dùng đó, sẽ phải điền các thông tin liên quan tới người dùng như tên tài khoản, mã người dùng, ngày tháng năm sinh, … Để có kết quả xem chính xác nhất
2.1.15 Thống kê thành viên
Cuối mỗi tháng, người quản lý sẽ thống kê danh sách thành viên trong hệ thống (bao gồm cả giáo viên và học viên)
2.1.16 Thống kê bài giảng
Cuối mỗi tháng, người quản lý sẽ thống kê danh sách các bài giảng trong hệ thống
Trang 112.1.19 Báo cáo bảng điểm thành viên
Sau khi làm bài thi xong, hệ thống sẽ đưa điểm số vào hồ sơ người dùng Người dùng có thể vào hồ sơ để xem báo cáo về điểm số của mình
2.1.20 Quản lý nhóm tin tức
Nhóm tin tức được dùng để phân loại các tin tức như „tin hệ thống‟, „tin học tập‟, „tin xã hội‟ Người quản lý có thể tạo ra, sửa và xóa các nhóm tin tức khi cần thiết
2.1.21 Quản lý loại bài giảng
Nhóm tin tức được dùng để phân loại các bài giảng như „Grammar‟,
„Vocabulary and Slang‟, „English terminology‟ Người quản lý có thể tạo ra, sửa
và xóa các phân loại bài giảng khi cần thiết
2.1.22 Quản lý loại câu hỏi
Nhóm câu hỏi được dùng để phân loại các Câu hỏi theo dạng bài như „chia động từ‟, „điền giới từ‟, „điền từ vào chỗ trống‟ Người quản lý có thể tạo ra, sửa
và xóa các phân loại câu hỏi khi cần thiết
2.1.23 Quản lý loại đề thi
Nhóm tin tức được dùng để phân loại các đề thi theo trình độ như „cấp 2‟, „cấp 3‟, „đại học‟ Người quản lý có thể tạo ra, sửa và xóa các loại đề thi khi cần thiết
2.2 Các yêu cầu phi chức năng
Yêu cầu về hiệu năng: tốc độ xử lý nhanh ngay cả trong trường hợp có nhiều người sử dụng cùng lúc, thời gian đáp ứng yêu cầu (thời gian tạo câu hỏi, đề thi, chấm điểm )
Yêu cầu về thông tin: Các câu hỏi phải có tính chính xác cao, không có sự lặp lại câu hỏi trong đề thi Câu hỏi có đáp án chính xác, rõ ràng, đảm bảo mỗi câu hỏi chỉ có 1 đáp án duy nhất Thông tin về người sử dụng được bảo vệ tốt nhất có thể Kinh tế: chi phí cho hệ thống quản lý phải phù hợp với yêu cầu để có thể dễ dàng nâng cấp hệ thống khi cần thiết (lưu lượng người sử dụng vượt quá khả năng đáp ứng, )
Yêu cầu về điều khiển: dễ sử dụng, có tính bảo mật cao, giao diện đẹp, dễ điều khiển, tạo sự thoải mái đối với người sử dụng
Trang 122.3 Biểu đồ phân cấp chức năng
Hệ thống trắc nghiệm tiếng Anh trực tuyến
Quản lý thành viên Quản lý tin tức Quản lý bài giảng Quản lý đề thi Quản lý câu hỏi Tìm kiếm Báo cáo, thống kê
Quản lý thành viên
Quản lý thông tin tài khoản
Tạo nhóm thành viên
Xóa nhóm thành viên
Xóa thành viên khỏi nhóm
Xóa tài khoản thành viên Sửa nhóm
thành viên
Trang 13Tạo phân loại
Sửa phân loại
Xóa phân loại
Xem danh sách tin tức
Xem tin tức
In tin tức
Quản lý bài giảng
Thêm bài giảng
Sửa bài giảng
Xóa bài giảng
Tạo phân loại
Sửa phân loại
Xóa phân loại
Xem danh sách bài giảng
Xem bài giảng
In bài giảng
Trang 14Quản lý câu hỏi
Quản lý thông tin
Sửa câu hỏi
Xóa câu hỏi
Xóa phân loại
Sửa phân loại
Sửa đáp án Xem danh sách câu hỏi
Trang 15TÌm kiếm
Tìm kiếm tin tức Tìm kiếmbài giảng Tìm kiếm đề thi Tìm kiếm
thành viên
Báo cáo, thống kê
Thống kê tin tức Thống kêbài giảng Thống kê đề thi Thống kê
thành viên
Báo cáo bảng điểm thành viên
Lập báo cáo
Xem báo cáo
In báo cáo
Trang 162.4 Biểu đồ luồng dữ liệu
2.4.1 Biểu đồ luồng dữ liệu mức ngữ cảnh
Trang 172.4.2 Biểu đồ luồng dữ liệu mức đỉnh
Trang 182.4.3 Biểu đồ luồng dữ liệu mức dưới đỉnh
2.4.3.1 Quản lý thành viên
2.4.3.2 Quản lý tin tức
Trang 192.4.3.3 Quản lý bài giảng
2.4.3.4 Quản lý đề thi
Trang 202.4.3.5 Quản lý câu hỏi
2.4.3.6 Tìm kiếm
Trang 212.4.3.7 Báo cáo, thống kê
2.5 Mô hình hóa dữ liệu
2.5.1 Các thực thể và liên kết
2.5.1.1 Mô tả thực thể
2.5.1.2 Mô tả liên kết
2.5.2 Biểu đồ thực thể liên kết – ERD
2.5.2.1 Lược đồ khái niệm
2.5.2.2 Chuẩn hóa
3 Thiết kế
3.1 Kiến trúc ứng dụng
Hệ thống được thiết kế là một hệ thống tập trung cho phép học viên, giáo viên
và người quản lý có thể đồng thời truy cập và sử dụng hệ thống khi truy cập bằng máy tính qua mạng internet
Dữ liệu được lưu trữ tập trung vì đây là ứng dụng web, kích thước dữ liệu ở dạng vừa, dữ liệu thường xuyên được truy xuất, đòi hỏi phải được xử lý nhanh chóng
Hầu hết các thành phần hệ thống đều do nhóm tự phát triển (in-house), chỉ riêng công cụ soạn thảo tin tức trực tuyến “FCKEDITOR” dùng để gửi các nội dung
Trang 22tin tức, bài giảng… được phát triển tích hợp (COTS) vì lý do giảm được nhiều chi phí và thời gian và đem lại hiệu quả tốt hơn khi tự phát triển
Giao diện tương tác của hệ thống với người sử dụng được xây dựng trên môi trường lập trình PHP, hệ quản trị cơ sở dữ liệu mySQL
3.2 Thiết kế cơ sở dữ liệu
3.2.1 Mô hình dữ liệu quan hệ – DRM
3.2.2 Cài đặt cơ sở dữ liệu
3.3 Thiết kế giao diện
3.3.1 Giao diện chính
3.3.2 Giao diện Front End
3.3.2.1 Menu Bar
Trang 233.3.2.2 Đăng nhập
3.3.2.3 Đăng kí
Trang 243.3.2.4 Thông tin cá nhân
3.3.2.5 Tin tức
Trang 25Giao diện một bài tin tức
3.3.2.6 Bài giảng
Giao diện Tab Bài giảng
Trang 26Giao diện một Bài giảng
3.3.2.7 Đề thi
Trang 273.3.2.8 Tìm kiếm
3.3.2.9 Báo cáo, thông báo
3.3.3 Giao diện Back End
3.3.3.1 Menu Bar
Trang 283.3.3.2 Thông tin thành viên
Trang 293.3.3.3 Tin tức
Trang 303.3.3.4 Bài giảng
Trang 313.3.3.5 Đề thi
Trang 323.3.3.6 Câu hỏi
Trang 333.3.3.7 Tìm kiếm