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

Xây dựng ứng dụng di động trợ giúp khách du lịch khi gặp sự cố

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 (1.86 MB, 21 trang )


Xây dựng ứng dụng di động trợ giúp khách du lịch khi gặp sự cố

MỤC LỤC
LỜI CẢM ƠN ERROR! BOOKMARK NOT DEFINED.
LỜI CAM ĐOAN ERROR! BOOKMARK NOT DEFINED.
NHẬN XÉT CỦA GIÁO VIÊN HƢỚNG DẪNERROR! BOOKMARK NOT DEFINED.
PHIẾU DUYỆT ĐỒ ÁN TỐT NGHIỆP ERROR! BOOKMARK NOT DEFINED.
MỤC LỤC 1
DANH MỤC HÌNH ẢNH 3
DANH MỤC BẢNG 4
MỞ ĐẦU 5
CHƢƠNG 1. TỔNG QUAN ĐỀ TÀI .6
1.1 Giới thiệu đề tài .6
1.2. Mục đích và ý nghĩa 7
1.2.1. Mục đích 7
1.2.2. Ý nghĩa 7
1.3. Triển khai đề tài 7
1.3.1. Các bƣớc thực hiện 7
1.3.2. Mục tiêu cần đạt đƣợc 8
1.4. Phạm vi 8
1.5. Bố cục luận văn 8
CHƢƠNG 2. CƠ SỞ LÝ THUYẾT 10
2.1. Hệ điều hành iOs 10
2.1.1. Khái niệm 10
2.1.2. Các đặc tính 10
2.1.3. Kiến trúc hệ điều hành iOS 11
2.2. Ngôn ngữ lập trình Objective – C 13
2.2.1. Giới thiệu 13
2.2.2. Các thành phần 14
2.2.3. Các thế mạnh 14


2.2.4. Môi trƣờng lập trình Xcode 15
2.3. WebService 16
2.3.1. Giới thiệu 16
2.3.2. Kiến trúc 17
2.3.3. Hoạt động 18
CHƢƠNG 3. PHÂN TÍCH THIẾT KẾ HỆ THỐNG 20
3.1. Phân tích yêu cầu 20
3.1.1. Mô tả bài toán 20
3.1.2. Phân tích yêu cầu bài toán 20
3.1.3. Yêu cầu phi chức năng 23

Xây dựng ứng dụng di động trợ giúp khách du lịch khi gặp sự cố

3.1.4. Các chức năng chính của hệ thống 24
3.2. Phân tích thiết kế hệ thống 26
3.2.1. Biểu đồ ca sử dụng: 26
3.2.2. Biểu đồ tuần tự 31
3.2.3. Biểu đồ hoạt động: 35
3.2.4. Biểu đồ lớp 38
3.2.5. Thiết kế cơ sở dữ liệu 39
CHƢƠNG 4. TRIỂN KHAI VÀ THỰC NGHIỆM CHƢƠNG TRÌNH 41
4.1. Triển khai chƣơng trình 41
4.1.1. Hệ thống Server 41
4.1.2. Ứng dụng trên di động 44
4.2. Các thuật toán đƣợc sử dụng 48
4.2.1. Thuật toán lấy dữ liệu và hiển thị ngƣời dùng trên bản đồ 48
4.2.2. Thuật toán lấy lọc lấy thông tin và vị trí ngƣời trợ giúp hoặc ngƣời cần
trợ giúp 48
4.3. THỰC NGHIỆM CHƢƠNG TRÌNH 50
4.3.1. Kết quả triển khai trên Webservice 50

4.3.2. Kết quả triển khai ứng dụng trên điện thoại di động 51
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 57
I. Kết luận 57
1. Kết quả đạt đƣợc 57
2. Hạn chế 57
II. Hƣớng phát triển 58
PHỤ LỤC .59
TÓM TẮT LUẬN VĂN TỐT NGHIỆP .60
TÀI LIỆU THAM KHẢO 61



Xây dựng ứng dụng di động trợ giúp khách du lịch khi gặp sự cố

