1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

21 326 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 1,86 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đồ án tốt nghiệp khoa công nghệ thông tin. Có đầy đủ file báo cáo và đường dẫn tới source code full. Tốt cho việc nghiên cứu làm đồ án tốt nghiệp. Có đầy đủ mục lục và hình ảnh demo minh họa. Đây là những source code , mình lấy từ: http:doanit.com

Trang 1

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ƯƠNG2.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ƯƠNG3.PHÂNTÍCHTHIẾTKẾ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

Trang 2

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ƯƠNG4.TRIỂNKHAIVÀTHỰCNGHIỆMCHƯƠNGTRÌ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

Trang 3

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

Trang 4

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

Trang 5

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 http://www.parse.com

để đăng ký 1 tài khoản • Sau đó đăng nhập vào Parse rồi vào mục Dashboard (https://www.parse.com/apps) để 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: https://www.parse.com/apps

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

Trang 6

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

Trang 7

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

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

Trang 8

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:

Trang 9

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

Trang 10

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

Trang 11

Ứ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

 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 đồ

Trang 12

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;

}

Trang 13

 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

Trang 14

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:

https://www.parse.com/apps/doantotnghiep 3/collections

Gồm các bảng trong database

Đường dẫn tới trang Push Notification:

https://www.parse.com/apps/doantotnghiep 3/push_notifications

Trang 15

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

Trang 16

1.3.2.2 Thông tin tài khoản

Trang 17

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

Trang 18

1.3.2.4 Gọi trợ giúp

Trang 19

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 doanit.com@gmail.com

Trang 20

1.3.2.6 Phản hồi

Ngày đăng: 24/08/2015, 21:38

HÌNH ẢNH LIÊN QUAN

Hình 23. Màn hình Home Apps trên service - Xây dựng ứng dụng di động trợ giúp khách du lịch khi gặp sự cố
Hình 23. Màn hình Home Apps trên service (Trang 6)
Hình 25. Tạo một cột cho bảng - 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 (Trang 7)
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ố
Hình 27 Sơ đồ kết nối giữa ứng dụng với Server (Trang 9)
Hình 28: Sơ đồ nhận dữ liệu từ Web Service của ứng dụng - Xây dựng ứng dụng di động trợ giúp khách du lịch khi gặp sự cố
Hình 28 Sơ đồ nhận dữ liệu từ Web Service của ứng dụng (Trang 10)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w