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

Hoàn thiện ứng dụng hướng dẫn du lịch Việt Nam trên Android

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 (2.84 MB, 49 trang )

TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THỦ ĐỨC

BÁO CÁO TỔNG KẾT
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN

Hoàn thiện ứng dụng hướng dẫn du lịch Việt Nam
trên Android

Thuộc nhóm ngành khoa học: Cơng nghệ Phần mềm

Hồ Chí Minh, 06/2015


TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THỦ ĐỨC

BÁO CÁO TỔNG KẾT
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN

Hoàn thiện ứng dụng hướng dẫn du lịch Việt Nam
trên Android

Thuộc nhóm ngành khoa học: Công nghệ Phần mềm

Sinh viên thực hiện:

Phạm Hồng Dương

Nam, Nữ: Nam

Dân tộc: Kinh
Lớp, khoa: CD13TT1 – Khoa công nghệ thông tin



Năm thứ: 3 /Số năm đào tạo: 3

Ngành học: Cơng nghệ phần mềm

Sinh viên thực hiện:

Ngơ Hồi Phương

Nam, Nữ: Nam

Dân tộc: Kinh
Lớp, khoa: CD13TT1 – Khoa công nghệ thông tin

Năm thứ: 3 /Số năm đào tạo: 3

Ngành học: Công nghệ phần mềm

Người hướng dẫn: Th.S. Tiêu Kim Cương

Tp. Hồ Chí Minh, 06/2015


MỤC LỤC
CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI ...............................................................................1
1.1 Lý do chọn đề tài ....................................................................................................1
1.2 Mục tiêu đề tài ........................................................................................................2
1.3 Đối tượng và phạm vi nghiên cứu ..........................................................................2
1.4 Phương pháp nghiên cứu........................................................................................2
CHƯƠNG 2: TỔNG QUAN CƠ SỞ LÝ THUYẾT .......................................................3

2.1 Hệ điều hành Android ............................................................................................3
2.2 Material design .......................................................................................................4
2.3 Realm .....................................................................................................................4
2.4 Google Maps ..........................................................................................................4
2.5 Firebase ..................................................................................................................5
2.6 Retrofit ...................................................................................................................5
2.7 Butter Knife ............................................................................................................5
2.8 Android studio ........................................................................................................5
2.9 Cơ sở thực tiễn của đề tài .......................................................................................5
CHƯƠNG 3: PHÂN TÍCH - THIẾT KẾ ........................................................................6
3.1 Mơ tả u cầu của ứng dụng ..................................................................................6
3.2 Phân tích thiết kế mơ hình hệ thống. ......................................................................7
3.1.1 Use Cases Diagram & mơ tả ............................................................................7
3.1.2 Activity Diagram ...........................................................................................14
3.1.3 Mockup ứng dụng ..........................................................................................20
3.1.4 Database .........................................................................................................22
3.1.5 Chức năng ......................................................................................................24
CHƯƠNG 4: XÂY DỰNG CHƯƠNG TRÌNH............................................................27
4.1 Xây dựng cấu trúc lưu trữ trên firebase ...............................................................27
4.2 Đăng ký ứng dụng với google để lấy các Key. ....................................................28
4.3 Xây dựng ứng dụng trên Android ........................................................................28
CHƯƠNG 5: KẾT LUẬN VÀ KIẾN NGHỊ ................................................................40
5.1 Các kết quả đạt được ............................................................................................40
5.2 Hướng phát triển ..................................................................................................40
5.3 Kết luận ................................................................................................................40
TÀI LIỆU THAM KHẢO .............................................................................................41


DANH MỤC HÌNH ẢNH
Hình 3. 1 Use case người dùng 1.....................................................................................7

