Tải bản đầy đủ (.pdf) (169 trang)

ỨNG DỤNG MOBILE CHO HỆ THỐNG HỖ TRỢ HỌC TẬP MOODLE TRÊN NỀN TẢNG WINDOWS PHONE

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.08 MB, 169 trang )


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: .


LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
Cán bộ hướng dẫn:
Ks. Hồ Quang Thái
MSCB: 2299
Sinh viên thực hiện:
Tô Ngọc Ẩn
MSSV: 1091649
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

SVTH: Tô Ngọc Ẩn GVHD Ks. Hồ Quang Thái
1
LỜI CẢM ƠN
Trước tiên em xin nói lời cảm ơn đến những người thân trong gia đình đã quan
tâm sâu sắc và tạo mọi điều kiện tốt nhất để em được chú tâm học tập, và rèn luyện
tại trường Đại học Cần Thơ trong suốt 4 năm qua.
Em cũng chân thành cảm ơn những thầy cô trường Đại học Cần Thơ nói chung,
Khoa công nghệ thông tin và truyền thông nói riêng đã nhiệt tình chỉ dạy, truyền thụ
kĩ năng và kiến thức cho em trong thời gian em còn trên ghế giảng đường. Xin cám
ơn các thầy cô truyền dạy kiến thức cơ sở ngành, nhờ họ mà em đã có nền tảng vững
chắc và định hướng rõ ràng. Cảm ơn các giảng viên truyền dạy các môn chuyên
ngành, giúp em tiếp thu kinh nghiệm và kĩ năng cần thiết cho công việc và cuộc sống
của mình.
Đặc biệt, xin bày tỏ lòng biết ơn chân thành và sâu sắc nhất tới Thầy, Ks. Hồ

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ộ hướng dẫn

Ks. Hồ Quang Thái
SVTH: Tô Ngọc Ẩn GVHD Ks. Hồ Quang Thái
3
NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆ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

I.3. PHẠM VI ĐỀ TÀI 13
I.3.1. Về phía người dùng 13
I.3.2. Về lý thuyết 14
I.3.3. Về kỹ thuật 15
I.4. PHƯƠNG PHÁP NGHIÊN CỨU 15
I.4.1. Thu thập tài liệu 15
I.4.2. Phân tích và thiết kế hệ thống 15
I.4.3. Công nghệ thực hiện 15
I.4.4. Công cụ lập trình 15
CHƯƠNG II: CƠ SỞ LÝ THUYẾT 17
II.1. TÌM HIỂU VỀ HỆ ĐIỀU HÀNH WINDOW PHONE 17
II.2. TỔNG QUAN VỀ SILVERLIGHT 17
II.2.1. Silverlight là gì? 17
II.2.2. Các đặc tính của Siverlight 17
II.2.3. Kiến trúc tổng thể và các mô hình lập trình của Silverlight 19
II.3. XAML 23
II.3.1 Sơ lược về xaml 23
II.3.2 Khai báo đối tượng 23
II.3.3 Thiết lập đặc tính cho đối tượng 23
II.3.4 Root elements và namespace trong xaml 25
II.3.5 Sự kiện 25
II.4. MÔ HÌNH MVVM 26
II.4.1 Data binding 27
II.4.2 Data template 27
II.4.3 Command 28
II.4.4 Các thành phần của mvvm 28
II.5. MOODLE 29
II.5.1 Kiến trúc hệ thống moodle 29
II.5.2 Dịch vụ web của moodle 33
II.5.3 API Functions Moodle 39

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



