Trang ix TÓM TẮT Nhận thấy sự phát triển du lịch Tỉnh Đồng Tháp hiện đang thiếu một sản phẩm có thể tổng hợp tất cả thông tin nói trên và sự thông dụng, giá thành rẻ của các thiết bị di
Trang 1TRƯỜNG ĐẠI HỌC TÂY ĐÔ
KHOA KỸ THUẬT – CÔNG NGHỆ
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
XÂY DỰNG HỆ THỐNG CUNG CẤP
THÔNG TIN DU LỊCH TỈNH ĐỒNG THÁP
NGUYỄN THIÊN TỨ ThS LÊ THỊ THU LAN
13D480201099
Cần Thơ, 2017
Trang 2TRƯỜNG ĐẠI HỌC TÂY ĐÔ
KHOA KỸ THUẬT – CÔNG NGHỆ
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
XÂY DỰNG HỆ THỐNG CUNG CẤP
THÔNG TIN DU LỊCH TỈNH ĐỒNG THÁP
NGUYỄN THIÊN TỨ ThS LÊ THỊ THU LAN
Mã số đề tài: ………
Có thể tìm hiểu khóa luận tại:
Thư viện: Trường Đại học Tây Đô
Website: http://tdu.edu.vn/
Trang 3TRƯỜNG ĐẠI HỌC TÂY ĐÔ Độc lập – Tự do – Hạnh phúc
***
CHẤP NHẬN LUẬN VĂN ĐẠI HỌC CỦA HỘI ĐỒNG
Luận văn đại học (tên luận văn) Xây dựng hệ thống cung cấp thông tin du lịch Tỉnh Đồng Tháp do sinh viên (tên) Nguyễn Thiên Tứ, mã số sinh viên:
13D480201099, thực hiện và báo cáo đã được chỉnh sửa theo góp ý và được Hội đồng chấm luận văn đại học thông qua
Họ tên Thư ký Thư ký
Cần Thơ, ngày tháng …… năm 2017
_
Họ tên Chủ tịch Hội đồng Chủ tịch Hội đồng
Trang 4
Cần Thơ, ngày …… tháng …… năm 2017
Giảng viên hướng dẫn
LÊ THỊ THU LAN
Trang 5
Cần Thơ, ngày …… tháng …… năm 2017
Giảng viên phản biện
NGUYỄN CHÍ CƯỜNG
Trang 6Trang i
LỜI CẢM ƠN Đầu tiên, xin gửi lời cảm ơn chân thành nhất đến Cô Lê Thị Thu Lan đã trực
tiếp hướng dẫn, tận tình giải đáp những thắc mắc, giúp đỡ trong việc hình thành, phát
triển và hoàn thành đề tài khóa luận tốt nghiệp Xây dựng hệ thống cung cấp thông
Xin cảm ơn, Thầy Nguyễn Chí Thắng khoa Kỹ Thuật – Công Nghệ trường Đại học Nam Cần Thơ; và các bạn Sinh Viên: ngành Việt Nam học Khoa Văn Hóa – Du
Lịch trường Đại học Đồng Tháp, khoa Công Nghệ Thông Tin trường Đại học Sư phạm TP Hồ Chí Minh và ngành Công Nghệ Thông Tin khoa Kỹ Thuật – Công Nghệ trường Đại học Cửu Long đã đóng góp ý kiến nhiệt tình cho đề tài này
Trong quá trình thực hiện đề tài, mặc dù đã rất cố gắng nhưng không thể tránh khỏi những khó khăn, thiếu sót Kính mong nhận được ý kiến đóng góp và hướng dẫn của quý Thầy Cô cùng các bạn để đề tài khóa luận được hoàn thiện hơn
Trân trọng cảm ơn!
Cần Thơ, ngày 20 tháng 4 năm 2017
Sinh viên thực hiện
NGUYỄN THIÊN TỨ
Trang 7Trang ii
MỤC LỤC
LỜI CẢM ƠN i
MỤC LỤC ii
DANH SÁCH CHỮ VIẾT TẮT v
DANH SÁCH HÌNH, BẢNG VÀ BIỂU ĐỒ vi
TÓM TẮT ix
CHƯƠNG 1 MỞ ĐẦU 1
TỔNG QUAN VỀ TÌNH HÌNH NGHIÊN CỨU 1
I 1.I.1 Vùng đồng bằng sông Cửu Long 1
1.I.2 Tình hình du lịch Tỉnh Đồng Tháp 1
1.I.3 Sự phát triển thiết bị di động năm 2016 2
LÝ DO CHỌN ĐỀ TÀI 4
II MỤC TIÊU NGHIÊN CỨU 7
III ĐỐI TƯỢNG VÀ KHÁCH THỂ NGHIÊN CỨU 8
IV PHƯƠNG PHÁP VÀ PHẠM VI NGHIÊN CỨU 8
V 1.V.1 Phương pháp nghiên cứu 8
1.V.2 Phạm vi nghiên cứu 9
ĐÓNG GÓP MỚI ĐỀ TÀI 9
VI KẾ HOẠCH NGHIÊN CỨU 10
VII ĐẶC TẢ 10
VIII CHƯƠNG 2 CỞ SỞ LÝ THUYẾT 13
TỔNG QUAN VỀ ASP.NET MVC 4 13
I TỔNG QUAN VỀ ADO.NET ENTITY 14
II 2.II.1 ADO.NET Entity Framework 14
2.II.2 Truy vấn trong ADO.NET Entity 15
TỔNG QUAN VỀ SQL SERVER 17
III TỔNG QUAN VỀ HTML, CSS VÀ JAVASCRIPT 17
IV 2.IV.1 HTML và CSHTML 17
2.IV.2 CSS (Cascading Style Sheets) 18
2.IV.3 JavaScript và jQuery – jQuery Mobile 18
CÔNG NGHỆ WEB 2.0 VÀ AJAX 19 V
Trang 8Trang iii
GIAO THỨC TRUYỀN TẢI THƯ TÍN SMTP 20
VI PHƯƠNG THỨC MÃ HÓA DỮ LIỆU BASE-64 VÀ MD5 21
VII 2.VII.1 Mã hóa Base-64 21
2.VII.2 Mã hóa MD5 21
ADOBE PHONEGAP 22
VIII YAHOO! WEATHER API 23
IX GOOGLE MAPS API 23
X CHƯƠNG 3 PHÂN TÍCH – THIẾT KẾ HỆ THỐNG 24
XÁC ĐỊNH CÁC ACTOR 24
I 3.I.1 Quản trị viên 24
3.I.2 Người dùng ứng dụng 24
XÁC ĐỊNH CÁC USECASE 24
II 3.II.1 Quản trị viên 24
3.II.2 Người dùng ứng dụng 24
MÔ HÌNH TƯƠNG TÁC GIỮA NGƯỜI DÙNG VÀ HỆ THỐNG 25
III 3.III.1 Sơ đồ Usecase tổng thể 25
3.III.2 Sơ đồ phân rã Actor Quản trị viên 26
3.III.3 Sơ đồ phân rã Actor Người dùng ứng dụng 28
SƠ ĐỒ CLASS 30
IV SƠ ĐỒ TUẦN TỰ CÁC CHỨC NĂNG CHÍNH 31
V 3.V.1 Sơ đồ tuần tự xuất file ảnh từ cơ sở dữ liệu 31
3.V.2 Sơ đồ tuần tự ứng dụng ajax vào đề tài 31
3.V.3 Sơ đồ tuần tự chức năng đăng nhập 32
KIẾN TRÚC HỆ THỐNG 33
VI MÔ HÌNH CƠ SỞ DỮ LIỆU 34
VII TỔ CHỨC BẢNG DỮ LIỆU 35
VIII CHƯƠNG 4 DEMO – TRIỂN KHAI THỰC TẾ 37
TRANG QUẢN TRỊ NỘI DUNG 37
I 4.I.1 Tài khoản admin 39
4.I.2 Quản lý danh mục 42
4.I.3 Thông tin Huyện/TP 43
Trang 9Trang iv
4.I.4 Quản lý người dùng 43
4.I.5 Thống kê yêu thích 44
4.I.6 Trang hiển thị bài viết 45
4.I.7 Chức năng đăng và sửa bài viết 47
ỨNG DỤNG WEB VÀ ANDROID 52
II 4.II.1 Trang chủ ứng dụng 53
4.II.2 Trang gửi phản hồi 57
4.II.3 Trang đăng ký 57
4.II.4 Trang quên mật khẩu 58
4.II.5 Trang thay đổi thông tin tài khoản 59
4.II.6 Trang danh sách bài viết 60
4.II.7 Trang nội dung bài viết 61
4.II.8 Xem bản đồ 62
KẾT LUẬN VÀ ĐỀ NGHỊ 64
DANH SÁCH TÀI LIỆU THAM KHẢO 66
Trang 10Trang v
DANH SÁCH CHỮ VIẾT TẮT
AJAX : Asynchronous JavaScript and XML
API : Application Programming Interface
CSDL : Conceptual Schema Definition Language
CSS : Cascading Style Sheets
EDM : Entity Data Model
HTML : HyperText Markup Language
JSON : JavaScript Object Notation
LINQ : Language Integrated Query
MSL : Mapping specification language
SMTP : Simple Mail Transfer Protocol
SSDL : Store Schema Definition Language
TCP : Transmission Control Protocol
THDT (THĐT) : Truyền hình Đồng Tháp
Trang 11Trang vi
DANH SÁCH HÌNH, BẢNG VÀ BIỂU ĐỒ
DANH SÁCH HÌNH
Hình 1-1 Bản đồ du lịch và báo Đồng Tháp 5
Hình 1-2 Kết quả tìm kiếm "Du lịch Đồng Tháp" từ Facebook và Google 5
Hình 1-3 Quảng bá du lịch qua THDT 6
Hình 1-4 Hướng dẫn viên du lịch tại Nhà cổ Huỳnh Thủy Lê (TP.Sa Đéc) 7
Hình 2-1 Mô hình MVC 13
Hình 2-2 Cách hoạt động mô hình MVC 14
Hình 2-3 Ảnh minh họa kiến trúc ADO.NET Entity 14
Hình 2-4 Ba cách sử dụng Entity Framework 15
Hình 2-5 Mô tả vai trò CSS trong trang web 18
Hình 2-6 Mô phỏng cách build trong PhoneGap 23
Hình 3-1 Sơ đồ Usecase tổng thể 25
Hình 3-2 Usecase quản trị người dùng trang admin 26
Hình 3-3 Usecase Quản trị người dùng ứng dụng 26
Hình 3-4 Usecase quản trị danh mục bài viết 27
Hình 3-5 Usecase thống kê lượt thích 27
Hình 3-6 Usecase quản trị nội dung bài viết 28
Hình 3-7 Usecase xem nội dung bài viết 28
Hình 3-8 Usecase xem bản đồ 29
Hình 3-9 Usecase quản lý thông tin tài khoản 29
Hình 3-10 Sơ đồ Class 30
Hình 3-11 Xuất file ảnh từ cơ sở dữ liệu 31
Hình 3-12 Sơ đồ tuần tự hoạt động ajax trong ứng dụng 31
Hình 3-13 Sơ đồ tuần tự chức năng đăng nhập trang ứng dụng 32
Hình 3-14 Sơ đồ tuần tự chức năng đăng nhập trang admin 32
Hình 3-15 Sơ đồ hoạt động tổng thể 33
Hình 3-16 Mô hình Cơ sở dữ liệu 34
Hình 4-1 Giao diện trang đăng nhập 37
Hình 4-2 Mã xác nhận email 38
Trang 12Trang vii
Hình 4-3 Giao diện trang chủ Admin 38
Hình 4-4 Giao diện trang tài khoản admin 39
Hình 4-5 Pop-up tạo tài khoản 40
Hình 4-6 Lưu đồ giải thuật mã hóa mật khẩu 41
Hình 4-7 Mật khẩu tài khoản admin 42
Hình 4-8 Giao diện trang Quản lý danh mục 42
Hình 4-9 Giao diện Thông tin Huyện/TP 43
Hình 4-10 Giao diện quản lý người dùng 44
Hình 4-11 Thống kê và chức năng trang lượt yêu thích 45
Hình 4-12 Giao diện hiển thị tất cả bài viết 46
Hình 4-13 Hiển thị bài viết Khu mua sắm 47
Hình 4-14 Lấy tọa độ Google Maps tự động từ địa chỉ đã nhập 48
Hình 4-15 Thông báo điều chỉnh kích thước hình ảnh 48
Hình 4-16 Giao diện đăng bài viết mới 49
Hình 4-17 Giao diện chỉnh sửa bài viết 51
Hình 4-18 Tải ứng dụng T4Travel DongThap 52
Hình 4-19 Giao diện ứng dụng Android 53
Hình 4-20 La bàn và tọa độ GPS 53
Hình 4-21 Danh sách yêu thích 55
Hình 4-22 Menu đăng ký và đăng nhập 55
Hình 4-23 Popup đăng nhập 56
Hình 4-24 Menu chức năng 57
Hình 4-25 Giao diện gửi phản hồi 57
Hình 4-26 Đăng ký tài khoản 58
Hình 4-27 Chức năng quên mật khẩu 59
Hình 4-28 Giao diện thay đổi thông tin tài khoản 60
Hình 4-29 Nội dung danh sách bài viết 61
Hình 4-30 Giao diện nội dung bài viết 62
Hình 4-31 Trang xem bản đồ 63
Trang 13Trang viii
DANH SÁCH BẢNG
Bảng 1-1 Thống kê số liệu đề án phát triển du lịch Tỉnh Đồng Tháp năm 2014 2
Bảng 1-2 Thống kê thiết bị di động quý II năm 2016 trên toàn cầu 3
Bảng 1-3 Kế hoạch nghiên cứu 10
Bảng 3-1 Tổ chức bảng dữ liệu 35
DANH SÁCH BIỂU ĐỒ Biểu đồ 1-1 Thống kê lƣợt khách du lịch Tỉnh Đồng Tháp năm 2014 2
Biểu đồ 1-2 Thống kê thị phần smartphone toàn cầu (2012 - 2016) 3
Trang 14Trang ix
TÓM TẮT
Nhận thấy sự phát triển du lịch Tỉnh Đồng Tháp hiện đang thiếu một sản phẩm
có thể tổng hợp tất cả thông tin nói trên và sự thông dụng, giá thành rẻ của các thiết bị
di động (đặc biệt là thiết bị chạy hệ điều hành Android) để giúp đại đa số mọi người điều có riêng cho mình ít nhất một chiếc điện thoại hoặc máy tính bảng để ngao du
khắp mọi nơi Từ đó, đề tài Xây dựng hệ thống cung cấp thông tin du lịch Tỉnh Đồng
Tháp ra đời và được phát triển trên các nền tảng Web và Android
ABSTRACT
Recognizing that tourism development in Dong Thap Province is currently lacking a product that can synthesize all of the above information and the popularity and low cost of mobile devices (especially operating systems Android) to help the vast majority of people have their own at least a phone or tablet to roam everywhere Since
then, the theme of building Tourism information supply system in Dong Thap Province
has been developed and developed on Web and Android platforms
TỪ KHÓA
Xây dựng hệ thống cung cấp thông tin du lịch Tỉnh Đồng Tháp
Trang 15Trang 1
CHƯƠNG 1 MỞ ĐẦU
TỔNG QUAN VỀ TÌNH HÌNH NGHIÊN CỨU
I.
1.I.1 Vùng đồng bằng sông Cửu Long
Vùng đồng bằng sông Cửu Long của Việt Nam gồm mười hai Tỉnh (trong đó có Tỉnh Đồng Tháp) và một Thành Phố, được hình thành từ những trầm tích phù sa và bồi dần qua nhiều thế kỷ và những hoạt động của hỗn hợp giữa sông và biển đã hình thành những vạt đất phù sa phì nhiêu, màu mỡ dọc theo ven sông Vì thế Đồng Tháp được thừa hưởng những đặc điểm thiên nhiên của Vùng đồng bằng như: sông ngòi chằng chịt, đa dạng sinh học cao với các khu rừng nguyên sinh, vùng đất ngập nước; Đồng thời, với những nét văn hóa độc đáo thể hiện qua các lễ hội, làng nghề, di tích văn hóa lịch sử; tạo nên một tiềm năng vô tận cho sự phát triển du lịch nhân văn giá trị của Vùng đồng bằng sông Cửu Long nói chung và Tỉnh Đồng Tháp nói riêng
1.I.2 Tình hình du lịch Tỉnh Đồng Tháp
“Tháp Mười đẹp nhất bông sen Việt Nam đẹp nhất có tên Bác Hồ”
Bảo Đình Giang
Nhắc đến câu thơ trên, ai cũng liên tưởng ngay đến vùng Đồng Tháp Mười, nơi
có sen hồng trở thành biểu tượng cho sự sống của người dân Đồng Tháp và là nơi có nhiều cảnh quan thiên nhiên đặc sắc, sông nước hữu tình, bốn mùa hoa thơm quả ngọt, cùng với tài nguyên thiên nhiên phong phú, kết hợp với con người thân thiện, tinh hoa văn hóa, lịch sử của cộng đồng và nhiều lễ hội dân gian truyền thống mang đậm bản sắc văn hóa dân tộc… tiêu biểu nhất là du lịch sinh thái theo mùa, du lịch sông nước,
du lịch trải nghiệm, làng nghề, ẩm thực… gắn liền với các địa điểm tham quan, di tích lịch sử cấp Tỉnh và cấp Quốc gia như: Chùa Kiến An Cung, làng hoa kiểng Sa Đéc, Nhà Cổ Huỳnh Thủy Lê…
Mặc dù là tỉnh có nhiều tiềm năng du lịch, nhưng du lịch Đồng Tháp được đánh giá là đang phát triển dưới mức tiềm năng Theo số liệu đề án phát triển du lịch Tỉnh Đồng Tháp năm 2014, Đồng Tháp đón và phục vụ 1.855.921 lượt khách du lịch Tuy
Trang 16Biểu đồ 1-1 Thống kê lượt khách du lịch Tỉnh Đồng Tháp năm 2014
1.I.3 Sự phát triển thiết bị di động năm 2016
Đổi mới là nền tảng của công nghệ Mười năm trước đây, hầu như chúng ta không gửi tin nhắn dạng văn bản, đàm thoại người với người, hoặc chơi trò chơi Con Rắn trên màn hình hai màu Nhưng ngày nay, với các thiết bị di động có thể xử lý nhiều hơn một máy tính để bàn trung bình có thể thực hiện ở cùng một thời điểm và từ màn hình hai màu lên đa sắc, gửi tin nhắn dạng văn bản giờ có thể định kèm tập tin hoặc icon hình ảnh, đàm thoại nhóm…
Khách hành hương 73%
Khách nội địa 25%
Khách quốc tế 2%
Trang 17Trang 3
Định nghĩa về sự phát triển thiết bị di động không chỉ bao gồm điện thoại di động truyền thống, mà còn bao gồm cả thiết bị máy tính bảng (tablet), thiết bị chơi game, truyền hình, xe hơi, và nhiều thiết bị tiêu dùng khác có sử dụng hệ điều hành Tuy nhiên, trong bài báo cáo này thiết bị thông minh được nói đến bao gồm là: tablet
và smartphone
Bảng 1-2 Thống kê thiết bị di động quý II năm 2016 trên toàn cầu
Hệ điều hành Thiết bị được xuất xưởng
Biểu đồ 1-2 Thống kê thị phần smartphone toàn cầu (2012 - 2016)
Theo số liệu thống kê trên có thể thấy thị phần hệ điều hành di động thì Android chiếm tỉ lệ cao nhất và có thiết bị xuất xưởng nhiều nhất, theo sau là iOS
Trang 18Tuy nhiên, việc quảng bá du lịch trong Tỉnh đa số dựa trên mạng xã hội, website, truyền hình, ứng dụng di động, bản đồ du lịch
Hiện nay, dạo quanh các siêu thị sách hoặc nơi bán các bản đồ, tài liệu du lịch điều thấy rất nhiều nội dung nói về giới thiệu các địa điểm, đặc sản, phương tiện đi lại trong Tỉnh Đồng Tháp hoặc cả nước Việt Nam; điều này gặp phải vài sự bất tiện, khi
đi du lịch ngoài Tỉnh (đối với khách nội địa) hoặc các du khách nước ngoài vì đi đâu cũng phải mang theo một quyển sách, tờ báo, bản đồ chỉ đường hay tài liệu giới thiệu
về địa điểm tham quan nào đó
Trang 19Trang 5
Hình 1-1 Bản đồ du lịch và báo Đồng Tháp
Mặt khác, với sự phát triển mạnh mẽ của Công Nghệ Thông Tin nói chung và
sự phát triển mạnh mẽ của các website mạng xã hội, công cụ tìm kiếm nói riêng; tiêu biểu như Facebook và Google Khi tìm kiếm với cụm từ “Du lịch Đồng Tháp” là đã có khá nhiều kết quả trả về cho người dùng lựa chọn từ 2 trang Facebook và Google Tỉnh còn giới thiệu các địa điểm du lịch trên website chính thức: Cổng thông tin điện tử Đồng Tháp (dongthap.gov.vn), Đài Phát thanh – Truyền hình Đồng Tháp (thdt.vn), Báo Đồng Tháp Online (baodongthap.vn)…
Hình 1-2 Kết quả tìm kiếm "Du lịch Đồng Tháp" từ Facebook và Google
Trang 20Trang 6
Việc quảng cáo, giới thiệu các địa điểm, dịch vụ du lịch trong Tỉnh cũng được phát triển không kém như một chương trình đã phát sóng: Đồng Tháp chuẩn bị chào đón du khách, Ấn tượng du lịch Đồng Tháp tại VTIM 2016 hoặc Họp báo tuần lễ du lịch Đồng Tháp năm 2017 tại TP Sa Đéc… với loại hình quảng bá này sẽ giúp cho khách du lịch có thêm phần đáng tin cậy về thông tin giới thiệu; tuy nhiên, đều này sẽ khiến cho du khách phải chủ động cập nhật thông tin du lịch từ các thông tin khác nhau: truyền hình, báo chí…
Hình 1-3 Quảng bá du lịch qua THDT
Ngoài ra, một số du khách hoặc dịch vụ du lịch còn có thể thuê thêm người Hướng dẫn viên du lịch (người trong Tỉnh hoặc ngoài Tỉnh) để giúp cho người tham quan có thêm những kiến thức hoặc đi lại dễ dàng hơn Tuy nhiên, với loại hình này thì du khách phải bỏ số tiền không ít để thuê hoặc phải tuân thủ nội quy của đoàn, bị ràng buộc mất đi phần nào sự tự do vốn có cho một chuyến đi du lịch
Trang 21Trang 7
Hình 1-4 Hướng dẫn viên du lịch tại Nhà cổ Huỳnh Thủy Lê (TP.Sa Đéc)
Bên cạnh đó một (nhóm) du khách, họ cần một nguồn thông tin: địa điểm du lịch phải được cập nhật: thường xuyên, chính xác; bản đồ chỉ đường; cung cấp các địa điểm nghỉ ngơi, giải trí và các món ăn đặc sản, thực đơn của nhà hàng… Nhưng hiện tại với nguồn thông tin du lịch của Tỉnh Đồng Tháp còn khá rời rạc chưa tập trung thành một sản phẩm nhất định
Vì lý do này, việc nghiên cứu và xây dựng ứng dụng (Website, di động) hỗ trợ việc quảng bá du lịch là cần thiết nó mang ý nghĩa thực tế cho Tỉnh Đồng Tháp và ứng dụng này không cần đến những cuốn hướng dẫn du lịch, những tấm bản đồ bằng giấy hay những chiếc la bàn cũ kỹ nằm trong hành trang du lịch, mà giờ đây những du khách khi đi đến Tỉnh Đồng Tháp chỉ với những thiết bị di động có kết nối Internet hoặc smartphone Android của mình là có thể ngao du khắp địa bàn Tỉnh Đồng Tháp
MỤC TIÊU NGHIÊN CỨU
III.
Xây dựng hệ thống cung cấp thông tin du lịch Tỉnh Đồng Tháp trên nền tảng Website và hệ điều hành di động Android Bao gồm một số chức năng như:
Trang 22Trang 8
- Cung cấp hệ thống thời tiết ở hai Thành Phố của Tỉnh (Cao Lãnh và Sa Đéc)
- Tra cứu thông tin của các Thành Phố và Huyện
- Xem các thông tin về địa điểm tham quan, nhà hàng khách sạn…
- Dẫn đường dựa vào GPS hoặc dữ liệu mạng
- Tra cứu các địa điểm tham quan lân cận trên bản đồ
Ngoài ra, giúp cho các du khách và Tỉnh Đồng Tháp có thêm một công cụ tra cứu việc tìm kiếm, xem thông tin địa điểm về du lịch một cách miễn phí Và là nơi giúp cho các nhà cung cấp dịch vụ - du lịch của Tỉnh có thêm một nơi để quảng cáo cho mình miễn phí
ĐỐI TƯỢNG VÀ KHÁCH THỂ NGHIÊN CỨU
+ Các khu du lịch, di tích, nhà hàng khách sạn, phương tiện trong Tỉnh Đồng Tháp
PHƯƠNG PHÁP VÀ PHẠM VI NGHIÊN CỨU
V.
1.V.1 Phương pháp nghiên cứu
a Phương pháp nghiên cứu tài liệu
- Các tài liệu, sách, báo chuyên về vấn đề du lịch Tỉnh Đồng Tháp
- Các chương trình truyền hình du lịch Tỉnh Đồng Tháp
- Các trang web, tài liệu tham khảo có liên quan đến đề tài
b Phương pháp nghiên cứu thực tiễn
- Phương pháp quan sát: Quan sát từ các người dân thuộc địa bàn Tỉnh Đồng Tháp: Thành Phố Cao Lãnh, Thành Phố Sa Đéc, huyện Thanh Bình và huyện Lấp Vò
- Phương pháp chuyên gia: Tham khảo ý kiến của
+ Giảng viên hướng dẫn,
Trang 23- Đối với ứng dụng Android: Tìm hiểu cách đọc, gửi JSON, kỹ thuật lập trình
và cách sử dụng Adobe PhoneGap
- Hiểu được cách thức hoạt động của Client – Server trên website
- Hiểu được cách lưu trữ dữ liệu của hệ quản trị cơ sở dữ liệu Microsoft SQL Server (MS SQL Server)
- Hiểu thêm về giao thức truyền gửi thư tín SMTP
b Về mặt lập trình
- Đối với website: Xây dựng trang web Admin dùng để quản trị nội dung ứng dụng và trang ứng dụng cho người dùng bằng ASP.NET, ADO.NET, csHTML, HTML, CSS, JavaScript, SQL Server
- Đối với ứng dụng Android: Xây dựng ứng dụng Android bằng PhoneGap chủ yếu vào HTML 5, CSS 3 và JavaScript (jQuery Mobile)
- Phát hành ứng dụng lên kho CH Play cho hệ điều hành Android
ĐÓNG GÓP MỚI ĐỀ TÀI
VI.
- Mở ra một hướng đi mới cho ngành du lịch Tỉnh Đồng Tháp với nội dung được tổng hợp và thống nhất thành một ứng dụng trên nền tảng web và hệ điều hành di động cụ thể là Android; từ đó du khách đến với Đồng Tháp chỉ cần một thiết bị di động có kết nối Internet hoặc smartphone Android của mình
Trang 24Trang 10
- Là một ứng dụng tổng hợp thông tin địa điểm du lịch, phương tiện di chuyển, đặc sản địa phương đồng thời còn là một sản phẩm tích hợp chức năng dẫn đường từ Google Maps thông qua GPS hoặc mạng Internet, xem thời tiết của ngày hiện nay và các ngày tiếp theo
KẾ HOẠCH NGHIÊN CỨU
VII.
Bảng 1-3 Kế hoạch nghiên cứu
Tuần Nội dung
Từ những đặc điểm nói trên và sự khuyến phát triển du lịch của tỉnh bằng
“Đề án phát triển Du lịch của tỉnh Đồng Tháp giai đoạn 2015-2020 (Kèm theo Công
Trang 25Trang 11
văn số 1803-CV/BTGTU, ngày 29/5/2015 của Ban Tuyên giáo Tỉnh uỷ)” Tương lai
ngành du lịch của tỉnh phát triển mạnh mẽ, tuy nhiên hiện nay vẫn còn rất ít website quảng bá hay phần mềm giới thiệu về: địa điểm du lịch, nhà hàng – khách sạn, khu vui chơi giải trí, các phương tiện đi lại, đặc sản, lễ hội – các làng truyền thống (tạm gọi là danh mục)
Từ những nhu cầu nói trên, ứng dụng cung cấp thông tin du lịch cho Tỉnh Đồng
Tháp ra đời với tên gọi T4Travel DongThap Phần mềm cung cấp danh mục lớn
bao gồm các tên và biểu tượng như: Điểm tham quan, Khu vui chơi, Làng truyền thống,… (có thể thêm, sửa trong trang Admin); người dùng chọn danh mục, phần mềm cho ra kết quả danh sách tên các địa điểm theo danh mục đã chọn (tiêu đề, hình ảnh,
số yêu thích) Khi nhấn vào xem địa điểm nào đó, hệ thống hiển thị nội dung bao gồm: Tên địa điểm, nội dung, hình ảnh địa chỉ (nếu có), nút nhấn yêu thích – bỏ yêu thích và có kèm chức năng bản đồ của Google Maps bao gồm chức năng: dẫn đường (nếu người dùng kích hoạt GPS) hoặc đánh dấu địa điểm đó thông qua tọa độ và đồng thời hiển thị tất cả địa điểm trong cơ sở dữ liệu (Admin có thể thêm hoặc sửa nội dung); ngoài nội dung kể trên, người quản trị nội dung (Admin) có thể thêm những nội dung con: Tên, nội dung, địa chỉ, hình ảnh, danh sách mục con này được sắp xếp theo
vị trí (Có chức năng thêm, sửa, xóa cho phần nội dung này)
Ngoài ra, ứng dụng còn có thêm chức năng Đăng ký (Họ tên, email, mật khẩu), Đăng nhập cho người dùng Yêu thích nội dung địa điểm nào đó (Mã địa điểm, tên đăng nhập và ngày giờ yêu thích), hệ thống lưu và đưa vào danh sách Yêu thích (sắp xếp theo ngày) Trang Admin quản lý người dùng này và chỉ được phép chặn người dùng
Chức năng Quên mật khẩu, yêu cầu người dùng nhập email và hệ thống gửi kèm 1 mã xác nhận (có thời hạn trong vòng 5 phút) Nếu trong 5 phút và người dùng nhận đúng mã xác nhận thì hệ thống cho phép người dùng thay đổi mật khẩu mới
Trang admin được chia thành 2 chức năng:
Trang 26Trang 12
- Người Đăng Bài: Chỉ được phép đăng bài viết mới hoặc chỉnh sửa bài viết của chính mình; đồng thời có quyền xem các nội dung bài viết khác và chức năng của Người Quản Trị Viên
- Người Quản Trị Viên: Sẽ có chức năng của một Người Đăng Bài, nhưng có
thể thêm, chỉnh sửa: loại danh mục, tài khoản admin…
Trang 27ASP.NET ASP.NET MVC được định nghĩa trong namespace System.Web.Mvc là một
phần của namespace System.Web
Hình 2-1 Mô hình MVC
Yêu cầu của người dùng thường xuất phát từ View, sau đó View nhờ Controller để điều khiển các hành động, các giao tiếp, chuyển những thông tin từ Model xuống Cơ sở dữ liệu; tương tự như vậy, từ CSDL thông qua Model thì Controller điều khiển để hiển thị trên View Chắc chắn View đang sử dụng bằng HTML (Server Control) Controller là phần sử dụng Code Behind, phần Model sử dụng ADO.NET hoặc LINQ hoặc Entity
Trang 28Trang 14
Hình 2-2 Cách hoạt động mô hình MVC
TỔNG QUAN VỀ ADO.NET ENTITY
II.
2.II.1 ADO.NET Entity Framework
ADO.NET Entity là một nền tảng đƣợc sử dụng để làm việc với cơ sở dữ liệu thông qua cơ chế ánh xạ Object/Relational Mapping (ORM) Nhờ đó, lập trình viên NET có thể truy vấn, thao tác với database một cách gián tiếp thông qua các đối tƣợng lập trình
Hình 2-3 Ảnh minh họa kiến trúc ADO.NET Entity
ADO.NET Entity có 3 thành phần:
Trang 292.II.2 Truy vấn trong ADO.NET Entity
Đối với ADO.NET Entity Framework đƣợc hỗ trợ 3 loại truy vấn: LINQ to Entities, Entity SQL và SQL thuần
a LINQ to Entities
LINQ to Entities: LINQ là một ngôn ngữ truy vấn mạnh mẽ đƣợc giới thiệu trong Visual Studio 2008 Lập trình viên có thể sử dụng LINQ trong C# hoặc Visual
Trang 30ObjectContext sử dụng để tạo ra truy vấn sử dụng Entity SQL
using ( T4TravelDbContext db = new T4TravelDbContext ())
{
string sqlString = "select * from T4TravelDbContext.TaiKhoanAdmins" ;
var objContext = (db as System.Data.Entity.Infrastructure IObjectContextAdapter ).ObjectContext; System.Data.Entity.Core.Objects ObjectQuery lopQuery =
objContext.CreateQuery< TaiKhoanAdmin >(sqlString);
}
c SQL thuần
Ngoài các cách kể trên, ADO.NET Entity Framework còn hỗ trợ cách truy vấn bằng câu lệnh thực thi thuần SQL cho cơ sở dữ liệu quan hệ
- Truy vấn SQL không tham số:
using ( T4TravelDbContext db = new T4TravelDbContext ())
Trang 31Trong view của ASP.NET, sử dụng các thẻ HTML đồng thời có thể kết hợp với các khối lệnh ngôn ngữ C# bằng cách khai báo @{…} hoặc @<tên biến> để tạo ra một view template (file cshtml)
@{
List < HuyenTP > lh = ( List < HuyenTP >)ViewData[ "HuyenTP" ];
foreach ( HuyenTP item in lh)
{
< option value =" @item.MaHuyen "> @item.TenHuyen </ option >
Trang 32Trang 18
}
}
2.IV.2 CSS (Cascading Style Sheets)
Là một ngôn ngữ được sử dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu (ví dụ như HTML) Nếu HTML đóng vai trò định dạng các phần tử trên trang web như việc tạo ra các đoạn văn bản, các tiêu đề, bảng,… thì CSS giúp chúng ta có thể thêm một chút “phong cách” vào các phần tử HTML đó như đổi màu sắc trang, đổi màu chữ, thay đổi cấu trúc…
Hình 2-5 Mô tả vai trò CSS trong trang web
2.IV.3 JavaScript và jQuery – jQuery Mobile
a JavaScript
JavaScript (có phần mở rộng js) là một ngôn ngữ lập trình dạng kịch bản dựa trên đối tượng được phát triển từ các ý niệm nguyên mẫu Ngôn ngữ được sử dụng rộng rãi trên các trang web, nhưng cũng được dùng để tạo khả năng viết script sử dụng đối tượng có sẵn trong các ứng dụng Giống Java, JavaScript có cú pháp tương tự C, nhưng gần giống với Self hơn Java
Hiện nay, có rất nhiều framework, libraries được viết bằng ngôn ngữ JavaScript:
- jQuery: Một thư viện mạnh mẽ và thông dụng
- AngularJS: Một thư viện xây dựng ứng dụng Single Page
Trang 33Trang 19
- NodeJS: Một thư viện được phát triển phía Server dùng để xây dựng ứng dụng realtime
- Firebase: Một nền tảng di động dùng lưu trữ dữ liệu theo thời gian thực
b jQuery và jQuery Mobile
jQuery là một thư viện kiểu mới của JavaScript, được tạo bởi John Resig vào năm 2006 jQuery làm đơn giản hóa việc truyền tải HTML, xử lý sự kiện, tạo hiệu ứng động và tương tác với Ajax
jQuery Mobile là một Framework được phát triển tương tự như jQuery nhưng được xây dựng cho các ứng dụng chạy trên thiết bị di động (điện thoại hoặc máy tính bảng) Hiện nay, jQuery chạy trên hầu hết thiết bị smartphone và tablet như: iOS, Android, Windows Phone, symbian, BlackBerry…
jQuery Mobile được xây dựng dựa trên các cú pháp của jQuery, ngoài ra jQuery Mobile còn đi kèm một file CSS để giúp người lập trình dễ dàng xây dựng giao diện trên nền tảng HTML5, CSS3, JavaScript và Ajax
CÔNG NGHỆ WEB 2.0 VÀ AJAX
V.
Web 2.0 được xem là một cuộc cách mạng trên thế giới mạng, thế hệ web mới
có những thay đổi quan trọng không chỉ ở nền tảng công nghệ (RSS, SOA, Ajax…)
mà còn cả ở cách thức sử dụng - hình thành nên môi trường cộng đồng
Ajax viết tắt của Asynchronous JavaScript and XML (tạm dịch JavaScript và XML không đồng bộ) là một nhóm công nghệ phát triển web được sử dụng để tạo ứng dụng web động hoặc các ứng dụng giàu tính Internet (rich Internet Application) tương tác, nhanh hơn và mượt mà hơn với sự giúp đỡ của XML, HTML, CSS và JavaScript
Ajax cho phép các trang web được cập nhật một cách không đồng bộ bằng cách trao đổi các lượng dữ liệu nhỏ với Server thông qua các phương thức POST hoặc GET Tức là Ajax giúp cập nhật các phần nhỏ trong trang mà không cần tải lại toàn bộ trang (nhờ vào đối tượng XMLHttpRequest)
Đối tượng XMLHttpRequest là chìa khóa then chốt của kỹ thuật Ajax Tất cả trình duyệt Web hiện đại (Chrome, IE7+, FireFox, Safari và Opera) đều đã được hỗ trợ đối tượng XMLHttpRequest Đối tượng này cho phép trao đỗi dữ liệu với một Server
Trang 34Ví dụ: Dùng XMLHttpRequest trả về JSON và lưu vào localStorage
var http = new XMLHttpRequest();
parameter = parameter || null ;
var value = name.split( ":" );
name = value[0];
var url = link + name;
http.open( "POST" , url, true );
Cổng mặc định của SMTP:
- SMTP AUTH: Port 25 hoặc 587
- SMTP SSL: Port 465
- SMTP StartTLS: Port 587
Trang 35Trang 21
Để xác định trình chủ SMTP của một tên miền nào đấy, người ta dùng một mẫu tin MX của DNS Hiện nay, có hơn 40 nhà cung cấp dịch vụ email thông dụng như: yahoo.com, mail.com, Hotmail, iCould, Google…
Đối với Google cần thiết lập cấu hình SMTP như sau:
2.VII.1 Mã hóa Base-64
Base64 là một chương trình mã hóa chuỗi ký tự bằng cách dùng thay thế các ký
tự trong bảng mã ASCII 8 bit thông dụng thành bảng mã 6 bit Nó thường được sử dụng để mã hóa các tập tin đa phương tiện (hình ảnh, âm thanh, video…) Ký tự 64 trong Base64 là đại diện cho 64 ký tự trong bảng mã ASCII Base64 thường được sử dụng trong việc truyền tải email Tuy nhiên, ngày nay người ta đã sử dụng nó vào việc truyền tải hình ảnh trên website
Chuẩn Base64 là một tập hợp gồm 64 ký tự bắt đầu từ giá trị 0 đến 63 (theo đúng thứ tự): ký tự từ A đến Z biểu diễn cho các giá trị từ 0 đến 25, từ a đến z biểu diễn cho giá trị từ 26 đến 51, từ 0 đến 9 biểu diễn cho giá trị từ 52 đến 61, dấu + biểu diễn cho giá trị 62, dấu / biểu diễn cho giá trị 63
Trang 36Về cơ bản loại ứng dụng mobile được chia thành 3 loại: Native app, Hybrid app
và Web app Mỗi loại có ưu nhược điểm riêng:
- Native app thì có lẽ quá quen thuộc, đó chính là sử dụng Java để lập trình Android, Objective-C hay Swiff để lập trình iOS, C# để lập trình Window Phone… Những ứng dụng này được thiết kế để chạy riêng trên những hệ điều hành nhất định, còn muốn chạy trên hệ điều hành khác thì phải code lại từ đầu
- Với Web app thì có thể chạy trên tất cả các hệ điều hành mà chỉ cần trình duyệt, bạn vào trình duyệt gõ địa chỉ là có thể truy cập được, ví dụ: m.facebook.com,…
- Còn Hybrid app, hay còn gọi là ứng dụng lai (Adobe PhoneGap là một trong những công cụ thuộc loại ứng dụng này) Nó là sự kết hợp của cả Native app lẫn Web app
PhoneGap là một công cụ phát triển ứng dụng di động viết một lần biên dịch ra các hệ điều hành: iOS, Android, Windows Phone, BlackBerry, webOS, Bada, Symbian Cho phép phát triển ứng dụng từ HTML, CSS, JavaScript
PhoneGap là mã nguồn mở miễn phí phát triển bởi Nitobi, nhưng đằng sau có
sự đóng góp của IBM, RIM và Microsoft Tuy nhiên, năm 2011 được Adobe mua lại
và được Adobe sử dụng cho dự án Apache Cordova
Đến nay, do sự phát triển mạnh mẽ của hai hệ điều hành lớn: iOS, Android, khiến hãng sản xuất mặc định sẵn khi tạo project chỉ build được 2 hệ điều hành này Nếu muốn phát triển thêm hệ điều hành khác, người lập trình cần phải cấu hình trong file config.xml của dự án
Trang 37Trang 23
Hình 2-6 Mô phỏng cách build trong PhoneGap
YAHOO! WEATHER API
IX.
Adam Cahen, phó chủ tịch cao cấp phụ trách các sản phẩm mobile của Yahoo
cho biết: “Cái chúng tôi muốn làm đó là “cảm nhận” được thời tiết Bạn nhìn vào
những con số trên biểu đồ nhưng cái bạn thật sự muốn là cảm nhận được tình trạng thời tiết Ý tưởng đơn giản đó là khi chúng ta muốn biết về thời tiết, chúng ta thật sự muốn nhìn thấy chúng thật sự như thế nào.”
Ảnh thay đổi theo hoàn cảnh thời tiết và giờ giấc trong ngày Những bức ảnh thay đổi liên tục Ngoài thông tin nhiệt độ, ứng dụng Yahoo! Weather còn bổ sung các thông tin dự báo, giờ mặt trời mọc và lặn, hướng gió và áp suất
Ngoài những tính năng Yahoo! Weather cung cấp trên ứng dụng của họ, mà còn phát hành API cho các người dùng có thể tích hợp Yahoo! Weather vào ứng dụng của mình thông qua đường dẫn: https://developer.yahoo.com/weather
GOOGLE MAPS API
X.
Google Maps là một ứng dụng bản đồ trực tuyến được Google phát triển, nó có thể nhúng vào các trang web, ứng dụng của bên thứ ba một cách miễn phí từ Google Maps API Có rất nhiều tiện ích nâng cao giúp người dùng tìm kiếm đường đi, tra cứu các địa điểm, các địa danh… Google Maps API hiện nay đã phát triển cho 4 nền tảng: Android, iOS, Web và WebService
Để sử dụng được Google Maps API, người dùng cần phải có API Key được cung cấp miễn phí tại trang: https://console.developers.google.com
Trang 38- Người quản trị viên: có quyền của một Người đăng bài, nhưng có thể thêm hoặc chỉnh sửa các danh mục, chặn tài khoản người dùng, thêm tài khoản admin
3.I.2 Người dùng ứng dụng
Là người có nhu cầu tìm kiếm địa điểm du lịch bên trong web hoặc ứng dụng
Có thể dùng tài khoản của mình để bình chọn địa điểm
XÁC ĐỊNH CÁC USECASE
II.
3.II.1 Quản trị viên
- Quản trị danh mục của bài viết
- Quản trị nội dung các bài viết
- Quản trị người dùng trang Admin
- Quản trị tài khoản người dùng ứng dụng
Trang 40Trang 26
3.III.2 Sơ đồ phân rã Actor Quản trị viên
a Quản trị người dùng trang admin
Hình 3-2 Usecase quản trị người dùng trang admin
b Quản trị tài khoản người dùng ứng dụng
Hình 3-3 Usecase Quản trị người dùng ứng dụng