Hình 3. 2 Use case người dùng 2.....................................................................................8
Hình 3. 3 Use case người dùng 3.....................................................................................9
Hình 3. 4 Use case hệ thống 1 .......................................................................................10
Hình 3. 5 Use case hệ thống 2 .......................................................................................11
Hình 3. 6 Activity diagram khi ứng dụng khởi chạy .....................................................14
Hình 3. 7 Activity diagram khi ứng dụng gợi ý địa điểm .............................................15
Hình 3. 8 Activity diagram khi ứng dụng làm mới gợi ý ..............................................15
Hình 3. 9 Activity diagram khi ứng dụng thay đổi cách hiển thị danh sách gợi ý ........16
Hình 3. 10 Activity diagram chức năng xếp hạng địa điểm ..........................................16
Hình 3. 11 Activity diagram chức năng đánh dấu địa điểm ..........................................17
Hình 3. 12 Activity diagram chức năng thay đổi kiểu hiển thị bản đồ .........................17
Hình 3. 13 Activity diagram chức năng xác định vị trí hiện tại ....................................18
Hình 3. 14 Activity diagram chức năng tìm kiếm .........................................................18
Hình 3. 15 Activity diagram chức năng chỉ đường .......................................................19
Hình 3. 16 Activity diagram chức năng thêm địa điểm ................................................19
Hình 3. 17 Mockup giao diện bản đồ ............................................................................20
Hình 3. 18 Mockup giao diện gợi ý dạng bình thường .................................................21
Hình 3. 19 Mockup giao diện gợi ý dạng thẻ ................................................................21
Hình 3. 20 Mockup giao diện chức năng thêm địa điểm...............................................22
Hình 4. 1 Cấu trúc tồn bộ dữ liệu ................................................................................27
Hình 4. 2 Cấu trúc dữ liệu con ......................................................................................28
Hình 4. 3 Cấu trúc class 1 ..............................................................................................30
Hình 4. 4 Cấu trúc class 2 ..............................................................................................30
Hình 4. 5 Giao diện khi mở ứng dụng ...........................................................................31
Hình 4. 6 Giao diện bản đồ cùng các địa điểm..............................................................32
Hình 4. 7 Giao diện chỉ đường trên bản đồ ...................................................................33
Hình 4. 8 Giao diện bản đồ kiểu vệ tinh .......................................................................34
Hình 4. 9 Giao diện tìm kiếm ........................................................................................35
Hình 4. 10 Giao diện danh sách gợi ý địa điểm dạng thường .......................................36
Hình 4. 11 Giao diện danh sách gợi ý địa điểm dạng thẻ ..............................................37

Hình 4. 12 Giao diện thêm địa điểm..............................................................................38
Hình 4. 13 Giao diện xác định vị trí bằng bản đồ khi thêm địa điểm ..........................39


DANH MỤC BẢNG BIỂU
Bảng 3. 1 Mô tả use case ...............................................................................................14
Bảng 3. 2 Mô tả database bảng Province ......................................................................22
Bảng 3. 3 Mô tả database bảng District .........................................................................23
Bảng 3. 4 Mô tả database bảng Landscape, Food, Festival...........................................24
Bảng 3. 5 Mô tả database bảng Version ........................................................................24


TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THỦ ĐỨC

THÔNG TIN KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI
1. Thông tin chung:
- Tên đề tài: Hoàn thiện ứng dụng hướng dẫn du lịch Việt Nam trên Android
- Sinh viên thực hiện: Phạm Hồng Dương
- Lớp: CD13TT1

Khoa: Công nghệ thông tin

Năm thứ: 3 Số năm đào tạo: 3

- Người hướng dẫn: Thạc sĩ Tiêu Kim Cương
2. Mục tiêu đề tài:
Hoàn thiện Ứng dụng hướng dẫn du lịch Việt Nam trên Android sao cho người sử
dụng có thể thêm các thơng tin về lễ hội và đặc sản tại mỗi vùng người đó đến. Ngồi
ra cịn cho phép người sử dụng đưa ý kiến của mình về các danh lam thắng cảnh, lễ hội
và ẩm thực nhằm tạo ra một cơ sở dữ liệu thống kê sinh động về các vùng du lịch ở

Việt Nam. Hệ thống cho phép người du lịch lựa chọn theo gợi ý của các công ty du
lịch hoặc theo số liệu thống kê của người sử dụng đã du lịch trước đó.
3. Tính mới và sáng tạo:
- Người sử dụng có thể nhận được các gợi ý về địa điểm, lễ hội và đặc sản phù hợp với
vùng mà người đó đến.
- Người sử dụng có thể đưa ý kiến của mình về các lễ hội, đặc sản đã được gợi ý và
đóng góp ý kiến để thêm gợi ý.
- Người dùng có thể nhận được hướng dẫn đường đi chính xác.
- Người dùng có thể tìm kiếm địa điểm theo mong muốn.
4. Kết quả nghiên cứu:
4.1 Kết quả khoa học
- Mơ hình du lịch tự khám phá trong ngành du lịch.
- Phần mềm Hướng dẫn du lịch Việt Nam trên Android đã hoàn thiện.
- Một báo cáo khoa học.
4.2 Kết quả ứng dụng