SVTH: Tô Ngọc Ẩn GVHD Ks. Hồ Quang Thái
6
DANH MỤC HÌNH
Hình 1. Thành phần kiến trúc của Silverlight 20
Hình 2. các lớp trong mô hình MVVM và sự tương tác giữa chúng. 28
Hình 3: Tree node 55
Hình 4: tree node và mối quan hệ giữa các nút 56
Hình 5. Các chức năng của sản phẩm. 62
Hình 6. Thiết kế hệ thống. 84
Hình 7. Mô hình MVVM. 85
Hình 8. Đăng nhập hệ thống. 87
Hình 9. Tạo người dùng. 90
Hình 10. Lấy hồ sơ người dùng. 94
Hình 11. cập nhật thông tin cá nhân. 96
Hình 12. Đổi mật khẩu. 99
Hình 13. Tạo khóa học mới. 102
Hình 14. lấy thông tin khóa học. 105
Hình 15. Xem nội dung khóa học 107
Hình 16. Tạo nhóm người dùng. 109
Hình 17. Thêm thành viên vào nhóm. 112
Hình 18. Xóa thành viên ra khỏi nhóm. 115
Hình 19. Lấy thông tin các nhóm người dùng trong khóa học. 118
Hình 20. Ghi danh người dùng vào khóa học. 120
Hình 21. Lấy thông tin danh mục 123
Hình 22. Xem nội dung diễn đàn môn học. 125
Hình 23. Tạo chủ đề mới trên diễn đàn. 127
Hình 24. Tải tập tin xuống từ diễn đàn. 129
Hình 25. Gửi tin nhắn. 132

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

Learning Management System

6
PHP
Hypertext Preprocessor

7
CSS
Cascading Style Sheets

8
DHCP
Dynamic Host Configuration Protocol

9
API
Application Programming Interface


SVTH: Tô Ngọc Ẩn GVHD Ks. Hồ Quang Thái
8
TÓM TẮT
Ngày nay, khi cuộc đua công nghệ đang diễn ở hầu hết các lĩnh vực, thì mảng
thiết bị di động đang được sự quan tâm của các nhà phát triển. Trong các hệ điều hành
trên nền tảng di động hiện nay, có thể nói Windows Phone là gương mặt mới nhất.
Với sự hỗ trợ của các nền tảng và công nghệ tiên tiến mà Microsoft dành cho
Windows Phone, các lập trình viên ngày càng dễ dàng sáng tạo ra hàng loạt ứng dụng
có giá trị và hữu ích.
Trước sự phát triển đó, áp dụng công nghệ thông tin vào giáo dục luôn là mục
tiêu hàng đầu của nhà nước ta. Hàng loạt 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 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

0
ABSTRACT
Nowadays, when the race of technology is taking place in every field, mobile
devices are being interested in by developers. In operating systems based on current
mobile foundation, Windows Phone is the newest operating system. With the support
of advanced technologies and foundation which are reserved for Windows Phone by
Microsoft, it is easy for programmers to create a series of valuable and useful
applications.
For the development, the application of technology in Education is always the
main purpose of our country. A series of educational software are created to help
improve the educational methods, enhance educational effects and quality. One of the
most popular educational software cannot but mention Moodle – E-Learing
Management System. Windows Phone has promoted developers to create software
which can communicate and interact with the above educational system in company
with the powerful development of new operating systems. It is the reason that Moodle
of Windows Phone is created to satisfy user’s demands.
Moodle Application of Windows Phone is built under the Silverlight
foundation. Although this is a new technology foundation, it brings high effects to
network application and information communicating application. The application
interacts with Moodle database through API Functions which are provided to help
users communicate with the system better. Besides that, DOM model is used for
analyzing and extract database from Website. To design a typical interface for
Windows Phone, the application is supported by XAML – a type of Markup
Language which is nearly the same as HTML. MVVM model built by Microsoft is
being used for developing software. The purpose is to advantage the work of source
code management, maintaining and upgrading applications.
The results of the development process of Moodle Windows Phone have
satisfied the users’ demands on Moodle system. Firstly, the application stably
operates on Windows Phone 8 operating system. It is easy for users to manipulate
and use the functions provided by the application: create users, courses, see personal

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

