Luận văn Vấn đề nghiên cứu và xây dựng ứng dụng từ điển trên điện thoại di động

Chúng em xin chân thành cảm ơn Khoa Công nghệThông tin, trường Đại học Khoa học Tự nhiên, Đại học Quốc gia Tp. HồChí Minh đã tạo điều kiện thuận lợi cho chúng em học tập và thực hiện đềtài tốt nghiệp này. Chúng em xin bày tỏlòng biết ơn sâu sắc đến thầy Nguyễn Tấn Trần Minh Khang, thầy Trần Minh Triết đã tận tình hướng dẫn, chỉbảo chúng em trong quá trình thực hiện đềtài.

pdf145 trang | Chia sẻ: vietpd | Lượt xem: 1256 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Luận văn Vấn đề nghiên cứu và xây dựng ứng dụng từ điển trên điện thoại di động, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM BÙI TẤN LỘC - 0112013 CAO THÁI PHƯƠNG THANH - 0112031 NGHIÊN CỨU VÀ XÂY DỰNG ỨNG DỤNG TỪ ĐIỂN TRÊN ĐIỆN THOẠI DI ĐỘNG KHÓA LUẬN CỬ NHÂN TIN HỌC GIÁO VIÊN HƯỚNG DẪN Th.S NGUYỄN TẤN TRẦN MINH KHANG Th.S TRẦN MINH TRIẾT NIÊN KHÓA 2001 - 2005 LỜI CÁM ƠN Chúng em xin chân thành cảm ơn Khoa Công nghệ Thông tin, trường Đại học Khoa học Tự nhiên, Đại học Quốc gia Tp. Hồ Chí Minh đã tạo điều kiện thuận lợi cho chúng em học tập và thực hiện đề tài tốt nghiệp này. Chúng em xin bày tỏ lòng biết ơn sâu sắc đến thầy Nguyễn Tấn Trần Minh Khang, thầy Trần Minh Triết đã tận tình hướng dẫn, chỉ bảo chúng em trong quá trình thực hiện đề tài. Chúng em xin chân thành cám ơn quý Thầy Cô trong Khoa Công nghệ Thông tin đã tận tình giảng dạy, trang bị cho em những kiến thức quý báu trong những năm học vừa qua. Chúng con xin chân thành cảm ơn Ông Bà, Cha Mẹ đã luôn động viên, ủng hộ vật chất lẫn tinh thần trong suốt thời gian qua. Chúng em xin cảm ơn sự quan tâm, giúp đỡ và ủng hộ của anh chị, bạn bè trong quá trình thực hiện khóa luận. Mặc dù đã cố gắng hoàn thành khóa luận trong phạm vi và khả năng cho phép nhưng chắc chắn sẽ không tránh khỏi những thiếu sót. Chúng em rất mong nhận được sự thông cảm, góp ý và tận tình chỉ bảo của quý Thầy Cô và các bạn. Tp. Hồ Chí Minh, tháng 07 năm 2005 Nhóm sinh viên thực hiện Bùi Tấn Lộc – Cao Thái Phương Thanh Lời nói đầu Công nghệ thông tin đang trở thành 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 dâ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 các chức năng liên lạc, nổi bật lên như một thiết bị “không thể thiếu” trong cuộc sống của nhiều người. 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, nhắc lịch làm việc…) phục vụ cho nhu cầu của người sử dụng mọi lúc, mọi nơi. Hệ điều hành Symbian là một hệ điều hành được thiết kế riêng để hoạt động tối ưu trên các thiết bị di động vốn hạn chế về tài nguyên. Trên môi trường Symbian có thể xây dựng hàng loạt ứng dụng tương tự máy tính cá nhân như: trình nghe nhạc MP3, trình xem phim .AVI, ứng dụng văn phòng (hỗ trợ tập tin MS Word, MS Excel…), các trò chơi 3D… Vì vậy sự ra đời của dòng điện thoại thông minh sử dụng hệ điều hành Symbian với kiểu dáng tương đối nhỏ gọn, thiết kế đẹp mắt và những ứng dụng hữu ích đã tạo ra một bước ngoặt mới trong thị trường điện thoại di động. Đồng thời mở ra một hướng phát triển mới đầy hứa hẹn cho các công ty phần mềm. Bên cạnh đó, trong cuộc sống hiện nay, nhu cầu học tập, trao đổi kiến thức, cũng như làm việc bằng ngoại ngữ là hết sức cần thiết. Sẽ rất tiện lợi nếu có một bộ từ điển đa ngôn ngữ với đầy đủ chức năng, ngữ nghĩa nhưng nhỏ gọn, dễ mang chuyển. Vì những lý do trên, nhóm chúng em quyết tâm thực hiện đề tài “Nghiên cứu và xây dựng ứng dụng từ điển trên điện thoại di động” 1 MỤC LỤC Chương 1 Mở đầu ..................................................................................................... 9 1.1 Nhu cầu thực tế và lý do thực hiện đề tài ......................................................... 9 1.2 Mục tiêu của đề tài ......................................................................................... 10 1.3 Nội dung khóa luận ........................................................................................ 11 Chương 2 Tổng quan về hệ điều hành Symbian và điện thoại thông minh Series 60.................................................................................................................... 12 2.1 Giới thiệu hệ điều hành Symbian ................................................................... 12 2.1.1 Công ty Symbian và hệ điều hành Symbian .......................................................12 2.1.2 Các mô hình thiết bị sử dụng hệ điều hành Symbian .........................................14 2.1.3 Các thành phần phần cứng chính trong điện thoại Symbian ..............................15 2.2 Điện thoại thông minh Symbian Series 60..................................................... 17 2.2.1 Giới thiệu ............................................................................................................17 2.2.2 Các tiêu chuẩn phần cứng của sản phẩm Series 60 ............................................18 Chương 3 Môi trường lập trình và vấn đề chính khi xây dựng ứng dụng từ điển trên Series 60 ................................................................................................... 19 3.1 Phát triển ứng dụng trên điện thoại Series 60 ................................................ 19 3.1.1 Series 60 Developer Platform.............................................................................19 3.1.2 Các ngôn ngữ lập trình trên Series 60 Developer Platform................................21 3.2 Series 60 Application Framework.................................................................. 23 3.2.1 Series 60 Application Structure ..........................................................................23 3.2.2 Các loại ứng dụng trên điện thoại Series 60 .......................................................24 3.3 Vấn đề chính khi xây dựng ứng dụng từ điển trên Series 60 ......................... 25 3.3.1 Một số hạn chế phần cứng của điện thoại di động Series 60..............................26 3.3.2 Các yêu cầu cơ bản của một ứng dụng từ điển ...................................................26 3.3.3 Kết luận...............................................................................................................27 Chương 4 Kĩ thuật lập trình C++ trên Symbian.................................................. 28 4.1 Quản lý lỗi ...................................................................................................... 28 4.1.1 Lỗi lập trình ........................................................................................................28 4.1.2 Lỗi thiếu tài nguyên ............................................................................................29 4.2 Chuỗi .............................................................................................................. 37 4.2.1 Khái niệm............................................................................................................37 4.2.2 Phân loại .............................................................................................................38 4.3 Mảng............................................................................................................... 42 4.3.1 Mảng tĩnh............................................................................................................42 4.3.2 Mảng động ..........................................................................................................42 4.4 Mảng chuỗi ..................................................................................................... 47 4.4.1 Khái niệm............................................................................................................47 Chương 5 Các giải pháp chính cho việc xây dựng từ điển trên điện thoại di động Series 60 .......................................................................................................... 49 5.1 Tổ chức cấu trúc dữ liệu lưu trữ ..................................................................... 49 2 5.1.1 Tổ chức các mục từ có kích thước bằng nhau ....................................................50 5.1.2 Tổ chức các mục từ có kích thước biến động .....................................................51 5.2 Tổ chức nén dữ liệu........................................................................................ 52 5.2.1 Nén toàn bộ dữ liệu.............................................................................................52 5.2.2 Nén từng khối dữ liệu .........................................................................................52 5.2.3 Chuẩn nén Dictzip ..............................................................................................53 5.2.4 Những khó khăn khi áp dụng Dictzip trên điện thọai di động............................54 5.2.5 Chuẩn nén Dictzip# ............................................................................................55 5.3 Tổ chức cấu trúc dữ liệu hỗ trợ cho việc tìm kiếm nhanh.............................. 57 5.3.1 Tổ chức tập tin nghĩa ..........................................................................................58 5.3.2 Tổ chức tập tin chỉ mục ......................................................................................59 5.3.3 Tổ chức băm tập tin chỉ mục ..............................................................................60 Chương 6 Các kỹ thuật xử lý ứng dụng................................................................ 64 6.1 Font chữ tiếng Việt ......................................................................................... 64 6.2 Bàn phím máy điện thoại................................................................................ 66 6.3 Các control của hệ điều hành Symbian .......................................................... 68 6.3.1 Mô hình MVC.....................................................................................................68 6.3.2 Phân loại controls trong Symbian.......................................................................69 6.3.3 Sử dụng control...................................................................................................70 6.3.4 Control observers................................................................................................73 6.4 Kỹ thuật tra cứu tự nhiên................................................................................ 73 6.4.1 Sắp xếp các mục từ tăng dần theo thứ tự bảng chữ cái Việt Nam......................73 6.4.2 Tối ưu số lượng các mục từ được nạp ................................................................76 6.4.3 Tùy biến cách thức tra cứu của người sử dụng...................................................76 6.5 Kỹ thuật phát âm ............................................................................................ 77 6.5.1 Những giới hạn khi xây dựng thư viện phát âm .................................................77 6.5.2 Text To Speech Offline.......................................................................................79 6.5.3 Text To Speech Online .......................................................................................79 Chương 7 Phân tích thiết kế ứng dụng từ điển .................................................... 81 7.1 Giới thiệu........................................................................................................ 81 7.2 Mô hình Use-Case .......................................................................................... 81 7.2.1 Mô hình Use-Case ..............................................................................................81 7.2.2 Đặc tả các Use-Case chính..................................................................................82 7.3 Thiết kế lớp đối tượng .................................................................................... 87 7.4 Thiết kế xử lý.................................................................................................. 89 7.4.1 Danh sách các xử lý chính ..................................................................................89 7.4.2 Mô tả các xử lý chính .........................................................................................90 7.5 Thiết kế giao diện ........................................................................................... 97 7.5.1 Màn hình tra từ ...................................................................................................98 7.5.2 Màn hình hiển thị nghĩa ......................................................................................98 7.5.3 Menu chính .........................................................................................................99 7.5.4 Màn hình cài đặt .................................................................................................99 Chương 8 Ứng dụng hỗ trợ quản lý dữ liệu trên Desktop ................................ 100 8.1 Giới thiệu...................................................................................................... 100 3 8.2 Mô hình Use-Case ........................................................................................ 100 8.2.1 Mô hình Use-Case ............................................................................................100 8.2.2 Đặc tả một số Use-Case chính ..........................................................................101 8.3 Thiết kế lớp................................................................................................... 106 8.3.1 Sơ đồ lớp...........................................................................................................106 8.3.2 Mô tả các lớp chính...........................................................................................106 8.4 Thiết kế xử lý................................................................................................ 107 8.4.1 Danh sách các xử lý chính ................................................................................107 8.4.2 Mô tả một số xử lý chính ..................................................................................107 8.5 Các màn hình giao diện ................................................................................ 109 8.5.1 Danh sách các màn hình giao diện....................................................................109 8.5.2 Mô tả các màn hình giao diện...........................................................................110 Chương 9 Cài đặt và thử nghiệm......................................................................... 112 9.1 Môi trường phát triển ................................................................................... 112 9.2 Mô hình cài đặt ............................................................................................. 113 9.3 Hướng dẫn sử dụng ...................................................................................... 114 9.3.1 Yêu cầu phần cứng ...........................................................................................114 9.3.2 Cài đặt ...............................................................................................................114 9.3.3 Hướng dẫn sử dụng chương trình Mobile Dictionary ......................................115 9.3.4 Hướng dẫn sử dụng chương trình Dictionary Manager....................................117 9.4 Thử nghiệm .................................................................................................. 121 9.4.1 Kết quả thử nghiệm hoạt động của ứng dụng ...................................................121 9.4.2 So sánh với các từ điển hiện có trên thị trường ................................................121 Chương 10 Tổng kết.............................................................................................. 123 10.1 Một số kết quả đạt được ............................................................................. 123 10.2 Hướng phát triển......................................................................................... 124 Phụ lục A SDKs và ứng dụng HelloWorld ..................................................... 125 A.1 SDKs (Software Development Kits) ....................................................... 125 A.2 Hướng dẫn cài đặt SDKs cho Series 60. (Một và nhiều SDK) ............... 126 A.3 Biên dịch và cài đặt ví dụ HelloWorld.................................................... 127 Phụ lục B Khái niệm cơ bản khi lập trình C++ trên hệ điều hành Symbian132 B.1 Các qui ước đặt tên.................................................................................. 132 B.2 Kiểu dữ liệu cơ bản ................................................................................. 135 Phụ lục C Chuẩn nén Dictzip#......................................................................... 137 Phụ lục D Các bộ dữ liệu của từ điển.............................................................. 139 Tài liệu tham khảo ................................................................................................ 141 4 DANH MỤC CÁC HÌNH Hình 1.1 Nhu cầu từ điển di động........................................................................................10 Hình 2.1 Các cổ đông của công ty Symbian........................................................................12 Hình 2.2 Các nhà sản xuất có giấy phép sử dụng hệ điều hành Symbian ...........................13 Hình 2.3 Communicator áp dụng mô hình Crystal ..............................................................14 Hình 2.4Communicator áp dụng mô hình Quartz................................................................15 Hình 2.5 Smartphone áp dụng mô hình Pearl ......................................................................15 Hình 2.6 Điện thoại thông minh Symbian Series 60 ...........................................................17 Hình 2.7 Màn hình điện thoại Series 60 ..............................................................................18 Hình 2.8 Bàn phím điện thoại Series 60 ..............................................................................18 Hình 3.1 Application Structure............................................................................................23 Hình 3.2 Một ứng dụng dialog base ....................................................................................24 Hình 3.3 Một ứng dụng controls..........................................................................................25 Hình 3.4 Một ứng dụng Application / View architecture ....................................................25 Hình 4.1 Chuỗi không thể thay đổi......................................................................................39 Hình 4.2 Chuỗi có thể thay dổi ............................................................................................39 Hình 4.3Chuỗi cấp phát trên heap .......................................................................................40 Hình 4.4 Con trỏ chuỗi không thể thay đổi..........................................................................40 Hình 4.5 Con trỏ chuỗi có thể thay đổi................................................................................40 Hình 4.6 Cây kế thừa các lớp descriptor..............................................................................41 Hình 4.7 Sức chứa và độ phân hạt của mảng.......................................................................43 Hình 4.8 Mảng cùng kích thước, liên tục ............................................................................44 Hình 4.9 Mảng cùng kích thước, phân đoạn........................................................................44 Hình 4.10 Mảng khác kích thước, liên tục...........................................................................45 Hình 4.11 Mảng khác kích thước, phân đoạn......................................................................45 Hình 4.12 Mảng packed, liên tục.........................................................................................45 Hình 4.13 Mảng chuỗi không thể thay đổi ..........................................................................47 H