- Sản phẩm công nghệ: Ứng dụng Android (phần mềm) phục vụ cho du lịch tự khám
phá trên lãnh thổ Việt Nam.
5. Đóng góp về mặt kinh tế - xã hội, giáo dục và đào tạo, an ninh, quốc phòng và
khả năng áp dụng của đề tài:
- Cung cấp cho khách du lịch sử dụng để thực hiện các chuyến du lịch tự khám phá.
6. Công bố khoa học của sinh viên từ kết quả nghiên cứu của đề tài (ghi rõ tên tạp
chí nếu có) hoặc nhận xét, đánh giá của cơ sở đã áp dụng các kết quả nghiên cứu (nếu
có):
Ngày

tháng

năm


Sinh viên chịu trách nhiệm chính
thực hiện đề tài
(ký, họ và tên)

Nhận xét của người hướng dẫn về những đóng góp khoa học của sinh viên thực
hiện đề tài (phần này do người hướng dẫn ghi)
Sinh viên Phạm Hồng Dương bằng sự đam mê lập trình Android đã tìm tịi
thêm nhiều kỹ thuật và cơng nghệ mới giúp hoàn thiện ứng dụng Hướng dẫn du lịch
Việt Nam trên Android, phần mềm mà nhóm nghiên cứu trước đây thực hiện cịn
nhiều điểm chưa làm được: Thí dụ tìm đường chưa tốt, chưa có cơ sở dữ liệu về Lễ
hội, chưa cho phép người sử dụng đưa ra ý kiến của mình và chia sẻ ý kiến đó cho
cộng đồng người sử dụng... Đó là những cơng việc địi hỏi thời gian, công sức và sự
nỗ lực của người thực hiện trong việc tìm tịi, khám phá, đề xuất giải pháp và triển
khai. Sinh viên Phạm Hồng Dương đã làm rất tốt cơng việc của mình, hồn thành tốt
mục tiêu đã đề ra.

Ngày

tháng

năm

Xác nhận của trưởng khoa

Người hướng dẫn

(ký tên và đóng dấu)

(ký, họ và tên)



TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THỦ ĐỨC

THÔNG TIN VỀ SINH VIÊN
CHỊU TRÁCH NHIỆM CHÍNH THỰC HIỆN ĐỀ TÀI

I. SƠ LƯỢC VỀ SINH VIÊN:

Ảnh 4x6

Họ và tên: Phạm Hồng Dương
Sinh ngày: 26 tháng 04 năm 1994
Nơi sinh: Krông Ana – Đăk Lăk
Lớp: CD13TT1

Khóa: 2013

Khoa: Cơng nghệ thơng tin
Địa chỉ liên hệ: 05 đường số 14, P.Linh Chiểu, Q.Thủ Đức, TP.Hồ Chí Minh
Điện thoại: 0969 340 351

Email:

II. QUÁ TRÌNH HỌC TẬP (kê khai thành tích của sinh viên từ năm thứ 1 đến năm
đang học):
* Năm thứ 1:
Ngành học: Công nghệ phần mềm
Kết quả xếp loại học tập:


Khoa: Công nghệ thông tin

Học kỳ 1 : 7.34

Học kỳ 2 : 5.39

Sơ lược thành tích:
* Năm thứ 2:
Ngành học : Cơng nghệ phần mềm
Kết quả xếp loại học tập:

Khoa: Công nghệ thông tin

Học kỳ 1 : 7.04

Học kỳ 2 : 7.36

Sơ lược thành tích:
* Năm thứ 3:
Ngành học : Cơng nghệ phần mềm
Kết quả xếp loại học tập:

Khoa: Công nghệ thông tin

Học kỳ 1 : 8.49

