TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN
VÀ TRUYỀN THÔNG
o0o
Đề tài:
ỨNG DỤNG MOBILE CHO HỆ THỐNG HỖ
TRỢ HỌC TẬP MOODLE TRÊN NỀN TẢNG
WINDOWS PHONE
Cán bộ hướng dẫn:
Ks. Hồ Quang Thái
MSCB: 2299
HK I, 2013 - 2014
Sinh viên thực hiện:
Tô Ngọc Ẩn
MSSV: 1091649
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC Cán bộ phản biện:
Ths.GVC. Võ Huỳnh Trâm MSCB: 1069
Ths. Phan Phương Lan MSCB: 1232
Luận văn được bảo vệ tại Hội đồng bảo vệ luận văn tốt nghiệp Bộ Môn Công
Nghệ Phần Mềm, Khoa Công Nghệ Thông Tin Và Truyền Thông, Trường Đại
Học Cần Thơ vào ngày 28 tháng 11 năm 2013.
Mã đề tài:
Có thể tìm hiểu luận văn tại:
Thư viện Khoa Công nghệ thông tin và Truyền thông, Trường Đại học
Cần Thơ.
Website: .
Quang Thái đã tạo điều kiện cho em thực hiện đề tài luận văn này. Thầy giúp em làm
việc có kế hoạch rõ ràng, thực hiện công việc đúng thời gian đã lập ra. Đây là yếu tố
quan trọng sẽ giúp ích cho sự thăng tiến trong công việc của em sau này. Chân thành
cảm ơn sự chỉ dạy và giúp đỡ của Thầy trong suốt thời gian qua.
Xin cám ơn những người bạn tốt, những người bạn cùng lớp, những người ở
bên cạnh tôi luôn hết lòng giúp đỡ khi tôi cần đến trong suốt thời gian học tập và hoàn
thành đề tài của mình.
Mặc dù đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho phép
nhưng chắc chắn sẽ không tránh khỏi những thiếu sót. Em kính mong nhận được sự
cảm thông và tận tình chỉ bảo của quý Thầy Cô và các Bạn.
Em xin chân thành cảm ơn!
Cần thơ, ngày 11 tháng 11 năm 2013
Sinh viên
Tô Ngọc Ẩn
SVTH: Tô Ngọc Ẩn GVHD Ks. Hồ Quang Thái
2
NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN
Cần Thơ, ngày 28 tháng 11 năm 2013
Cán bộ phản biện
Ths.GVC Võ Huỳnh Trâm
Ths. Phan Phương Lan
SVTH: Tô Ngọc Ẩn GVHD Ks. Hồ Quang Thái
4
MỤC LỤC
LỜI CẢM ƠN 1
NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN 2
NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN 3
MỤC LỤC 4
DANH MỤC HÌNH 6
KÝ HIỆU VÀ VIẾT TẮT 7
TÓM TẮT 8
ABSTRACT 10
CHƯƠNG I: TỔNG QUAN 12
I.1. ĐẶT VẤN ĐỀ 12
I.2. LỊCH SỬ VẤN ĐỀ 13
II.6. TÌM HIỂU VỀ DOM 54
II.6.1 Tổng quan về DOM 54
SVTH: Tô Ngọc Ẩn GVHD Ks. Hồ Quang Thái
5
II.6.2 Các thành phần cơ bản của DOM 54
CHƯƠNG III: XÂY DỰNG ỨNG DỤNG 59
III.1. ĐẶC TẢ YÊU CẦU PHẦN MỀM (IEEE-STD-830-2002) 59
III.1.1. Giới thiệu 59
III.1.2. Mô tả tổng quan 60
III.1.3. Các yêu cầu giao tiếp bên ngoài 64
III.1.4. Các tính năng của hệ thống 65
III.1.5. Các yêu cầu phi chức năng 81
III.1.6. Các yêu cầu khác 82
III.2. THIẾT KẾ PHẦN MỀM (IEEE-V1) 83
III.3. KIỂM THỬ PHẦN MỀM (IEEE-V1) 134
III.3.1. Giới thiệu kế hoạch kiểm thử 134
III.3.2. Chi tiết kế hoạch kiểm thử 135
III.3.3. Quản lý kiểm thử 138
III.3.4. Giới thiệu trường các hợp kiểm thử 142
III.3.5. Môi trường kiểm thử 142
III.3.6. Các trường hợp kiểm thử 143
CHƯƠNG IV: KẾT LUẬN 162
IV.1. KẾT QUẢ ĐẠT ĐƯỢC 162
IV.1.1. Lý thuyết 162
IV.1.2. Chương trình 162
IV.1.3. Thực tế 162
IV.2. HẠN CHẾ 162
IV.3. HƯỚNG PHÁT TRIỂN 163
PHỤ LỤC CÀI ĐẶT ỨNG DỤNG 164
TÀI LIỆU THAM KHẢO 167
Hình 26. Tạo ghi chú. 133
Hình 27. Hình cài đặt ứng dụng trên máy ảo. 164
Hình 28. Cấu hình điện thoại. 165
Hình 29. Deploy ứng dụng vào máy thật. 166
SVTH: Tô Ngọc Ẩn GVHD Ks. Hồ Quang Thái
7
KÝ HIỆU VÀ VIẾT TẮT
STT
KÍ HIỆU
DIỄN GIẢI
GHI CHÚ
1
CNTT
Công nghệ thông tin
2
CNTT – TT
Khoa Công nghệ thông tin và Truyền Thông
3
HĐH
Hệ điều hành
4
XAML
Extensible Application Markup Language
5
LMS
trợ đổi mới phương pháp giảng dạy, học tập góp phần nâng cao hiệu quả và chất
lượng giáo dục. Một trong những phần mềm giáo dục phổ biến hiện nay không thể
không nhắc đến Moodle – hệ thống quản lý đào tạo trực tuyến vô cùng chặt chẽ. Cùng
với sự phát triển mạnh mẽ của hệ điều hành mới Windows Phone đã thúc đẩy nhà
phát triển tạo ra phần mềm có thể giao tiếp, tương tác với hệ thống học tập trên. Đó
là lý do phần mềm Moodle Windows Phone được tạo ra nhằm thỏa mãn nhu cầu
người dùng.
Ứng dụng Moodle Windows Phone được xây dựng từ nền tảng Silverlight. Đây
là nền tảng công nghệ mới nhưng mang lại hiệu quả cao cho các ứng dụng mạng,
truyền tải thông tin. Ứng dụng tương tác tốt với cơ sở dữ liệu của Moodle thông qua
API Functions mà hệ thống cung cấp, giúp người dùng có thể giao tiếp tốt hơn với hệ
thống. Ngoài ra còn sử dụng mô hình DOM trong phân tích và trích xuất dữ liệu từ
Website. Để thiết kế giao diện đặc trưng cho Windows Phone, ứng dụng được sự hỗ
trợ của ngôn ngữ đánh dấu XAML, dạng ngôn ngữ đánh dấu khá giống với HTML.
Mô hình MVVM được Microsoft xây dựng cũng sẽ được áp dụng vào quá trình phát
triển phần mềm, mục đích là tạo thuận lợi cho công tác quản lý mã nguồn, bảo trì và
nâng cấp ứng dụng.
Kết quả quá trình phát triển ứng dụng Moodle Windows Phone đã đáp ứng được
nhu cầu của người dùng trên hệ thống Moodle. Trước hết, ứng dụng hoạt động ổn
định trên hệ điều hành Windows Phone 8. Người dùng dễ dàng thao tác và sử dụng
SVTH: Tô Ngọc Ẩn GVHD Ks. Hồ Quang Thái
9
các chức năng mà ứng dụng cung cấp: Tạo người dùng, tạo khóa học, xem thông tin
cá nhân, xem nội dung khóa học, tham gia thảo luận trên diễn đàn và tải xuống các
tài liệu liên quan… Ngoài ra người dùng có thể gửi tin nhắn, tạo ghi chú và nhiều
chức năng mở rộng dành cho người quản trị. Tin chắc rằng ứng dụng Moodle
Windows Phone sẽ làm hài lòng người sử dụng.
SVTH: Tô Ngọc Ẩn GVHD Ks. Hồ Quang Thái
1
SVTH: Tô Ngọc Ẩn GVHD Ks. Hồ Quang Thái
1
1
information, course content, discuss on forum and download related documents…
Besides that, users can send messages, make note and other extend functions used for
programmer. It is believed that Moodle application of Windows Phone will satisfy
users. SVTH: Tô Ngọc Ẩn GVHD Ks. Hồ Quang Thái
1
2
CHƯƠNG I: TỔNG QUAN
I.1. ĐẶT VẤN ĐỀ
Sự bùng nổ của CNTT đã và đang tác động mạnh mẽ vào sự phát triển của tất
cả các ngành trong đời sống xã hội. Khi hiện nay toàn ngành giáo dục được kết nối
internet thì ứng dụng CNTT trong ngành giáo dục là nhu cầu tất yếu với mục tiêu
hướng tới người học nhiều hơn, tăng cường tính chủ động trong học tập và nghiên
cứu, góp phần tạo nên hứng thú học tập cho học sinh – sinh viên.
Công nghệ phần mềm phát triển mạnh, kéo theo là đó hàng loạt các phần mềm
giáo dục được tạo ra nhằm hỗ trợ đổi mới phương pháp giảng dạy, học tập và hỗ trợ
quản lý giáo dục, góp phần nhằm nâng cao hiệu quả và chất lượng giáo dục. Do sự
phát triển của công nghệ thông tin và truyền thông mà mọi người đều có trong tay
nhiều công cụ hỗ trợ cho quá trình dạy học nói chung và phần mềm dạy học nói riêng.
Phần mềm dạy học được sử dụng ở nhà cũng sẽ nối dài cánh tay của giáo viên tới
từng gia đình học sinh thông qua hệ thống mạng. Nhờ có máy tính điện tử mà việc
thiết kế giáo án và giảng dạy trên máy tính trở nên sinh động hơn, tiết kiệm được
nhiều thời gian hơn so với cách dạy theo phương pháp truyền thống.
Trong những phần mềm giáo dục phổ biến hiện nay đã và đang được áp dụng
thành công ở Khoa CNTT – TT Trường Đại học Cần Thơ đó là MOODLE – một
- Đăng nhập
- Cập nhật thông tin cá nhân
- Xem danh sách môn học
- Tham gia môn học
- Xem nội dung môn học, diễn đàn môn học.
Người dùng Giáo viên:
- Đăng nhập
- Cập nhật thông tin cá nhân
- Xem danh sách môn học
- Tham gia môn học
- Ghi danh thành viên vào khóa học
SVTH: Tô Ngọc Ẩn GVHD Ks. Hồ Quang Thái
1
4
- Xem nội dung môn học, diễn đàn môn học.
- Quản lý nhóm người dùng
- Quản lý thành viên nhóm người dùng.
Người dùng Admin:
- Quản lý người dùng:
o Tạo người dùng
o Xóa người dùng
o Cập nhật và lấy hồ sơ người dùng
- Quản lý khóa học:
o Tạo khóa học
o Xóa khóa học
o Lấy thông tin và nội dung một khóa học
- Quản lý nhóm người dùng:
o Tạo nhóm người dùng
o Xóa nhóm người dùng
o Thêm, xóa thành viên trong nhóm
I.4.2. Phân tích và thiết kế hệ thống
Cài đặt hệ thống học tập MOODLE, tìm hiểu cách thức lưu trữ CSDL trong hệ
thống nhằm sử dụng các dịch vụ Web của MOODLE một cách hiệu quả.
I.4.3. Công nghệ thực hiện
- Sử dụng ngôn ngữ lập trình C# để viết mã nguồn (code-behind) của ứng
dụng.
- Ngôn ngữ đánh dấu XAML dùng thiết kế giao diện ứng dụng.
- Silverlight cung cấp các control cần thiết cho ứng dụng.
- .NET framework 4.0 cung cấp thư viện giao tiếp giữa máy chủ và máy
khách.
I.4.4. Công cụ lập trình
- Dùng công cụ Microsoft Visual Studio 2012 Ultimate và Windows Phone
SDK 8.0.
SVTH: Tô Ngọc Ẩn GVHD Ks. Hồ Quang Thái
1
6
- Microsoft Expression Blend cho Visual Studio 2012 thiết kế giao diện cho
ứng dụng.
- Sử dụng bộ Windows Phone Toolkit cho Windows Phone SDK 8.0.
- Công cụ ComponentOne Studio cho Window Phone để hiển thị tập tin PDF. SVTH: Tô Ngọc Ẩn GVHD Ks. Hồ Quang Thái
1
7
CHƯƠNG II: CƠ SỞ LÝ THUYẾT
II.1. TÌM HIỂU VỀ HỆ ĐIỀU HÀNH WINDOW PHONE
Microsoft lần đầu công bố hệ điều hành Windows Phone 7 tại triển lãm di động
Mobile World Congress vào tháng 2 năm 2010 tại Tây Ban Nha. Đây là một hệ điều
hành hoàn toàn mới dành cho người dùng smartphone, với những tính năng mạnh mẽ
II.2.2.2 Mở rộng cho ngôn ngữ kịch bản
Silverlight cung cấp việc mở rộng cho các ngôn ngữ kịch bản (Javascript) ở một
số trình duyệt phổ biến để thể hiện việc trình bày giao diện và thao tác người dùng
một cách phong phú hơn.
II.2.2.3 Sự tích hợp với các ứng dụng đã có
Silverlight tích hợp liền mạch với ngôn ngữ Javascript và mã Ajax của
ASP.NET để bổ sung các chức năng ta đã xây dựng được. Ta có thể tạo ra những tài
nguyên trên nền máy chủ có trong ASP.NET và sử dụng các khả năng của Ajax để
tương tác với tài nguyên trên nền máy chủ đó mà không làm gián đoạn người dùng.
II.2.2.4 Mô hình ngôn ngữ lập trình trên nền tảng .NET
Ta có thể tạo các ứng dụng trên nền tảng SL và sử dụng các ngôn ngữ động như
InronPython, C#, Visual Basic. Ta cũng có thể sử dụng các công cụ phát triển như
Visual Studio để tạo ứng dụng trên nền tảng SL.
II.2.2.5 Hỗ trợ mạng
Silverlight bao gồm các hỗ trợ cho HTTP qua TCP. Ta có thể kết nối đến các
dịch vụ của WCF, SOAP hoặc ASP.NET AJAX và nhận về các định dạng theo cấu
trúc XML, JSON hay dữ liệu RSS.
II.2.2.6 Hỗ trợ ngôn ngữ tích hợp truy vấn (LINQ to SQL)
Điều này cho phép ta truy cập dữ liệu bằng cách sử dụng cú pháp trực quan tự
nhiên và mạng mẽ, được gõ bởi các đối tượng có trong các ngôn ngữ .NET
Framework.
SVTH: Tô Ngọc Ẩn GVHD Ks. Hồ Quang Thái
1
9
II.2.3. Kiến trúc tổng thể và các mô hình lập trình của Silverlight
II.2.3.1 Kiến trúc về các thành phần
Về cơ bản Silverlight là một nền tảng thống nhất của nhiều thành phần khác
nhau. Tuy nhiên ta có thể nhóm lại các thành phần chính của Silverlight vào bảng sau
đây:
Tính năng
Mô tả
Dữ liệu vào (Input)
Xử lý dữ liệu vào từ các thiết bị phần cứng như
bàn phím, chuột, bảng vẽ hoặc các thiết bị đầu vào
khác.
Trình bày giao diện người
dùng (UI Rendering)
Trình bày các vector và các đồ họa ảnh bitmap,
ảnh động và văn bản
Thiết bị nghe nhìn (Media)
Các tính năng phát và quản lý một vài thể loại file
âm thanh và hình ảnh như .WMA, .MP3
SVTH: Tô Ngọc Ẩn GVHD Ks. Hồ Quang Thái
2
1
Controls
Hỗ trợ mở rộng cho các control để có khả năng
tùy chỉnh về kiểu dáng và khuôn mẫu
Xếp đặt Layout
Cho phép khả năng xếp đặt vị trí động các thành
phần giao diện người dùng
Trình bày dữ liệu (Data
Binding)
Cho phép việc kết nối dữ liệu của các đối tượng
và các thành phần giao diện người dùng
DRM
Khả năng quản lý phân quyền số
XAML
Cung cấp trình phân tách cho XAML
Presentation
Foundation
controls (WPF)
Cung cấp các control giầu tính năng như Button, Calendar,
CheckBox, DataGrid, DatePicker, HyperlinkButton, ListBox,
RadioButton, and ScrollViewer.
Dynamic
language
runtime (DLR)
Hỗ trợ việc biên dịch và thi hành với tính năng động của các
ngôn ngữ kịch bản như Javascript và IronPython cho các
chương trình trên nền tảng Silverlight.
II.2.3.2 Các công cụ và công nghệ liên quan của Silverlight
Microsoft Expression Blend: sử dụng công cụ này ta có thể tạo và thay đổi
cách sắp xếp trình bày các lớp ứng dụng bằng cách thao tác đến các Grid và Control
trong XAML, làm việc với các chức năng đồ họa, lập trình với ngôn ngữ Javascript.
Visual Stuido 2012: Visual Studio cung cấp các công cụ hiệu quả cho việc phát
triển các ứng dụng có hỗ trợ thao tác code-behind. Tất cả các phiên bản đã có của
Visual Studio đều có khả năng hỗ trợ Silverlight. Tuy nhiên ở phiên bản mới này nó
còn hỗ trợ các tính năng đặc biệt hơn như bao gồm khả năng IntelliSense, Debugging
và các Template cho việc tạo mới một ứng dụng Silverlight.
Microsoft ASP.NET 3.5 Extensions Preview: Công nghệ này cung cấp chức
năng thêm để việc tăng cường các ứng dụng ASP.NET AJAX. Nó bao gồm 2 control
sử dụng hữu ích cho việc xây dựng ứng dụng nền tảng silverlight cũng như là một
phần của ứng dụng ASP.NET:
- ASP.NET MediaPlayer Server Control
- ASP.NET Silverlight Server Control
Internet Servers: Bao gồm IIS (Microsoft Internet Information Services) và
Apache Web server
<SolidColorBrush Color="Blue" />
</Rectangle.Fill>
</Rectangle>