DANH MỤC HÌNH ẢNH
Hình 1. Kiến trúc iOS 11
Hình 2 : Chồng giao thức của dịch vụ Web 17
Hình 3 : Mô hình hoạt động của Web service 18
Hình 4. Biểu đồ ca sử dụng tổng thể 26
Hình 5. Biểu đồ tuần tự - Đăng ký 31
Hình 6. Biểu đồ tuần tự - Đăng nhập 31
Hình 7. Biểu đồ tuần tự - chỉnh sửa thông tin cá nhân 32
Hình 8. Biểu đồ tuần tự - Xem thông tin địa điểm 32
Hình 9. Biểu đồ tuần tự - Tra cứu địa điểm 33
Hình 10. Biểu đồ tuần tự - Gửi yêu cầu trợ giúp 33
Hình 11. Biểu đồ tuần tự - Nhận yêu cầu trợ giúp 34
Hình 12. Biểu đồ tuần tự - Phản hồi 34
Hình 13. Biểu đồ hoạt động – Đăng ký 35
Hình 14. Biểu đồ hoạt động – Đăng nhập 35
Hình 15. Biểu đồ hoạt động – Quản lý thông tin cá nhân 35

Hình 16. Biểu đồ hoạt động – Chỉnh sửa thông tin cá nhân 35
Hình 17. Biểu đồ hoạt động – Xem địa điểm 36
Hình 18. Biểu đồ hoạt động – Tra cứu địa điểm 36
Hình 19. Biểu đồ hoạt động – Gửi yêu cầu trợ giúp 37
Hình 20. Biểu đồ hoạt động – Phản hồi trợ giúp 37
Hình 21. Biểu đồ lớp 38
Hình 22. Mô hình cơ sở dữ liệu quan hệ 39
Hình 23. Màn hình Home Apps trên Webservice 42
Hình 24. Tạo một Class (Bảng) cho cơ sở dữ liệu 42
Hình 25. Tạo một cột cho bảng 43
Hình 26. Push Notification từ Webservice 43
Hình 27. Sơ đồ kết nối giữa ứng dụng với Webservice 45
Hình 28. Sơ đồ nhận dữ liệu từ Webservice của ứng dụng 46



Xây dựng ứng dụng di động trợ giúp khách du lịch khi gặp sự cố

DANH MỤC BẢNG
Bảng 1 : Bảng các chức năng đăng ký, đăng nhập 24
Bảng 2 : Bảng các chức năng quản lý thông tin cá nhân 24
Bảng 3 : Bảng các chức năng gọi trợ giúp 24
Bảng 4 : Bảng các chức năng trợ giúp 25
Bảng 5 : Bảng các chức năng phản hồi 25
Bảng 6. Ca sử dụng đăng ký 27
Bảng 7. Ca sử dụng đăng nhập 27
Bảng 8. Ca sử dụng quản lý thông tin cá nhân 28
Bảng 9. Ca sử dụng chỉnh sửa thông tin cá nhân 28
Bảng 10. Ca sử dụng gửi yêu cầu trợ giúp 29
Bảng 11. Ca sử dụng nhân yêu cầu trợ giúp 29

Bảng 12. Ca sử dụng phản hồi 30
Bảng 13. Bảng cơ sở dữ liệu - User 40
Bảng 14. Bảng cơ sở dữ liệu - Nhóm trợ giúp 40










Xây dựng ứng dụng di động trợ giúp khách du lịch khi gặp sự cố

CHƢƠNG 1. TRIỂN KHAI VÀ THỰC NGHIỆM CHƢƠNG TRÌNH
1.1. TRIỂN KHAI CHƢƠNG TRÌNH
1.1.1. Hệ thống Server
1.1.1.1 Môi trường triển khai
Hệ quản trị cơ sở dữ liệu : sử dụng dịch vụ đám mây Parse. Giao tiếp với
ứng dụng quan ParseSDK.
1.1.1.2 Cài đặt cơ sở dữ liệu
Cài đặt cơ sở dữ liệu thông qua 2 bƣớc:
 Bƣớc 1 : Tạo cơ sỡ dữ liệu trên của server.
 Bƣớc 2 : Import file cơ sở dữ liệu vào đám mây, tùy chỉnh các thông tin