Sơ lược thành tích: Giải ba Olympic tin học sinh viên Việt Nam lần thứ 24 (2015).
Ngày

tháng


năm

Xác nhận của trưởng khoa

Sinh viên chịu trách nhiệm chính

(ký tên và đóng dấu)

thực hiện đề tài
(ký, họ và tên)


CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI
1.1 Lý do chọn đề tài
 Tính thời sự của đề tài: Du lịch tự khám phá đang là một trong những xu thế đang
được ưa chuộng hiện nay, giúp cho khách du lịch có thể tự do trải nghiệm cảm xúc
theo ý thích cá nhân, khơng phụ thuộc vào lịch trình cứng của các tour du lịch cụ
thể và giá thành rẻ. Tuy nhiên, một trong những khó khăn lớn nhất của hình thức
du lịch này là sự khơng hiểu biết của chính bản thân người du lịch (các danh lam
thắng cảnh cần đi, các đặc sản cần thưởng thức, vị trí địa lý cũng như đường đi
trong từng vùng du lịch), đặc biệt là người nước ngồi. Đã có những ứng dụng
Web giới thiệu cho người dùng về từng điểm du lịch, nhưng vẫn cịn nhiều hạn chế
(phụ thuộc máy tính, khơng định vị được vị trí hiện tại cũng như từng điểm du lịch
cần đến, khơng biết được đường đi chính xác…).
 Tính cấp thiết đáp ứng nhu cầu phát triển kinh tế - xã hội, nâng cao chất lượng đào
tạo:
-

Với sự phát triển của công nghệ, việc viết ra các ứng dụng tiện lợi cho du lịch

tự khám phá trên các thiết bị di động là hoàn toàn khả thi. Với một thiết bị di
động Android thông thường, người du lịch hồn tồn có thể biết chính xác các
địa danh cần đến, các thắng cảnh cần quan tâm, các đặc sản cần thưởng
thức… cũng như vị trí và đường đi chính xác từ vị trí hiện tại của người du
lịch đến các nơi muốn đến. Ứng dụng khơng những chỉ có ý nghĩa với khách
du lịch (trong nước và quốc tế) muốn tự khám phá các vùng ở Việt Nam, mà
còn có thể trở thành cơng cụ hữu hiệu với các hướng dẫn viên du lịch, giảng
viên du lịch trong bối cảnh hội nhập kinh tế quốc tế như hiện nay.

-

Năm 2015 đã có một nhóm sinh viên khoa CNTT, trường Cao đẳng Công nghệ
Thủ Đức thực hiện và bảo vệ thành công đề tài: “Phát triển ứng dụng hướng
dẫn du lịch Việt Nam trên Android” nhằm hiện thực hoá ý tưởng trên. Tuy
nhiên, ứng dụng mới chỉ dừng ở mức xác định được các danh lam thắng cảnh
cần tham quan cũng như hướng dẫn đường đi tới đó từ vị trí hiện tại của
người sử dụng. Người du lịch chưa hề có bất kỳ thơng tin nào về các thơng tin
quan trọng khác như các lễ hội, các tục lệ, các loại đặc sản… Các thông tin
này hầu như chưa được hỗ trợ trong cơ sở dữ liệu của Google do vậy cần mất
1


nhiều thời gian và cơng sức tìm hiểu, nghiên cứu và bổ sung. Ngoài ra, ứng
dụng cũng chưa cho phép người sử dụng (người du lịch) được quyền chia sẻ
kinh nghiệm của mình cho cộng đồng: Các danh lam thắng cảnh đưa ra theo
gợi ý từ các công ty du lịch. Đơi khi các thơng tin này có thể khơng được
khách quan. Do vậy, ứng dụng nên bổ sung thêm chức năng cho phép người
sử dụng có thể chia sẻ quan điểm của mình về các địa điểm, lễ hội, đặc sản…
ở từng vùng, từng địa phương và dữ liệu thống kê này sẽ được sử dụng để hỗ
trợ người du lịch đưa ra quyết định của mình.

