VI N CÔNG NGH THÔNG TIN VÀ TRUY N THÔNG ─────── * ─────── BÁO CÁO...

24
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ─────── * ─────── BÁO CÁO PROJECT II ĐỀ TÀI ỨNG DỤNG TỪ ĐIỂN CHO WINDOWS PHONE Sinh viên thực hiện: Phạm Quang Tùng Lớp: CNTT-1.1 K56 MSSV: 20112148 Giáo viên hướng dẫn : TS. Nguyễn Kim Khánh

Transcript of VI N CÔNG NGH THÔNG TIN VÀ TRUY N THÔNG ─────── * ─────── BÁO CÁO...

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘIVIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

─────── * ───────

BÁO CÁO PROJECT II

ĐỀ TÀIỨNG DỤNG TỪ ĐIỂN CHO WINDOWS PHONE

Sinh viên thực hiện: Phạm Quang TùngLớp: CNTT-1.1 K56MSSV: 20112148

Giáo viên hướng dẫn :TS. Nguyễn Kim Khánh

Hà Nội, ngày 25 tháng 5 năm 2014

Mục LụcLỜI NÓI ĐẦU..............................................3

CHƯƠNG 1: PHÂN TÍCH HỆ THỐNG.............................4

1.1.Mô tả yêu cầu bài toán.............................4

1.2.Biểu đồ use case...................................5

1.2.1............................Biểu đồ use case tổng quan5

1.2.2.......................Biểu đồ use case phân rã mức 25

CHƯƠNG 2. THIẾT KẾ CHI TIẾT............................7

2.1.Thiết kế lớp.......................................7

2.1.1.............................................Biểu đồ lớp7

2.1.2..................................Thiết kế chi tiết lớp8

2.2.Thiết kế cơ sở dữ liệu............................10

2.2.1..............................Cấu trúc dữ liệu từ điển10

2.2.2..................................Xử lí dữ liệu từ điển10

CHƯƠNG 3. CHƯƠNG TRÌNH MINH HOẠ.......................11

3.1.Xây dựng chương trình.............................11

3.1.1.....................................Kiến trúc phần mềm11

3.1.2..................................Các quy tắc lập trình11

3.2.Kiểm thử đơn vị và kết quả........................122

Đề tài : Ứng dụng từ điển cho Windows PhonePhạm Quang Tùng 20112148

CHƯƠNG 4. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN................16

LỜI NÓI ĐẦU

Ngày nay không ai phủ nhận được vai trò của tin họctrong mọi lĩnh vực khoa học kĩ thuật đời sống xã hội.Tin học được ứng dụng nhiều trong các công tác quản lí, phục vụ vui chơi giải trí, nghiên cứu khoa học vàđặc biệt tin học được ứng dụng khá nhiều trong kĩ thuật từ điển.

Với khả năng lưu trữ lớn những chiếc máy tính và smartphone đã thay thế hoàn toàn những cuốn từ điển đồ sộ, hơn thế nữa với tốc độ tìm kiếm rất nhanh, chính xác hơn nữa lại nhỏ gọn và nhiểu tiện ích khác smartphone đã trở thành một công cụ đắc lực giúp đỡ con người trong việc tra cứu và tìm kiếm thông tin đạt hiệu quả cao. Xây dựng ứng dụng từ điển cho di động đặc biệt là cho hệ điều hành còn rất trẻ WindowsPhone là một đề tài mới mẻ bắt kịp sự phát triển của

3Đề tài : Ứng dụng từ điển cho Windows PhonePhạm Quang Tùng 20112148

công nghệ thông tin, nó cũng đáp ứng được nhu cầu ngày càng cao của người dùng.

Mặc dù có nhiều cố gắng nhưng vì hạn chế về thời gian và kinh nghiệm nên bản báo cáo này chắc chắn cònnhiều thiếu sót. Em rất mong nhận được sự góp ý của thầy để chương trình này được hoàn thiện hơn. Em xin chân thành cảm ơn thầy Nguyễn Kim Khánh đã hướng dẫntận tình và tạo điều kiện cho em hoàn thành đề tài này.

Hà Nội,25 tháng 5 năm2014

Sinh viênPhạm Quang Tùng

