Chuyên đ ề CNPM1- Lập Trình Hiệ n Đ ại, kho a Công Nghệ Thông Tin, trường ĐH KHTN, T.P Hồ Chí Minh
Khoa Công Nghệ Thông Tin – Đại Học Khoa Học Tự Nhiên. Lập Trình Hiện Đại – Nguyễn Minh Bình – Đỗ Thị Hồng Thu. 1 | 2 9 BỘ MÔN CÔNG NGHỆ PHẦN MỀM ***00☼00*** CHUYÊN ĐỀ Thành phố Hồ Chí Minh, ngày 10, tháng 05, năm 2009 Khoa Công Nghệ Thông Tin – Đại Học Khoa Học Tự Nhiên. Lập Trình Hiện Đại – Nguyễn Minh Bình – Đỗ Thị Hồng Thu. 2 | 2 9 Mục lục Lời cảm ơn .5 I. Giới thiệu .6 1. Tác giả 6 2. Chương trình ML Dict .6 3. Giới thiệu chức năng .7 Chức năng tra từ, phát âm 7 Chức năng thêm/bớt từ điển .7 Chức năng ghi nhớ từ vừa tra: 7 Chức năng dịch văn bản .7 Chức năng trợ giúp 7 Các tùy chọn .8 Lưu cấu hình cho phiên làm việc sau. .8 II. Hướng dẫn sử dụng: .8 1. Sử dụng menus: 8 1.1. Menu Từ Điển: .8 1.2. Menu Tùy Chỉnh 9 1.3. Menu Công Cụ .9 1.4. Menu Trợ Giúp 9 2. Hướng dẫn tra từ 10 3. Tạo các file dữ liệu cho từ điển. 11 Lưu ý: .11 4. Cài thêm từ điển .12 5. Gỡ bớt từ điển 12 Khoa Công Nghệ Thông Tin – Đại Học Khoa Học Tự Nhiên. Lập Trình Hiện Đại – Nguyễn Minh Bình – Đỗ Thị Hồng Thu. 3 | 2 9 6. Tra từ online .13 7. Trợ giúp .13 7.1. Giới thiệu chương trình: 13 7.2. Hướng dẫn sử dụng: 13 III. Các kỹ thuật cài đặt 14 1. Tổ chức dữ liệu .14 a. Đánh giá 14 b. Giải pháp. 15 2. Cách thức tra từ .16 3. Cách thức xử lý vấn đề load danh sách .16 a. Đánh giá. .16 b. Giải pháp .17 4. Menu động 18 a. Ý tưởng 18 b. Giải pháp. 18 5. Đối sánh chuỗi, tìm kiếm 19 a. Đánh giá 19 b. Giải pháp. 19 6. Phát âm 20 7. Tra hình minh họa 21 a. Phân tích. 21 b. Kết quả thực hiện. .21 8. Dịch văn bản online 23 a. Phân tích. 23 b. Kết quả thực hiện. .23 IV. Những hạn chế và đề xuất giải pháp .24 Khoa Công Nghệ Thông Tin – Đại Học Khoa Học Tự Nhiên. Lập Trình Hiện Đại – Nguyễn Minh Bình – Đỗ Thị Hồng Thu. 4 | 2 9 1. Khởi động chậm .24 2. Phát âm không chuẩn 24 V. Những chức năng chưa thực hiện được 25 1. Thiếu chức năng thêm, xóa, sửa 25 a. Những trở ngại khi thêm từ .25 b. Những trở ngại khi xóa từ .26 c. Những trở ngại khi sửa từ .27 2. Thiếu chức năng Click and See: 27 VI. Tài liệu tham khảo .28 1. Bài giảng chuyên đề CNPM 1 – Lập Trình Hiện Đại 28 2. Bài viết về sản phẩm sp dict 28 3. Phát âm (trở về) .28 4. Lớp OpenFileDialogEX. .28 5. Dịch văn bản online 29 6. Hướng dẫn thao tác với hastable 29 VII. Lời kết 29 Khoa Công Nghệ Thông Tin – Đại Học Khoa Học Tự Nhiên. Lập Trình Hiện Đại – Nguyễn Minh Bình – Đỗ Thị Hồng Thu. 5 | 2 9 Lời cảm ơn Lời đầu tiên, xin kính gửi tới thầy Trần Minh Triết và các thầy cô hướng dẫn thực hành môn Chuyên đề CNPM1- Lập Trình Hiện Đại, khoa Công Nghệ Thông Tin, trường ĐH KHTN, T.P Hồ Chí Minh lời chúc sức khỏe và lòng biết ơn sâu sắc. Xin cám ơn thầy đã tận tâm truyền đạt những kiến thức quý báu và tạo điều kiện để nhóm chúng em hoàn thành được đồ án này. Trong quá trình thực hiện đồ án, nhóm đã được tham khảo nhiều ý kiến thảo luận trên diễn đàn môn học, rất cảm ơn tinh thần học hỏi và đóng góp của các bạn. Ngoài ra, các bài viết hết sức bổ ích của các tác giả Bùi Đức Tiến, José Gallardo Salazar, Piyush Shah, Mahesh Chand … cũng có ý nghĩa với đồ án này rất nhiều. Xin chân thành cám ơn! Nhóm tác giả. Khoa Công Nghệ Thông Tin – Đại Học Khoa Học Tự Nhiên. Lập Trình Hiện Đại – Nguyễn Minh Bình – Đỗ Thị Hồng Thu. 6 | 2 9 I. Giới thiệu 1. Tác giả Họ Tên: . Nguyễn Minh Bình MSSV: 0612023 Điện thoại: 0906 637 538 Email: . ihnel48@gmail.com Họ Tên: . Đỗ Thị Hồng Thu MSSV: 0612400 Điện thoại: . 01677557054 Email: . do.hongthu@yahoo.com.vn 2. Chương trình ML Dict ML Dict (Multilaguage dictonary) là phần mềm từ điển đa ngôn ngữ cho pocket PC chạy trên hệ điều hành windows CE và .Net Compack Framwork. Phần mềm này được xây dựng theo yêu cầu đồ án của môn Chuyên Đề Công Nghệ Phần Mềm 1 - Lập Trình Hiện Đại do thầy Trần Minh Triết và thầy Bùi Tấn Lộc phụ trách. Trong quá trình thực hiện đồ án này, nhóm đã gặp không ít khó khăn và bỡ ngỡ trong nhiều công đoạn do đây là lần đầu tiên nhóm làm việc với môi trường lập trình trên dot Net CF. Hơn nữa, từ điển là một loại phần mềm làm việc với những file dữ liệu lớn, yêu cầu phải xử lý nhanh. Những yêu cầu này thật sự khắt khe và không hề dễ dàng. Khoa Công Nghệ Thông Tin – Đại Học Khoa Học Tự Nhiên. Lập Trình Hiện Đại – Nguyễn Minh Bình – Đỗ Thị Hồng Thu. 7 | 2 9 Mục đích của đồ án này là nhằm ứng dụng những lý thuyết, phương pháp đã học vào một phần mềm cụ thể để kiểm tra, trao dồi và học hỏi thêm những kỹ thuật mới. Những chức năng mà nhóm đã làm được vẫn chỉ dừng lại ở mức bình thường và chắc hẳn còn nhiều điều thiếu sót. Mọi ý kiến đóng góp, chia sẻ hay thắc mắc về chương trình sẽ luôn được đón nhận và ghi nhớ. 3. Giới thiệu chức năng Chức năng tra từ, phát âm Cũng như những phần mềm từ điển khác, ML Dict cũng có chức năng cơ bản là tra từ và phát âm từ vừa tra. Người dùng có thể lựa chọn nhiều cách khác nhau để tìm và tra một từ vựng. (xem hướng dẫn sử dụng). Chức năng thêm/bớt từ điển Chương trình cho phép người dùng cài thêm từ điển mới hoặc bỏ bớt từ điển trong số những từ điển đã cài đặt tùy theo nhu cầu sử dụng. Chức năng ghi nhớ từ vừa tra: Nhờ chức năng này, người dùng có thể nhanh chóng tra lại những từ vừa tra. Danh sách các từ vừa tra sẽ được lưu lại vào bộ nhớ. Theo đó, có thể dùng các phím mũi tên hoặc các button hình mũi tên ở góc trên, bên phải để tra. Chức năng dịch văn bản Nếu máy đã được kết nối internet, chương trình cung cấp thêm một chức năng bổ ích là dịch văn bản online. Chức năng này hoạt động dựa trên sự hỗ trợ bởi công cụ dịch online của google. Chức năng trợ giúp Nếu không hiểu hoặc không biết sử dụng chức Khoa Công Nghệ Thông Tin – Đại Học Khoa Học Tự Nhiên. Lập Trình Hiện Đại – Nguyễn Minh Bình – Đỗ Thị Hồng Thu. 8 | 2 9 năng nào đó của chương trình, người dùng có thể tham khảo thông tin trợ giúp qua menu Trợ giúp… Các tùy chọn Với các tùy chọn được hỗ trợ, việc sử dụng chương trình sẽ trở nên rất linh động. Có thể lựa chọn cho phép chương trình tự động hiển thị phiên âm của từ đang tra, phát âm, hiện ví dụ, hình minh họa cho từ đó hay không… Nếu lựa chọn hiện danh sách từ tự động, mỗi khi user nhập từ cần tra vào ô nhập liệu, một danh sách các từ gần đúng sẽ được tự động hiển thị hỗ trợ cho người dùng tìm từ nhanh hơn. Lưu cấu hình cho phiên làm việc sau. Chức năng này sẽ lưu xuống file những thông tin liên quan đến trạng thái làm việc của chương trình: các tùy chọn, danh sách từ điển đã cài … II. Hướng dẫn sử dụng: 1. Sử dụng menus: 1.1. Menu Từ Điển: Menu Từ điển chứa các lệnh cho phép thao tác với các từ điển: Thoát chương trình: thoát và lưu lại thông tin về các bộ từ điển đã cài. Thêm hoặc xóa từ điển: user tự do quản lý các từ điển mà mình muốn sử dụng, có thể thêm hay bớt các từ điển tùy theo nhu cầu. Các dòng còn lại là tên của các từ điển đã được cài đặt vào dữ liệu của chương trình. Từ điển nào đang được sử dụng sẽ có dấu check ở phía Khoa Công Nghệ Thông Tin – Đại Học Khoa Học Tự Nhiên. Lập Trình Hiện Đại – Nguyễn Minh Bình – Đỗ Thị Hồng Thu. 9 | 2 9 trước trong menuItems tương ứng. Các menuItems này là “động” . Nghĩa là chúng sẽ tự sinh ra và mất đi tùy thuộc vào các từ điển được cài hay gỡ bỏ. 1.2. Menu Tùy Chỉnh Hiện phiên âm: Hiện hay ẩn phần phiên âm của từ được tra. Hiện ví dụ: Hiện hay ẩn ví dụ trong phần nghĩa của từ được tra. Phát âm khi tra: khi một từ được tra , có tự động phát âm từ đó hay không. Hiện danh sách từ tự động: Khi user nhập từ cần tra, có tự động hiển thị danh sách từ gần đúng hay không. Hình minh họa: khi tra một từ, có tự động search hình ảnh minh họa liên quan đến từ đó hay không. Chức năng này chỉ hoạt động được khi đã kết nối internet. 1.3. Menu Công Cụ Dịch văn bản online: User được hỗ trợ trong việc dịch một từ hoặc một đoạn văn bản online (dựa vào trang translate.google.com) Đọc từ đang tra: Phát âm lại từ mà user vừa tra. 1.4. Menu Trợ Giúp Giới thiệu: Giới thiệu chung về phần mềm ML Dict, giới thiêu chức năng. Hướng dẫn sử dụng: Hỗ trợ cách thao tác step by step chương trình ML Dict. Khoa Công Nghệ Thông Tin – Đại Học Khoa Học Tự Nhiên. Lập Trình Hiện Đại – Nguyễn Minh Bình – Đỗ Thị Hồng Thu. 10 | 2 9 2. Hướng dẫn tra từ. ML Dict hỗ trợ nhiều cách tra từ khác nhau. Người dùng có thể tùy ý lựa chọn trong nhiều trường hợp. User dùng soft keyboard, nhập từ cần tra vào ô nhập liệu ở góc trên bên trái. Sau khi nhập xong bấm vào button có hình kính lúp hoặc nhấn Enter để tra từ. Nghĩa của từ cần tra sẽ hiển thị ở vùng không gian bên dưới. Trong quá trình nhập từ cần tra, chương trình sẽ tự động dò tìm với những ký tự đã gõ trong ô nhập liệu và cho ra nghĩa của từ gần giống với những ký tự đã gõ nhất. Nếu từ đang được select trong danh sách đúng với từ mà người dùng muốn tìm thì chỉ cần click hoặc nhấn enter để tra mà không cần phải gõ các ký tự còn lại. Thay vì nhập các ký tự, user có thể click vào mũi tên bên phải ô nhập liệu . Sẽ có một danh sách các từ được xổ xuống và user có thể tìm từ cần tra bằng cách duyệt danh sách, select từ muốn tra tra như cách trên. Ngoài ra, user còn có thể tra từ bằng cách click vào các button: . Quá trình tra từ của user sẽ được lưu lại trong history. Nếu user muốn tra lại từ trước hay sau trong danh sách history thì click vào . Hoặc nếu user muốn tra từ liền trước hay liền sau trong từ điển theo thứ tự alphabet thì click vào . [...]... không có Để thực hiện được chức năng này, cần phải viết một lớp web browser mới, kế thừa web browser có sẵn và thêm các phươn thức cần thiết hỗ trợ cho việc click và select văn bản trên web browser này Lập Trình Hiện Đại – Nguyễn Minh Bình – Đỗ Thị Hồng Thu 27 | 2 9 Khoa Công Nghệ Thông Tin – Đại Học Khoa Học Tự Nhiên VI Tài liệu tham khảo 1 Bài giảng chuyên đề CNPM 1 – Lập Trình Hiện Đại Tác giả: Thầy... thị lên màn hình web browser của chương trình Lập Trình Hiện Đại – Nguyễn Minh Bình – Đỗ Thị Hồng Thu 23 | 2 9 Khoa Công Nghệ Thông Tin – Đại Học Khoa Học Tự Nhiên Những hạn chế và đề xuất giải pháp IV 1 Khởi động chậm - Một trong những nguyên nhân chính gây ra sự ì ạch trong quá trình khởi động của chương trình là công đoạn xây dựng các đối tượng thuộc về chương trình: form, menu, button… Nhóm đã tiến... màn hình giao diện, danh sách từ sẽ được thiết kế giả lập một combobox (gồm text box, listbox, vscrollbar và môt picture box) Lập Trình Hiện Đại – Nguyễn Minh Bình – Đỗ Thị Hồng Thu 17 | 2 9 Khoa Công Nghệ Thông Tin – Đại Học Khoa Học Tự Nhiên Như vậy sẽ phải xử lý theo 2 hướng Hướng thứ nhất là khi người dùng tra từ, sau khi tìm được từ đó và hiện danh sách 12 từ lên listbox, phải xác định được vị... gửi link này cho chương trình và chương trình down file âm thanh về phát lại Dùng Webservice sẽ được lợi phần phát âm chuẩn xác và tốt hơn nhiều so với cách dùng file dll có sẵn, nhưng sẽ phụ thuộc vào tốc độ đường truyền của mạng internet, và tốc độ xử lý các bước của Webservice đó Lập Trình Hiện Đại – Nguyễn Minh Bình – Đỗ Thị Hồng Thu 24 | 2 9 Khoa Công Nghệ Thông Tin – Đại Học Khoa Học Tự Nhiên... dạng đơn giản nhất, khi chương trình gọi hàm, nó sẽ liên kết tới file chính là fliteDLL.dll đã được chép trong thư mục Windows để tiếp tục xử lý, phát âm chuỗi từ LINK THAM KHẢO FLITE Lập Trình Hiện Đại – Nguyễn Minh Bình – Đỗ Thị Hồng Thu 20 | 2 9 Khoa Công Nghệ Thông Tin – Đại Học Khoa Học Tự Nhiên 7 Tra hình minh họa a Phân tích Dựa vào bộ máy tìm kiếm phổ biến nhất hiện nay là Google, đối với mỗi... xuống xuyên suốt lượng từ khổng lồ của từ điển Tùy vào độ lớn của từng bộ dữ liệu từ điển mà thời gian load danh sách sẽ nhanh hay chậm Lập Trình Hiện Đại – Nguyễn Minh Bình – Đỗ Thị Hồng Thu 16 | 2 9 Khoa Công Nghệ Thông Tin – Đại Học Khoa Học Tự Nhiên Nếu chương trình từ điển cho phép sử dụng nhiều bộ từ điển, ví dụ như Anh_Việt, Việt_Anh, Việt_Pháp v.v…, thì trong mỗi khoảng thời gian xác định,... hình minh họa Hình bên là một ví dụ khi tìm với từ khóa button Lập Trình Hiện Đại – Nguyễn Minh Bình – Đỗ Thị Hồng Thu 22 | 2 9 Khoa Công Nghệ Thông Tin – Đại Học Khoa Học Tự Nhiên 8 Dịch văn bản online a Phân tích Cách dịch văn bản online sẽ hoàn toàn tương tự như cách tìm hình trên Nhóm sẽ dựa vào dịch vụ translate của google để thực hiện Ở trang translate của Google, người dùng được chọn ngôn ngữ... tương ứng sẽ là: anhviet.dat, anhviet1.idx, anhviet2.idx Chúng ta sẽ dùng 3 tập tìn này để cài đặt vào hệ thống ML Dict Lập Trình Hiện Đại – Nguyễn Minh Bình – Đỗ Thị Hồng Thu 11 | 2 9 Khoa Công Nghệ Thông Tin – Đại Học Khoa Học Tự Nhiên 4 Cài thêm từ điển Từ màn hình giao diện chương trình, bấm menu :Từ điển , chọn Thêm hoặc xóa từ điển Click chọn thẻ Thêm Nhập tên cho từ điển muốn thêm Tiếp tục bấm... file dictionaries.xml thông qua hashtable này Lập Trình Hiện Đại – Nguyễn Minh Bình – Đỗ Thị Hồng Thu 18 | 2 9 Khoa Công Nghệ Thông Tin – Đại Học Khoa Học Tự Nhiên 5 Đối sánh chuỗi, tìm kiếm a Đánh giá Trong các yếu tố phục vụ cho việc dò tìm từ, đối sánh chuỗi chính xác là quan trọng hơn cả Trước hết, cần phải có một phép so sánh đủ chính xác để phát hiện một từ bất kỳ trong danh sách có phải là từ... chính là phương pháp đối sánh được sử dụng trong đồ án này Lập Trình Hiện Đại – Nguyễn Minh Bình – Đỗ Thị Hồng Thu 19 | 2 9 Khoa Công Nghệ Thông Tin – Đại Học Khoa Học Tự Nhiên Có thể, phương pháp đối sánh chuỗi mà ML Dict sử dụng chưa phải là cách tốt nhất cả về thời gian thực thi lẫn hình thức Tuy nhiên, để có được kết quả đối sánh chính xác thì hiện tại nhóm không còn cách nào hơn Về vấn đề tìm kiếm,