1.2 Mục tiêu đề tài
Hoàn thiện Ứng dụng hướng dẫn du lịch Việt Nam trên Android sao cho:
- Người sử dụng có thể nhận được các gợi ý về địa điểm, lễ hội và đặc sản phù hợp với
vùng mà người đó đến.
- Người sử dụng có thể đưa ý kiến của mình về các lễ hội, đặc sản đã được gợi ý và
đóng góp ý kiến để thêm gợi ý.
- Người sử dụng có thể lựa chọn cung cấp gợi ý theo dữ liệu của các công ty du lịch
hoặc theo số liệu thống kê của người sử dụng đã du lịch trước đó.
- Người dùng có thể nhận được hướng dẫn đường đi chính xác.
- Người dùng có thể tìm kiếm địa điểm theo mong muốn.
1.3 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu: Ứng dụng hướng dẫn du lịch Việt Nam trên Android.
Phạm vi: Hạn chế trên lãnh thổ Việt Nam, với các địa danh nổi tiếng trên cả ba miền.
1.4 Phương pháp nghiên cứu
- Phân tích, chia nhỏ bài toán: Client (ứng dụng Android) và WebServer.
- Thống kê các danh lam thắng cảnh, các lễ hội, các loại đặc sản… trên từng vùng của
Việt Nam.
- Thực nghiệm.
- Phân tích tài liệu.
- Hỏi ý kiến chuyên gia.
2


CHƯƠNG 2: TỔNG QUAN CƠ SỞ LÝ THUYẾT
2.1 Hệ điều hành Android
Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho các thiết
bị di động có màn hình cảm ứng như điện thoại thơng minh và máy tính bảng. Ban
đầu, Android được phát triển bởi tổng công ty Android, với sự hỗ trợ tài chính từ
Google và sau này được chính Google mua lại vào năm 2005. Android ra mắt vào năm
2007 cùng với tuyên bố thành lập Liên minh thiết bị cầm tay mở: một hiệp hội gồm

các công ty phần cứng, phần mềm, và viễn thông với mục tiêu đẩy mạnh các tiêu
chuẩn mở cho các thiết bị di động. Chiếc điện thoại đầu tiên chạy Android được bán
vào tháng 10 năm 2008.
Android có mã nguồn mở và Google phát hành mã nguồn theo Giấy phép Apache.
Chính mã nguồn mở cùng với một giấy phép khơng có nhiều ràng buộc đã cho phép
các nhà phát triển thiết bị, mạng di động và các lập trình viên nhiệt huyết được điều
chỉnh và phân phối Android một cách tự do. Ngồi ra, Android cịn có một cộng đồng
lập trình viên đơng đảo chun viết các ứng dụng để mở rộng chức năng của thiết bị,
bằng một loại ngơn ngữ lập trình Java có sửa đổi. Vào tháng 10 năm 2012, có khoảng
700.000 ứng dụng trên Android, và số lượt tải ứng dụng từ Google Play, cửa hàng ứng
dụng chính của Android ước tính khoảng 25 tỷ lượt.
Những yếu tố này đã giúp Android trở thành nền tảng điện thoại thông minh phổ biến
nhất thế giới, vượt qua Symbian vào quý 4 năm 2010 và được các công ty công nghệ
lựa chọn khi họ cần một hệ điều hành khơng nặng nề, có khả năng tinh chỉnh và giá rẻ
chạy trên các thiết bị công nghệ cao thay vì tạo dựng từ đầu. Kết quả là mặc dù được
thiết kế để chạy trên điện thoại và máy tính bảng, Android đã xuất hiện trên TV, máy
chơi game và các thiết bị điện tử khác. Bản chất mở của Android cũng khích lệ một
đội ngũ đơng đảo lập trình viên và những người đam mê sử dụng mã nguồn mở để tạo
ra những dự án do cộng đồng quản lý. Những dự án này bổ sung các tính năng cao cấp
cho những người dùng thích tìm tòi hoặc đưa Android vào các thiết bị ban đầu chạy hệ
điều hành khác. Sự thành công của hệ điều hành cũng khiến nó trở thành mục tiêu
trong các vụ kiện liên quan đến bằng phát minh, góp mặt trong cái gọi là "cuộc chiến
điện thoại thông minh" giữa các công ty công nghệ.
(Nguồn: wikipedia)
3