CHƯƠNG 1: PHÂN TÍCH HỆ THỐNG

4Đề tài : Ứng dụng từ điển cho Windows PhonePhạm Quang Tùng 20112148

1.1. Mô tả yêu cầu bài toán

Xây dựng chương trình ứng dụng Từ Điển cho phép:- Tra cứu các loại từ điển: người sử dụng có thể tra

cứu từ điển Anh-Việt.- Phát âm từ tiếng anh: nghe phát âm các từ cần tra.- Xây dựng chế đồ đồ họa cho ứng dụng: Chế độ đồ họa

đơn giản, hợp lí, thuận tiện cho người sử dụng.

Các vấn đề cần xử lý trong quá trình xây dựng từ điển:- Vấn đề về dữ liệu từ điển: một chương trình từ điển

thì phần quan trọng nhất là dữ liệu, dữ liệu từ điển yêu cầu phải chính xác và đầy đủ và thuận tiện cho việc lập trình.

- Tìm kiếm thư viện trong việc xử lý phát âm từ.- Chức năng lịch sử giúp người dùng dễ dàng tìm lại

những từ mình đã từng tìm kiếm.- Chế độ đồ họa yêu cầu bố cục hợp lý, thuận tiện, dễ

sử dụng.

5Đề tài : Ứng dụng từ điển cho Windows PhonePhạm Quang Tùng 20112148

1.2. Biểu đồ use case

1.2.1. Biểu đồ use case tổng quan

Hình 1.2.1: Biếu đồ use-case tổng quan

Tác nhân người dùng User sẽ tương tác với các use case:- Tra từ: có chức năng tra từ sử dụng dữ liệu có trong

từ điển.- Phát âm: có chức năng phát âm từ tiếng anh sử dụng

thư viện text to speech.- Lịch sử: có chức năng lưu lại những từ mà người dùng

đã từng tìm kiếm.

1.2.2. Biểu đồ use case phân rã mức 2

a. Use case Tra cứu từ: bao gồm 1 use-case con- Tra từ offline: Tra từ dựa trên dữ liệu có trong từ

điển.

6Đề tài : Ứng dụng từ điển cho Windows PhonePhạm Quang Tùng 20112148

Hình 1.2.2: Use-case phân rã mức 2 chức năng tra từ

b. Use case Lịch sử: bao gồm 2 use case con:- Lưu lịch sử: Thêm từ mới vào danh sách lịch sử mỗi

khi người dùng tìm kiếm.- Xóa lịch sử: Làm mới danh sách lịch sử.

Hình 1.2.3: Use-case phân rã mức 2 chức năng Lịch sử

7Đề tài : Ứng dụng từ điển cho Windows PhonePhạm Quang Tùng 20112148

CHƯƠNG 2. THIẾT KẾ CHI TIẾT

2.1. Thiết kế lớp

2.1.1. Biểu đồ lớp

Hình 2.4: Biểu đồ lớpChương trình gồm 5 lớp chính đều nằm trong package PhoneApp2:

-Lớp MainPag: chứa giao diện đồ họa chính của từ điểnvà các chức năng chính như tra từ, lịch sử…

-Lớp Page1: chứa thông tin từ cần tìm kiếm.-Lớp class1: chứa các phương thức để nạp dữ liệu và

các cấu trúc dữ liệu.-Lớp History: chứa các sự kiện cho trang History.-Lớp BackGround: chứa các phương thức và sự kiện cho

trang BackGround.

8Đề tài : Ứng dụng từ điển cho Windows PhonePhạm Quang Tùng 20112148

2.1.2. Thiết kế chi tiết lớp

-Lớp MainPage:

Hình 2.5: Lớp MainPage chi tiết

-Lớp Class1:

9Đề tài : Ứng dụng từ điển cho Windows PhonePhạm Quang Tùng 20112148

Hình 2.6: Lớp “Class1” chi tiết

10Đề tài : Ứng dụng từ điển cho Windows PhonePhạm Quang Tùng 20112148

-Lớp Page1:

Hình 2.7:Lớp “Page1” chi tiết

-Lớp History:

Hình 2.5:Lớp “History” chi tiết

-Lớp BackGround:

Hình 2.5:Lớp “History” chi tiết