phần mềm mã nguồn mở hoạt động trên nền web, người dùng có thể dễ dàng truy cập
ở bất kì nơi đâu.
Ở thời điểm hiện tại, cuộc chạy đua Công nghệ di động chưa bao giờ chấm
dứt, luôn bùng nổ với các dịch vụ và xuất hiện các ứng dụng nhằm duy trì kết nối,
cập nhật thông tin và hỗ trợ đắc lực cho công việc. Các thiết bị di động thông minh
cũng ngày càng phổ biến. Đặc biệt đầu năm 2010 Microsoft lần đầu tiên công bố
HĐH Windows Phone, tuy còn rất mới nhưng đã phát triển mạnh mẽ và tạo nên chổ
đứng vững chắc trong những năm vừa qua.
Đứng trước sự phát triển đó, việc có thể học tập mọi lúc, mọi nơi trở thành nhu
cầu không thể thiếu đối với mỗi sinh viên nói riêng và sự nghiệp giáo dục của nước
SVTH: Tô Ngọc Ẩn GVHD Ks. Hồ Quang Thái
1
3
nhà nói chung. Đó cũng là mục đích cho việc nghiên cứu, xây dựng ứng dụng học tập
trên thiết bị di động sử dụng HĐH Windows Phone.
I.2. LỊCH SỬ VẤN ĐỀ
Hiện nay phần mềm Moodle Mobile trên điện thoại di động đã được phát triển
cách đây không lâu. Phần mềm được phát triển chủ yếu trên một số hệ điều hành nhất
định. Phiên bản đầu tiên sử dụng API Functions của Moodle được viết bằng HTML5
và CSS3 chỉ dành cho Android và iOS. Nhưng không được đánh giá cao từ người
dùng, chức năng còn hạn chế không phát huy được hết ưu điểm của một ứng dụng
học tập trên thiết bị di động.
Với hệ điều hành mới như Windows Phone thì việc tạo ra một ứng dụng học tập
trên hệ thống Moodle là hoàn toàn mới. Chính vì thế đây là ứng dụng Windows Phone
đầu tiên dành cho hệ thống Moodle, mở đầu cho nhiều ứng dụng phát triển sau này.
I.3. PHẠM VI ĐỀ TÀI
I.3.1. Về phía người dùng
Phần mềm Moodle Windows Phone giúp cho người dùng dễ dàng truy cập vào hệ
thống học tập của mình với quyền và những chức năng sau:
 Người dùng Sinh 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
- 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

o Lấy thông tin các nhóm
- Quản lý diễn đàn.
I.3.2. Về lý thuyết
Để phục vụ cho quá trình phát triển hoàn chỉnh ứng dụng Moodle Windows
Phone ta cần sử dụng các mảng kiến thức sau:
- Tìm hiểu HĐH Windows Phone 8.
- Nền tảng Silverlight cho phát triển ứng dụng Windows Phone, ngôn ngữ
đánh dấu văn bản XAML.
- Tìm hiểu phần mềm MOODLE và các dịch vụ Web của MOODLE.
- Sử dụng thư viện HtmlAgilityPack để xử lý văn bản HTML.
- Phát triển trên mô hình MVVM trên nền tảng Silverlight.
Từ đó xây dựng một ứng dụng truy cập vào hệ thống MOODLE dựa trên nền tảng
Windows Phone.
SVTH: Tô Ngọc Ẩn GVHD Ks. Hồ Quang Thái
1
5
I.3.3. Về kỹ thuật
Phần mềm Moodle Windows Phone cần đạt những yêu cầu kĩ thuật sau:
- Chạy ổn định trên thiết bị di động sử dụng hệ điều hành Windows Phone 8.
- Chạy ổn định trên giả lập Windows Phone 8 Emulator.
- Hỗ trợ trên cách thiết bị cảm ứng, chạy hệ điều hành Windows Phone 8.
I.4. PHƯƠNG PHÁP NGHIÊN CỨU
I.4.1. Thu thập tài liệu
- Tìm hiểu về cách thức hoạt động của Web Services và ngôn ngữ XML.
- Thu thập các tài liệu liên quan đến cách sử dụng Web Services trên hệ thống
MOODLE.
- Tìm hiểu về quy trình phát triển ứng dụng Windows Phone 8.
- Sưu tầm tài liệu về DOM, HtmlAgilityPack, Silverlight, XAML, chọn lọc sử
dụng các mảng kiến thức cần thiết.
- Tìm hiểu mô hình phát triển ứng dụng MVVM trên nền tảng Silverlight.

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ẽ