2.2 Material design
Material design là một hướng dẫn toàn diện về thiết kế trực quan, chuyển động và
tương tác giữa nhiều nền tảng và thiết bị. Có rất nhiều thư viện để giúp chúng ta tạo ra

ứng dụng đẹp mắt và tiết kiệm thời gian hơn.
Một số đối tượng Android cung cấp:
- Giao diện Material: Giao diện material mang đến một phong cách mới cho ứng dụng
và các Widget hệ thống, cho phép thay đổi màu của chúng và hiệu ứng mặc định khi
chạm và chuyển tiếp Activity.
- Danh sách và Thẻ: Android cung cấp hai loại Widget mới để hiển thị thẻ và danh
sách và hình ảnh động bằng phong cách material design (RecyclerView và CardView).
- Đổ bóng: ngồi các thuộc tính X và Y thơng thường thì cịn có thêm Z. Thuộc tính
này sẽ biểu diễn độ cao của một View và sẽ quyết định View nào xuất hiện trên View
nào và độ lớn của bóng.
- Hiệu ứng: Cung cấp các hiệu ứng khi chạm vào các View trong Android.
(Nguồn: )
2.3 Realm
Realm là một database cho mobile được rất nhiều người sử dụng. Là một giải pháp
thay thế cho SQLite và Core Data với nhiều ưu điểm như:
- Dễ sử dụng: Việc tạo các bảng, lưu trữ và truy vấn dữ liệu vô cùng đơn giản.
- Nhanh: Tốc độ truy vấn và xử lý cao hơn SQLite.
- Đa nền tảng: Hỗ trợ trên Android và IOS.
(Nguồn: )
2.4 Google Maps
Google Maps là dịch vụ bản đồ trực tuyến của google hỗ trợ trên nhiều nền tảng và
được cung cấp miễn phí với nhiều tính năng. Ngồi ra nó cũng đi kèm với nhiều API
vơ cùng hữu ích như: chỉ đường, tìm kiếm các địa điểm trên tồn thế giới…

4


2.5 Firebase
Firebase là một cơ sở dữ liệu được đồng bộ theo thời gian thực. Dữ liệu được lưu trữ
theo cấu trúc dạng Json. Firebase cung cấp rất nhiều tính năng để hỗ trợ cho người lập

trình. Firebase cũng hỗ trợ đa nền tảng (Web, IOS, Android) giúp cho việc tương tác
giữa các nền tảng trở nên dễ dàng hơn. Sử dụng Firebase sẽ giúp nhà phát triển tiết
kiệm được rất nhiều thời gian để phát triển ứng dụng.
2.6 Retrofit
Retrofit là một thư viện giúp việc thực hiện tương tác để lấy về kết quả từ các Web
API trở nên dễ dàng và an tồn hơn. Nó cũng có thể tự parse các kết quả trả về thành
các kiểu dữ liệu do chúng ta tùy chỉnh.
2.7 Butter Knife
Butter Knife là một thư viện giúp thực hiện việc tìm kiếm View theo ID trong Layout
và Cast thành các kiểu tương ứng trong Android thơng minh và đơn giản hơn. Ngồi ra
nó cũng cung cấp một số sự kiện giúp cho việc tương tác với các View dễ dàng hơn
như: OnClick, OnPageChange, OnCheckedChanged, OnFocusChange…
2.8 Android studio
Android studio là một công cụ lập trình do google phát triển hồn tồn miễn phí.
Android studio có rất nhiều tính năng hỗ trợ để lập trình viên phát triển ứng dụng
nhanh hơn. Android studio phiên bản 2.0 trở lên còn hỗ trợ việc thay đổi giao diện trên
ứng dụng sau khi sửa file xml mà không cần chạy lại toàn bộ ứng dụng. Các thư viện
được sử dụng một cách dễ dàng hơn rất nhiều.
2.9 Cơ sở thực tiễn của đề tài
Để ứng dụng có thể gợi ý về các đặc sản, lễ hội cũng như địa điểm du lịch thì nhóm
cần phải có nguồn dữ liệu để bổ sung, kết hợp với dữ liệu của google vì google chưa
hỗ trợ hoặc có rất ít những loại dữ liệu này. Ở giai đoạn đầu, nhóm dựa vào những dữ
liệu lấy từ các trang du lịch để bổ sung vào cơ sở dữ liệu của chương trình. Ngồi việc
lấy các thơng tin sẵn có từ các trang du lịch thì nhóm cịn phải xác định tọa độ chính
xác của địa điểm đó ở trên bản đồ để có thể đưa ra gợi ý chính xác cho người dùng. Ở
giai đoạn sau này, ngoài việc dựa vào dữ liệu lấy từ các trang du lịch thì chính bản
thân người dùng sẽ đóng góp dữ liệu cho chương trình thơng qua các đánh giá và đóng
góp địa điểm mà ứng dụng chưa có.
5



