TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN<br />
KHOA CÔNG NGHỆ THÔNG TIN<br />
BỘ MÔN CÔNG NGHỆ PHẦN MỀM<br />
<br />
BÙI TẤN LỘC<br />
<br />
- 0112013<br />
<br />
CAO THÁI PHƯƠNG THANH - 0112031<br />
<br />
NGHIÊN CỨU VÀ XÂY DỰNG<br />
ỨNG DỤNG TỪ ĐIỂN<br />
TRÊN ĐIỆN THOẠI DI ĐỘNG<br />
<br />
KHÓA LUẬN CỬ NHÂN TIN HỌC<br />
<br />
GIÁO VIÊN HƯỚNG DẪN<br />
Th.S NGUYỄN TẤN TRẦN MINH KHANG<br />
Th.S TRẦN MINH TRIẾT<br />
<br />
NIÊN KHÓA 2001 - 2005<br />
<br />
LỜI CÁM ƠN<br />
Chúng em xin chân thành cảm ơn Khoa Công nghệ Thông tin, trường Đại học<br />
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<br />
cho chúng em học tập và thực hiện đề tài tốt nghiệp này.<br />
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<br />
Khang, thầy Trần Minh Triết đã tận tình hướng dẫn, chỉ bảo chúng em trong quá<br />
trình thực hiện đề tài.<br />
Chúng em xin chân thành cám ơn quý Thầy Cô trong Khoa Công nghệ Thông<br />
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<br />
năm học vừa qua.<br />
Chúng con xin chân thành cảm ơn Ông Bà, Cha Mẹ đã luôn động viên, ủng hộ<br />
vật chất lẫn tinh thần trong suốt thời gian qua.<br />
Chúng em xin cảm ơn sự quan tâm, giúp đỡ và ủng hộ của anh chị, bạn bè trong<br />
quá trình thực hiện khóa luận.<br />
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<br />
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<br />
đượ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.<br />
Tp. Hồ Chí Minh, tháng 07 năm 2005<br />
Nhóm sinh viên thực hiện<br />
Bùi Tấn Lộc – Cao Thái Phương Thanh<br />
<br />
Lời nói đầu<br />
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<br />
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<br />
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 –<br />
đã chứng tỏ được lợi ích to lớn cho người sử dụng. Trong đó điện thoại di động,<br />
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<br />
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<br />
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,<br />
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<br />
lúc, mọi nơi.<br />
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<br />
ư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ó<br />
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<br />
MP3, trình xem phim .AVI, ứng dụng văn phòng (hỗ trợ tập tin MS Word, MS<br />
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ử<br />
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à<br />
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<br />
độ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<br />
mềm.<br />
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,<br />
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ộ<br />
từ điển đa ngôn ngữ với đầy đủ chức năng, ngữ nghĩa nhưng nhỏ gọn, dễ mang<br />
chuyển.<br />
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<br />
và xây dựng ứng dụng từ điển trên điện thoại di động”<br />
<br />
MỤC LỤC<br />
Chương 1 Mở đầu ..................................................................................................... 9<br />
1.1 Nhu cầu thực tế và lý do thực hiện đề tài ......................................................... 9<br />
1.2 Mục tiêu của đề tài ......................................................................................... 10<br />
1.3 Nội dung khóa luận ........................................................................................ 11<br />
Chương 2 Tổng quan về hệ điều hành Symbian và điện thoại thông minh<br />
Series 60.................................................................................................................... 12<br />
2.1 Giới thiệu hệ điều hành Symbian ................................................................... 12<br />
2.1.1 Công ty Symbian và hệ điều hành Symbian .......................................................12<br />
2.1.2 Các mô hình thiết bị sử dụng hệ điều hành Symbian .........................................14<br />
2.1.3 Các thành phần phần cứng chính trong điện thoại Symbian ..............................15<br />
<br />
2.2 Điện thoại thông minh Symbian Series 60..................................................... 17<br />
2.2.1 Giới thiệu ............................................................................................................17<br />
2.2.2 Các tiêu chuẩn phần cứng của sản phẩm Series 60 ............................................18<br />
<br />
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ừ<br />
điển trên Series 60 ................................................................................................... 19<br />
3.1 Phát triển ứng dụng trên điện thoại Series 60 ................................................ 19<br />
3.1.1 Series 60 Developer Platform .............................................................................19<br />
3.1.2 Các ngôn ngữ lập trình trên Series 60 Developer Platform ................................21<br />
<br />
3.2 Series 60 Application Framework.................................................................. 23<br />
3.2.1 Series 60 Application Structure ..........................................................................23<br />
3.2.2 Các loại ứng dụng trên điện thoại Series 60 .......................................................24<br />
<br />
3.3 Vấn đề chính khi xây dựng ứng dụng từ điển trên Series 60 ......................... 25<br />
3.3.1 Một số hạn chế phần cứng của điện thoại di động Series 60..............................26<br />
3.3.2 Các yêu cầu cơ bản của một ứng dụng từ điển ...................................................26<br />
3.3.3 Kết luận...............................................................................................................27<br />
<br />
Chương 4 Kĩ thuật lập trình C++ trên Symbian.................................................. 28<br />
4.1 Quản lý lỗi ...................................................................................................... 28<br />
4.1.1 Lỗi lập trình ........................................................................................................28<br />
4.1.2 Lỗi thiếu tài nguyên ............................................................................................29<br />
<br />
4.2 Chuỗi .............................................................................................................. 37<br />
4.2.1 Khái niệm............................................................................................................37<br />
4.2.2 Phân loại .............................................................................................................38<br />
<br />
4.3 Mảng............................................................................................................... 42<br />
4.3.1 Mảng tĩnh............................................................................................................42<br />
4.3.2 Mảng động ..........................................................................................................42<br />
<br />
4.4 Mảng chuỗi..................................................................................................... 47<br />
4.4.1 Khái niệm............................................................................................................47<br />
<br />
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<br />
động Series 60 .......................................................................................................... 49<br />
5.1 Tổ chức cấu trúc dữ liệu lưu trữ ..................................................................... 49<br />
<br />
1<br />
<br />
5.1.1 Tổ chức các mục từ có kích thước bằng nhau ....................................................50<br />
5.1.2 Tổ chức các mục từ có kích thước biến động .....................................................51<br />
<br />
5.2 Tổ chức nén dữ liệu ........................................................................................ 52<br />
5.2.1 Nén toàn bộ dữ liệu.............................................................................................52<br />
5.2.2 Nén từng khối dữ liệu .........................................................................................52<br />
5.2.3 Chuẩn nén Dictzip ..............................................................................................53<br />
5.2.4 Những khó khăn khi áp dụng Dictzip trên điện thọai di động............................54<br />
5.2.5 Chuẩn nén Dictzip# ............................................................................................55<br />
<br />
5.3 Tổ chức cấu trúc dữ liệu hỗ trợ cho việc tìm kiếm nhanh.............................. 57<br />
5.3.1 Tổ chức tập tin nghĩa ..........................................................................................58<br />
5.3.2 Tổ chức tập tin chỉ mục ......................................................................................59<br />
5.3.3 Tổ chức băm tập tin chỉ mục ..............................................................................60<br />
<br />
Chương 6 Các kỹ thuật xử lý ứng dụng ................................................................ 64<br />
6.1 Font chữ tiếng Việt......................................................................................... 64<br />
6.2 Bàn phím máy điện thoại................................................................................ 66<br />
6.3 Các control của hệ điều hành Symbian .......................................................... 68<br />
6.3.1 Mô hình MVC.....................................................................................................68<br />
6.3.2 Phân loại controls trong Symbian.......................................................................69<br />
6.3.3 Sử dụng control...................................................................................................70<br />
6.3.4 Control observers................................................................................................73<br />
<br />
6.4 Kỹ thuật tra cứu tự nhiên................................................................................ 73<br />
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<br />
6.4.2 Tối ưu số lượng các mục từ được nạp ................................................................76<br />
6.4.3 Tùy biến cách thức tra cứu của người sử dụng...................................................76<br />
<br />
6.5 Kỹ thuật phát âm ............................................................................................ 77<br />
6.5.1 Những giới hạn khi xây dựng thư viện phát âm .................................................77<br />
6.5.2 Text To Speech Offline.......................................................................................79<br />
6.5.3 Text To Speech Online .......................................................................................79<br />
<br />
Chương 7 Phân tích thiết kế ứng dụng từ điển .................................................... 81<br />
7.1 Giới thiệu........................................................................................................ 81<br />
7.2 Mô hình Use-Case .......................................................................................... 81<br />
7.2.1 Mô hình Use-Case ..............................................................................................81<br />
7.2.2 Đặc tả các Use-Case chính..................................................................................82<br />
<br />
7.3 Thiết kế lớp đối tượng .................................................................................... 87<br />
7.4 Thiết kế xử lý.................................................................................................. 89<br />
7.4.1 Danh sách các xử lý chính ..................................................................................89<br />
7.4.2 Mô tả các xử lý chính .........................................................................................90<br />
<br />
7.5 Thiết kế giao diện ........................................................................................... 97<br />
7.5.1 Màn hình tra từ ...................................................................................................98<br />
7.5.2 Màn hình hiển thị nghĩa ......................................................................................98<br />
7.5.3 Menu chính .........................................................................................................99<br />
7.5.4 Màn hình cài đặt .................................................................................................99<br />
<br />
Chương 8 Ứng dụng hỗ trợ quản lý dữ liệu trên Desktop ................................ 100<br />
8.1 Giới thiệu...................................................................................................... 100<br />
<br />
2<br />
<br />