cho phù hợp.
1.1.1.3 Cài đặt WebService
Cài đặt webservice thông qua các bƣớc sau :
 Bƣớc 1 : Đăng ký tài khoản sử dụng Parse. Vào
để đăng ký 1 tài khoản. • Sau đó đăng nhập vào Parse rồi vào mục

Dashboard ( để thiết lập một số thông tin:
 Bƣớc 2 : Tạo mới 1 ứng dụng (App) và đặt tên cho nó, ví dụ: DoAnTN
 Bƣớc 3 : Thiết lập thông tin cho ứng dụng, lấy Application ID và
JavaScript Key
 Bƣớc 4 : Tạo cơ sở dữ liệu và bắt đầu kết nối dữ liệu với ứng dụng

1.1.1.4 Khai thác WebService
Link để thao tác với Web service:
Lƣu trữ dữ liệu trên Parse đƣợc xây dựng xung quanh các ParseObject. Mỗi
ParseObject chứa cặp khóa-giá trị của dữ liệu JSON-tƣơng thích. Với dữ liệu này
chúng ta không cần phải xác định trƣớc những gì tồn tại trên mỗi phím ParseObject.
Bạn chỉ cần đặt bất cứ điều gì giá trị khóa cặp mình muốn, và phụ trợ của Parse sẽ
lƣu giữ nó.
Ví dụ, giả sử đang theo dõi điểm số cao cho một trò chơi. Một PFObject duy
nhất có thể chứa:
Điểm số: 1337, playername: "Sean Plott", cheatMode: false
Phím phải đƣợc chuỗi chữ và số. Các giá trị có thể là chuỗi, số, các phép toán
luận, hoặc thậm chí các mảng và từ điển - bất cứ điều gì mà có thể là JSON mã hóa.

Xây dựng ứng dụng di động trợ giúp khách du lịch khi gặp sự cố

Mỗi ParseObject có một tên lớp học mà chúng ta có thể sử dụng để phân biệt các
loại dữ liệu khác nhau.
Để lƣu một dữ liệu: giao diện tƣơng tự nhƣ lƣu một NSMutableDictionary, cộng
với phƣơng pháp saveInBackground


Hình 23. Màn hình Home Apps trên service



Hình 24. Tạo một Class (Bảng) cho cơ sở dữ liệu

Xây dựng ứng dụng di động trợ giúp khách du lịch khi gặp sự cố


Hình 25. Tạo một cột cho bảng



Hình 26. Bảng Push Notification từ service


Xây dựng ứng dụng di động trợ giúp khách du lịch khi gặp sự cố

1.1.2. Ứng dụng trên di động
Ứng dụng trên điện thoại di động iPhone là chƣơng trình khai thác kho dữ liệu
và chƣơng trình này đƣợc hệ thống cung cấp nên có thêm các chức năng đăng tải
thông để xây dựng kho dữ liệu.
Tên ứng dụng trên điện thoại di động iPhone : Ngƣời Việt thân thiện
1.1.2.1 Môi trường triển khai
 Ngôn ngữ lập trình : Objective-C
 Thiết bị : điện thoại di động iPhone, iPop Touch, iPad
 Nền tảng hệ điều hành di động : iOS 7.0
 Hệ điều hành phát triển : MacOS 10.10.3
 Công cụ phát triển : Xcode 6.2
1.1.2.2 Cài đặt ứng dụng
Cài đặt ứng dụng thông qua 2 nguồn chính:
 Download thông qua FTP và tiến hành đồng bộ ứng dụng vào thiết bị.
 Download thông qua App Store
1.1.2.3 Giao diện ứng dụng

Giao diện ứng dụng làm theo chuẩn iPhone:


Xây dựng ứng dụng di động trợ giúp khách du lịch khi gặp sự cố

Trong đó:
 Vùng 1 là Navigation bar : chịu trách nhiệm hiển thị tiêu đề, chuyển
hƣớng và các action thao tác chính trên một màn hình.
 Vùng 2 là View : hiển thị nội dung, các thao tác, nhập xuất v v
 Vùng 3 là Toolbar : Luồng màn hình theo các nhóm chức năng

1.1.2.4 Thao tác dữ liệu với Webservice
Ứng dụng đƣợc xây dựng trên điện thoại di động nên việc lƣu trữ dữ liệu rất khó
khăn khi lƣợng dữ liệu lớn và phức tạp. Và để tăng tốc độ xử lý dữ liệu nên phần dữ
liệu chính là Web Service của kho dữ liệu đặt trên Server.
Kết nối với Server thông qua sơ đồ sau:

Hình 27 : Sơ đồ kết nối giữa ứng dụng với Server


Xây dựng ứng dụng di động trợ giúp khách du lịch khi gặp sự cố

Sau khi kết nối thành công với Web Service thì Web Service sẽ trả về một
response về lại ứng dụng, việc xử lý sự kiện thông qua sơ đồ sau:

Hình 28: Sơ đồ nhận dữ liệu từ Web Service của ứng dụng
Dữ liệu trả về theo định dạng XML, việc phân tích dữ liệu XML sử dụng đối
tƣợng NSXMLParser.
1.1.2.5 Ứng dụng google MAP API vào triển khai ứng dụng
Ngoài dữ liệu chính là của kho dữ liệu, thì ứng dụng còn tích hợp các phƣơng

thức của Google MAP nhằm giúp ngƣời dùm tìm kiếm các địa điểm công cộng,
mang tính chất chỉ đƣờng và tham khảo.
Google MAP chính là một hệ thống Web Service về toàn bộ bản đồ trên thế
giới, với kho dữ liệu phong phú và hệ thống ngƣời dùng đông đảo, thƣờng xuyên
cập nhập.
Google MAP API là các phƣơng thức truy cập tới kho dữ liệu này và hoàn toàn
đƣợc cung cấp miễn phí cho các nhà phát triển và các lập trình viên.

Kết thúc
Lưu trữ dữ liệu
vào đối tượng
Bắt đầu
Đúng
Sai
Khởi tạo đối
tượng nhận
Response
Kết nối nhận
dữ liệu
Nhận dữ liệu
trả về
Hũy kết nối

Xây dựng ứng dụng di động trợ giúp khách du lịch khi gặp sự cố

Ứng dụng khai thác 2 phần chính của Google MAP
 Google MAP API Web Service: chứa các request để lấy thông tin các về
một địa điểm, bao gồm : kinh tuyến, vĩ tuyến, tên, quốc gia
 Google Place API : chứa các request để lấy thông tin nhiều địa điểm xung
quanh 1 vị trí xác đinh. Các địa điểm là các địa điểm công cộng hoặc có

thể phân ra làm nhiều loại khác nhau, nhƣ : nhà hàng, bệnh viện, khách
sạn
 Truy cập Google MAP tƣơng tự nhƣ việc kết nối Web Service của kho
dữ liệu. Kiểu dữ liệu trả về chính của Google MAP là XML và JSON,
nên việc phân tích dữ liệu của Google MAP cũng tƣơng tự nhƣ việc phân
tích dữ liệu XML trả về của kho dữ liệu

1.1.2.6 Các nhóm chức năng chính của ứng dụng
 Ngƣời dùng
 Đăng ký
 Đăng nhập
 Quên mật khẩu
 Địa điểm
 Tìm kiếm các địa điểm
 Tra cứu các địa điểm
 Xem thông tin địa điểm
 Hệ thống
 Gởi phản hồi về địa điểm
 Gởi phản hồi về hệ thống
 Sử dụng Google MAP
 Tìm kiếm các địa điểm công cộng
 Lấy vị trí địa điểm trên bản đồ







Xây dựng ứng dụng di động trợ giúp khách du lịch khi gặp sự cố


1.2. CÁC THUẬT TOÁN ĐƢỢC SỬ DỤNG
1.2.1. Thuật toán lấy dữ liệu và hiển thị ngƣời dùng trên bản đồ
 Mỗi ngƣời dùng có một ID riêng và vị trí hiện tai của mình.
 Vị trí sẽ đƣợc gửi lên server 10s một lần.
 Khi một ngƣời dùng đăng nhập thành công vào ứng dụng. Sẽ lấy vị trí
của những ngƣời xung quanh.
 Tạo một animation hiển thị vị trí ngƣời khác xung quanh mình với
chu kỳ 10 giây.
 Tức là cứ 10 giây ngƣời dùng sẽ gửi vị trí của mình lên server một lần
đồng thời lấy vị trí của những ngƣời khác về.
x=1;
if (giay=10x)
then sendViTri( ) and getViTriNguoiDung( );
x++;
1.2.2. Thuật toán lấy lọc lấy thông tin và vị trí ngƣời trợ giúp hoặc ngƣời cần
trợ giúp và gửi Push Notification.
 Khi gặp sự cố. Ngƣời cần trợ giúp tạo ra một phiên trợ giúp bằng cách
nhập thông tin trợ giúp.
 Lấy 5 ngƣời xung quanh gần nhất để gửi push notification bằng cách
lọc và tính khoảng cách giữa các địa điểm so với mình. Địa điểm đƣợc
phân biệt bằng thuộc tính vĩ độ latitude và kinh độ longitude.
x=location(Nguoidung);
SELECT FROM User
Kết quả: sẽ là một mảng chứa toàn bộ User;
For i=0 in mangUser{
y=location(User);
distance= khoảng cách từ x->y;
}


Xây dựng ứng dụng di động trợ giúp khách du lịch khi gặp sự cố

 Truy cập vào bảng User lấy đƣợc thông tin, mỗi ngƣời dùng sẽ có một
device Token. Device token giống nhƣ một số điện thoại, do đó mỗi
ngƣời sẽ có một device token riêng
 Gửi push notification thông qua device token của mỗi ngƣời dùng.
 Sau 30 giây nếu không có phản hồi nào từ ngƣời dùng. Hệ thống sẽ tiếp
tục chu trình lấy thêm 5 ngƣời gần nhất.
 Phiên trợ giúp sẽ kết thúc nếu sau 2 phút không có phản hồi nào
 Ngƣời cần trợ giúp sẽ phải tạo thêm một phiên trợ giúp mới.
x=1;
if(giay=30x)
then sendPush();
x++;
if(x=5) then huyTrogiup();


Xây dựng ứng dụng di động trợ giúp khách du lịch khi gặp sự cố

1.3. THỰC NGHIỆM CHƢƠNG TRÌNH
1.3.1. Kết quả triển khai trên Webservice
Đƣờng dẫn tới Webservice:
3/collections.
Gồm các bảng trong database


Đƣờng dẫn tới trang Push Notification:
3/push_notifications




Xây dựng ứng dụng di động trợ giúp khách du lịch khi gặp sự cố

1.3.2. Kết quả triển khai ứng dụng trên điện thoại di động
1.3.2.1 Đăng ký, đăng nhập













Xây dựng ứng dụng di động trợ giúp khách du lịch khi gặp sự cố

1.3.2.2 Thông tin tài khoản










Xây dựng ứng dụng di động trợ giúp khách du lịch khi gặp sự cố

1.3.2.3 Tìm kiếm địa điểm












Xây dựng ứng dụng di động trợ giúp khách du lịch khi gặp sự cố

1.3.2.4 Gọi trợ giúp









Xây dựng ứng dụng di động trợ giúp khách du lịch khi gặp sự cố

1.3.2.5 Nhận trợ giúp




Đây chỉ là mục lục và demo hình ảnh của đồ án, nếu
bạn cần file báo cáo full và source code hãy liên hệ qua
mail

Xây dựng ứng dụng di động trợ giúp khách du lịch khi gặp sự cố



1.3.2.6 Phản hồi


Xây dựng ứng dụng di động trợ giúp khách du lịch khi gặp sự cố


×