CHƯƠNG 3: PHÂN TÍCH - THIẾT KẾ
3.1 Mơ tả u cầu của ứng dụng
Ứng dụng sẽ tự động gợi ý các địa điểm, đặc sản, lễ hội dựa vào vị trí hiện tại của
người dùng. Ngồi ra người dùng cũng có thể đóng góp ý kiến cá nhân bằng các xếp
hạng cho địa điểm bất kỳ hoặc thêm địa điểm mà ứng dụng chưa có. Người dùng có
thể tìm kiếm các địa điểm gần đó theo nhu cầu bằng cách lựa chọn kiểu tìm kiếm và
thêm các từ khóa tìm kiếm phù hợp cho khu vực hiện tại. Ứng cũng sẽ cung cấp chỉ
dẫn đường đi đến bất kỳ vị trí nào mà người dùng mong muốn. Ngồi ra ứng dụng còn
cung cấp cho người dùng những giao diện hiển thị khác nhau để người dụng lựa chọn.
Sử dụng Firebase để lưu trữ dữ liệu ứng dụng. Dữ liệu sẽ được Firebase trả về bằng
cách hiển thị trên giao diện web dưới dạng Json.

6


3.2 Phân tích thiết kế mơ hình hệ thống.
3.1.1 Use Cases Diagram & mơ tả
3.1.1.1 Diagram

Hình 3. 1 Use case người dùng 1

7


Hình 3. 2 Use case người dùng 2

8



Hình 3. 3 Use case người dùng 3

9


Hình 3. 4 Use case hệ thống 1

10


Hình 3. 5 Use case hệ thống 2
3.1.1.2 Mơ tả
STT Tên Use case

Mô tả

1

Xem gợi ý lễ hội

Xem các lễ hội thuộc khu vực hiện tại.

2

Xem gợi ý phong cảnh

Xem các địa điểm có thể ngắm cảnh, tham
quan thuộc khu vực hiện tại.

3


Xem gợi ý đặc sản

Xem các đặc sản mà khu vực hiện tại có.

4

Xem địa điểm xung quanh

Xem các địa điểm gần vị trí hiện tại dựa
theo kết quả từ google.

5

Làm mới lại gợi ý

Thực hiện lại việc xác định khu vực hiện
tại và tìm kiếm kết quả phù hợp từ
database và google.

6

Thay đổi cách hiển thị

Thay đổi giao diện hiển thị danh sách các
11


gợi ý.
7


Xếp hạng địa điểm

Xếp hạng địa điểm được gợi ý bằng cách
đánh giá từ 1 đến 5 sao.

8

Đánh dấu vị trí cần xem

Đánh dấu vị trí của địa điểm vừa chọn
trong danh sách các gợi ý, sau đó chuyển
sang giao diện hiển thị bản đồ và di
chuyển camera về khu vực có địa điểm
vừa đánh dấu.

9

Xem đánh dấu trên bản đồ

Xem các vị trí của các địa điểm được gợi
ý theo khu vực hiện tại được đánh dấu trên
bản đồ.

10

Thay đổi kiểu bản đồ

Thay đổi kiểu hiển thị của bản đồ (kiểu vệ
tinh hoặc kiểu bản đồ vẽ).


11

Xác định vị trí hiện tại

Di chuyển camera của bản đồ về vị trí
hiện tại của người dùng.

12

Tìm kiếm

Tìm kiếm địa điểm xung quanh dựa theo
vị trí hiện tại của người dùng và kiểu
muốn tìm.

13

Chỉ đường

Chỉ đường từ vị trí hiện tại của người
dùng đến vị trí mong muốn.

14

Thêm địa điểm