11Đề tài : Ứng dụng từ điển cho Windows PhonePhạm Quang Tùng 20112148

12Đề tài : Ứng dụng từ điển cho Windows PhonePhạm Quang Tùng 20112148

2.2. Thiết kế cơ sở dữ liệu

2.2.1. Cấu trúc dữ liệu từ điển

- Dữ liệu từ điển dùng trong bản báo cáo này được lấy từ dữ liệu từ điển SPDict của tác giả Bùi Đức Tiến. Việc sử dụng dữ liệu này hoàn toàn được sự chấp nhận của tác giả.

- Dữ liệu từ điển được lưu dưới dạng file .text là “AnhViet.txt”.

- Trong mỗi file dữ liệu .text thì mỗi từ và nghĩa của nó được lưu vào một dòng và được phân tách bởi dấu ‘@’

Hình 2.7: Dữ liệu từ điển

2.2.2. Xử lí dữ liệu từ điển

Ta dùng Dictionary một kiểu dữ liệu bảng băm trong C# để lưu dữ liệu từ điển

-Phần “Từ” được lưu trong các key-Phần “Nghĩa” được lưu trong các value

13Đề tài : Ứng dụng từ điển cho Windows PhonePhạm Quang Tùng 20112148

Khi cần tra từ ta gọi key để lấy giá trị value ta sẽ có nghĩa từ cần tra.

14Đề tài : Ứng dụng từ điển cho Windows PhonePhạm Quang Tùng 20112148

CHƯƠNG 3. CHƯƠNG TRÌNH MINH HOẠ

3.1. Xây dựng chương trình

3.1.1. Kiến trúc phần mềm

Chương trình được xây dựng theo kiến trúc phần mềm với: - Một lớp Mainpage chứa hàm main thực thi giao diện và

là điểm bắt đầu chương trình.- Một lớp Page1 thực thi giao diện và hiển thị trang

nghĩa của từ cần tìm.- Một lớp History thực hiện việc hiển thị danh sách các

từ đã từng tìm kiếm.

3.1.2. Các quy tắc lập trình

Mã nguồn chương trình tuân theo các quy tắc của lập trìnhnói chung cũng như lập trình hướng đối tượng cùng với mộtsố quy tắc do ngôn ngữ C# và hệ điều hành Windows Phonequy định:

- Tên thuộc tính (biến) viết thường chữ cái đầu tiên,sau đó viết hoa chữ cái đầu của các từ trong cụmtừ.

- Tên namespace, lớp, phương thức được viết hoa chữ cáiđầu tiên mỗi từ trong cụm từ.

- Tên các phương thức xử lý sự kiện được viết dưới dạngtên control + “_” + loại sự kiện.

- Tên hằng được viết hoa tất cả các chữ cái.

15Đề tài : Ứng dụng từ điển cho Windows PhonePhạm Quang Tùng 20112148

3.2. Kiểm thử đơn vị và kết quả

-Giao diện chính của từ điển :

Hình 3.8: Giao diện chính

-Click vào textbox để bàn phím ảo hiện lên và thực hiện tìm kiếm với từ khóa “love” :

16Đề tài : Ứng dụng từ điển cho Windows PhonePhạm Quang Tùng 20112148

Hình 3.9: Tìm kiếm-Giao diện hiển thị nghĩa của từ “love” sau khi bấm nút tìm kiếm hoặc Enter. Người dùng muốn nghe phát âm từ vừa tìm kiếm có thể click nút có hình Micro bên dưới :

Hình 3.10:Giao diện nghĩa

17Đề tài : Ứng dụng từ điển cho Windows PhonePhạm Quang Tùng 20112148

-Thông báo khi không tìm thấy từ được nhập vào :

Hình 3.11: Thông báo lỗi-Giao diện History :

Hình 3.12: Giao diện History

18Đề tài : Ứng dụng từ điển cho Windows PhonePhạm Quang Tùng 20112148

-Giao diện chọn Background để lựa chọn hình nền cho trang chủ. Từ trang chủ bấm nút “Setting” để truy cập Background:

Hình 3.6: Giao diện Background

-Hình nền trang chủ đã thay đổi sau khi click vào một hìnhảnh :

19Đề tài : Ứng dụng từ điển cho Windows PhonePhạm Quang Tùng 20112148

