Chúng ta có thể tổ chức khóa học trên Moodle theo tuần, theo chủ đề … Ngoài ra, trong khi các hệ thống CMS khác cung cấp một mô hình nội dung khuyến khích giảng viên tải nhiều nội dung ở
Trang 1BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KỸ THUẬT MẬT MÃ
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
ĐỒ ÁN TỐT NGHIỆP
XÂY DỰNG ỨNG DỤNG TEST ONLINE CÓ BẢO MẬT
Ngành: Công nghệ thông tin Chuyên ngành: An toàn thông tin
Mã số: 52.48.02.01
Hà Nội, 2016
Trang 2BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KỸ THUẬT MẬT MÃ
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
ĐỒ ÁN TỐT NGHIỆP
XÂY DỰNG ỨNG DỤNG TEST ONLINE CÓ BẢO MẬT
Ngành: Công nghệ thông tin Chuyên ngành: An toàn thông tin
Mã số: 52.48.02.01
Sinh viên thực hiện:
Lê Văn Hội
Trang 3i
Ý KIẾN CỦA GIẢNG VIÊN
Trang 4ii
MỤC LỤC
Ý KIẾN CỦA GIẢNG VIÊN i
DANH MỤC Kí HIỆU VÀ VIẾT TẮT v
DANH MỤC HÌNH VẼ vi
DANH MỤC BẢNG viii
LỜI CẢM ƠN ix
LỜI NÓI ĐẦU x
CHƯƠNG 1 TỔNG QUAN VỀ MÃ NGUỒN MỞ MOODLE 1
1.1 Khái niệm về Moodle 1
1.2 Những đặc điểm của Moodle 2
1.2.1 Miễn phí và mã nguồn mở 2
1.2.2 Tính triết lý giáo dục 2
1.2.3 Tính cộng đồng 2
1.3 Tính năng của Moodle 3
1.4 Ngân hàng câu hỏi trong Moodle 3
1.4.1 Các yêu cầu khi ra câu hỏi trắc nghiệm 3
1.4.2 Các kiểu câu hỏi 4
1.5 Kết luận chương 1 10
CHƯƠNG 2 XÂY DỰNG, TÍCH HỢP ỨNG DỤNG THI TRỰC TUYẾN 11
2.1 Thực tế đặt ra 11
2.2 Phân tích chức năng 11
2.2.1 Người dùng (Học viên) 11
2.2.2 Quản trị 12
Trang 5iii
2.3 Mô hình hoạt động đơn giản 15
2.4 Kiến trúc cơ sở dữ liệu 15
2.4.1 Người dùng và hồ sơ người dùng (users & their profiles) 16
2.4.2 Hệ thống các vai trò và quyền hạn (roles & capabilities) 17
2.4.3 Khóa học và mục (courses& categories) 19
2.4.4 Nhóm và tổ nhóm (groups& groupings) 21
2.4.5 Điểm số (grade book) 22
2.4.6 Ngân hàng câu hỏi (question) 23
2.5 Thiết lập môi trườngvà triển khai hệ thống 24
2.5.1 Thiết lập môi trường 24
2.5.2 Thiết lập hệ thống test online trên Moodle 25
2.5.3 Thiết lập một số chức năng cho hệ thống 35
2.5.4 Xuất kết quả điểm thi 40
2.6 Kết luận chương 2 40
CHƯƠNG 3 GIẢI PHÁP ĐẢM BẢO AN TOÀN TRONG MOODLE 41 3.1 Bảo mật các thư mục dữ liệu của Moodle 41
3.2 Thiết lập các tùy chọn bảo mật trong Moodle 42
3.2.1 Trình chặn IP 42
3.2.2 Chính sách của hệ thống 43
3.2.3 Bảo mật HTML 44
3.2.4 Thông báo 45
3.2.5 Chống virus 45
3.2.6 Giao thức REST 46
Trang 6iv
3.3 Kết luận chương 3 50
KẾT LUẬN VÀ KIẾN NGHỊ 51
TÀI LIỆU THAM KHẢO 52
PHỤ LỤC 53
Trang 7v
DANH MỤC KÍ HIỆU VÀ VIẾT TẮT
Moodle Modular Object-Oriented Dynamic Learning Environment
Trang 8vi
DANH MỤC HÌNH VẼ
Hình 1.1 Câu hỏi Embedded Answers 6
Hình 1.2 Nạp câu hỏi từ tập tin 10
Hình 2.1 Sơ đồ phần rã chức năng người dùng 12
Hình 2.2 Sơ đồ phân rã chức năng quản trị 14
Hình 2.3 Mô hình thực thể kết hợp của người dùng 17
Hình 2.4 Mô hình thực thể kết hợp của vai trò và quyền hạn 19
Hình 2.5 Mô hình thực thể kết hợp của khóa học và mục 20
Hình 2.6 Mô hình thực thể kết hợp của nhóm và tổ nhóm người dùng 21
Hình 2.7 Mô hình thực thể kết hợp của sổ điểm 22
Hình 2.8 Mô hình thực thể kết hợp của ngân hàng câu hỏi 23
Hình 2.9 Trang chủ quản trị 25
Hình 2.10 Thiết lập trang chủ 26
Hình 2.11 Thiết lập danh mục trang chủ 27
Hình 2.12 Thiết lập thanh menu 28
Hình 2.13 Thiết lập lựa chọn chủ đề 28
Hình 2.14 Thiết lập ngôn ngữ mặc định 29
Hình 2.15 Cài đặt gói ngôn ngữ 29
Hình 2.16 Thiết lập mật khẩu cho tài khoản 30
Hình 2.17 Thiết lập kích thước tập tin upload 30
Hình 2.18 Thiết lập xác thực tài khoản 31
Hình 2.19 Các quyền cho tài khoản 32
Hình 2.20 Danh sách các luật trong quyền 32
Trang 9vii
Hình 2.21 Phân quyền quản trị hệ thống cho tài khoản 33
Hình 2.22 Các quyền quản trị nội dung 34
Hình 2.23 Phân quyền quản trị nội dung cho tài khoản 34
Hình 2.24 Menu tạo các khóa học 35
Hình 2.25 Nhập câu hỏi vào từng môn học 35
Hình 2.26 Thêm câu hỏi dạng tự động 36
Hình 2.27 Danh sách sinh viên phân theo lớp 36
Hình 2.28 Gán sinh viên môn học 37
Hình 2.29 Bắt đầu làm bài thi 38
Hình 2.30 Làm bài thi 38
Hình 2.31 Kết quả bài thi 39
Hình 2.32 Bảng danh sách kết quả thi 39
Hình 2.33 Xuất bảng danh sách kết quả thi dạng excel 40
Hình 3.1 Cài đặt Moodle 42
Hình 3.2 Trình chặn IP 42
Hình 3.3 Cơ sở dữ liệu config 45
Hình 3.4 Thông báo đăng nhập 45
Hình 3.5 Chống virus 46
Trang 10viii
DANH MỤC BẢNG
Bảng 1.1 Các định dạng tập tin câu hỏi 8
Trang 11ix
LỜI CẢM ƠN
Trong quá trình thực hiện đồ án tốt nghiệp này, tôi đã nhận được sự giúp đỡ tận tình của cán bộ hướng dẫn là TS Lê Bá Cường – Giảng viên Khoa Công Nghệ Thông Tin Học viện Kỹ thuật Mật mã
Ngoài ra, tôi cũng xin chân thành cảm ơn các thầy cô khác Khoa Công Nghệ thông tin và An Toàn thông tin đã hết lòng giảng dạy , trang bị cho tôi kiến thức
Con xin chân thành cảm ơn bố mẹ và những người thân trong gia đình đã nuôi dạy, cho con học tập thành người
Xin cảm ơn tất cả mọi người đã tạo những điều kiện tốt nhất để tôi hoàn thành đồ án tốt nghiệp này!
SINH VIÊN THỰC HIỆN ĐỒ ÁN
Lê Văn Hội
Trang 12x
LỜI NÓI ĐẦU
Trong những năm qua, công nghệ thông tin, đặc biệt là Internet đã có những bước tiến bộ vượt bậc, hỗ trợ đổi mới nội dung và phương pháp dạy và học Đào tạo trực tuyến hay còn gọi là E-Learning (Electronic Learning) ra đời đã đáp ứng được những tiêu chí giáo dục mới: “Học mọi nơi, học mọi lúc, học theo sở thích, và học suốt đời” E-learning tồn tại cùng và bổ sung cho học tập truyền thống Với E-Learning, không gian học tập được mở rộng, công cụ truy cập thông tin và phương pháp tiếp thu kiến thức không ngừng được cải tiến, đem lại cho người học những
cơ hội khám phá và học hỏi không ngừng trong một thế giới mà tri thức trở thành nền tảng của sự thành công
Nhận thấy việc sử dụng hệ thống đào tạo trực tuyến nay rất cần thiết nên tôi
đã đề xuất và tìm hiểu đề tài “Xây dựng ứng dụng test online có bảo mật” Đề tài
gồm những nội dung chính sau đây:
- Chương 1: Tổng quan về mã nguồn mở Moodle
- Chương 2: Xây dựng, tích hợp ứng dụng thi trực tuyến
- Chương 3: Giải pháp đảm bảo an toàn trong Moodle
Sau khoảng thời gian thực hiện đồ án, các mục tiêu về cơ bản đã đạt được Tuy nhiên Moodle là hệ thống lớn, thời gian thực hiện đồ án tương đối ngắn nên chắc chắn không tránh khỏi thiếu sót Rất mong được sự góp ý của các thầy cô, cũng như các bạn học viên để đồ án này được hoàn thiện hơn
SINH VIÊN THỰC HIỆN
Lê Văn Hội
Trang 131
CHƯƠNG 1 TỔNG QUAN VỀ MÃ NGUỒN MỞ MOODLE
1.1 Khái niệm về Moodle
Moodle là một Hệ thống quản lý học tập (LMS - Learning Management System), Hệ thống quản lý khóa học (CMS - Course Management System), hay Môi trường học tập ảo (VLE - Virtual Learning Environment) Mục tiêu là cung cấp cho giáo viên và học sinh các công cụ mà họ cần để giảng dạy và học tập trực tuyến
Moodle (viết tắt của Modular Object-Oriented Dynamic Learning Environment) được sáng lập năm 1999 bởi Martin Dougiamas, người tiếp tục điều hành và phát triển chính của dự án Do không hài lòng với hệ thống LMS/LCMS thương mại WebCT trong trường học Curtin của Úc, Martin đã quyết tâm xây dựng một hệ thống LMS mã nguồn mở hướng tới giáo dục và người dùng hơn Từ đó đến nay Moodle có sự phát triển vượt bậc và thu hút được sự quan tâm của hầu hết các quốc gia trên thế giới và ngay cả những công ty bán LMS/LCMS thương mại lớn nhất như BlackCT (BlackBoard + WebCT) cũng có các chiến lược riêng để cạnh tranh với Moodle
Moodle là một ứng dụng web viết bằng PHP Moodle là mã nguồn mở Bản quyền thuộc sở hữu của những cá nhân đóng góp, không giao cho một thực thể duy nhất, mặc dù công ty Moodle Pty Ltd ở Perth Australia, thuộc sở hữu của người sáng lập Martin Dougiamas quản lý dự án
Do thiết kế dựa trên module nên Moodle cho phép bạn chỉnh sửa giao diện bằng cách dùng các theme có trước hoặc tạo thêm một theme mới cho riêng mình
Tài liệu hỗ trợ của Moodle rất đồ sộ và chi tiết, khác hẳn với nhiều dự án mã nguồn mở khác
Moodle phù hợp với nhiều cấp học và hình thức đào tạo: phổ thông, đại học/cao đẳng, không chính quy, trong các tổ chức/công ty
Moodle rất đáng tin cậy, có trên 60.000 site trên thế giới đã dùng Moodle tại
215 quốc gia và đã được dịch ra 75 ngôn ngữ khác nhau (thống kê tại moodle.org)
Trang 14mã nguồn của phần mềm mà không phải trả một khoản chi phí nào,hơn thế nữa, người sử dụng có quyền xem, sửa đổi, cải tiến, nâng cấp theo một số nguyên tắc chung qui định trong giấy phép phần mềm nguồn mở General Public Licence
1.2.2 Tính triết lý giáo dục
Đầu tiên đó chính là giao diện Trong khi với các hệ thống CMS, công cụ là trọng tâm, không hướng tới giáo dục học, cho chúng ta một danh sách các công cụ như giao diện, thì Moodle xây dựng các công cụ vào trong một giao diện, làm cho việc học trở thành trung tâm Chúng ta có thể tổ chức khóa học trên Moodle theo tuần, theo chủ đề … Ngoài ra, trong khi các hệ thống CMS khác cung cấp một mô hình nội dung khuyến khích giảng viên tải nhiều nội dung ở trạng thái tĩnh lên, thì Moodle tập trung vào các công cụ để thảo luận và chia sẻ tài liệu với nhau Vì vậy, vấn đề trọng tâm là không phải phân phối thông tin mà là chia sẻ ý tưởng và tham gia vào quá trình xây dựng tri thức
1.2.3 Tính cộng đồng
Moodle có một cộng đồng người sử dụng hệ thống và phát triển các tính năng mới, nâng cao sự thực hiện rất lớn và tích cực Chúng ta có thể truy cập vào
cộng đồng này tại địa chỉ http://www.moodle.org/ và tham gia vào các khóa học sử
dụng Moodle Tại đây, chúng ta luôn luôn tìm được những người sẵn sàng giúp đỡ người sử dụng trong việc cài đặt, thực thi, khắc phục sự cố và sử dụng Moodle một cách hiệu quả Cho đến nay, có khoảng 300.000 người tham gia vào cộng đồng
Trang 153
Moodle và trên 30.000 trang Moodle ở 195 đất nước Cộng đồng toàn cầu cũng đã chuyển đổi Moodle sang hơn 70 ngôn ngữ
1.3 Tính năng của Moodle
Moodle có rất nhiều tính năng nổi bật, sau đây là một số tính năng chính
- Tạo lập và quản lý các khóa học
- Phân tán nội dung học tới người học
- Trợ giúp người dạy tổ chức các hoạt động nhằm quản lý khóa học: Các đánh giá, trao đổi thao luận, đối thoại trực tiếp, trao đổi thông tin offline, các bài học, các bài kiểm cuối khoá, các bài tập lớn…
- Quản lý người học theo nhóm
- Quản lý tài nguyên từng khóa học
- Tổ chức hội thảo: Các học viên có thể tham gia đánh giá các bài tập lớn của nhau
- Quản lý các sự kiện, các thông báo theo thời gian
- Báo cáo tiến trình của người học: Báo cáo về điểm, về tính hiệu quả của việc
sử dụng phần mềm
- Trợ giúp tạo nội dung khóa học đơn giản
1.4 Ngân hàng câu hỏi trong Moodle
Ở 1 hệ thống E-Learning nào cũng cần có một hệ thống ngân hàng câu hỏi Moodle hỗ trợ người dùng ngân hàng câu hỏi với đầy đủ tính năng, giúp cho người dùng có thể thao tác và làm việc tốt hơn trên Moodle.Ngân hàng câu hỏi là nơi chứa toàn bộ các câu hỏi của trang web Khi tạo ra một bài kiểm tra, chọn câu hỏi
từ ngân hàng câu hỏi cho bài kiểm tra
1.4.1 Các yêu cầu khi ra câu hỏi trắc nghiệm
Một số yêu cầu khi ra câu hỏi trắc nghiệm mà người dùng hay người quản trị cần biết để có thể hiểu rõ hơn với nhu cầu hiện nay như sau:
Trang 164
- Sử dụng ngôn ngữ phù hợp với người học
- Không hỏi quan điểm riêng của sinh viên, chỉ hỏi sự kiện, kiến thức
- Các phương án sai phải hợp lý và chỉ nên dùng 4 hoặc 5 phương án chọn
- Đảm bảo mọi câu dẫn nối liền với mọi phương án chọn theo đúng ngữ pháp
- Chỉ có một phương án chọn là đúng
- Tránh dùng câu phủ định hoặc phủ định hai lần
- Tránh việc làm cho phương án đúng khác biệt so với phương án nhiễu
- Phải sắp xếp phương án đúng và phương án nhiễu theo thứ tự ngẫu nhiên
- Không tạo phương án nhiễu ở mức độ cao hơn so với phương án đúng
- Không đưa ra quá nhiều thông tin không thích hợp vào trong phần dẫn tạo nên sự lệch lạc yêu cầu
1.4.2 Các kiểu câu hỏi
Hệ thống Moodle có nhiều loại câu hỏi trắc nghiệm khác nhau, đa dạng phù hợp với từng môn học, từng lĩnh vực Sau đây là một số loại câu hỏi trắc nghiệm
mà Moodle hỗ trợ bạn có thể tạo ra
1.4.2.1 Calculated (tính toán)
Khi tạo một câu hỏi tính toán, nhập một công thức được hiển thị trong văn bản của câu hỏi Công thức có thể chứa một hoặc nhiều ký tự đại diện, và được thay thế bằng số khi các bài kiểm tra được chạy Các kí hiệu được đặt trong dấu ngoặc nhọn
Ví dụ: Nếu bạn gõ câu hỏi 3 ∗ {𝑎} là gì?
Moodle sẽ thay thế{𝑎} với một số ngẫu nhiên Bạn cũng có thể nhập ký tự đại diện vào trường câu trả lời, để câu trả lời đúng là 3 ∗ {𝑎} Khi bài kiểm tra được thực hiện, câu hỏi sẽ hiển thị 3 ∗ {𝑎}là gì? và câu trả lời đúng sẽ là giá trị tính toán của 3 ∗ {𝑎}
Trang 175
1.4.2.2 Description(mô tả)
Đây không phải là một câu hỏi Nó hiển thị bất cứ nội dung web gì mà người quản trị nhập vào Khi thêm một câu hỏi mô tả, Moodle cho phép chỉnh sửa màn hình tương tự như khi tạo một trang web
Dưới thẻ Quiz, có thể thiết lập ngắt trang trong một bài kiểm tra Nếu muốn chia bài kiểm tra thành các phần, và giải thích đầy đủ từng phần trước khi sinh viên hoàn thành nó, Nên đặt một Description trên trang đầu tiên của một phần
1.4.2.3 Essay (bài luận)
Khi sinh viên được đưa ra một câu hỏi tiểu luận, người đó sử dụng trình soạn thảo văn bản trực tuyến củaMoodle để trả lời các câu hỏi Tuy nhiên, nếu có nhiều hơn một câu hỏi tiểu luận trên một trang, trình soạn thảo văn bản sẽ chỉ hiển thị câu hỏi tiểu luận đầu tiên Đây là một hạn chế của Moodle Để làm việc này, chèn ngắt trang trong bài kiểm tra của bạn để mỗi câu hỏi tiểu luận xuất hiện trên trang riêng của nó Bạn chèn ngắt trang trong thẻ Quiz
Ngoài ra, có thể hướng dẫn sinh viên lưu bài tiểu luận vài phút một lần
1.4.2.4 Matching(nối, kết hợp)
Sau khi bạn tạo ra một câu hỏi kết hợp, sau đó bạn tạo ra một danh sách các câu hỏi phụ, và nhập câu trả lời đúng cho mỗi câu hỏi phụ Sinh viên phải kết hợp câu trả lời đúng với mỗi câu hỏi.Mỗi câu hỏi phụ nhận được số điểm giống nhau
Trang 186
Hình 1.1 Câu hỏi Embedded Answers
Lưu ý rằng đầu tiên, câu hỏi hiện một danh sách thả xuống, mà thực chất là một câu hỏi nhiều lựa chọn Sau đó, nó hiện một câu hỏi có câu trả lời ngắn (điền vào chỗ trống), theo sau là một câu hỏi dạng số Cuối cùng, có một câu hỏi nhiều lựa chọn (với danh sách thả xuống có hai giá trị Có/Không) và một câu hỏi dạng số
Không có giao diện đồ họa để tạo ra các câu hỏi Embedded Answers Bạn cần phải sử dụng một định dạng đặc biệt mà được giải thích trong tập tin trợ giúp
1.4.2.6 Multiple Choice
Câu hỏi trắc nghiệm có thể cho phép một sinh viên lựa chọn một câu trả lời duy nhất, hoặc nhiều câu trả lời Mỗi câu trả lời có thể là một phần trăm của tổng số điểm của câu hỏi
Khi bạn cho phép một sinh viên lựa chọn chỉ có một câu trả lời duy nhất, bạn thường gán một số điểm tích cực (điểm cao, điểm cộng) cho một câu trả lời chính xác và không có hoặc điểm tiêu cực (điểm thấp, điểm trừ) đến tất cả các câu trả lời khác, câu trả lời không chính xác Khi bạn cho phép sinh viên chọn nhiều câu trả lời, bạn thường gán một phần điểm tích cực cho mỗi câu trả lời đúng Đó là bởi vì bạn muốn tất cả các câu trả lời chính xác có tổng số điểm là 100% Bạn cũng thường gán điểm tiêu cực cho mỗi câu trả lời sai Nếu bạn không làm giảm số điểm của câu hỏi cho mỗi câu trả lời sai, thì sinh viên có thể ghi được 100% điểm của câu hỏi chỉ bằng cách chọn tất cả các câu trả lời Các điểm tiêu cực nên bằng hoặc lớn hơn những điểm tích cực, do đó nếu một sinh viên chỉ chọn tất cả các câu trả
Trang 197
lời, người đó sẽ không nhận được một số điểm tích cực Đừng lo lắng về việc sinh viên đạt một số điểm tiêu cực cho câu hỏi, vì Moodle không cho phép điều đó xảy
ra
Trong trang Editing Quiz, nếu bạn đã chọn trộn câu trả lời và hãy kiểm tra tất
cả các câu hỏi nhiều lựa chọn mà bạn sử dụng trong bài kiểm tra Nếu bất kỳ trong
số chúng có câu trả lời như "Tất cả các câu trên ', hoặc cả A và C ', thì việc xáo trộn câu trả lời sẽ làm hỏng những câu hỏi Thay vào đó, chuyển chúng thành câu hỏi có nhiều câu trả lời, và cung cấp một phần điểm cho mỗi câu trả lời đúng
Ví dụ: Thay vì 'Cả hai A và C' bạn sẽ nói, 'Chọn tất cả các đáp án đúng' và sau đó cung cấp một phần điểm cho A và và một phần điểm cho C
có một lỗi chấp nhận được, mà bạn thiết lập trong khi tạo ra câu hỏi
Ví dụ: Bạn có thể chỉ định rằng câu trả lời chính xác là 5, cộng hoặc trừ 1 Sau đó, bất kỳ số 4-6 được đánh dấu là chính xác
1.4.2.9 Random
Khi loại câu hỏi này được thêm vào một bài kiểm tra, Moodle rút ra một câu hỏi ngẫu nhiên từ danh mục câu hỏi hiện hành Các câu hỏi được rút ra tại thời điểm sinh viên làm bài kiểm tra Trong lần thử đó, một sinh viên sẽ không bao giờ nhìn thấy cùng một câu hỏi lặp lại hai lần, dù có bao nhiêu câu hỏi ngẫu nhiên mà bạn đưa vào bài kiểm tra đi nữa Điều này có nghĩa rằng danh mục bạn sử dụng cho
Trang 20để tạo ra một câu hỏi kết hợp
Với sinh viên, điều này trông giống như bất kỳ các câu hỏi kết hợp khác Sự khác biệt là các câu hỏi phụ đã được rút ra một cách ngẫu nhiên từ các câu hỏi Short-Answer trong danh mục hiện hành
1.4.2.11 True/False
Các sinh viên lựa chọn từ hai tùy chọn: Đúng hay Sai (True/False)
Các định dạng tập tin câu hỏi
Moodle hỗ trợ nhiều định dạng tập tin có thể nạp câu hỏi vào hệ thống Bảng 1.1 mô tả các định dạng câu hỏi
Bảng 1.1 Các định dạng tập tin câu hỏi
Nếu bạn đang chuyển đổi từ Blackboard sang Moodle, bạn
có thể xuất các câu hỏi từ Blackboard để nhập vào Moodle
Trang 22Như vậy ta đã một phần nào nắm rõ được Moodle Ở chương tiếp theo ta cùng tìm hiểu và làm rõ hơn cách thức hoạt động của Moodle cũng như đi sâu vào bài toán của đồ án án
Trang 232.2 Phân tích chức năng
2.2.1 Người dùng (Học viên)
Người dùng phải là những người đã có tài khoản trên moodle, người dùng có thể là sinh viên, giáo viên hoặc quản trị viên, tổng quan chức năng người dùng có thể:
- Tìm kiếm:
Tìm kiếm khóa học: sinh viên có thể tìm kiếm các khóa học
- Xem thông tin:
Xem hồ sơ cá nhân của mình: hồ sơ đầy đủ và hồ sơ trong khóa học
Xem bảng điểm cá nhân các khóa học mình được ghi danh
Ở hình 2.3 dưới đây chúng ta có thể thấy rõ hơn bằng sơ đồ phân rã chức năng của người dùng
Trang 24 Phân quyền cho mỗi dịch vụ
Phân vai trò mức toàn hệ thống Moodle cho giáo viên và người dùng quản trị, các vai trò hệ thống như Manager, giáo viên biên soạn…
Đổi mật khẩu cá nhân: hiện tại Moodle chưa hỗ trợ hàm dịch vụ này nên chỉ
có quản trị người dùng mới có thể đổi mật khẩu cá nhân
Cập nhật tài khoản của người dùng: tạo, sửa, xóa, khôi phục về mặc định ban đầu lúc tạo tài khoản moodle, đồng bộ với tài khoản người dùng trên moodle
Trang 2513
Cập nhật danh mục: tạo, xóa các danh mục, chỉ có admin trên Moodle mới
có quyền tạo và xóa các danh mục trên Moodle
Cập nhật khóa học: tạo, xóa các khóa học
Cập nhật học viên khóa học: ghi danh, đình chỉ ghi danh các học viên trong khóa học, áp dụng đối với người dùng là sinh viên
Phân vai trò cho người dùng trong khóa học: ghi danh, đình chỉ ghi danh, hủy vai trò đối với người dùng là giáo viên và quản trị viên
Cập nhật nhóm học viên: thêm, sửa, xóa các nhóm học viên
Cập nhật thành viên của nhóm: thêm, bớt các thành viên nhóm
Cập nhật tổ nhóm: thêm, sửa, xóa các tổ nhóm học viên
Cập nhật nhóm của tổ: thêm, bớt nhóm trong tổ
- Xem thông tin:
Xem bảng điểm các khóa học đã tham gia của một sinh viên
Xem bảng điểm tổng kết mỗi khóa học
Xem bảng điểm các bài thi trắc nghiệm trong một khóa học của một sinh viên
Xem bảng điểm chi tiết mỗi bài thi trắc nghiệm của một khóa học
Xem danh sách các người dùng đã được ghi danh vào khóa học
Trang 26Xem thông tin
Cập nhật tổ Cập nhật nhóm
của tổ
Cập nhật khóa học
Xem bảng điểm tổng kết mỗi khóa học
Xem bảng điểm các khóa học của một sinh viên
Xem bảng điểm các bài thi trắc nghiệm của một
Phân quyền cho
mỗi dịch vụ
Đổi mật khẩu cá nhân
Cập nhật điểm thi
Phân vai trò toàn
hệ thống moodle
Cập nhật học viên khóa học
Xem danh sách các người dùng đã được ghi danh vào khóa học
Hình 2.2 Sơ đồ phân rã chức năng quản trị
Trang 2715
2.3 Mô hình hoạt động đơn giản
Quá trình hoạt động của Moodle cũng gần giống như các hệ thống khác Đầu tiên máy khách đăng nhập vào hệ thống và gửi tên đăng nhập, mật khẩu tới dịch vụ web script: login Script trả về một chuỗi bảo mật token tương ứng của từng tài khoản người dùng Máy khách gọi một hàm dịch vụ web cụ thể trên một máy chủ giao thức (protocol server) bao gồm cả token Sau đó máy chủ giao thức sử dụng chuỗi token để kiểm tra xem người dùng có thể gọi hàm đó hay không Máy chủ giao thức gọi các hàm ngoài phù hợp, nằm trong tập tin externallib.php bên trong các mô-đun có liên quan Hàm ngoài đó sẽ kiểm tra xem người dùng hiện tại có quyền để làm thao tác này không Hàm ngoài gọi hàm Moodle core phù hợp (thường nằm ở trong file lib.php) Hàm core tiếp tục trả về một kết quả tới cho hàm ngoài Hàm ngoài sẽ trả về một kết quả đến máy chủ giao thức Cuối cùng các máy chủ giao thức trả về kết quả cho khách hàng
2.4 Kiến trúc cơ sở dữ liệu
Cơ sở dữ liệu Moodle bao gồm nhiều bảng (hơn 250), bởi vì toàn bộ cơ sở
dữ liệu là một tổng hợp của các bảng cốt lõi và các bảng thuộc mỗi plugin May mắn thay, cấu trúc lớn này là dễ hiểu, bởi vì các bảng cho một plugin nhất định thường chỉ liên kết với nhau và với một vài bảng cốt lõi
Các cấu trúc cơ sở dữ liệu Moodle được định nghĩa trong các tập tin
install.xml bên trong thư mục db của mỗi plugin Ví dụ mod / forum / db /
install.xml chứa các định nghĩa cơ sở dữ liệu cho các mô-đun diễn đàn lib / db / install.xml xác định các bảng được sử dụng cho Moodle core Với các file
install.xml, Những mô tả về bảng và cột đã được chuyển thành tài liệu để dễ cho
người đọc Xem tài liệu này bằng cách vào Site administration -> Development -> XMLDB editor trong cài đặt Moodle của bạn, và nhấp vào liên kết [Doc] Dưới đây
là một số lược đồ cơ sở dữ liệu quan trọng trong Moodle:
Trang 2816
2.4.1 Người dùng và hồ sơ người dùng (users & their profiles)
Người dùng (users) và hồ sơ người dùng (their profiles) gồm các bảng sau đây:
- user
Bảng này chứa các thông tin cơ bản của người dùng như tên đăng nhập, họ, tên, mật khẩu, email, tỉnh, thành phố…
- user_info_category
Bảng này chứa các loại trường thông tin trong hồ sơ người dùng, mặc định
có loại Trường thông tin khác
Bảng này chứa khóa bí mật của người dùng, ví dụ khóa nhận RSS
Dưới đây là hình 2.3 mô tả đầy đủ mô hình thực thể kết hợp của người dùng
Trang 2917
Hình 2.3 Mô hình thực thể kết hợp của người dùng
2.4.2 Hệ thống các vai trò và quyền hạn (roles & capabilities)
Hệ thống các vai trò(roles) và quyền hạn(capabilities) có các bảng sau đây:
Trang 30Trường để xác định thứ tự sắp xếp của các role khi hiển thị
Hình 2.4 mô tả chi tiết mô hình thực thể kết hợp giữa vai trò và quyền hạn của các users
Trang 3119
Hình 2.4 Mô hình thực thể kết hợp của vai trò và quyền hạn
2.4.3 Khóa học và mục (courses& categories)
Khóa học (courses) và mục(categories) gồm các bảng sau:
- course_modules
Bảng này ghi lại thông tin về nguồn tài nguyên, hoặc mô-đun hoạt động được khởi tạo cho khóa học
Trang 3220
- course
Bảng này chứa thông tin về mỗi khóa học bao gồm 33 trường thông tin, trong đó bao gồm: loại khóa học, tên đầy đủ, tên viết tắt, ngày bắt đầu, ngày tạo và ngôn ngữ…
Bảng này chứa thông tin về việc hoàn thành khóa học của học viên
Hình 2.5 mô tả chi tiết mô hình thực thể kết hợp giữa khóa học và các mục
(categories)
Hình 2.5 Mô hình thực thể kết hợp của khóa học và mục
Trang 33Bảng này chứa thông tin về các nhóm trong mỗi tổ nhóm
Hình 2.6 mô tả chi tiết mô hình thực thể kết hợp giữa nhóm và tổ nhóm
người dùng
Hình 2.6 Mô hình thực thể kết hợp của nhóm và tổ nhóm người dùng