hỗ trợ tốt về cả phần cứng và phần mềm.
Windows Phone 7 là thế hệ kế tiếp của dòng điện thoại chạy hệ điều hành
Windows Mobile. Windows Phone 7 được phát triển dựa trên phần lõi là Windows
CE 7 giống như Zune HD. Có thể thấy sự khác biệt giữa Windows Phone 7 và
Windows Mobile là rất lớn, khác cả về phần cứng lẫn phần mềm. Hệ điều hành này
hỗ trợ rất mạnh cho các dòng thiết bị di động có màn hình cảm ứng.
Tháng 6 năm 2012, Microsoft giới thiệu Windows Phone 8, một thế hệ hệ điều
hành mới. Windows Phone 8 thay thế kiến trúc Windows CE trên Windows Phone 7
thành kernel của Windows NT vốn được thiết kế cho Windows 8. Ngoài ra, Windows
Phone 8 còn hỗ trợ CPU đa nhân, nhiều độ phân giải và các tùy biến khác.
Tuy Windows Phone là một hệ điều hành mới, nhưng nó được kì vọng cao và
tạo nên vị trí vững chắc để cạnh tranh với các đối thủ còn lại.
II.2. TỔNG QUAN VỀ SILVERLIGHT
II.2.1. Silverlight là gì?
Silverlight là một dạng plug-in dựa trên công nghệ của Microsoft.Net nó độc
lập với đa nền tảng và đa trình duyệt, nó cho phép phát triển các ứng dụng đa phương
tiện đặc biệt là các ứng dụng trên web và Windows Phone. Silverlight cung cấp một
mô hình lập trình mềm dẻo và đồng nhất, nó hỗ trợ Ajax, Python, Ruby và các ngôn
ngữ lập trình như Visual Basic, C#.
II.2.2. Các đặc tính của Siverlight
II.2.2.1 Sự kết hợp của WPF và XAML
Silverlight là một gói nhỏ của công nghệ Windows Presentation Foundation
(WPF). Nó được mở rộng nhiều hơn các Element trong trình duyệt, ứng dụng
SVTH: Tô Ngọc Ẩn GVHD Ks. Hồ Quang Thái
1
8
Windows Phone để tạo giao diện người dùng. WPF cho phép ta tạo ra đồ họa 3D,
hình ảnh động, đa phương tiện và nhiều tính năng phong phú khác trên máy khách.
XAML (Extensible Application Markup Language) cung cấp các cú pháp đánh dấu
đặc trưng cho việc tạo các Element.

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:

Thành phần
Diễn tả
Nền tảng trình bày cơ sở
Các thành phần và dịch vụ hướng tới giao diện
người dùng và tương tác người dùng, bao gồm
các control cho dữ liệu mà người dùng nhập,
thiết bị đa phương tiện, quản lý phân quyền số,
trình bày dữ liệu, đồ họa vector, chữ, hình ảnh
động, cũng bao gồm XAML để đặc tả việc bố
trí giao diện.
.NET Framework cho
Silverlight
Là một gói nhỏ trong .NET Framework, bao
gồm các thành phần và các thư viện, kể cả việc
tương tác dữ liệu, khả năng mở rộng các
control, mạng, garbage collection và CRL.
Cài đặt và cập nhật
Là thành phần để xử lý các tiến trình cài đặt
làm sao để đơn giản hóa cho lần cài đặt đầu
tiên, tiếp sau đó chỉ cung cấp cơ chế tự động
cập nhật và tương tác ở mức thấp.

