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

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.

pdf53 trang | Chia sẻ: lvbuiluyen | Lượt xem: 1926 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu 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ả