Đóng góp thêm địa điểm mới cho cơ sở dữ
liệu của ứng dụng.


15

Nhập tên địa điểm

Nhập tên địa điểm muốn thêm.

16

Xác định vị trí trên bản đồ

Xác định vị trí của địa điểm muốn thêm
trên bản đồ để có vị trí chính xác.

17

Xác định tỉnh

Chọn khu vực cấp tỉnh của địa điểm.

18

Xác định huyện

Chọn khu vực cấp huyện của địa điểm.

19

Chọn loại địa điểm

Chọn loại địa điểm muốn đóng góp

(Phong cảnh, lễ hội, đặc sản).

20

Điền thêm một số thông tin

Điền thêm một số thơng tin bổ sung như:
giờ mở cửa, đóng cửa, giá cao nhất, thấp
12


nhất, mô tả ngắn.
21

Hiển thị gợi ý lễ hội

Lấy danh sách các lễ hội có trong khu vực
hiện tại từ trong database và hiển thị lên
màn hình.

22

Hiển thị gợi ý phong cảnh

Lấy danh sách các phong cảnh và địa danh
tham quan có trong khu vực hiện tại từ
trong database và hiển thị lên màn hình.

23


Hiển thị gợi ý đặc sản

Lấy danh sách các đặc sản có trong khu
vực hiện tại từ trong database và hiển thị
lên màn hình.

24

Hiển thị địa điểm xung Lấy danh sách các địa điểm gần vị trí hiện
quanh

tại từ API của google và hiển thị lên màn
hình.

25

Đánh dấu trên bản đồ

Đánh dấu các địa điểm (lễ hội, phong
cảnh, đặc sản, địa điểm lấy từ API của
google) trên bản đồ bằng Marker.

26

Lấy dữ liệu từ database

Lấy dữ liệu các địa điểm (lễ hội, phong
cảnh, đặc sản) từ database phù hợp với
khu vực hiện tại để hiển thị lên màn hình.


27

Xác định vị trí hiện tại

Xác định tọa độ của vị trí hiện tại và dựa
vào tọa độ đó để xác định khu vực hiện
tại.

28

Lấy kết quả từ API google

Dựa vào tọa độ đã xác định được để lấy
các kết quả về địa điểm xung quanh từ
API của google.

29

Kiểm tra cập nhật

Kiểm tra phiên bản dữ liệu hiện tại của
ứng dụng và phiên bản trên server có
giống nhau hay không.

30

Lấy mã số phiên bản trên Lấy mã số phiên bản dữ liệu mới nhất từ
server

31


server.

Lấy mã số phiên bản trong Lấy mã số phiên bản dữ liệu mới nhất của

13


32

database

ứng dụng.

Cập nhật dữ liệu

Cập nhật lại toàn bộ dữ liệu ứng dụng nếu
mã số phiên bản dữ liệu trên server và mã
số phiên bản dữ liệu của ứng dụng không
giống nhau.
Bảng 3. 1 Mô tả use case

3.1.2 Activity Diagram
3.1.2.1 Khi bắt mở ứng dụng

Hình 3. 6 Activity diagram khi ứng dụng khởi chạy

14



3.1.2.2 Ứng dụng lấy các địa điểm gợi ý và đánh dấu lên bản đồ

Hình 3. 7 Activity diagram khi ứng dụng gợi ý địa điểm
3.1.2.3 Thực hiện chức năng làm mới gợi ý

Hình 3. 8 Activity diagram khi ứng dụng làm mới gợi ý

15


3.1.2.4 Thực hiên chức năng thay đổi cách hiển thị danh sách

Hình 3. 9 Activity diagram khi ứng dụng thay đổi cách hiển thị danh sách gợi ý

3.1.2.5 Thực hiện chức năng xếp hạng địa điểm

Hình 3. 10 Activity diagram chức năng xếp hạng địa điểm

16


3.1.2.6 Thực hiện chức năng đánh dấu địa điểm

Hình 3. 11 Activity diagram chức năng đánh dấu địa điểm

3.1.2.7 Thực hiện chức năng thay đổi kiểu hiển thị của bản đồ

Hình 3. 12 Activity diagram chức năng thay đổi kiểu hiển thị bản đồ

17



×