Việc hướng dẫn du lịch ngày nay hết sức đa dạng, chúng ta có thể được hướng
dẫn thông qua internet, hướng dẫn viên, sách báo Nhưng tất cả các cách trên đều có
một hạn chế đó là tính độc lập, như internet thì chúng ta luôn phải cần một chiếc máy
tính kết nối mạng, còn hướng dẫn viên thì ta luôn phải đi theo sát họ Vì vậy việc
hướng dẫn du lịch qua mobile là một giải pháp tốt. Ứng dụng “Hướng dẫn du lịch qua
mobile theo ngữ cảnh” được viết lên nhằm mục đích hướng dẫn khách tham quan thu
được thông tin một cách chính xác nhất về địa điểm mà họ quan tâm. Ứng dụng tổ
chức dữ liệu dưới dạng cây, tùy vào ngữ cảnh mà người dùng đưa vào sẽ quyết định độ
chi tiết của thông tin trả về.
Sau hơn 5 tháng nghiên cứu dưới sự hướng dẫn của thầy ThS Nguyễn Việt Anh
và sự giúp đỡ của các bạn trong nhóm khóa luận. Bước đầu khóa luận đã thu được
những kết quả nhất định .
- Áp dụng xử lý dữ liệu theo ngữ cảnh vào bài toán du lịch.
- Tìm hiểu về J2ME, Webservice.
- Xây dựng thành công chương trình “Hướng dẫn du lịch qua mobile theo ngữ
cảnh”. Ứng dụng đã đáp ứng được những chức năng cần thiết nhất trong việc
hướng dẫn du lịch qua mobile theo ngữ cảnh
46 trang |
Chia sẻ: lvbuiluyen | Lượt xem: 1968 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Khóa luận Nghiên cứu lập trình cho các thiết bị di động áp dụng cho bài toán hướng dẫn du lịch, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Lê Xuân Chính
NGHIÊN CỨU LẬP TRÌNH CHO CÁC THIẾT BỊ DI
ĐỘNG ÁP DỤNG CHO BÀI TOÁN HƯỚNG DẪN DU
LỊCH
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Mạng và truyền thông máy tính
HÀ NỘI - 2010
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Lê Xuân Chính
NGHIÊN CỨU LẬP TRÌNH CHO CÁC THIẾT BỊ DI
ĐỘNG ÁP DỤNG CHO BÀI TOÁN HƯỚNG DẪN DU
LỊCH
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Mạng và truyền thông máy tính
Cán bộ hướng dẫn: ThS Nguyễn Việt Anh
HÀ NỘI - 2010
Tóm Tắt
Việc hướng dẫn du lịch ngày nay hết sức đa dạng, chúng ta có thể được hướng
dẫn thông qua internet, hướng dẫn viên, sách báo…Nhưng tất cả các cách trên đều có
một hạn chế đó là tính độc lập, như internet thì chúng ta luôn phải cần một chiếc máy
tính kết nối mạng, còn hướng dẫn viên thì ta luôn phải đi theo sát họ…Vì vậy việc
hướng dẫn du lịch qua mobile là một giải pháp tốt. Ứng dụng “Hướng dẫn du lịch qua
mobile theo ngữ cảnh” được viết lên nhằm mục đích hướng dẫn khách tham quan thu
được thông tin một cách chính xác nhất về địa điểm mà họ quan tâm. Ứng dụng tổ
chức dữ liệu dưới dạng cây, tùy vào ngữ cảnh mà người dùng đưa vào sẽ quyết định độ
chi tiết của thông tin trả về.
Sau hơn 5 tháng nghiên cứu dưới sự hướng dẫn của thầy ThS Nguyễn Việt Anh
và sự giúp đỡ của các bạn trong nhóm khóa luận. Bước đầu khóa luận đã thu được
những kết quả nhất định.
- Áp dụng xử lý dữ liệu theo ngữ cảnh vào bài toán du lịch.
- Tìm hiểu về J2ME, Webservice.
- Xây dựng thành công chương trình “Hướng dẫn du lịch qua mobile theo ngữ
cảnh”. Ứng dụng đã đáp ứng được những chức năng cần thiết nhất trong việc
hướng dẫn du lịch qua mobile theo ngữ cảnh.
MỤC LỤC
Lời nói đầu ...............................................................................................................................1
Mục tiêu của đề tài ..........................................................................................................3
Chương 1. Xử lý dữ liệu theo ngữ cảnh trên mobile ......................................................3
1.1. Giới thiệu ..................................................................................................................3
1.2. Hạn chế của hướng dẫn du lịch thông thường......................................................3
1.3. Hướng dẫn du lịch theo ngữ cảnh ..........................................................................4
1.4. Các chương trình liên quan .....................................................................................4
1.5. Cấu trúc DTG ...........................................................................................................6
1.6. Xác định ngữ cảnh ...................................................................................................7
1.7. Kết luận .....................................................................................................................8
Chương 2. Ứng dụng “hướng dẫn du lịch qua mobile theo ngữ cảnh” .....................9
2.1. Ngữ cảnh của chương trình.....................................................................................9
2.2. Mô hình kết nối ......................................................................................................10
2.3. Thiết kế cơ sở dữ liệu ............................................................................................11
2.3.1. Các bảng dữ liệu của chương trình ..........................................................11
2.3.2. Chi tiết các bảng .........................................................................................11
2.4. Mô hình dữ liệu ......................................................................................................13
2.5. Cài đặt thuật toán ...................................................................................................14
2.5.1. Các khái niệm cơ bản về cây ....................................................................14
2.5.2. Cài đặt cây ...................................................................................................16
2.6. Luồng xử lý dữ liệu của chương trình .................................................................20
2.6.1. LoginScreen ................................................................................................20
2.6.2. Welcome......................................................................................................21
2.6.3. List................................................................................................................22
2.6.4. Form .............................................................................................................24
2.7. Cài đặt thử nghiệm.................................................................................................25
Chương 3. J2ME...................................................................................................................26
3.1. Giới Thiệu ...............................................................................................................26
3.2. Những phiên bản Java ...........................................................................................26
3.3. Tại sao dùng J2ME? ..............................................................................................27
3.3.1. Configurations (Cấu hình).........................................................................27
3.3.2. Profile ..........................................................................................................28
3.4. Cấu hình CONFIGURATION và PROFILE được phát triển như thế nào? ...29
3.4.1. Máy ảo Java (JVM – Java Virtual Machines) ........................................29
3.4.2. KVM và CLDC liên quan như thế nào? ..................................................29
3.5. Tính tương thích giữa những phiên bản Java .....................................................30
3.5.1. Ứng dụng J2SE sẽ tiếp tục chạy trên môi trường J2ME? .....................31
3.5.2. Những ứng dụng J2ME vẫn chạy trên J2SE? .........................................31
3.6. Kết chương..............................................................................................................31
Chương 4. Web service .......................................................................................................32
4.1. Định nghĩa...............................................................................................................32
4.2. Thành phần cơ bản của Web service ...................................................................32
4.3. Hoạt động của Web service ..................................................................................32
4.3.1. SOAP ...........................................................................................................33
4.3.2. WSDL (Web Service Definition Language) ...........................................33
4.3.3. UDDI(Universal Description, Discovery, and Integration) ..................33
4.5. Các thành phần chính của Web Service ..............................................................35
4.5.1. SOAP (Simple Object Access Protocol) .................................................35
4.6. WSDL (Web Service Definition Language) ......................................................35
4.6.1. Cấu trúc file WSDL ...................................................................................37
Chương 5. Kết luận ..............................................................................................................38
5.1. Kết luận ...................................................................................................................38
5.1.1. Các kết quả đạt được ..................................................................................38
5.1.2. Các vấn đề chưa giải quyết được .............................................................38
5.2. Hướng phát triển tương lai....................................................................................38
Lời cảm ơn!
Sau hơn năm tháng tìm hiểu và thực hiện, luận văn “Nghiên cứu lập trình cho các
thiết bị di động áp dụng cho bài toán hướng dẫn du lịch” đã cơ bản hoàn thành. Để đạt
được kết quả này, em đã nỗ lực hết sức và đồng thời cũng nhận được rất nhiều sự quan
tâm, giúp đỡ, ủng hộ của thầy cô, bạn bè và gia đình.
Điều đầu tiên, em xin gửi lời cảm ơn chân thành đến bộ môn Mạng và Truyền
thông máy tính, Khoa Công nghệ thông tin, Trường Đại học Công Nghệ, Đại học
Quốc Gia Hà Nội và các thầy cô đặc biệt là ThS Nguyễn Việt Anh đã tận tình giúp đỡ,
hướng dẫn em hoàn thành luận văn.
Mình rất cảm ơn các bạn bè trong khoa, đặc biệt là nhóm làm cùng khóa luận và
cộng đồng Java Việt Nam đã luôn bên cạnh, giúp đỡ và đóng góp ý kiến trong suốt quá
trình làm luận văn.
Và con xin chân thành cảm ơn đến gia đình đã luôn động viên và tạo điều kiện
thuận lợi nhất để con học tập và hoàn thành luận văn.
Luận văn đã hoàn thành và có được kết quả nhất định, tuy nhiện vẫn không thể
tránh khỏi những sai sót. Rất mong sự cảm thông và đóng góp ý kiến nhiệt tình từ thầy
cô và các bạn.
Hà Nội, tháng 5 năm 2010
Lê Xuân Chính
1
Lời nói đầu
Mạng điện thoại di động xuất hiện tại Việt Nam từ đầu những năm 1990, và theo
thời gian số lượng nhà cung cấp dịch vụ và số lượng thuê bao tăng lên hàng ngày. Giờ
đây chiếc điện thoại di động không chỉ đơn thuần là gọi, nhắn tin và nghe mà nó còn là
một thiết bị giải trí đa phương tiện, tra cứu thông tin rất tiện lợi... Việc xây dựng các
ứng dụng trên điện thoại đi động là một lĩnh vực mới, hứa hẹn nhiều thú vị và là một
xu thế tất yếu hiện nay. Các dịch vụ giá trị gia tăng trên điện thoại di động có thể nó i là
một mảnh đất màu mỡ cho các doanh nghiệp cung cấp dịch vụ di động.
Ngày nay có hai hướng phát triển ứng dụng trên thiết bị di động chính là sử dụng
ngôn ngữ C++ trên nền hệ điều hành Symbian và J2ME. Các ứng dụng viết trên nền
Symbian có ưu thế truy cập trực tiếp các tài nguyên của điện thoại di động cũng như
hỗ trợ hệ thống tập tin, thư mục…Nhưng việc phát triển trên nền Symbian tương đối
phức tạp và dung lượng ứng dụng khá lớn. Có thể nói J2ME là một đối thủ của
Symbian API, J2ME có ưu điểm là nhỏ gọn, tiện dụng, hỗ trợ hầu hết các dòng điện
thoại hiện nay, kể cả điện thoại sử dụng hệ điều hành Symbian. J2ME không chỉ là
ngôn ngữ dùng để viết cho các ứng dụng di động, mà nó còn có thể lập trình cho các
thiết bị gia dụng, thẻ tín dụng điện tử, và các ứng dụng thông minh khác.
Rất khó để so sánh các dòng ngôn ngữ lập trình. Vì mỗi ngôn ngữ đều có thế
mạnh riêng của nó. Dựa trên tiêu trí tính phổ biến và thích hợp với điều kiện hiện thời,
tôi đã chọn J2ME là ngôn ngữ để xây dựng ứng dụng. Với sự phát triển mạnh của
mạng di động và ngày nay vấn đề về phần cứng đã được cải thiện một cách đáng kể về
tốc độ xử lý và dung lượng bộ nhớ. Sự kiện đáng chú ý gần đây Việt Nam đã có một
số đơn vị cung cấp dịch vụ 3G. 3G, hay 3-G, (viết tắt của third-generation technology)
là công nghệ truyền thông thế hệ thứ ba, cho phép truyền cả dữ liệu thoại và dữ liệu
ngoài thoại (tải dữ liệu, gửi email, tin nhắn nhanh, hình ảnh...). Với những thế mạnh
vượt trội đó, 3G sẽ hứa hẹn là một mảnh đất cho các lập trình viên thỏa mãn đam mê
lập trình trên các thiết bị di động. Và tiến tới hầu như tất cả các ứng dụng trên desktop
sẽ có mặt trên mobile.
Dựa trên nền tảng ngôn ngữ J2ME, tôi đã xây dựng ứng dụng “hướng dẫn du lịch
qua mobile theo ngữ cảnh”. Với một chiếc máy tính việc tra cứu thông tin du lịch là
việc cực kì đơn giản, chỉ bằng một cú click để truy cập sau vài giây
thì bạn sẽ nhận được hàng triệu kết quả để tham khảo. Ngày nay chiếc điện thoại di
động với những tính năng mạnh mẽ đi cùng, các chức năng dần tiến tới như desktop
2
chỉ là vấn đề thời gian, ứng dụng “hướng dẫn du lịch qua mobile theo ngữ cảnh” được
viết nên nhằm trợ giúp các khách du lịch trong việc tìm kiếm và tra cứu thông tin địa
lý, điểm đặc biệt ở chương trình là tính mềm dẻo về dữ liệu trả về, không có gì buồn
chán hơn khi ta đọc đi đọc lại một lượng thông tin cố định, mà không có sự thay đổi
theo thời gian. Ứng dụng của tôi đã giải quyết được vấn đề này, tùy vào thông tin truy
vấn của người dùng mà dữ liệu trả về sẽ khác nhau, có thể nói đây là sự thông minh
của chương trình. Với sự phát triển về tốc độ của mạng di động, dung lượng của dữ
liệu không còn là vấn đề quan trọng nữa, vì vậy nội dung của ứng dụng sẽ thêm phong
phú và đa dạng.
Chương trình bước đầu đã hoàn thành, dữ liệu lúc này đơn giản chỉ là chữ và
hình ảnh, nhưng cũng đủ để truyền tải hết thông tin tới người dùng. Nhận thấy 3G đã
có mặt tại Việt Nam, vì vậy hướng phát triển tương lai của chương trình là tích hợp
thêm video, cụ thể ở đây là ứng dụng sử dụng công nghệ Video Streaming, hiện còn
rất mới, đây là hướng đi hứa hẹn nhiều thành công.
Tuy đã đầu tư khá nhiều thời gian và công sức vào luận văn, nhưng không thể
tránh khỏi những sai sót, tôi rất mong nhận được những đóng góp và phản hồi từ thầy
cô và các bạn! Xin chân thành cảm ơn!
Lê Xuân Chính
3
Mục tiêu của đề tài
- Tìm hiểu ngôn ngữ lập trình J2ME.
- Tìm hiểu Web service.
- Tìm hiểu vể “xử lý dữ liệu theo ngữ cảnh”.
- Xây dựng ứng dụng demo “Hướng dẫn du lịch qua mobile theo ngữ cảnh”.
Chương 1. Xử lý dữ liệu theo ngữ cảnh trên mobile
1.1. Giới thiệu
Những khách du lịch bụi thường phải dựa vào bản đồ hoặc dựa vào những biển
hiệu trên đường đi để tự khám phá một thành phố lạ lẫm. Họ cần có một người hướng
dẫn viên giúp họ tới những nơi mà họ muốn, cho họ thông tin về bất cứ những gì mà
họ tìm thấy thậm chí là đảm bảo đưa họ trở về đúng giờ. Đây là mục tiêu chính của
Dynamic Tour Guide - Hướng dẫn viên du lịch di động(DTG). DTG là một thiết bị di
động cho phép cá nhân hóa những thông tin về tour du lịch. Nó chọn những địa điểm
thu hút khách du lịch, lên lịch cho một tour thăm quan cá nhân, cung cấp những thông
tin về đường đi trong suốt quá trình du lịch và những thông tin về môi trường. Những
thông tin phản hồi thông minh này dựa trên tất cả những phân tích về bối cảnh hiện tại
để hỗ trợ cho khách du lịch bất cứ lúc nào.
1.2. Hạn chế của hướng dẫn du lịch thông thường
Khách du lịch luôn cần có những thông tin chi tiết về địa điểm mình tham quan
ví dụ như: bảo tàng có những giờ mở cửa khác nhau hoặc có thể có những giờ mở cửa
thêm. Ví dụ vào những dịp cuối tuần, mùa hè thì những cửa hàng luôn kín chỗ, còn
vào khoảng tháng 11 thì luôn đóng cửa. Nếu không nắm bắt được những thông tin này,
khách du lịch sẽ không có được những chuẩn bị cần thiết, vì vậy chỉ còn cách đi theo
những biển hiệu, chỉ dẫn trên bản đồ hay đường đi. Những hướng dẫn viên du lịch
thường chỉ hướng dẫn cho cả đoàn khách, họ đi theo những tour đã định sẵn và chỉ
tham quan những điểm chính, trong khi có những địa điểm thú vị lại không được tham
quan, mặc dù chỉ cách những điểm chính rất gần.
Lý tưởng nhất là có một thiết bị giống như hướng dẫn viên du lịch, luôn thường
trực, am hiểu những địa danh và hiểu được sở thích cá nhân của khách du lịch, quản lý
được về thời gian, biết được tình hình hiện tại, đưa ra một tour du lịch cá nhân, và có
thể cất gọn trong túi áo. Đây là mục tiêu của DTG. Mục đích ở đây là lập ra một tour
4
du lịch, giống như một chuyên viên hướng dẫn viên du lịch sẽ làm khi sau khi biết
được những thông tin về khách du lịch. Điều này hoàn toàn có thể thực hiện được bằng
việc áp dụng công nghệ mới là kết hợp sự nhận thức về ngữ nghĩa và ngữ cảnh của
máy tính.
1.3. Hướng dẫn du lịch theo ngữ cảnh
Một khách du lịch luôn muốn khám phá ngay địa điểm họ sắp tới. Họ có một hồ
sơ về sở thích, điểm xuất phát và kết thúc và một khoảng thời gian cho tour du lịch.
Những thông tin này cần được nạp vào hệ thống. Ngữ cảnh ở đây là tất cả những thông
tin hiện thời về một địa điểm nhất định, một khoảng thời gian nhất định. Thách thức
đặt ra là phải đưa ra một tour tối ưu dựa trên những thông tin cá nhân và ngữ cảnh.
Trong suốt quá trình tham quan, khách du lịch có thể được hướng dẫn để đi tới tổ hợp
các tòa nhà, địa điểm cần đến(Tour Building Block – TBB).
Khi khách du lịch bắt đầu chuyến du lịch, DTG có thể đo được tốc độ di chuyển
và cập nhật những thông tin này để có thể tính toán, sắp xếp lại tour du lịch. Ngay khi
khách du lịch tới một TBB, DTG có thể đưa ra thông tin giới thiệu phù hợp với hoàn
cảnh hiện tại. Một số khách du lịch có thể quyết định khám phá TBB bằng cách nhiều
cách, ví dụ như đi bộ, hoặc xem lướt qua… Trong trường hợp này, những thông tin
thêm phù hợp cũng sẽ được cung cấp. Ngay khi khách du lịch rời khỏi TBB, DTG sẽ
ngừng cung cấp thông tin về TBB này và nạp lại quá trình điều hướng, có thể sang
TBB tiếp theo. Trong trường hợp du khách dừng chân lại lâu hơn dự kiến ban đầu thì
thời gian còn lại phải được tính toán lại.
Trên đường tới TBB tiếp theo, du khách có thể sẽ bị phân tán bởi một điểm
tham quan khác hoặc đơn giản là 1 cửa hàng. Lúc này DTG sẽ tạm dừng những gợi ý
điều hướng và cung cấp những thông tin về bối cảnh hiện tại nếu có thể. Trong trường
hợp này, DTG sẽ phải chờ cho tới khi du khách rời khỏi điểm hiện tại và tính toán lại
thời gian.
1.4. Các chương trình liên quan
Tour Guides từ lâu đã trở thành 1 chủ đề rất quan trọng trong hoạt động nghiên
cứu. Cũng có nhiều chương trình được viết lên nhằm mục đích hướng dẫn theo ngữ
cảnh, các chương trình đều có đặc điểm riêng của nó nhưng đều có những hạn chế nhất
định, chỉ phục vụ cho những yêu cầu đặc biệt. Những dự án quan trọng sau đây cũng
xử lý những vấn đề tương tự DTG.
5
Guide: Là một hướng dẫn viên du lịch di động - sử dụng hệ thống định vị theo
từng ô thay vì GPS. Khách du lịch có thể chọn địa điểm tham quan theo phân loại
trong chuyến du lịch. Đường đi đã được tính trước. Thứ tự tham quan có thể
được thay đổi phụ thuộc vào thời gian. Sở thích cá nhân hay thông tin về ngữ
cảnh được cung cấp sẵn.
DTG sẽ lên lịch một tour dựa theo hồ sơ cá nhân của khách du lịch. Khái niệm
về hướng dẫn du lịch theo ngữ cảnh cũng được đề cập nhưng DTG xử lý vấn đề
này tốt hơn.
Cyberguide: Là 1 trong những hướng dẫn viên du lịch đầu tiên. Nó làm việc với
sự trợ giúp của GPS và tia hồng ngoại để nhận biết những thông t in ngữ cảnh
như vị trí của người dùng và sự điều hướng. Tour không được định trước, nhưng
người dùng vẫn có thể nhận thông tin về bất cứ thứ gì, bất cứ địa điểm nào mà họ
nhìn thấy. Yêu cầu về 1 đường dẫn tới những địa điểm ưa thích cũng có thể được
đáp ứng. Bên cạnh đó, nó cũng cho phép tạo nhật ký về toàn bộ tour. Khác biệt
chính là sự tính toán trước về toàn bộ tour du lịch dựa trên những sở thích của
khách du lịch trong hệ thống DTG.
Dự án Crumpet: Cho phép 1 thiết bị di động tìm ra một địa điểm nhất định, thể
hiện nó trên bản đồ và tính toán 1 đường tới địa điểm đó. Địa điểm tham quan
được tìm thấy trên bản đồ và người dùng phải quyết định xem có đủ thời gian
hay có nên tham quan không.
Phần mềm phát triển bởi eNarro: Cung cấp những tour định sẵn, giới thiệu những
địa điểm nổi tiếng ở những thành phố lớn trên thế giới. Khách du lịch cần có 1
chiếc PDA và 1 thiết bị đặc biệt dành cho những tour đặc biệt. Họ cũng cần có 1
phần mềm điều hướng, hướng dẫn họ đến 1 địa điểm khác. Những thông tin
hướng dẫn sau đó sẽ được truyền tải tới người dùng nhờ vào thiết bị nghe nhìn
đặc biệt.
Người dùng chỉ có thể chọn những tour được định sẵn – phù hợp với mục đích
quảng bá.
Những tour du lịch đã được định sẵn không phải là mục tiêu của DTG, cái mà nó
hướng đến là tạo ra một tour du lịch mang tính cá nhân hóa trong thời gian thực. Bên
cạnh đó, nó cũng chú trọng đến những bối cảnh thực tại như thời gian đóng/mở cửa
6
bằng cách luôn cập nhật thông