Dưới đây là hình ảnh mô tả những thành phần trong kiến trúc của SL cùng với
các thành phần và dịch vụ liên quan khác.
SVTH: Tô Ngọc Ẩn GVHD Ks. Hồ Quang Thái
2
0

Hình 1. Thành phần kiến trúc của Silverlight
Core Presentation Components

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


.Net Frame work for Silverlight:
Tính năng
Mô tả
Data
Hỗ trợ ngôn ngữ truy vấn tích hợp (LINQ to SQL) và LINQ với
đặc tả XML, dễ dàng xử lý việc tích hợp và làm việc với dữ liệu
từ nhiều nguồn khác nhau. Hỗ trợ việc sử dụng XML và các lớp
biên đổi hóa (serialization) để xử lý dữ liệu.
Base class
library
Thuộc thư viện của .Net Framework, nó cung cấp các chức năng
lập trình chủ yếu như việc xử lý chuỗi, biểu thức chính quy, đầu
vào và đầu ra, ánh xạ, tập hợp và toàn cục hóa.
Window
Communication
Foundation
(WCF)
Cung cấp các tính năng để đơn giản hóa việc truy cập dữ liệu từ
xa. Cơ chế này bao gồm một đối tượng trình duyệt, HTTP
request và HTTP Response, RSS, JSON, POX, và các SOAP
Common
language
runtime (CLR)
Cung cấp việc quản lý bộ nhớ, dọn dẹp bộ nhớ thừa, xử lý ngoại
lệ…
SVTH: Tô Ngọc Ẩn GVHD Ks. Hồ Quang Thái
2
2
Windows

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

Microsoft Windows Communication Foundation (WCF) services.
SVTH: Tô Ngọc Ẩn GVHD Ks. Hồ Quang Thái
2
3
II.3. XAML
II.3.1 Sơ lược về xaml
XAML (Extensible Apllication Markup Language) là một ngôn ngữ dạng khai
báo. Ta có thể tạo ra các phần tử đồ họa (UI) với những khai báo thông qua thẻ trong
XAML. Sau đó ta có thể dùng file mã lệnh tách biệt của nó (code-behind) để trả về
những sự kiện và điều khiển những đối tượng mà ta đã định nghĩa trong XAML. Nó
là một ngôn ngữ mô tả dựa trên XML là rất trực quan trong việc xây dựng giao diện
từ những bước phác thảo cho đến sản xuất sản phẩm.
II.3.2 Khai báo đối tượng
Có 2 cách để khai báo đối tượng trong XAML:
- Khai báo trực tiếp: sử dụng thẻ đóng mở để khai báo một đối tượng giống như
là phần tử XML. Ta cũng có thể sử dụng cú pháp này để khai báo đối tượng
gốc (root object) hoặc để xét các giá trị của các thuộc tính.
- Khai báo gián tiếp: sử dụng giá trị trực tiếp để khai báo một đối tượng. Ta có
thể sử dụng cú pháp này để thiết lập các giá trị của các thuộc tính. Thông
thường, điều này có nghĩa là chỉ những thuộc tính được hỗ trợ bởi một đối
tượng nào đó mới có thể sử dụng được phương pháp này.
II.3.3 Thiết lập đặc tính cho đối tượng
Có những cách sau để khai báo đặc tính cho đối tượng:
- Sử dụng cú pháp theo thuộc tính: Dưới đây là ví dụ xét giá trị cho các thuộc
tính: Width, Height, Fill của đối tượng Rectangle
<Rectangle Width="100" Height="100" Fill="Blue" />
- Sử dụng cú pháp theo đặc tính của thành phần (Element): Dưới đây là ví dụ
xét đặc tính Fill theo cách này cho đối tượng Rectangle
<Rectangle Width="100" Height="100">
<Rectangle.Fill>

<SolidColorBrush Color="Blue" />
</Rectangle.Fill>
</Rectangle>

×