Hình 3.7: Thay đổi hình nền

20Đề tài : Ứng dụng từ điển cho Windows PhonePhạm Quang Tùng 20112148

CHƯƠNG 4. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Sau một thời gian nhận được sự hướng dẫn tận tình củathầy Nguyễn Kim Khánh em đã bắt tay và hoàn thành xong ứng dụng từ điển đơn giản trên Windows Phone. Với nhữngmục tiêu ban đầu khi được giao nhận đề tài về căn bản em đã hoàn thành được yêu cầu đề ra.Về lý thuyết:

Em đã nắm vững được khá nhiều kiến thức về ngôn ngữ lập trình C# và cách xây dựng một ứng dụng cho Windows Phone. Hiểu được thuật toán làm từ điển đơn giản, nắm được cách sử dụng các collection ( Bảng băm) trong C#.Về thực hành:

Em đã thực hiện tiến độ xây dựng chương trình theo kếhoạch từng tuần và hoàn thành cơ bản những mục tiêu đặtra cho mỗi tuần thực hiện và đã hoàn thành được sản phẩm cuối cùng.Về vấn đề chưa thực hiện được và nhược điểm của chương

trình:- Thuật toán từ điển chưa tối ưu nên tốc độ load và lưu

dữ liệu khá chậm.- Hiện tại do việc tìm kiếm nguồn dữ liệu từ điển với

những ngôn ngữ khác tiếng Anh là khá khó khan nên từ điển của em chỉ hỗ trợ 1 loại là từ điển Anh-Việt. Chức năng và giao diện của từ điển còn khá hạn chế vàsơ sài.

Định hướng phát triển ứng dụng trong tương lai:Trong thời gian tới em sẽ cố gắng xây dựng chương

trình hoàn thiện hơn.- Thếm chức năng dịch đoạn văn bản với Google Translate

(chức năng khá hay và phổ biến cho các từ điển hiện nay).

- Tìm kiếm nguồn dữ liệu với nhiều ngôn ngữ khác như Pháp, Đức…

- Tìm thuật toán từ điển tối ưu hơn để tốc độ tải chương trình được tốt hơn.

21Đề tài : Ứng dụng từ điển cho Windows PhonePhạm Quang Tùng 20112148

Cuối cùng em xin gửi lời cảm ơn đến thầy Nguyễn Kim Khánh đã giúp đỡ em rất nhiều trong việc hoàn thành Project này, cũng như giúp em có thêm khá nhiều kinh nghiệm trong kiến thức lập trình, phong cách lập trình và kĩ năng viết báo cáo.

Em xin chân thành cảm ơn!

22Đề tài : Ứng dụng từ điển cho Windows PhonePhạm Quang Tùng 20112148

PHỤ LỤC HÌNH ẢNHHình 1.2.1: Biếu đồ use-case tổng quan...................5Hình 1.2.2: Use-case phân rã mức 2 chức năng tra từ......5Hình 1.2.3: Use-case phân rã mức 2 chức năng Lịch sử.....6Hình 2.1: Biểu đồ lớp....................................7Hình 2.2: Lớp MainPage chi tiết..........................8Hình 2.3: Lớp “Class1” chi tiết..........................8Hình 2.4: Lớp “Page1” chi tiết...........................9Hình 2.5: Lớp “History” chi tiết.........................9Hình 2.6: Lớp “Background” chi tiết......................9Hình 3.1: Giao diện chính...............................12Hình 3.2: Tìm kiếm......................................12Hình 3.3: Giao diện nghĩa...............................13Hình 3.4: Thông báo lỗi.................................13Hình 3.5: Giao diện History.............................14Hình 3.6: Giao diện Background..........................14Hình 3.7:Thay đổi hình nền...........................................................................................15

23Đề tài : Ứng dụng từ điển cho Windows PhonePhạm Quang Tùng 20112148

TÀI LIỆU THAM KHẢO

[1] Blog http://cuoilennaocacban.blogspot.com/ [2] Trang web http://msdn.microsoft.com/[3] Ebook Giới thiệu các thuật toán từ điển, Bùi Đức Tiến

24Đề tài : Ứng dụng từ điển cho Windows PhonePhạm Quang Tùng 20112148