Nếu bạn tự mình phát triển công cụ tạo ra các gói tuân theo chuẩn đóng gói thì rất mất thời gian và tốn kém tiền của. Rất may, vào thời điểm hiện tại đã có một số công cụ miễn phí, thậm chí mã nguồn mở giúp chúng ta đóng gói nội dung tuân theo chuẩn. Dưới đây, chúng ta sẽ xem xét một số công cụ như vậy.
LRN Toolkit.
Microsoft cung cấp một số công cụ hỗ trợ thực thi đặc tả IMS Content Packaging, SCORM cũng như hiển thị các gói đó. Microsoft gọi các công cụ đó là LRN toolkit, được phát âm như là "learn" và viết tắt của Learning Resource iNterchange. Trong bộ công cụ này có 3 công cụ tiện ích giúp xây dựng các gói tuân theo chuẩn. LRN Editor có thể dùng để tạo và chỉnh sửa các file manifest. LRN Validator thử một manifest về tính tương thích với chuẩn đóng gói và các quy tắt bắt buộc của file XML. LRN Converter cho FrontPage, PowerPoint để chuyển các nội dung có trước (tạo bằng FrontPage, PowerPoint) sang các gói tuân theo chuẩn đóng gói.Công cụ nay có thể được tìm thấy tại địa chỉ sau đây : http://www.microsoft.com/elearn.
Manifest Maker for ADL SCORM
Macromedia cung cấp rất nhiều các phần mềm phụ trợ cho Dreamweaver (trên Dreamweaver Exchange). Một vài phần mềm được cung cấp bởi Macromedia, một số khác cung cấp bởi các hãng thứ ba. Manifest Maker for ADL SCORM cho phép Dreamweaver tạo một manifest cho cua học soạn trong Dreamweaver.
Một vài LMS và LCMS cung cấp một số tính năng đóng gói các cua học để trao đổi với các hệ thống quản lý khác.Công cụ này có thể được tìm thấy tại địa chỉ sau đây : http://www.macromedia.com/
ReloadEditor
RELOAD là một dự án được tài trợ bởi JISC Exchange for Learning Programme. Mục đích của dự án là phát triển các công cụ dựa trên các đặc tả kĩ thuật học tập mới ra đời Hiện tại dự án được quản lý bởi Bolton Institute. RELOAD Editor là phần mềm mã nguồn mở , viết bằng Java, cho phép bạn tạo và chỉnh sửa các gói tuân theo đặc tả SCORM 1.2, SCORM 2004.
3.5.4.Có thể tận dụng được gì từ cộng đồng mã nguồn mở
Các lớp của Apache cung cấp giúp ích cho chúng ta rất nhiều. Thứ nhất là nhóm người chỉ muốn kiểm tra xem các tài liệu XML của họ tạo ra đúng hay sai. Thứ hai, là nhóm người phát triển muốn phân tích, xử lý các thông tin có trong XML. Đồ án của chúng ta nằm trong nhóm thứ hai này. Chúng ta sẽ dùng các lớp của Apache với các hàm API cung cấp trong việc phân tích và xử lý các thông tin có trong file
imsmanifest.xml và các file khác có liên quan. Nhưng trước hết chúng ta phải phân biệt hai phương pháp phân tích và xử lý khác nhau mà Apache cũng như các hãng khác cung cấp.
SAX API:
Simple API for XML (SAX) xác định API cho bộ xử lý dựa trên sự kiện. Phương pháp dựa trên sự kiện nghĩa là bộ xử lý đọc tài liệu XML từ đầu đến cuối, và mỗi lần nhận ra có cú pháp cần phải lưu tâm nó sẽ thông báo cho ứng dụng đang sử dụng nó. Ví dụ khi gặp biểu tượng (“<”) thì nó sẽ gọi phương thức startElement, còn khi gặp biểu tượng (“</”) nó sẽ gọi phương thức endElement . Nói chung phương pháp xử lý này tiết kiệm được rất nhiều công suất tính toán cho CPU.
DOM API:
Document Object Model (DOM), định nghĩa bởi W3C Working Group, là một tập các giao diện dùng để xây dựng một biểu diễn của đối tượng, theo dạng một cây, của tài liệu XML được phân tích. Một khi bạn đã xây dựng được xong DOM, bạn có thể xử lý nó với các phương pháp DOM như insert và remove, giống như bạn xử lý các cấu trúc dữ liệu cây khác. Do đó, không giống như bộ phân tích SAX, bộ phân tích DOM cho phép truy cập một cách ngẫu nhiên tới từng phần dữ liệu cụ thể trong tài liệu XML. Một sự khác biệt nữa là với bộ phân tích SAX, bạn chỉ có thể đọc dữ liệu nhưng với bộ phân tích DOM bạn có thể tạo ra một đối tượng biểu diễn của tài liệu trong bộ nhớ và xử lý như chèn hoặc xóa các thành phần tồn tại trước. Tất nhiện, chính vì vậy, DOM API đòi hỏi CPU phải hoạt động nhiều hơn.
4.1.Mô tả công cụ cần xây dựng. 4.2.Phân tích chương trình
Chương IV
PHÂN TÍCH THIẾT KÊ VÀ CÀI ĐẶT CHƯƠNG TRÌNH ĐÓNG GÓI NỘI DUNG TUÂN THEO CHUẨN
4.1.Mô tả chung về công cụ cần xây dựng
4.1.1.Đặt vấn đề :
Trong các phần ở trên em đã trình bày các phần lý thuyết liên quan đến chuẩn SCORM trong e-learning.Bây giờ là điểm thích hợp để thể hiện sự hiểu biết về chuẩn SCORM thông qua một sản phẩm cụ thể.Các sản phẩm trong lĩnh vực e-learning được phân loại như hình dưới đây:
Hình IV.1.Các công cụ cần cho e_Learning
Trong e-learning các sản phẩm được chia làm ba mảng lớn là tạo nội dung,phân phối và truy cập.Dựa trên cơ sở lý thuyết đã tìm hiểu được em xin mạnh dạn xây dựng một công cụ trợ giúp trong việc tạo nội dụng học tuân thủ chuẩn SCORM 2004 nhằm phần nào minh họa lý thuyết mà mình đã tìm hiểu được.Hãy xem cụ thể trong phần này bao gồm thành phần nào :
Hình IV.2.Các công cụ
Ở đây em xin tập trung chủ yếu vào công cụ đóng gói nội dung.Phần dưới đây liệt kê các yêu cầu cần thiết :
• Khả năng biên soạn siêu dữ liệu. • Khả năng biên soạn cấu trúc bài giảng. • Khả năng biên soạn qui tắc học.
• Khả năng hỗ trợ các phiên bản khác nhau của SCORM.
• Khả năng import tài nguyên,đóng gói nội dung giảng dạy dưới định dạng nén RFC cụ thể ở đây là định dạng nén .ZIP.
• Khả năng hỗ trợ thiết kế bài giảng thông qua các bài giảng mẫu.
Em chọn đề tài xây dựng công cụ đóng gói bài giảng tuân thủ chuẩn SCORM vì một số lý do sau đây :
• Hiện nay thị trường e-learning ở Việt Nam đang ngày càng phát triển nhu cầu về các công cụ biên soạn ngày càng lớn.
• Hiện nay vấn đề nội dung học là vô cùng bức thiết do những người chuyên môn về lĩnh vực nào đó rất tôt tuy nhiên khả năng về tin học còn hạn chế do vậy cần thiết có các công cụ trợ giúp cho phép người biên soạn dễ dàng tạo nội dung học đảm bào tính sư phạm đồng thời cũng tuân thủ chuẩn SCORM. Nội dung chi tiết :
Trước tiên chúng ta sẽ xem xét các yêu cầu từ đó xây dựng nên kiến trúc chung của chương trình .Các mục sau chúng ta sẽ trình bày từ sơ lược đến chi tiết về các chức năng chính của hệ thống.Đầu tiên ta sẽ xác định được các yêu cầu của người
dùng,tiếp đến ta xây dựng lên một kiến trúc tổng thể,phân tích từng module cũng như xem xét một số module chính của chương trình.
4.2.Phân tích chương trình :
Trên cơ sở thuyết về chuẩn SCORM dưới đây em xin trình bầy một số vấn đề chính cần giải quyết khi xây dựng chương trình :
• Như trên đã trình bầy ở trên các thành phần trong mô hình dữ liệu của SCORM được mô tả thông qua các tệp XML Schema và các đặc tả này không ngừng thay đổi.Do vậy vấn đề đặt ra khi xây dựng chương trình là phải có khả năng đọc,ghi XML.
• Do các đặc tả không ngừng thay đổi do vậy đòi hỏi chương trình có tính khả mở cho phép mở rộng các thành phần giao diện bao gồm các lớp giao diện cơ sở đóng vai trò trung gian giữa giao diện người và các thành phần truy vấn XML phía dưới.
Trên cơ sở phân tích các vấn đề khó khăn cần giải quyết cũng như đáp ứng các yêu cầu các tính năng cần phải đáp ứng phần dưới đây em xin trình bầy kiến trúc tổng quan của chương trình và thành phần,cách thức hoạt động giao tiếp giữa các thành phần.
Mô hình kiến trúc của chương trình.
Chương trình được xây dựng dưới dạng ứng dụng Java , chạy trên máy đơn cục
bộ . Mô hình dưới đây chỉ ra kiến trúc logic của chương trình.Theo kiến trúc này các tệp XML Schema được truy vấn thông qua một Engine truy vấn-thành phần này dùng để đọc/ghi tệp XML.Các thành phần điều khiển phía trên tùy theo sự kiện người dùng mà điều khiển thực thi truy vấn.Ở đây cơ chế điều khiển được chia thành ba module điều khiển riêng biệt tưong ứng với các chức năng khác nhau.Thành phần giao diện trung gian phía trên chứa đựng các lớp giao diện cơ sở và các lớp sự kiện (proxy action) chịu trách nhiệm tương tác người dùng :
Hình IV.3.Mô hình kiến trúc của chương trình
Mô tả :
• Các thành phần Metadata Spec,Content Packaging Spec,IMS Spe : Đây là các file XML shema chứa đựng các thành phần,loại dữ liệu ,các từ khóa và các trợ giúp.
o Các tệp Base Model Schema. o Các tệp XML profile.
o Các tệp XML chứa đựng các từ khóa.
• Reload Engine : Đây là bộ engine cho phép ta truy vấn,viết và ghi các file XML,đọc các file XML schema cũng như biên soạn tệp manifest.
• Các thành phần Metadata UI Controller,CP (Content Package) Controller , SCORM UI Controller) : Đây là ba thành phần điều khiển tương ứng với các chức năng cơ bản của chương trình :
o Meta-data UI Controller : thành phần điều khiển giao diện của chương trình hỗ trợ biên soạn metadata tuân theo chuẩn LOM của IEEE.
o CP UI Controller :thành phần điều khiển giao diện biên soạn cấu trúc gói nội dung học tuân theo chuẩn SCORM 2004.
o SCORM IUController : thành phần điều khiển trợ giúp người dùng trong quá trình biên soạn và đóng/giải nén gói nôi dung học.
• Thành phần giao diện cơ sở : thành phần này bao gồm các lớp cơ sở về giao diện,các lớp xử lý sự kiện người dùng và các lớp tương tác với các thành phần phía dưới.
• Thành phần giao diện người dùng :thành phần này bao gồm các lớp kế thừa từ các lớp cơ sở chịu trách nhiệm tương tác trực tiếp với người dùng.
4.3.Thiết kế các module chính của chương trình.
Trên cơ sở kiến trúc đã mô tả ở phía trên ta chia hệ thống của ta thành 3 gói chính như sau :
Hình IV.4.Các gói trong chương trình
Gói Dweezil : Đây là một module độc lập với các module còn lại trong chương
trình.Để biên dịch module này ta cần tham chiếu thêm thư viện mở rộng JDOM.Gói này chứa đựng các lớp giao diện cơ sở và các lớp tiên ích cái mà có thế sử dụng trong bất cứ ứng dụng Java nào trên cơ sở gói giao diện java.swing.* của Java.Chúng ta
hoàn toàn kế thừa và mở rộng từ các lớp cơ sở này.Yêu cầu biên dịch gói này một cách độc lập ta cần :
• Java lib rt.jar, 1.4.1 hoặc muộn hơn. • Thư viện tham chiếu org.jdom.
Gói Moonunit : Đây là một module độc lập với các module còn lại trong chương
trình.Để biên dịch module này cần thêm các thư viện tham chiếu JDOM và
Castor.Đây là một module mà hầu như không liên quan đến giao diện (không tham
chiếu đến các thư viện đồ họa của Java bao gồm awt.* và swing.*) mà thực chất đây là một engine cho phép truy vấn các tệp XML.Yêu cầu biên dịch gói này một cách độc lập ta cần :
• Java lib rt.jar, 1.4.1 hoặc muộn hơn. • org.exolab.castor
• org.jdom.
Gói Editor : Đây là module chính dùng để biên soạn Meta-data (siêu dữ liệu),xây
dựng cấu trúc nội dung học.Các lớp trong module này được kế thừa từ hai module Moonunit,Dweezil.Đây là module mà chúng ta chủ yếu phát triển.Yêu cầu biên dịch module này :
• Java lib rt.jar, 1.4.1 hoặc muộn hơn. • org.JDOM.
• uk.ac.reload.dweezil. • uk.ac.reload.moonunit.
Ngoài các module chính trên,chương trình còn tham chiếu đến một số thư viện mở rộng khác bao gồm :
• JDOM : đây là một thư viện chứa đựng các lớp tiện ích giúp cho việc tạo tệp XML,ta có thể download thư viện này tại địa chỉ http://www.jdom.org.
• Castor : đây là thư viện chứa các lớp tiện ích giúp cho việc đọc,truy vấn,mô
hình hóa các tệp XML Schema.
• SRTE :đây là gói có chức năng hiển thị gói nội dung SCORM.Bao gồm trong đó các gói nhỏ hơn (subpackage) phục vụ các chức năng truy vấn , xử lý ,mô hình dữ liệu …
• Convert2004.jar : đây là gói chứa đựng các lớp tiện ích phục vụ việc chuyển
đổi gói SCORM 1.2 sang SCORM 2004.
Hình IV.5.Sơ đồ luồng dữ liệu trong chương trình.
4.3.1.Gói Editor.
Lược đồ dưới đây mô tả cho ta tương tác người biên soạn với chương trình :
Hình IV.6.Chức năng của chương trình
• Biên soạn dữ liệu (Metadata Editor) : thành phân biên soạn siêu dữ liệu,ở đây thành phần này hiện nay hỗ trợ biên soạn siêu dữ liệu dưới dạng chuẩn LOM của IEEE..
• Biên soạn cấu trúc gói nội dung (Content Package) : thành phần này dùng cho việc tạo cấu trúc gói nội dung giảng dạy bao gồm các thành phần Organizations và phần Resources.
• Biên soạn qui tắc học : thành phần dùng cho việc biên soạn qui tắc trong cấu trúc của gói nội dung.
• Đóng gói nội dung : thành phần dùng cho việc lưu gói theo định dạng RFC 1851 mà ở đây là định dạng .ZIP ,cho phân phối trên hệ quản trị học.
• Quản lý tài nguyên học: thành phần này bao gồm thêm,xóa nguồn tài nguyên,xem nội dung của tài nguyên học,tạo cấu trúc thư mục phân cấp…
Kiến trúc của gói :
Dựa trên các chức năng đã phân tích ở trên ta chia các chức năng thành các module tương ứng được liệt kê dưới dây :
Tên package Chi tiết
uk.ac.reload.editor.simplesequencing Các lớp giúp cho việc biên soạn qui tắc học và chiến lược học tập khác nhau.
uk.ac.reload.editor.metadata Các lớp giúp cho việc biến soạn siêu dữ liêu giúp cho việc tìm kiếm và tái sử dụng nguồn tài nguyên.
uk.ac.reload.editor.gui Các lớp giúp view các thông tin trợ giúp người dùng.
uk.ac.reload.editor.contentpackage Bao gồm các lớp và các module nhỏ hơn giúp cho việc thiết kế cấu trúc nội dung học.
uk.ac.reload.editor.schemaviewer Các lớp tiện ích liên quan đến xử lý các file XML.
uk.ac.reload.editor.menu Chứa đựng các thành phần giao diện người dùng.
Các module này được điều khiển thông qua các lớp :
• ReloadEditor : lớp giao diện chính của chương trình.
• ReloadEditorDocumentHandler : lớp được các module con sử dụng giao tiếp với gói Moonunit trong việc đọc,truy vấn các tệp XML trong quá trình biên tập gói nội dung.
• ReloadEditorSchemaController : lớp được các module con sử dụng giao tiếp với gói Moonunit trong việc đọc,truy vấn các tệp XML Schema trong quá trình biên tập gói nội dung.
Kiến trúc giao diện :
Lớp cơ sở ReloadEditor của GUI là lớp mở rộng (kế thừa ) của JFrame và là cửa sổ chính cho các thành phần giao diện GUI bên trong (các cửa sổ con bên trong : InternalFrame ).Để truy nhập tất cả các hành động của GUI đều thông qua đối tượng ProxyAction của ReloadEditor và qua phương thức addListener.
• GUI Layout : Giao diện của chương trình ở chế độ làm việc được chia lam
hai khung nhìn thông qua một JslitPane bao gồm hai lớp xây dựng lên là CPResourcesPanel và ManifestPanel.Nội dung hai cửa sổ này đều có thể thay đổi tùy theo cách sử dụng của người biên soạn.Ngoài ra có bao gồm Toolbar được xây dựng thông qua đối tượng của lớp MainMenu nẳm trong module con menu.Điều này giúp cho người sử dụng dễ dàng truy nhập thao tác nghiệp vụ khi thực thi chương trình.
Dưới đây là chi tiết lớp giao diện chính của chương trình :
Hình IV.7.Lớp chính của của chương trình.
Tương tác giữa mô hình dữ liệu và người dùng bởi GUI:
Việc tương tác giữa mô hình dữ liệu ( data model) trên cơ sở các file XML schema và giao diện người dùng được thực hiện thông qua module Schemaviewer.Module này có chức năng xây dựng lên cấu trúc gói nội dung học dựa trên cấu trúc của file xml imsmanifest khi biên soạn cấu trúc gói nội dung.Sơ đồ dưới đây cách thực thi của module này.
Hình IV.8.Gói thực thi với tệp XML.
Dưới đây ta sẽ xem xét chi tiết hơn các module con trong gói này :
4.3.1.1.Sequencing.
Mô tả : Module này có nhiệm vụ giúp cho người biên soạn nội dung học xác định