Báo cáo môn học : Phân tích và thiết kế hướng đối tượng (cao học : Khoa học máy tính)Đề tài : XÂY DỰNG TIỆN ÍCH TỪ ĐIỂN ANH-VIỆT HỖ TRỢ HỌC TIẾNG ANH HIỆU QUẢ
Trang 1HỖ TRỢ HỌC TIẾNG ANH HIỆU QUẢ
Trang 2MỤC LỤC
MỤC LỤC 2
LỜI NÓI ĐẦU 3
Chương 1 GIỚI THIỆU VỀ ĐỀ TÀI 4
1.1 Đặc tả bài toán 4
1.2 Phạm vi ứng dụng 4
1.3 Hướng giải quyết vấn đề 5
Chương 2 PHÂN TÍCH VÀ THIẾT KẾ ỨNG DỤNG 6
2.1 Biểu đồ chức năng (Use Case Diagram) 6
2.2 Biểu đồ hoạt động (Activity Diagram) 8
2.2.1 Tra từ, dịch đoạn qua giọng nói và bàn phím 8
2.2.2 Xem, thêm, sửa, xóa nội dung dịch của từ 9
2.3 Biểu đồ lớp (Class Diagram) 9
2.4 Biểu đồ tuần tự (Sequence Diagram) 11
2.4.1 Dịch từ bằng văn bản 11
2.4.2 Dịch từ qua giọng nói 12
2.4.3 Dịch đoạn bằng văn bản 13
2.4.4 Dịch đoạn qua giọng nói 14
2.4.5 Thêm từ vào cơ sở dữ liệu 15
2.4.6 Xem từ đã lưu trong danh sách 15
2.4.7 Xóa từ 16
2.4.8 Sửa từ 16
2.5 Biểu đồ trạng thái (State Chart Diagram) 17
2.5.1 Dịch bằng văn bản 17
2.5.2 Dịch qua giọng nói 17
2.5.3 Xem, thêm, sửa, xóa trong danh sách từ 18
2.6 Biểu đồ thành phần (Component Diagram) 18
2.7 Biểu đồ triển khai (Deployment Diagram) 19
2.8 Giao diện chương trình 19
KẾT LUẬN 23
TÀI LIỆU THAM KHẢO 24
Trang 3LỜI NÓI ĐẦU
Xuất phát từ thực tế đó nhóm chúng em đã khảo sát và nghiên cứu để tiến hành
xây dựng hệ thống phần mềm tiện ích “TỪ ĐIỂN ANH-VIỆT” sao cho người dùng
dễ sử dụng, tra cứu nhanh chóng và có đầy đủ thông tin cần thiết khi tra cứu từ vựng
và dịch câu Để xây dựng được hệ thống trên, nhóm chúng em thực hiện theo phương pháp phân tích và thiết kế hệ thống hướng đối tượng UML gồm các bước sau: đặc tả bài toán, xây dựng biểu đồ ca sử dụng, biểu đồ hoạt động, biểu đồ lớp, biểu đồ tuần tự, biểu đồ trạng thái, biểu đồ thành phần, biểu đồ triển khai, thiết kế giao diện
Chương trình được xây dựng để thực thi trên hệ điều hành Windows và truy vấn dữ liệu cục bộ hoặc thông qua mạng Internet Chúng em hy vọng rằng phần mềm tiện ích này ra đời sẽ mang lại sự tiện dụng cho người dùng và đóng góp một phần để giúp cho người dùng dễ dàng hơn trong việc tra cứu và dịch nghĩa
Nhóm sinh viên thực hiện
Trần Thanh Liêm - K26.KMT.ĐN Nguyễn Trọng Nguyên - K26.KMT.ĐN Nguyễn Minh Quỳnh - K26.KMT.ĐN
Trang 4Chương 1 GIỚI THIỆU VỀ ĐỀ TÀI
1.1 Đặc tả bài toán
Chúng em xây dựng một phần mềm tiện ích từ điển Anh-Việt với những tính năng sau đây: Phần mềm có thể hiển thị giao diện hoặc chạy ngầm và có thể tra nhanh bằng phím tắt cho phép dịch một từ, cụm từ hay một đoạn văn dựa trên việc truy vấn dữ liệu cục bộ hoặc thông qua công cụ dịch thuật từ hãng công nghệ Google Ngoài khả năng tra cứu nhanh theo ngữ cảnh, chương trình còn có thể tra cứu văn bản bằng cách nhập liệu từ bàn phím hoặc nhận dạng giọng nói để đoán nhận từ ngữ thông qua micro được kết nối với máy tính Phần mềm lưu lại những từ vựng đã tra vào cơ sở dữ liệu để giúp cho việc tra nhanh hơn trong những lần sau Việc lưu vào cơ sở dữ liệu cũng để giúp cho người dùng có thể học từ vựng đã tra cứu kèm theo các chức năng thêm, sửa, xóa từ vựng để tạo thành "bộ từ điển riêng" cho mỗi người dùng Người dùng có thể xem lại để học từ mỗi khi không có mạng Internet Bên cạnh đó rất thuận lợi để đọc sách tiếng Anh, phần mềm còn hỗ trợ phát âm nội dung cần dịch
Sử dụng thư viện dịch tự động của Google để dịch, đối với dịch đoạn văn và ngược lại đối với dịch từ vựng, dịch tự động của Google sẽ thực hiện sau khi việc truy vấn Cơ sở dữ liệu cục bộ trả về kết quả rỗng
Sử dụng cơ sở dữ liệu tại máy cá nhân để lưu trữ các từ vựng, cụm từ đã tra cứu để tạo thành bộ từ điển riêng cho mỗi người dùng
Chương trình được viết bằng ngôn ngữ C#, sử dụng bộ Visual Studio 2008
Chạy tối ưu trên các máy có hỗ trợ RAM 256MB trở lên
Trang 5 Sử dụng thư viện nhận dạng giọng nói miễn phí của hãng IBM
1.3 Hướng giải quyết vấn đề
Cài đặt và chạy thử nghiệm trên các hệ điều hành Microsoft Windows XP/Vista/7/8
Xây dựng module dịch tự động một đoạn văn bản bằng dịch vụ dịch tự động của Google thông qua kết nối Internet
Xây dựng cơ sở dữ liệu lưu trữ lại những từ đã tra cứu
Xây dựng module thu nhận và nhận dạng giọng nói
Tổng hợp các thành phần trên xây dựng ứng dụng hoàn chỉnh, thử nghiệm và tối ưu mã nguồn
Thử nghiệm với nhiều hệ điều hành khác nhau, các dòng micro khác nhau
Trang 6Chương 2 PHÂN TÍCH VÀ THIẾT KẾ ỨNG DỤNG
2.1 Biểu đồ ca sử dụng (Use Case Diagram)
Hình 2.1: Biểu đồ ca sử dụng
Đặc tả Tác Nhân (Actor)
User: Người dùng có nhu cầu tra cứu từ điển, dịch đoạn văn Người dùng có thể nhập từ bàn phím hoặc dùng âm thanh để tra cứu Các từ vựng sau khi tra cứu được lưu trữ và người dùng có thể xem lại, thêm, sửa, xóa các từ vựng trong cơ sở dữ liệu Bên cạnh đó người dùng có thể nghe cách phát âm nội dung cần dịch
Đặc tả Chức Năng (User Case)
Dịch từ: Chức năng này cho phép người dùng tra cứu từ Nếu việc truy vấn
Cơ sở dữ liệu cục bộ trả về kết quả rỗng thì dịch tự động của Google sẽ thực hiện
Thêm từ Dịch từ
Sửa từ
Nhập văn bản
Dùng âm thanh Lưu từ vừa dịch
Phát âm
Tương tác CSDL
Dịch đoạn user
Xem từ
Xóa từ
Trang 7 Lưu từ vừa dịch: Chức năng này tự động lưu từ vừa dịch vào cơ sở dữ liệu trong trường hợp cơ sở dữ liệu chưa có từ này, nếu đã có thì sẽ thông báo cho người dùng
Nhập văn bản: Chức năng mở rộng, cho phép người dùng có thể dịch từ hoặc đoạn văn bằng cách nhập nội dung từ bàn phím
Dịch đoạn: Chức năng này cho phép người dùng dịch một đoạn văn bản
Dùng âm thanh: Chức năng mở rộng, cho phép người dùng có thể dịch từ hoặc đoạn văn bằng cách đọc vào micro
Tương tác CSDL: Chức năng cho phép người dùng truy cập và tương tác với
Xoá từ: Chức năng này có nhiệm vụ xoá từ ra khỏi cơ sở dữ liệu
Phát âm: Chức năng này phát âm kết quả dịch bằng thư viện có sẵn trong Windows
Trang 82.2 Biểu đồ hoạt động (Activity Diagram)
2.2.1 Tra từ, dịch đoạn qua giọng nói và bàn phím
Hình 2.2: Tra từ, dịch đoạn (biểu đồ hoạt động)
Hiển thị kết quả Dịch
Truy vấn CSDL
Hiển thị
Thông báo lỗi
Trang 92.2.2 Xem, thêm, sửa, xóa nội dung dịch của từ
Hình 2.3: Xem, thêm, xoá, sửa nội dung dịch của từ (biểu đồ hoạt động)
2.3 Biểu đồ lớp (Class Diagram)
Thêm từ
Chọn hành động
Xem từ Nhập thông tin
[sửa]
Xóa từ [xóa]
[kết thúc]
[thực hiện tiếp]
[không thành công]
Thông báo
đã có
[người dùng lựa chọn]
Thông báo lỗi
Trang 10 Đặc tả thuộc tính
Eng: Từ tiếng Anh trong cơ sở dữ liệu
Viet: Nội dung tiếng Việt tương ứng với một từ tiếng Anh trong cơ sở dữ liệu cục bộ
Đặc tả phương thức
DichTu(string Eng): Kiểm tra xem string Eng có phải là "Dịch từ" hay
không? Nếu kết quả trả về True là "Dịch từ", ngược lại kết quả trả về False thì là "Dịch đoạn"
Xem(string Eng): Truy vấn cơ sở dữ liệu và hiển thị nội dung tiếng Việt tương ứng với từ tiếng Anh (đối số Eng)
Them(string Eng, string Viet): Thêm từ tiếng Anh (Eng) và nội dung tiếng Việt tương ứng của nó (Viet) vào cơ sở dữ liệu cục bộ
Sua(string Eng): Sửa nội dung tiếng Việt tương ứng với từ tiếng Anh (Eng)
và lưu vào cơ sở dữ liệu
Xoa(string Eng): Xóa dữ liệu về từ tiếng Anh (Eng) và nội dung tiếng Việt tương ứng
DaCoMicro(): Kiểm tra xem đã có micro kết nối máy tính chưa, để phục vụ cho việc dịch bằng tiếng nói
Chuyen(): Chuyển tiếng nói thành văn bản
KetNoiInternet(string Url): Mở kết nối đến Url thông qua Internet
NgatKetNoi(string Url): Đóng kết nối đến Url
Dich(string Eng): Gửi nội dung tiếng Anh (Eng) đến server Google và nhận kết quả dịch được trả về
Trang 112.4 Biểu đồ tuần tự (Sequence Diagram)
8: [không kết nối được]
Thông báo cho người dùng()
Trang 122.4.2 Dịch từ qua giọng nói
Hình 2.6: Dịch từ qua giọng nói (biểu đồ tuần tự)
10: [kết quả rỗng] Kiểm tra kết nối Internet()
13: Nhận kết quả trả về 12: [có kết nối] Gửi nội dung đến server()
Cơ sở dữ liệu
3: Đọc từ vào micro()
4: Chuyển thành văn bản()
8: Trả về kết quả 7: Truy vấn kết quả()
11: [không kết nối được]
Thông báo cho người dùng()
Trang 142.4.4 Dịch đoạn qua giọng nói
Hình 2.8: Dịch đoạn qua giọng nói (biểu đồ tuần tự)
Chương trình ServerGoogle 1: Dịch bằng âm thanh()
2: Hiển thị giao diện() User
3: Đọc nội dung vào micro()
5: Hiển thị nội dung đoán ra màn hình()
Trang 152.4.5 Thêm từ vào cơ sở dữ liệu
Hình 2.9: Thêm từ vào cơ sở dữ liệu (biểu đồ tuần tự)
2.4.6 Xem từ đã lưu trong danh sách
Hình 2.10: Xem từ trong cơ sở dữ liệu (biểu đồ tuần tự)
Chương trình Cơ sở dữ liệu User
1: Chọn từ muốn xem()
4: Nội dung dịch(tu)
2: Truy vấn nội dung trong csdl(tu) 3: Nội dung dịch của từ được chọn
1: Chọn chức năng “Thêm từ”()
Chương trình Cơ sở dữ liệu
2: Hiển thị giao diện “Thêm từ”
3: Nhập từ muốn thêm và nội dung()
4: Hiển thị nội dung được nhập (eng,viet)
User
7: Trả về kết quả 8: [đã tồn tại] Thông báo()
Trang 162.4.7 Xóa từ
Hình 2.11: Xóa từ trong cơ sở dữ liệu (biểu đồ tuần tự)
2.4.8 Sửa từ
Hình 2.12: Sửa từ trong cơ sở dữ liệu (biểu đồ tuần tự)
Chương trình Cơ sở dữ liệu
1: Chọn từ() 4: Hiển thị nội dung dịch (tu)
7: Bấm nút “Lưu” 8: Lưu nội dung vào csdl(tu,nd_moi)
9: Kết quả 10: Thông báo cho người dùng()
User
5: Chọn chức năng Sửa()
6: Nhập nội dung chỉnh sửa()
2: Truy vấn nội dung trong csdl (tu) 3: Nội dung dịch của từ được chọn
Chương trình Cơ sở dữ liệu
1: Chọn từ()
4: Hiển thị nội dung dịch(tu)
5: Chọn chức năng Xóa() 6: Xóa từ trong csdl (tu)
7: Kết quả 8: Thông báo cho người dùng
User
2: Truy vấn nội dung trong csdl (tu) 3: Nội dung dịch của từ được chọn
Trang 172.5 Biểu đồ trạng thái (State Chart Diagram)
2.5.1 Dịch bằng văn bản
Hình 2.13: Dịch bằng văn bản (biểu đồ trạng thái)
2.5.2 Dịch qua giọng nói
Hình 2.14: Dịch qua giọng nói (biểu đồ trạng thái)
Dịch qua giọng nói
Kết quả được hiển thị
Hiển thị giao diện
Hệ thống xử lý Tiếp tục
Kết quả được hiển thị
Hiển thị giao diện
Hệ thống xử lý Tiếp tục
Khởi động
Xử lý xong
Kết thúc
Trang 182.5.3 Xem, thêm, sửa, xóa trong danh sách từ
Hình 2.15: Xem, thêm, sửa, xóa trong danh sách từ (biểu đồ trạng thái)
2.6 Biểu đồ thành phần (Component Diagram)
Hình 2.16: Biểu đồ thành phần
Giao diện tương tác csdl
Kết quả được hiển thị
Chọn chức năng Xem từ đã tra
Giao diện nhập nội dung từ mới
Giao diện chỉnh sửa nội dung
Giao diện xóa từ
Trang 192.7 Biểu đồ triển khai (Deployment Diagram)
Hình 2.17: Biểu đồ triển khai
2.8 Giao diện chương trình (GUI)
Hình 2.18: Giao diện chính của chương trình
phím
Trang 20Hình 2.19: Giao diện xem nội dung từ, tra từ và tra đoạn qua Internet
Hình 2.20: Giao diện cơ sở dữ liệu
Trang 21Hình 2.21: Giao diện thêm từ
Hình 2.22: Giao diện sửa từ
Trang 22Hình 2.23: Giao diện xóa từ
Trang 231 Dựa vào biểu đồ lớp để xây dựng nên mô hình dữ liệu cho hệ thống
2 Dựa vào biểu đồ lớp, các biểu đồ tuần tự và các biểu đồ hoạt động để xây dựng mã lệnh cho hệ thống
3 Dựa vào biểu đồ ca sử dụng và biểu đồ trạng thái để xây dựng ứng dụng
4 Dựa vào giao diện thiết kế để phát triển và hoàn thiện chương trình
Hướng phát triển của chúng em trong thời gian tới là mở rộng sang các ngôn ngữ khác (như tiếng Pháp, Đức, Nga, Trung, Nhật, ) và dịch theo chiều ngược lại Sau
đó phân tích, thiết kế và phát triển thêm tiện ích này trên các thiết bị thông minh (smart devices)
Trang 24TÀI LIỆU THAM KHẢO
[1] TS Nguyễn Thanh Bình, Bài giảng Phân tích và thiết kế hệ thống hướng
đối tượng, Đại học Bách Khoa, Đại học Đà Nẵng
[2] Nguyễn Văn Ba, Phát triển hệ thống hướng đối tượng với UML 2.0 và
C++
[3] Grady Booch, Object Oriented Analysis and Design with Applications
[4] Và một số website khác trên Internet