b. Tìm kiếm địa chỉ bằng tọa độ vật lý
3.1. Phát biểu bài toán
Du lịch bao gồm tất cả mọi hoạt động của những người du hành, tạm trú, trong mục đích tham quan, khám phá và tìm hiểu, trải nghiệm hoặc trong mục đích nghỉ ngơi, giải trí, thư giãn; cũng như mục đích hành nghề và những mục đích khác nữa, trong thời gian liên tục nhưng không quá một năm, ở bên ngoài môi trường sống định cư; nhưng loại trừ các du hành mà có mục đích chính là kiếm tiền. Du lịch cũng là một dạng nghỉ ngơi năng động trong môi trường sống khác hẳn nơi định cư.
Du lịch và kế hoạch du lịch là một quá trình tìm kiếm, lựa chọn, nhóm và sắp xếp các sản phẩm và dịch vụ liên quan bao gồm điểm tham quan, chỗ ở, nhà hàng, và các hoạt động cá nhân. Các dịch vụ cá nhân hóa nhằm mục đích cung cấp các dịch vụ đáp ứng sở thích và nhu cầu cần thiết dựa trên thông tin về vị trí hiện tại của người dùng.
Khi đi du dịch, đến một thành phố hoặc địa danh lạ, người dùng không tránh khỏi bỡ ngỡ nhưng với thiết bị di động có khả năng định vị, người dùng hoàn toàn có thể biết được mình đang ở đâu, những địa danh chung quanh là gì, và tìm xem một địa danh cụ thể nằm ở đâu (chẳng hạn từ Trường Đại học Sư phạm Hà Nội 2 tới hồ Đại Lải khoảng cách bao xa). Cũng có thể người dùng cần tìm một loại địa điểm nào đó như máy rút tiền để chi trả các khoản phát sinh đột xuất. Cách trực quan nhất để cung cấp chức năng này cho người dùng là thông qua bản đồ. Người dùng có thể thấy rõ mình cần đi đâu, các lựa chọn khác (nếu có) và thậm chí có thể tự mình khám phá một địa điểm hoàn toàn mới.
41
Do nhu cầu trong lĩnh vực du lịch của người sử dụng phát triển nhanh chóng một bài toán được đặt ra: Làm thế nào để cung cấp gợi ý có ích nhất
cho các tour du lịch cá nhân dựa trên địa điểm hiện tại?
Các yêu cầu thông tin và sự quyết định cho dịch vụ hỗ trợ lập kế hoạch du lịch cá nhân dựa trên địa điểm bao gồm: hồ sơ cá nhân chứa sở thích, nhu cầu, hạn chế, tiêu chí tự đánh giá; thời gian du lịch và thông tin địa điểm; điểm đến có liên quan, mức thu hút và thông tin ăn nghỉ; quyết định mô hình liên kết, tri thức, tiến trình thông tin.
Thông tin cá nhân bao gồm:
- Hồ sơ cá nhân: sở thích, nhu cầu, hạn chế, tiêu chí đánh giá của người dùng về địa điểm
- Thời gian du lịch: thời gian bắt đầu, thời gian kết thúc, thời gian tham gia du lịch từng địa điểm; thông tin địa điểm; chủ đề tham quan
Thông tin về điểm đến bao gồm:
- Tổng quan về địa điểm: Ở đó có những gì?
- Sinh hoạt tại địa điểm: Ăn ở đâu? Ngủ, nghỉ ở đâu? - Đánh giá của người dùng khác như thế nào?
Thông tin cho điểm tham quan:
- Loại hình du lịch (vui chơi, thám hiểm …) và các tính năng hoạt động.
- Chủ đề tham quan (Công viên, rạp chiếu phim, thiên nhiên …). - Phương tiện đi lại, khoảng cách.
- Giá vé, giá phòng ăn ở ngủ nghỉ.
42
3.2. Du lịch với LBS và tiề ă
Dịch vụ khuyến nghị đã trở thành một nghiên cứu quan trọng và thực tế. Việc kết hợp Location Based Service nhằm mục đích cung cấp các chuyến du lịch cá nhân dựa trên địa điểm và thời gian hiện tại của khách du lịch cũng như nhu cầu và sở thích để đưa ra các đề xuất khác nhau về địa điểm tham quan, khách sạn, nhà hàng một cách phù hợp, hiệu quả nhất.
Trong những năm gần đây, công nghệ điện toán di động đã trở thành lĩnh vực nghiên cứu được quan tâm hàng đầu. Trong đó, phải kể tới dịch vụ quan trọng nhất là Location Based Service. Dịch vụ này tập trung vào việc cung cấp địa điểm, thông tin cho người sử dụng điện thoại dựa trên vị trí hiện tại của họ. Dịch vụ cũng nhằm đáp ứng sở thích và nhu cầu của người sử dụng.
Những tiềm năng trông thấy của Dịch vụ dựa trên vị trí cho du lịch:
- Trafics Information – Thông tin giao thông - Emergency Services – Dịch vụ khẩn cấp - Roadside Emergency – Khẩn cấp tại chỗ - Classified Advertising – Rao vặt, quảng cáo
- Public safety Vehicle Management – Quản lý xe cộ an toàn - Location based Billing – Thanh toán dựa trên vị trí
- Leisure Information – Thông tin giải trí - Directions – Chỉ dẫn đường xá
- Vehicle Theft Detection – Phát hiện kẻ căn cắp xe - Child Tracking – Theo dõi trẻ em.
43
3.3. Thiết kế hệ thống
3.3.1. Kiến trúc hệ thống
Truy vấn ds địa điểm
nhận ds địa điểm
truyền yêu cầu
tours yêu cầu
Hình 3.1: Kiến trúc hệ thống chương trình gợi ý tour du lịch cá nhân với dịch vụ dựa trên vị trí ỨNG DỤNG DI ĐỘNG HIỂN THỊ XỬ LÍ INTERNET Các gợi ý lựa chọn: Tìm nhà hàng Tìm quán cà phê Tìm nhà nghỉ, khách sạn Tìm trung tâm thương mại Tìm khu vui chơi
Foursquare Google Map
44
3.3.2. Mô hình gợi ý tour du lịch cá nhân
Quy trình gợi ý tour du dịch cá nhân dự tr đị điểm
Sai
Đúng
Hình 3.2. Mô hình của ứng dụng
Thu thập thông tin về địa điểm, thời gian hiện tại, sở thích, yêu cầu người dùng
Lấy danh sách loại dịch vụ theo địa điểm mà người dùng yêu cầu
Đưa ra một địa điểm để đánh giá
Đánh giá địa điểm dựa vào thời gian, sở thích, yêu cầu
45 Mô hình trên gồm 3 bước:
Bước 1:
Lấy thông tin về địa điểm hiện tại, thời điểm hiện tại, sở thích của người dùng.
Bước 2:
Lấy danh sách địa điểm trong gợi ý của Foursquare.
Lấy 1 địa điểm bất kỳ trong số các địa điểm gần với vị trí hiện tại của người dùng.
Đánh giá địa điểm đó dựa trên các tiêu chí: vị trí, thời gian, khoảng cách, phương tiện, đánh giá của người dùng khác và sở thích cá nhân.
Bước 3:
46
3.4. Thiết kế ƣơ trì
Trong phần thiết kế chương trình, khóa luận có sử dụng Visual Paradigm for UML Community Edition (VP-UML CE)là một công cụ UML.
UML (Unified Modeling Language)_ ngôn ngữ mô hình hóa thống nhất
là một ngôn ngữ mô hình gồm các ký hiệu đồ họa mà các phương pháp hướng đối tượng sử dụng để thiết kế các hệ thống thông tin một cách nhanh chóng.
Cách xây dựng các mô hình trong UML phù hợp mô tả các hệ thống thông tin cả về cấu trúc cũng như hoạt động. Cách tiếp cận theo mô hình của UML giúp ích rất nhiều cho những người thiết kế và thực hiện hệ thống thông tin cũng như giúp ích người sử dụng nó; tạo nên một cái nhìn bao quát và đầy đủ về hệ thống thông tin dự định xây dựng. Cách nhìn bao quát này giúp nắm bắt trọn vẹn các yêu cầu của người dùng; phục vụ từ giai đoạn phân tích đến việc thiết kế, thẩm định và kiểm tra sản phẩm ứng dụng công nghệ thông tin.
UML sử dụng một hệ thống ký hiệu thống nhất biểu diễn các Phần tử mô
hình (model elements). Tập hợp các phần tử mô hình tạo thành các Sơ đồ UML (UML diagrams). Có các loại sơ đồ UML chủ yếu sau:
Sơ đồ lớp (Class Diagram)
Sơ đồ đối tượng (Object Diagram)
Sơ đồ tình huống sử dụng (Use Cases Diagram)
Sơ đồ trình tự (Sequence Diagram)
Sơ đồ cộng tác (Collaboration Diagram hay là Composite Structure
Diagram)
Sơ đồ trạng thái (State Machine Diagram)
Sơ đồ thành phần (Component Diagram)
Sơ đồ hoạt động (Activity Diagram)
Sơ đồ triển khai (Deployment Diagram)
Sơ đồ gói (Package Diagram)
47
Sơ đồ tương tác (Interaction Overview Diagram - UML 2.0)
Sơ đồ phối hợp thời gian (Timing Diagram - UML 2.0)
Cụ thể, trong khóa luận có sử dụng: sơ đồ lớp, sơ đồ Use case, sơ đồ hoạt động của UML để xây dựng các sơ đồ tương ứng mô tả cho chương trình của khóa luận.
48 3.4.1. Sơ đồ tác nhân
49
3.4.2. Sơ đồ lớp
- Lớp thực thể của chương trình
- Lớp địa chỉ chứa những thông tin chung về 1 địa điểm
- Address (name: String, latutide: double, longtutide: double, infor: String, address: String, price: int, star: double, link: String, leg: Leg)
50
51
3.4.3. Kịch bản và sơ đồ hoạt động
Xem thông tin cá nhân
Bảng 3.1. Kịch bản xem và sửa thông tin cá nhân
Tên USECASE Xem và sửa thông tin cá nhân
Tác nhân chính Người sử dụng
Tiền điều kiện Đã đăng nhập vào hệ thống
Đảm bảo tối thiểu Không thay đổi bất cứ thông tin cá nhân nào ở cơ sở dữ liệu
Đảm bảo thành công Lấy thành công thông tin cá nhân và hiển thị Kích hoạt Người dùng chọn xem thông tin cá nhân Chuỗi sự kiện chính:
1. Người dùng chọn nút xem thông tin cá nhân.
2. Client gửi thông điệp yêu cầu server trả về thông tin cá nhân tương ứng với id đã đăng nhập và trả về cho client.
3. Client nhận được thông tin trả về và hiển thị thông tin lên giao diện. 4. Người dùng nhấn nút sửa thông tin cá nhân.
5. Client chuyển sang chế độ cho phép sửa thông tin cá nhân. 6. Người dùng thay đổi thông tin và nhấn nút cập nhật.
7. Client gửi thông tin của người dùng về server và yêu cầu cập nhật lại. 8. Server cập nhật thông tin và trả về kết quả thành công cho client. 9. Client thông báo cập nhật thành công
Ngoại lệ:
8.1: Server bị lỗi đường truyền.
8.2: Server không cập nhật được cơ sở dữ liệu.
52
53 Các gợi ý lựa chọn
Chức năng gợi ý theo lựa chọn, thực chất là quá trình tìm kiếm các nhà hàng, quán ăn, quán cà phê, nhà nghỉ, khách sạn và địa điểm vui chơi gần nhất với vị trí của người dùng, phụ thuộc vào phần cài đặt riêng của người sử dụng.
54
Bảng 3.2. Kịch bản cho các gợi ý lựa chọn
Tên USECASE Tìm quán cà phê
Tác nhân chính Người sử dụng
Tiền điều kiện Vào menu gợi ý theo lựa chọn Đảm bảo tối thiểu Quay về menu gợi ý theo lựa chọn Đảm bảo thành công Lấy thành công danh sách cà phê
Kích hoạt Người dùng chọn chức năng tìm quán
cà phê trong menu gợi ý theo lựa chọn
Chuỗi sự kiện chính:
1. Người dùng chọn chức năng tìm quán cà phê
2. Client lấy vị trí, thông số cài đặt gửi yêu cầu tìm quán cà phê cho server
3. Server trả về danh sách quán cà phê cho client 4. Client hiển thị danh sách quán cà phê
5. Người dùng chọn một quán cà phê trên danh sách 6. Client hiển thị thông tin chi tiết về địa điểm đó.
7. Người dùng chọn thoát khỏi giao diện thông tin chi tiết. 8. Client trở về danh sách quán cà phê
Ngoại lệ:
3.1 Server không tìm được quán cà phê nào phù hợp.
55
Hình 3.6. Sơ đồ hoạt động tìm địa điểm gần
3.5. Kết quả thực nghiệm
56
57
58
59
Hình 3.13. Bán kính tìm kiếm Hình 3.14. Kết quả
60
Hình 3.15. Bấm bộ lọc chọn kiểu Hình 3.16. Kết quả
61
62
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN
Quá trình làm khóa luận, em đã học tập thêm được rất nhiều kiến thức làm việc với webservice, google API, giao tiếp với thiết bị smartphone. Cụ thể đó là: - Tìm hiểu về Google API và dịch vụ web: biết cách xây dựng và giao tiếp với google API, thực hiện được các truy vấn và phân tích kết quả trả về, từ đó tính toán và đưa ra kết quả phù hợp với ứng dụng của mình; đồng thời hiểu về các dịch vụ web với các ưu nhược điểm, kiến trúc và các thành phần của nó để biết các bước cơ bản xây dựng một dịch vụ web. - Tìm hiểu về hoạt động của hệ thống LBS và ứng dụng đánh dấu địa điểm
Foursquare.
- Tìm hiểu và học tập thành công ngôn ngữ lập trình Android ở mức căn bản, biêt cách xây dựng giao diện, tương tác với các thành phần của giao diện, xử lý các giao tiếp thông qua mạng nhờ vào thư viên hỗ trợ giao tiếp với Webservice là Ksoap-2 (là 1 open source dùng để giao tiếp với webservice chạy được trên các nền tảng Android, J2ME, BlackBerry). - Xây dựng thành công chương trình liên kết với Foursquare tính toán các
truy vấn mà client-android device yêu cầu: chỉ đường, lấy thông tin địa điểm, tính toán tour du lịch…
Mặc dù đã cố gắng tìm hiểu, đầu tư thời gian nghiên cứu nhưng bài làm vẫn không tránh khỏi những thiếu sót. Vì vậy, em mong quý Thầy, Cô giáo và các bạn đóng góp ý kiến để em rút ra được những kinh nghiệm quý báu sau này. Em tin rằng trong một tương lai không xa ứng dụng sẽ được phát triển ở một mức cao hơn, nó sẽ gồm nhiều chức năng hơn, và chức năng thông minh hơn nữa đáp ứng nhu cầu phát triển của những người dùng thông thái.
Trong tương lại không xa, em mong muốn ứng dụng sẽ được đưa vào sử dụng rộng rãi, được nhiều người tin dùng. Đồng thời, ứng dụng sẽ phát triển hơn nữa theo hướng liên kết với các khu du lịch tiềm năng, các trung tâm
63
thương mại, các địa điểm vui chơi giải trí… để giới thiệu cũng như quảng cáo tới người dùng những dịch vụ tốt nhất, thú vị nhất phục vụ du lịch.
Em xin chân thành cảm ơn PGS.TS. Bùi Thế Hồng đã tận tình chỉ bảo, giúp đỡ em hoàn thành khóa luận này.
TÀI LIỆU THAM KHẢO
1. http://laptrinh.vn/d/4401-web-service-la-gi.html
64 3. http://vi.wikipedia.org/wiki/Google_Maps 4. http://vietnamnet.vn/vn/quoc-te/65309/nhung-dia-diem-khong-the-nhin- thay-tren-google-maps.html 5. http://www.viet2go.biz/vn/Tin-tuc-new_505/LOCATIONS-BASED- SERVICE-d5098 6. http://en.wikipedia.org/wiki/Location-based_service 7. https://support.google.com/maps/answer/18539?hl=vi 8. https://developers.google.com/maps/documentation/geocoding/