Chương 3 : Phân tích thiết kế hệ thống
3.3. Lưu trữ và Tìm kiếm học liệu
Mô hình mô tả phần lưu trữ học liệu và quản lý người dùng trong hệ thống. Sử dụng hệ quản trị cơ sở dữ liệu MySQL để lưu trữ và tìm kiếm. Mỗi học liệu sẽ lưu cho mình một danh sách có thứ tự các nội dung.
Như mục tiêu ban đầu của luận văn, tất cả các đối tượng trong hệ thống sẽ xoay quanh đối tượng học liệu. Học liệu là trung tâm của hệ thống. Người dùng sẽ tương tác với học liệu từ đó tạo thành các lịch sử sử đó sẽ tạo thành vòng quan hệ giữa các người dùng thông qua cầu nối là học liệu.
Hình 3.5. Giao diện tìm kiếm học liệu 3.4. Chia sẻ và Sử dụng lại học liệu
Như đã đề cập, mục đích của luận văn là nghiên cứu và xây dựng hệ thống dựa trên mô hình Học cộng tác. Nên việc Chia sẻ và Sử dụng lại học liệu là hoàn toàn miễn phí và không cần bất kỳ quyền gì đặc biệt.
Với mục đích phục vụ cộng đồng, bất kỳ học liệu nào được đưa lên hệ thống cũng mặc định là học liệu mở cho tất cả mọi người, trừ khi học liệu đó bị cấm bởi Người quản trị vì những lý do đặc biệt nào đó.
Dựa theo các đặc điểm đặc trưng của Học cộng tác: “Quá trình học trở thành một quá trình xây dựng tri thức cá nhân một cách tích cực”, “Môi trường học tập có tính kích thích cao việc nhận thức”, “Đối tượng người học đa dạng”, “Việc học trở thành hoạt động mang tính xã hội”, chức năng Sử dụng lại học liệu sẽ khả dụng với tất cả tài liệu “được chia sẻ” trên hệ thống.
Hình 3.6. Luồng Sử dụng lại học liệu
Người dùng sẽ bắt đầu tạo một học liệu mới hoặc sửa đổi một học liệu đã tồn tại mà họ muốn sao chép nội dung. Tạo mới nội dung và lựa chọn việc sử dụng lại học liệu đã có trong hệ thống. Hệ thống sẽ tự động lấy danh sách nội dung từ hai học liệu và ghép chúng lại theo mô hình 3.6 sau đó lưu vào cơ sở dữ liệu.
Khi sử dụng lại học liệu đã có, người dùng sẽ sao chép toàn bộ danh sách nội dung của một học liệu đã có trên hệ thống, loại bỏ những phần nội dung bị trùng lặp và nối nó vào danh sách nội dung của học liệu muốn sử dụng lại.
Hình 3.7. Sử dụng lại
Hình 3.6 mô tả hành vi sử dụng lại nội dung của học liệu 2 bởi học liệu 1. Điều này tạo ra một danh sách nội dung mới cho học liệu 1.
Hình 3.8. Giao diện chọn tài liệu để sử dụng lại nội dung
3.5. Đánh giá học liệu
Hình 3.9. Điểm đánh giá
Một mô hình đánh giá thông thường sẽ có mục cho người dùng đánh giá. Hành động này chỉ ghi lại việc “đánh giá” của người dùng, chứ không thực sự phản ánh chính xác sự tương tác của người dùng với học liệu. Việc “đánh giá” xảy ra không tự nhiên, và chỉ khi người dùng thực sự để ý đến việc “đánh giá” thì học liệu mới được đánh giá. Tuy nhiên, việc “đánh giá” này không được người dùng thực sự quan tâm. Bằng chứng là nhiều ứng dụng phải trả thưởng cho người dùng để được người dùng “đánh giá” trên các chợ ứng dụng.
Hệ thống chia sẻ học liệu là một hệ thống hoàn toàn mở, và chỉ là công cụ để chia sẻ, nghiên cứu và xây dựng học liệu trực tuyến, nên việc “khuyến khích” người dùng “đánh giá” một học liệu là khá khó khăn. Thay vào đó, hệ thống sẽ đánh giá học liệu theo những hệ thống chia sẽ dữ liệu mở hay sử dụng như GitHub, DockerHub…. đó là dựa vào những tương tác của người dùng trên học liệu đó.
Cụ thể, hệ thống sẽ tự động cộng ngầm điểm đánh giá cho các học liệu tương ứng với những sự kiện “Đọc”, “Tải về” và “Sử dụng lại” trên từng học liệu, nói cách khác những tương tác trên là tiêu chí đánh giá sản phẩm, còn cách thức đánh giá là hoàn toàn tự động và trong suốt với người dùng. Điều này sẽ dễ dàng hơn cho những người dùng khác có thêm thông tin trong việc lựa chọn học liệu để nghiên cứu và tìm hiểu.
Chương 4: Triển khai xây dựng Hệ thống chia sẻ học liệu và thực nghiệm. và thực nghiệm.
4.1. Triển khai
4.1.1. Lưu trữ học liệu
Việc lưu trữ học liệu được chia thành hai phần. Một phần thông tin học liệu được lưu trong cơ sở dữ liệu, còn phần nội dung của học liệu sẽ được lưu trong ổ cứng do phần nội dung của học liệu là động. Hai phần này được liên kết trực tiếp với nhau với liên kết một – một.
Một “nội dung” sẽ lưu đường dẫn của tệp nội dung tương ứng cùng loại tệp tin. Khi nội dung này bị xóa bởi tác giả, tệp nội dung cũng bị xóa theo vì về mặt thiết kế, chúng là cùng một đối tượng
Ta có, trường “filename” chứa đường dẫn và tên của tệp chứa nội dung tương ứng với một đối tượng “nội dung” trong hệ thống. Để tránh việc trùng lặp tên, hệ thống tự sinh ra tên tệp khi được tạo là các chuỗi riêng biệt, không trùng lặp theo chuẩn uuid.
Đường dẫn của tệp nội dung là đường dẫn mềm, được truy cập bởi hệ thống định tuyến của ứng dụng.
4.1.2. Tìm kiếm học liệu
Mã giả chức năng tìm kiếm học liệu, mã thực thi tham khảo phụ lục:
Mỗi hành động tìm kiếm của người dùng có kèm theo điều kiện lọc (filter) như lọc theo nội dung, lọc theo tên, lọc theo thư mục… đều được đưa vào mảng $condition nếu là so sánh tuyệt đối và đưa vào mảng $like nếu là so sánh tương đối rồi đưa vào ORM để sinh câu truy vấn tìm kiếm kết quả.
condition = process user input result = search with condition return paginated_result
Cơ chế tìm kiếm cũng hỗ trợ phân trang để giảm tải không cần thiết cho hệ thống cũng như tạo một trải nghiệm tốt hơn cho người dùng khi không buộc người dùng phải đọc một trang có quá nhiều kết quả.
4.1.3. Chia sẻ học liệu
Với phương châm xây dựng hệ thống chia sẻ theo mô hình học cộng tác, học tập mô hình của GitHub, hệ thống quyết định mọi tài liệu được chia sẻ trên hệ thống đều được chia sẻ ở chế độ Công khai (Public) với tất cả người dùng của hệ thống.
Người dùng có thể đọc một tài liệu của người khác ở ngay trên hệ thống hoặc lựa chọn tài học liệu về. Khi tải về một học liệu có nhiều thành phần nội dung, học liệu đó sẽ được đóng gói lại dưới dạng một tệp nén theo chuẩn SCORM 1.2 và người dùng có thể lựa chọn sử dựng lại trên những hệ thống hỗ trợ SCORM 1.2 khác như moodle, SCORM Cloud cho mục đích giảng dạy, nghiên cứu.
Hình 4.1. Giao diện đọc học liệu trực tuyến
Chức năng đọc học liệu của hệ thống hỗ trợ hầu hết các định dạng tệp thông thường như doc, pdf, ppt, mp3, mp4… để hướng tới mục tiêu chia sẻ và nghiên cứu kiến thức một cách trực tiếp và nhanh chóng.
Tác giả học liệu có thể tạo một học liệu có cả văn bản hướng dẫn, ảnh chụp màn hình hướng dẫn từng bước, video hướng dẫn… để đảm bảo việc tiếp cận của người dùng là đa chiều và dễ dàng. Từ đó cũng sẽ tạo ra một kho học liệu độc đáo, có tính đóng góp cao trong cộng đồng chia sẻ tài nguyên học liệu trực tuyến.
4.1.4. Sử dụng lại học liệu
Sử dụng lại học liệu thực chất là việc sao chép nội dung của học liệu này sang cho học liệu kia. Mã thực thi tham khảo phụ lục. Mã giả:
Việc sử dụng lại sẽ sao chép toàn bộ nội dung của một học liệu vào học liệu hiện tại, điều này dẫn đến trường hợp có những phần nội dung là không cần thiết, vì vậy hệ thống cho phép tác giả sau khi sao chép có thể xóa bớt những phần nội dung không cần thiết. Mã thực thi tham khảo phụ lục. Mã giả:
Tác giả cũng có thể tự do sắp xếp lại nội dung của tài liệu tùy thuộc vào mục đích sử dụng bằng cách kéo thả trong giao diện soạn thảo hoặc chỉnh sửa.
Việc sử dụng lại không cần xin phép bất kỳ quyền đặc biệt gì từ người quản trị cũng như tác giả.
4.1.5. Đánh giá học liệu
Việc đánh giá học liệu ngầm, trong suốt với người dùng được thực hiện tự động bởi hệ thống và được gọi trong các tương tác của người dùng với học liệu cùng với số điểm cộng (hoặc trừ) tương ứng với tương tác đó. Cụ thể, khi “Đọc” cộng một điểm, khi
book_content_1 = get_book_content(book_1) book_content_2 = get_book_content(book_2)
book_content_2_uniqued = remove duplicated content compare with book 1 book_content_1_new = book_content_1 + book_content_2_uniqued
book_content = get_book_content(id)
new_book_content = remove content_a in book_content if new_book_content is empty:
new_book_content = “EMPTY” save new_book_content in DB
switch action: case “read”: add_point(1) case “download”: add_point(2) case “clone”: add_point(3) 4.2. Kiểm thử
Các chức năng của hệ thống cơ bản đã hoạt động đúng về mặt tính năng. Soạn thảo học liệu trực tuyến:
Hình 4.2. Giao diện soạn thảo trực tuyến
Hình 4.3. Giao diện đọc tài liệu soạn thảo trực tuyến
Giao diện đọc PDF:
Hình 4.4. Giao diện đọc tệp PDF
Hình 4.5. Giao diện đọc hình ảnh
Giao diện đọc âm thanh:
Hình 4.6. Giao diện đọc âm thanh
Hình 4.7. Giao diện đọc video
Chương 5: Đánh giá và Kết luận
5.1. Đánh giá
5.1.1. Hiện tại hệ thống
Sau quá trình triển khai, hệ thống đã hoàn thành những tính năng cơ bản nhất để đáp ứng những bài toán mục tiêu đề ra ban đầu tuy nhiên, cũng không tránh khỏi một số hạn chế. Những điểm đã hoàn thành và những yếu điểm còn tồn tại của hệ thống có thể kể đến như sau:
Ưu điểm:
Đầu tiên, hệ thống đã xây dựng được mô hình học liệu linh động, không bị hạn chế về định dạng nội dung học liệu. Tạo ra những học liệu đa phương tiện có khả năng tiếp cận tới người dùng trực tiếp hơn và dễ dàng hơn theo nhiều hướng.
Xây dựng thành công chức năng xây dựng học liệu trực tuyến đáp ứng được mô hình học liệu linh động và đa dạng của hệ thống. Cung cấp nhiều phương pháp hỗ trợ giúp cho việc chia sẻ học liệu của người dùng trở nên nhanh gọn và dễ dàng hơn như tải tệp từ máy tính, soạn thảo trực tuyến và sao chép lại nội dung của học liệu đang có sẵn trên hệ thống.
Chức năng đọc học liệu trực tuyến hỗ trợ đọc nhiều định dạng tệp đa phương tiện tương thích với mô hình học liệu linh động và độc đáo của hệ thống. Giúp người dùng có thể đọc tài liệu trực tuyến ở bất kỳ đâu.
Tính năng Lưu trữ và Tìm kiếm đáp ứng mô hình học liệu và cung cấp tiện ích cho người dùng có thể tìm kiếm học liệu trong kho học liệu của hệ thống dễ dàng. Bên cạnh đó chức năng Đánh giá ngầm, trong suốt với người dùng hỗ trợ việc đánh giá và chọn học liệu uy tín trong cộng đồng.
Chức năng sử dụng lại học liệu cho phép người dùng tạo những học liệu đặc trưng mang tính chất của mô hình học cộng tác. Khiến học liệu không chỉ là những cuốn sách
mà còn có thể là những bài hướng dẫn cá nhân hoặc một trình tự nghiên cứu được tổng hợp từ nhiều tài liệu khác nhau thúc đẩy việc chia sẻ tri thức trong cộng đồng.
Những vấn đề còn tồn tại:
Giao diện chưa thân thiện, các màn hình chưa có tính ghi nhớ khiến người dùng dễ nhầm lẫn giữa các giao diện với nhau.
Chưa hoàn thiện vấn đề Điều khoản sử dụng sản phẩm.
Hệ thống báo cáo và quản trị của người quản trị chưa có để kiểm soát những học liệu có biểu hiện bất thường.
5.1.2. Hướng phát triển trong tương lai.
Trong tương lai, hệ thống có rất nhiều mục tiêu có thể phát triển thêm cả về mặt sản phẩm lẫn chức năng.
Hệ thống gợi ý những học liệu liên quan tới học liệu hiện tại đang đọc của người dùng cũng như Hệ thống gợi ý những học liệu liên quan tới những học liệu đã được sử dụng trong lịch sử của người dùng.
Nâng cấp giao diện thân thiện với cả máy tính cá nhân và các thiết bị di động. Nhiều tác giả có thể cùng soạn thảo một học liệu và được quản lý theo phiên bản. Người dùng có thể tạo các yêu cầu về một học liệu cũng như góp ý, đánh giá gửi thẳng về tác giả. Thậm chí, người dùng có thể soạn thảo một phần học liệu và khi được tác giả duyệt, nó sẽ được ghép vào học liệu.
Xây dựng bộ khung pháp lý về bản quyền sử dụng phù hợp với mục đích sử dụng và pháp luật nước Cộng hòa xã hội chủ nghĩa Việt Nam.
Xây dựng hệ thống quản trị cho các quản trị viên cũng như báo cáo cho quản trị và tác giả về những học liệu liên quan.
5.2. Kết luận
Với mục tiêu đề ra, Luận văn đã cơ bản giải quyết các vấn đề tồn đọng của một hệ thống chia sẻ học liệu, xây dựng một hình thức chia sẻ và nghiên cứu mới mẻ và độc đáo tại Việt Nam theo mô hình học cộng tác.
Với sự phát triển của công nghệ, việc học trực tuyến là một nhu cầu không hề nhỏ và rất đáng quan tâm. Vì thế, hệ thống trong tương lai hoàn toàn có cơ hội trong việc đưa vào thực tế sử dụng rộng rãi. Phương hướng phát triển khá rộng đảm bảo tầm nhìn về sản phẩm không bị hạn chế.
Phụ lục:
Cài đặt và khởi động:
Thông tin hệ thống: + Apache 2.4.4
+ MySQL 5.5.32 (Community Server)
+ PHP 5.6.8 (VC11 X86 32bit thread safe) + PEAR Cách cài đặt: sử dụng gói XAMPP Control Panel v3.2.1: https://www.apachefriends.org/download.html
Sao chép nội dung gói phần mềm Chia sẻ học liệu (cung cấp trong cùng thư mục với tài liệu này) vào thư mục /xampp/htdocs/
Trong tệp /connect_data/application/database.php, cấu hình các thông sổ liên quan tới kết nối cơ sở dữ liệu.
Tạo một cơ sở dữ liệu với tệp connect_data_db.sql cung cấp trong cùng thư mục với tài liệu này.
Khởi động XAMPP
Vào bằng trình duyệt theo đường dẫn: http://localhost/connect_data/public/
Các “thành phần bên thứ ba” (third-party) được sử dụng:
1. Frameworks: CodeIgniter v2.1.4 2. CMS: Bonfire v0.7
3. Email Service: Mailgun
<xsd:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns="http://www.w3.org/XML/1998/namespace"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified"> <!-- 2001-02-22 edited by Thomas Wason IMS Global Learning Consortium, Inc. -->
<xsd:annotation>
<xsd:documentation>In namespace-aware XML processors, the "xml" prefix is bound to the namespace name
http://www.w3.org/XML/1998/namespace.</xsd:documentation>
<xsd:documentation>Do not reference this file in XML instances</xsd:documentation> </xsd:annotation>
<xsd:attribute name="lang" type="xsd:language"> <xsd:annotation>
<xsd:documentation>Refers to universal XML 1.0 lang attribute</xsd:documentation> </xsd:annotation>
</xsd:attribute>
<xsd:attribute name="base" type="xsd:anyURI"> <xsd:annotation>
<xsd:documentation>Refers to XML Base: http://www.w3.org/TR/xmlbase</xsd:documentation> </xsd:annotation>
</xsd:attribute>
<xsd:attribute name="link" type="xsd:anyURI"/> </xsd:schema>
Nội dung mặc định tệp imscp_rootv1p1p2.xsd theo chuẩn SCORM 1.2
<?xml version="1.0"?>
<!-- edited with XML Spy v3.5 (http://www.xmlspy.com) by Thomas Wason (private) -->
<!-- filename=ims_cp_rootv1p1p2.xsd -->
<!-- Copyright (2) 2001 IMS Global Learning Consortium, Inc. --> <!-- edited by Thomas Wason -->
<!-- Conforms to w3c http://www.w3.org/TR/xmlschema-1/ 2000-10- 24-->
<xsd:schema xmlns="http://www.imsproject.org/xsd/imscp_rootv1p1p2" targetNamespace="http://www.imsproject.org/xsd/imscp_rootv1p1p2" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified" version="IMS CP 1.1.2">
<!-- ******************** -->
<!-- ** Change History ** --> <!-- ******************** --> <xsd:annotation>