Khóa luận tập trung nghiên cứu và phân tích một sốvấn ñềsau:
- Tìm hiểu vềcông nghệJ2ME, Web service, Servlet, bản ñồ.
- Áp dụng xửlý dữliệu theo ngữcảnh vào các bài toán thực tế.
- Xây dựng thành công chương trình “Hướng dẫn cung cấp thông tin về Đại học
Quốc gia Hà Nội - VNU Campus Guide”. Ứng dụng ñã ñáp ứng ñược những
chức năng cần thiết nhất trong việc xem bản ñồ, cung cấp thông tin theo ngữ
cảnh về Đại học Quốc gia Hà Nội.
53 trang |
Chia sẻ: nhungnt | Lượt xem: 2121 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đề tài Nghiên cứu lập trình ứng dụng cho các thiết bị di động áp dụng cho bài toán campus guide, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
z
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Thanh Xuân
NGHIÊN CỨU LẬP TRÌNH ỨNG DỤNG CHO CÁC
THIẾT BỊ DI ĐỘNG ÁP DỤNG CHO BÀI TOÁN
CAMPUS GUIDE
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Ệ
Nguyễn Thanh Xuân
NGHIÊN CỨU LẬP TRÌNH ỨNG DỤNG CHO CÁC
THIẾT BỊ DI ĐỘNG ÁP DỤNG CHO BÀI TOÁN
CAMPUS GUIDE
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
LỜI CẢM ƠN
Em xin chân thành cảm ơn các thầy cô giáo trong trường Đại học Công nghệ -
Đại học Quốc gia Hà Nội ñã tận tình giúp ñỡ và truyền ñạt kiến thức cho em trong suốt
4 năm học qua ñể em có ñủ kiến thức hoàn thành khóa luận này.
Đặc biệt, em xin gửi lời cảm ơn sâu sắc tới thầy Nguyễn Việt Anh – người ñã
nhiệt tình giúp ñỡ, ñịnh hướng cũng như ñộng viên em trong quá trình nghiên cứu và
hoàn thành khóa luận.
Em xin cảm ơn sự nhiệt tình chia sẻ kinh nghiệm, ñóng góp ý kiến của nhóm
nghiên cứu do thầy Nguyễn Việt Anh hướng dẫn, của các anh chị cao học.
Mặc dù ñã rất cố gắng hoàn thành khóa luận này, xong khóa luận sẽ khó tránh
khỏi những thiếu sót, kính mong quý thầy cô tận tình chỉ bảo giúp em. Một lần nữa em
xin cảm ơn tất cả mọi người.
Hà Nội, tháng 5 năm 2010
Sinh viên
Nguyễn Thanh Xuân
TÓM TẮT
Khóa luận tập trung nghiên cứu và phân tích một số vấn ñề sau:
- Tìm hiểu về công nghệ J2ME, Web service, Servlet, bản ñồ.
- Áp dụng xử lý dữ liệu theo ngữ cảnh vào các bài toán thực tế.
- Xây dựng thành công chương trình “Hướng dẫn cung cấp thông tin về Đại học
Quốc gia Hà Nội - VNU Campus Guide”. Ứng dụng ñã ñáp ứng ñược những
chức năng cần thiết nhất trong việc xem bản ñồ, cung cấp thông tin theo ngữ
cảnh về Đại học Quốc gia Hà Nội.
MỤC LỤC
CHƯƠNG 1. MỞ ĐẦU ................................................................................................... 1
1.1. Lý do chọn ñề tài ..................................................................................................... 1
1.2. Nhiệm vụ nghiên cứu .............................................................................................. 1
1.3. Bố cục của khóa luận .............................................................................................. 2
CHƯƠNG 2. BÀI TOÁN................................................................................................ 3
2.1. Bài toán..................................................................................................................... 3
2.2. Mô tả ......................................................................................................................... 3
2.3. Mô hình ñề xuất ....................................................................................................... 4
2.3.1. Mô hình người sử dụng........................................................................................ 4
2.3.2. Yếu tố ngữ cảnh .................................................................................................... 5
2.3.3. Mô hình nội dung ................................................................................................. 7
2.3.4. Các cách cài ñặt cây thông tin ............................................................................. 9
2.3.5. Luật lựa chọn thông tin cung cấp cho từng người dùng .................................. 10
CHƯƠNG 3. PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH VNU CAMPUS
GUIDE ................................................................................................................. 11
3.1. Phân tích................................................................................................................. 11
3.1.1. Phân tích các yêu cầu chức năng ...................................................................... 11
3.1.1.a. Đăng nhập, ñăng ký ......................................................................................... 11
3.1.1.b. Xem bản ñồ ...................................................................................................... 11
3.1.1.c. Tìm kiếm ñịa ñiểm ............................................................................................ 11
3.1.1.d. Danh sách trường, khoa .................................................................................. 11
3.1.1.e. Trợ giúp ........................................................................................................... 11
3.1.1.f. Xem chi tiết ...................................................................................................... 12
3.1.2. Đối tượng sử dụng .............................................................................................. 12
3.2. Thiết kế cơ sở dữ liệu ............................................................................................ 12
3.2.1. Sơ ñồ dữ liệu ....................................................................................................... 12
3.2.2. Chi tiết thiết kế cơ sở dữ liệu .............................................................................. 13
3.2.3. Mô tả cây thông tin ............................................................................................. 14
3.3. Mô hình kết nối ...................................................................................................... 16
3.4. Chức năng của ứng dụng Midlet ......................................................................... 17
3.4.1. Các chức năng của ứng dụng ............................................................................ 17
3.4.2. Luồng xử lý chương trình ................................................................................. 18
3.4.2.a. Các chức năng chính ....................................................................................... 20
3.4.2.b. Luồng chương trình ......................................................................................... 24
3.5. Chức năng phía Server ......................................................................................... 25
3.5.1. Web service.......................................................................................................... 25
3.5.2. Servlet .................................................................................................................. 26
3.6. Các Module xử lý ................................................................................................... 26
3.6.1. Phía client ........................................................................................................... 26
3.6.1.a. Gói hello .......................................................................................................... 26
3.6.1.b. Gói campusservice ........................................................................................... 27
3.6.1.c. Gói data ........................................................................................................... 27
3.6.2. Phía server .......................................................................................................... 28
3.6.2.a. GetMysqlConnection.java ................................................................................ 28
3.6.2.b. CampusHttpServer.java ................................................................................... 28
3.6.2.c. Campus.java .................................................................................................... 28
CHƯƠNG 4. CÔNG NGHỆ SỬ DỤNG ..................................................................... 29
4.1. Lĩnh vực ứng dụng không dây với công nghệ Java ............................................ 29
4.1.1. Các phiên bản Java 2 ......................................................................................... 29
4.1.2. Java 2 Enterprise Edition ................................................................................... 29
4.1.3. Java 2 Micro Edition .......................................................................................... 30
4.1.3.a. Các kiểu ứng dụng MIDP ................................................................................ 30
4.1.3.b. Hạn chế của các thiết bị di ñộng ..................................................................... 31
4.2. Lập trình Web Service với MIDP ........................................................................ 31
4.2.1. Dịch vụ Web (Web service)................................................................................. 31
4.2.1.a. Định nghĩa ....................................................................................................... 31
4.2.1.b. Các ñặc ñiểm chính của dịch vụ We: ............................................................... 32
4.2.1.c. Tại sao dùng dịch vụ Web ................................................................................ 32
4.2.1.d. Các thành phần cơ bản .................................................................................... 32
4.2.2. WSDL .................................................................................................................. 32
4.2.3. UDDI ................................................................................................................... 35
4.2.4. SOAP ................................................................................................................... 35
4.3. Công nghệ bản ñồ .................................................................................................. 38
4.3.1. Ảnh SVG ............................................................................................................. 38
4.3.1.a. Các thuộc tính của ảnh SVG ............................................................................ 38
4.3.1.b. Các chức năng và ñặc trưng ............................................................................ 39
4.3.1.c. Ưu ñiểm ............................................................................................................ 39
4.3.1.d. Nhược ñiểm ...................................................................................................... 40
4.3.2. SVG tiny .............................................................................................................. 40
4.3.3. Xử lý các ñối tượng trong ảnh SVG................................................................... 40
CHƯƠNG 5. CÀI ĐẶT VÀ THỬ NGHIỆM .............................................................. 41
5.1. Yêu cầu ................................................................................................................... 41
5.2. Cài ñặt .................................................................................................................... 41
5.3. Thử nghiệm chương trình .................................................................................... 41
CHƯƠNG 6. KẾT LUẬN ............................................................................................ 45
6.1. Kết quả ñạt ñược ................................................................................................... 45
6.2. Hướng phát triển ................................................................................................... 45
TÀI LIỆU THAM KHẢO ............................................................................................... 46
1
CHƯƠNG 1. MỞ ĐẦU
1.1. Lý do chọn ñề tài
Công nghệ thông tin là một phần quan trọng của cuộc sống. Các thiết bị kỹ thuật
cao ngày càng gần gũi với mọi hoạt ñộng của con người. Đặc biệt những năm gần ñây,
các thiết bị không giây - với ưu thế nhỏ gọn, dẽ mang chuyển, ñã chứng tỏ ñược lợi ích
to lớn cho người sử dụng. Trong ñó ñiện thoại di ñộng, với chức năng liên lạc nổi bật
lên như một vật bất ly thân. Với sự phát triển nhanh chóng của công nghệ sản xuất
thiết bị không dây, ñiện thoại di ñộng ñã trở thành phương tiện ña chức năng(nghe
nhạc, chơi trò chơi, lịch làm việc..) phục vụ cho nhu cầu giải trí, làm việc, cập nhật
thông tin mọi lúc, mọi nơi.
Trong cuộc sống, nhu cầu liên lạc, cập nhật thông tin là hết sức cần thiết. Hiện
nay có rất nhiều phương pháp liên lạc khác nhau như thư ñiện tử, ñiện thoại ñể bàn,
ñiện thoại di ñộng, kết nối Wi-fi, WiMax… Trong ñó, ñiện thoại di ñộng nổi bật với
sự tiện lợi, hữu ích. Nhờ chức năng ñàm thoại trực tiếp mọi lúc mọi nơi, mà ñiện thoại
di ñộng ngày càng ñược sử dụng rộng rãi. Điện thoại di ñộng là thiết bị phát triển
nhanh chóng nhất cả về công nghệ lẫn tính năng, ứng dụng. Ngày nay, hầu như mỗi
người ñều mang theo bên mình một chiếc ñiện thoại di ñộng.
Nhu cầu tìm hiểu về Đại học Quốc Gia Hà Nội cũng như các trường ñại học
thành viên là cần thiết. Bên cạnh ñó, do khuôn viên rộng, có nhiều tòa nhà ñịa ñiểm
nên nhu cầu tìm vị trí tòa nhà là cần thiết. Việc phát triển ứng dụng trên ñi dộng cho
hướng dẫn trong khuôn viên Đại học Quốc Gia Hà Nội rất hữu ích. Người dùng có thể
ngay lập tức tìm ñược ñịa ñiểm bất cứ lúc nào.
Vì những lý do này, em quyết ñịnh thực hiện ñề tài “VNU Campus Guide –
hướng dẫn, thông tin về Đại học Quốc Gia Hà Nội – trên nền J2ME”.
1.2. Nhiệm vụ nghiên cứu
Đề tài cần giải quyết những nhiệm vụ sau:
Thứ nhất: Xây dựng ứng dụng chính trên nền J2ME. Ứng dụng cần hiển thị ñược
bản ñồ khuôn viên Đại học Quốc Gia Hà Nội, lấy thông tin về trường từ server.
Thứ hai: Cần xây dựng một ứng dụng Web server cung cấp, xử lý thông tin cho
ứng dụng phía Client là thiết bị di ñộng. Server sử dụng công nghệ J2EE, WSDL. Tìm
hiểu các công nghệ ñể kết nối từ ứng dụng trên thiết bị di ñộng ñến Web server.
2
Thứ ba: Tìm hiểu thông tin, tổ chức thông tin phù hợp ñể cung cấp cho người
dùng với ngữ cảnh khác nhau:
Người dùng khác nhau (sinh viên, khách tham quan, …)
Thời gian xem thông tin.
1.3. Bố cục của khóa luận
Khóa luận gồm 5 chương
- Chương 1. Mở ñầu.
Nêu khái quát ñề tài, nhiệm vụ nghiên cứu.
- Chương 2. Bài toán
Nêu bài toán, các yếu tố ngữ cảnh, mô hình ñề xuất.
- Chương 3. Phân tích thiết kế chương trình VNU Campus Guide.
Thiết kế chi tiết mô tả hệ thống VNU Campus Guide.
- Chương 4. Công nghệ.
Trình bày các công nghệ dùng trong hệ thống VNU Campus Guide: J2ME, J2EE,
công nghệ bản ñồ.
- Chương 5. Cài ñặt và thử nghiệm.
Chi tiết cách cài ñặt, triển khai chương trình, các kết quả thử nghiệm chương
trình.
3
CHƯƠNG 2. BÀI TOÁN
2.1. Bài toán
Khuôn viên Đại học Quốc gia Hà Nội rộng với nhiều tòa nhà, một sinh viên mới
hay khách tham quan chưa biết ñược vị trí các tòa nhà, ñịa ñiểm. Thông tin chi tiết mô
tả về các trường, khoa trong Đại học Quốc gia cũng cần thiết ñối với họ. Một bảng chỉ
dẫn ñơn thuần không thể thỏa mãn nhu cầu tìm hiểu thông tin.
Ngày nay, hầu hết mọi người ñều có bên mình chiếc ñiện thoại di ñộng nhỏ gọn,
nhiều chức năng. Với sự phát triển công nghệ như ngày nay, các thiết bị di ñộng ngày
càng ña dạng, năng lực xử lý càng tăng. Việc xây dựng các ứng dụng cho thiết bị di
ñộng ngày càng trở lên dễ dàng hơn.
Vì vậy việc một ứng dụng cho phép mọi người dễ dàng xác ñịnh tòa nhà, ñịa
ñiểm ở vị trí nào trong khuôn viên là cần thiết. Ngoài ra ứng dụng phải cung cấp thông
tin cần thiết cho người dùng theo ngữ cảnh.
2.2. Mô tả
Mục tiêu của chương trình là người dùng tìm kiếm ñịa ñiểm, truy xuất thông tin
cần thiết về các trường, khoa trong Đại học Quốc gia nếu họ có ñiều kiện sở hữu một
chiếc ñiện thoại di ñộng hỗ trợ ứng dụng Java.
Cần có giao diện cho phép người dùng xem bản ñồ khu vực ñể xác ñịnh các tòa
nhà, ñịa ñiểm trong Đại học Quốc gia Hà Nội.
Mỗi người dùng ñều có nhu cầu tìm hiểu thông tin khác nhau, vì thế lượng thông
tin cung cấp cho từng người cũng phải khác nhau.
Các thông tin cung cấp phải tùy thuộc vào người dùng và thông tin cũng như
lượng thông tin ñã xem trong quá khứ.
Tính di ñộng
Với một thiết bị di ñộng có hỗ trợ Java, người dùng có thể sử dụng chương trình
bất kỳ ñâu, vào bất kỳ thời gian nào.
Tĩnh ngữ cảnh
Với ngữ cảnh người dùng, ngữ cảnh môi trường, lượng thông tin cung cấp sẽ
khác nhau.
4
2.3. Mô hình ñề xuất
Mục tiêu của nghiên cứu là phát triển một ứng dụng giúp mọi người có thể dễ
dàng truy cập thông tin, tìm hiểu về Đại học Quốc gia ở bất cứ ñâu, bất cứ lúc nào chỉ
với một thiết bị di dộng hỗ trợ Java và có khả năng kết nối Internet.
Hệ thống sẽ cung cấp thông tin, hình ảnh, chỉ dẫn phù hợp với ngữ cảnh. Bên
cạnh ñó trong quá trình hoạt ñộng hệ thống sẽ tự ñộng nhận biết sự thay ñổi ngữ cảnh
ñể thay ñổi nội dung cho phù hợp.
Mỗi khi người dùng yêu cầu lấy thông tin, hệ thống sẽ lấy thông tin, yêu cầu của
người dùng ñể cập nhật thông tin ngữ cảnh. Thông tin ngữ cảnh này sẽ ñược một luật
lựa chọn thông tin sử dụng. Sau khi chọn lựa ñược thông tin, chương trình sẽ thay ñổi
ngữ cảnh như lịch sử xem thông tin …
2.3.1. Mô hình người sử dụng
Mỗi người dùng có nhiều thông tin cá nhân cũng như thông tin về môi trường
khác nhau, rất nhiều yếu tố ảnh hưởng nhưng ta chỉ chọn những yếu tố chính, quan
trọng ảnh hưởng ñến ngữ cảnh người dùng.
Các tác nhân thể hiện ngữ cảnh của người sử dụng:
Người dùng
Thông tin
Trường, khoa
Hình 2.1. Mô hình ñề xuất xây dựng hệ thống
Thông tin
ngữ cảnh
Luật lựa chọn
thông tin Nội dung theo ngữ cảnh
Hệ thống
Thông tin
yêu cầu
Xử lý
thông tin
5
Vị trí: là thông tin thực về vị trí hiện tại của người dùng. Ta có thể biểu diễn nó
theo kinh ñộ và vĩ ñộ. Do vị trí của người dùng thay ñổi thường xuyên nên việc xác
ñịnh vị trí của người dùng là ñược ưu tiên. Có nhiều cách ta có thể xác ñịnh ñược vị
trí hiện tại của người sử dụng như sử dụng công nghệ ñịnh vị A-GPS, E-OTD hay
Cell-ID hoặc TOA… Ngoài ra, location còn bao gồm cả các thông tin không gian, và
vị trí hiện tại của người sử dụng.
Thời gian: Thời gian ở ñây là thời gian sử dụng chương trình, mỗi người dùng
có ñộ tập trung cũng như lượng thời gian có thể dùng ñể xem thông tin khác nhau.
Thông tin người dùng: Mỗi người dùng có thông tin khác nhau, lượng thông tin
cung cấp cho các ñối tượng người dùng khác nhau cũng phải khác nhau phù hợp với
ñộ tuổi, sở thích…
Lịch sử xem thông tin: Mỗi khi xem một thông tin rồi thì người dùng thường
không muốn xem tiếp trong lần tiếp theo, do ñó cần lưu trữ lịch sử xem thông tin ñể xử
lý trong những lần tiếp theo.
2.3.2. Yếu tố ngữ cảnh
"Bối cảnh là bất kỳ thông tin có thể ñược sử dụng ñể ñặc trưng cho hoàn cảnh
của một thực thể. Thực thể là một người, ñịa ñiểm, hoặc ñối tượng ñó ñược coi là có
Ví trị Thời gian
Lịch sử
xem thông
tin
Thông tin
người dùng
Hình 2.2. Mô hình người dùng
6
liên quan ñến sự tương tác giữa người sử dụng và một ứng dụng, bao gồm cả người
dùng và ứng dụng chính họ" - Dey, Abowd & Salber [1].
Paul Dourish ñã nói rằng có hai góc nhìn khác nhau về ngữ cảnh [5]:
- Ngữ cảnh như một ñại diện
o Ngữ cảnh là một hình thức của thông tin. Nó có thể ñược biết ñến (và do ñó mã
hóa và biểu diễn như các thông tin khác trong các hệ thống phần mềm).
o Ngữ cảnh là có khả năng khoanh ñịnh. Chúng ta có thể xác ñịnh những gì có
giá trị như là bối cảnh của hoạt ñộng mà hỗ trợ ứng dụng.
o Ngữ cảnh là ổn ñịnh. Mặc dù các yếu tố chính xác của một biểu diễn ngữ cảnh
có thể khác nhau tùy theo ứng dụng, chúng không thay ñổi trong cách thể hiện
của một hoạt ñộng hay một sự kiện. Xác ñịnh sự liên quan của bất kỳ yếu tố
tiềm năng theo ngữ cảnh có thể ñược thực hiện một lần và cho tất cả.
o Ngữ cảnh và các hoạt ñộng ñược tách riêng. Hoạt ñộng xảy ra “trong” một ngữ
cảnh. Ngữ cảnh mô tả các ñặc trưng của môi trường trong ñó các hoạt ñộng
diễn ra, nhưng ñó là tách biệt với hoạt ñộng.
- Ngữ cảnh như một tương tác
o Thay vì xem xét ngữ cảnh ñể ñược thông tin, ngữ cảnh ñược xem như một
thuộc tính quan hệ ở giữa các ñối tượng hoặc các hoạt ñộng. Nó không ñơn
giản là trường hợp cái mà cái gì ñó là ngữ cả