ứng dụng phần mềm thông báo kết quả điểm thi học sinh qua dtdt
Trang 1LỜI NÓI ĐẦU
Trong mỗi gia đình, các bậc cha mẹ có con cắp sách tới trường lúc nào cũng quan tâm đến việc học của con mình Chẳng hạn các bài kiểm tra trong tháng được bao nhiêu điểm ? Kết quả thi ở cuối mỗi học kỳ ra sao ? Và kể cả việc muốn biết con mình có nghỉ học bữa nào không hoặc có vi phạm nội quy gì ở trường hay không và lý do tại sao ? Thông thường, gia đình chỉ biết những chuyện này sau khi nhà trường phát sổ liên lạc về nhà.
Ngày nay, với sự phát triển của ngành máy tính, ta có thể tự động hóa công việc này bằng cách kết nối máy tính với điện thoại như là một hệ thống trả lời tự động Khi một phụ huynh gọi điện thoại tới số máy này, hệ thống sẽ thông báo các kết quả học tập của học sinh Điều này thật là thuận lợi, nhanh chóng và dễ dàng , có thể thực hiện ở mọi lúc mọi nơi.
Tuy đề tài này đã được hoàn thành nhưng chắc chắn không tránh khỏi thiếu sót Em rất mong được sự quan tâm, giúp đỡ và góp ý của các thầy, cô và các bạn.
Cuối cùng, em xin cảm ơn thông tin cả các thầy cô ở bộ môn Công nghệ thông tin đã dành cho em đề tài này và đặc biệt là thầy Nguyễn Đức Thuần, người đã trực tiếp gợi ý và hướng dẫn, giúp em hoàn thành đề tài này.
Trang 3PHẦN 1
GIỚI THIỆU ĐỀ TÀI
Nhu cầu thực tiễn Yêu cầu của đề tài
Hoạt động của hệ thống
Trang 4NHU CẦU THỰC TIỄN
Hiện nay, thông thường mỗi học sinh sẽ được phát cho một cuốn sổ liên lạc Nhà trường sẽ sử dụng sổ này để thông báo cho phụ huynh của học sinh biết kết quả học tập của học sinh ở sau mỗi tháng hoặc sau mỗi học kỳ Trong sổ liên lạc, nhà trường thường chỉ ghi kết quả cuối cùng của mỗi tháng hoặc mỗi học kỳ Do vậy phụ huynh không thể biết được chi tiết các cột điểm của các môn học trong mỗi tháng Ngoài ra, những lần nghỉ học cũng như những lần vi phạm nội quy của học sinh sẽ không được ghi vào trong ấy Vì thế các bậc phụ huynh khó có thể theo dõi chặt chẽ những diễn biến học tập của con mình ở trường như thế nào.
Công việc giáo dục học sinh cần phải có sự phối hợp giữa gia đình và nhà trường Nhằm tạo sự thuận lợi cho các bậc phụ huynh có thể nắm bắt được những thông tin về học sinh một cách nhanh chóng, đầy đủ, ở đề tài tốt nghiệp này, em đã tìm hiểu và viết một chương trình tự động thông báo kết quả học tập của học sinh qua điện thoại.
Trang 5YÊU CẦU CỦA ĐỀ TÀI
Tạo một giao tiếp giữa máy tính và điện thoại : - Nhận được tín hiệu gọi tới từ điện thoại - Tạo một kết nối giữa máy tính và cuộc gọi đó - Nhận biết phím nào đã được bấm từ máy điện
thoại của người gọi để thực hiện yêu cầu của người đó
Tìm kết quả trong cơ sở dữ liệu
Thông báo bằng giọng nói cho người gọi nghe Hỗ trợ thêm chương trình cập nhật dữ liệu Hỗ trợ thêm việc ghi âm lại các từ tiếng Việt
Trang 6HOẠT ĐỘNG CỦA HỆ THỐNG
Hệ thống được thiết kế để thông báo mọi vấn đề liên quan đến học tập và đạo đức thường gặp nhất ở học sinh Khi một người gọi điện tới, hệ thống sẽ yêu cầu nhập vào mã số của học sinh Sau đó, hệ thống sẽ đưa ra menu để chọn lựa vấn đề đang quan tâm Người gọi muốn nghe thông tin chỉ cần nhấn các phím tương ứng với các mục sau đây :
PhímÝ nghĩa
# Thay đổi mã số học sinh 1
Nghe thông tin về các lần nghỉ học trong tháng
(ngày nghỉ học, số ngày nghỉ, có phép/khôngphép, lý do)
2 Nghe thông tin về các lần vi phạm nội quy trong
tháng (ngày vi phạm, lý do)
3 Nghe điểm kiểm tra của các môn học trong tháng 4 Nghe điểm thi của các môn học ở cuối học kỳ 5 Nghe kết quả cuối tháng (điểm trung bình, hạng,
8 Nghe thông tin chi tiết về học sinh mang mã số
hiện tại (họ, tên, ngày sinh, giới tính, nơi sinh,
Trang 7tên lớp đang học ở năm học hiện tại được chọn)
9 Chọn năm học khác (năm học mặc định là năm
học hiện tại)
* Kết thúc cuộc gọi
Trang 8PHẦN 2
THIẾT KẾ HỆ THỐNG
Lưu đồ hoạt động của hệ thống
Hoạt động giao tiếp giữa điện thoại và máy tính
Thiết kế và truy xuất cơ sở dữ liệuPhương pháp tổng hợp tiếng nóiTổ chức và lưu trữ tiếng nóiPhát tiếng nói qua điện thoạiChương trình thu tiếng nóiChương trình cập nhật dữ liệu
Trang 10HOẠT ĐỘNG GIAO TIẾP
GIỮA ĐIỆN THOẠI VÀ MÁY TÍNH
Để máy tính có thể kết nối với điện thoại, chương trình sử dụng bộ thư viện TAPI (Telephony Application Programming Interface) do Windows cung cấp TAPI là tập hợp các hàm đơn lẻ dùng để hỗ trợ cho việc lập trình giao tiếp giữa máy tính và điện thoại thông qua các thiết bị truyền thông như một bảng mạch hệ thống điện thoại hay một modem.
Có nhiều phiên bản TAPI tương ứng với các phiên bản Windows Chương trình này sử dụng phiên bản TAPI đầu tiên (1.4) cho Windows 32-bit vì nó tương thích với tất cả các phiên bản Windows sau này.
Trang 11THIẾT KẾ VÀ TRUY XUẤT
- Dữ liệu được lưu trong cơ sở dữ liệu này sử dụng bảng mã VNI for Windows (2 byte)
- Đối tượng truy xuất dữ liệu được sử dụng là Microsoft DAO
Mỗi khi có người gọi tới muốn nghe một kết quả nào đó thì hệ thống sẽ yêu cầu người gọi cung cấp một số thông số cần thiết như : mã số học sinh, tên tháng hoặc tên học kỳ muốn biết, vv Từ những thông số này, hệ thống sẽ tạo ra một câu truy vấn SQL, sau đó thực hiện câu lệnh này thông qua phương thức Execute của đối tượng Database.
Nếu không tìm thấy kết quả nào, thuộc tính NoMatch của đối tượng Recordset sẽ mang giá trị TRUE.
Trang 12PHƯƠNG PHÁP TỔNG HỢPTIẾNG NÓI
Có 2 hướng chính :
Dựa vào các mô hình tổng hợp : Tổng hợp tạo âm giống như những gì được tạo bởi giọng nói của con người phát ra Phương pháp này cần cung cấp nhiều bộ lọc mô phỏng chiều dài, cổ họng, khoang miệng, hình dạng môi và vị trí lưỡi
Dựa vào việc ghép âm trực tiếp : Dễ dàng được thực hiện bằng cách thu âm các từ đơn lẻ rồi ghép lại Chương trình sẽ tổng hợp tiếng nói theo hướng này.
Trang 13Trong 4 phương pháp trên, phương pháp ghép từng từ đơn
tuy cần nhiều dung lượng lưu trữ hơn nhưng chất lượng được đảm bào Vì vậy, chương trình sẽ sử dụng cách này để tổng hợp tiếng nói
Trang 14TỔ CHỨC VÀ LƯU TRỮTIẾNG NÓI
Có rất nhiều chuẩn khác nhau cho file âm thanh Ở đây, tiếng nói sẽ được truyền qua điện thoại nên không cần chất lượng cao như các bài nhạc, nhưng cũng không quá thấp khiến người gọi khó nghe Tiếng nói trong chương trình được thu theo chuẩn với các thông số như sau :
Số byte trên 1 giây 11025
Trang 15Có 2 cách tổ chức file tiếng nói :
Lưu trữ thành từng file *.wav : Mỗi từ thu âm thành 1 file * Wav
Ưu điểm : Dễ thu và phát, không cần viết nhiều
mã lệnh.
Nhược điểm : Số lượng file cần lưu trữ rất lớn
(hơn 6000 file tương úng với hơn 6000 từ tiếng Việt); Tốc độ phát chậm và bị gián đoạn vì phải đóng và mở các file liên tục.
Lưu trữ thành các file dữ liệu âm thanh : Tổ chức thành 24 file *.sam tương ứng với 24 chữ cái tiếng Anh để lưu trữ các mẫu âm thanh của các từ (dựa vào chữ cái đầu của từ đó) và 1 file @.sam để lưu các câu thông báo, lời chào.
Song song đó phải tạo 1 bảng chỉ mục cho các từ, gồm 4 trường : từ được thu âm, vị trí bắt đầu (FileOffset) , kích thước của phần dữ liệu âm thanh (DataSize) và tên nhóm (chữ cái đầu tiên) ứng với từ này trong file *.sam
Ưu điểm : Tốc độ phát nhanh và liên tục; Chỉ
cần 25 file để lưu trữ dữ liệu tiếng nói
Nhược điểm : Phải viết rất nhiều mã lệnh để
thực hiện các công việc như cấp phát bộ nhớ, đọc/ghi file, và điều khiển toàn bộ quá trình
Trang 16PHÁT TIẾNG NÓIQUA ĐIỆN THOẠI
Để phát một câu nói, ta phải tách câu đó thành các từ đơn lẻ, sau đó nạp dữ liệu tiếng nói tương ứng của các từ đó vào bộ nhớ Các bước thực hiện như sau :
- Mở tất cả các file *.sam
- Tách chuỗi (câu nói cần phát) thành các từ đơn - Kiểm tra nếu từ nào là số thì chuyển thành chữ - Tìm lần lượt các từ đó trong bảng chỉ mục để lấy
ra 3 giá trị FileOffset , DataSize và tên nhóm , nếu từ nào không có thì sẽ bỏ qua.
- Lần lượt đọc dữ liệu tiếng nói của từng từ vào vùng đệm từ các file *.sam tương ứng với các từ Sau khi đã đọc hết dữ liệu tiếng vào vùng đệm, ta bắt đầu phát qua điện thoại bằng cách gọi các hàm multimedia cấp thấp trong thư viện Winmm.lib của Windows Các bước thực hiện như sau :
- Lấy giá trị ID (số nhận dạng) tương ứng cho cuộc gọi được kết nối thông qua modem Giá trị ID này được xem như là ID của thiết bị để phát âm thanh - Mở thiết bị phát âm thanh với ID vừa lấy
- Tạo header cho khối dữ liệu âm thanh sẽ phát ra - Thực hiện phát toàn bộ khối dữ liệu tiếng nói đó
Trang 17CHƯƠNG TRÌNH THUTIẾNG NÓI
Mặc dù các từ tiếng Việt cũng như các lời chào và tạm biệt đã được thu âm sẵn trước khi tới tay người sử dụng, hệ thống vẫn kèm thêm một chương trình thu âm nhằm cho phép người dùng thu âm lại hoặc thêm nếu cần
Bằng cách dùng các hàm multimedia cấp thấp trong thư viện Winmm.lib của Windows, chương trình sẽ tiến hành thu âm thông qua soundcard, sau đó ghi khối dữ liệu tiếng nói thu được vào file *.sam tương ứng với từ được thu, đồng thời cập nhật vào bảng chỉ mục
Ngoài ra chương trình còn có các chức năng khác như : phát (qua soundcard) , xóa, chèn thêm thời gian im lặng vào đầu và cuối 1 từ đã thu
Trang 18 Kết quả cuối năm học
Chương trình sử dụng đối tượng truy xuất dữ liệu Microsoft DAO để kết nối với file cơ sở dữ liệu Mọi thao tác với cơ sở dữ liệu đều thông qua các phương thức có sẵn của DAO , đồng thời kết hợp với các câu lệnh SQL
Nhằm tạo sự linh động cho người dùng, chương trình còn cho phép thêm mới một số loại dữ liệu sau : năm học, lớp, môn học, loại kiểm tra, lý do nghỉ học, lỗi vi phạm.
Trang 19VẬN HÀNH HỆ THỐNG
Lần đầu tiên chạy chương trình, hộp thoại cấu hình sẽ hiện ra cho người dùng chọn modem, số tiếng chuông reo và thời gian rỗi tối đa
Khi bắt đầu chạy, chương trình có giao diện như sau :
Trang 20cuộc gọi tới sẽ không được trả lời Sau khi nhấn nút “Chờ cuộc gọi” thì hệ thống sẽ bắt đầu hoạt động, chờ tín hiệu của cuộc gọi tới :
Nếu có người gọi tới, hình ảnh minh họa tiếng chuông đang reo của chiếc điện thoại như sau :
Trang 21Sau một số tiếng chuông reo được đặt trước thì hệ thống sẽ “nhấc máy” để trả lời người gọi :
Sau khi người gọi kết thúc cuộc gọi, hệ thống sẽ trở lại trạng thái 2, tức là chờ đợi cuộc gọi khác.
Khi hệ thống đang hoạt động, bất kỳ lúc nào người sử dụng nhấn nút “Dừng” thì hệ thống sẽ ngắt kết nối (nếu có) và ngừng hoạt động ngay Tóm lại, hệ thống sẽ ở một trong 4 trạng thái trên.
Trang 22Chương trình cập nhật dữ liệu :
Trang 23ĐÁNH GIÁ HỆ THỐNG
Ưu điểm :
- Chạy được trên các phiên bản Windows khác nhau - Không đòi hỏi cấu hình máy tính cao Chẳng hạn với
cấu hình như sau, chương trình vẫn hoạt động tốt : CPU : AMD- K5 - 100 MHz ; RAM : 48 MB ; MODEM : Motorola 56K - Internal
- Chương trình sử dụng giao tiếp là modem để hoạt động nên người dùng chỉ cần trang bị một modem (internal/external) với giá không quá cao.
- Có khả năng đọc được hầu hết những từ tiếng Việt thông dụng.
- Cho phép thêm hoặc thu lại tiếng nói của người dùng
Hạn chế :
- Vì chương trình sử dụng giao tiếp là modem nên tại một thời điểm, hệ thống chỉ tiếp nhận được một cuộc gọi.
- Cơ sở dữ liệu chưa được mã hóa để bảo mật
- Tiếng nói thu vào chưa được xử lý nên chất lượng còn
Trang 24HƯỚNG PHÁT TRIỂN
Hỗ trợ telephony card nhằm có thể trả lời nhiều cuộc gọi ở cùng thời điểm.
Mã hóa cơ sở dữ liệu hoặc thay thế bằng hệ quản trị cơ sở dữ liệu khác như Oracle, SQL Server, để tăng cường khả năng bào mật
Thêm một số chức năng cho chương trình thu âm để người dùng linh động hơn trong việc thu tiếng nói như : giảm độ ồn, chỉnh sửa trực tiếp sóng âm thanh ở dạng đồ họa,
Tạo lại bảng chỉ mục để tìm kiếm nhanh hơn
Trang 25KẾT LUẬN
Chương trình “Thông báo kết quả học tập của học sinh qua điện thoại” đã được hoàn thiện, có thể ứng dụng cho các trường học phổ thông, giúp cho các bậc phụ huynh có thể nắm bắt được diễn biến học tập của con mình một cách nhanh chóng, dễ dàng Tuy không thể trả lời nhiều cuộc gọi đồng thời nhưng trong phạm vi một trường học thì điều này có thể chấp nhận được.
Đề tài “Thông báo kết quả học tập của học sinh qua điện thoại” là một đề tài rất hay và thiết thực Trong quá trình nghiên cứu, tìm hiểu, em đã có dịp ôn lại rất nhiều kiến thức đã học cũng như được biết thêm những kiến thức mới Cũng qua đề tài này, em đã hiểu được phần nào về hoạt động của các hộp thư thoại ( voice mail) và các hệ thống trả lời tự động (answering machine) mà hiện nay được sử dụng rất nhiều Và dĩ nhiên từ đây em có thể viết được các chương trình giả lập các hệ thống đó thông qua hoạt động giao tiếp giữa máy tính và điện thoại
Trang 26TÀI LIỆU THAM KHẢO
1 Bộ CD MSDN 10/2001
2 E-book : “MAPI, SAPI, and TAPI Developer's Guide” (Michael Amundsen -http://www.iac.net/~mamund/)3 TAPI reference (http://www.msdn.microsoft.com)4 TAPI description (http://allen-martin-inc.com)5 TAPI reference and examples
6 Audio Interchange File Format (http://www.wotsit.org)7 Visual Basic - Lập trình cơ sở dữ liệu
(Nguyễn Thị Ngọc Mai – Nguyễn Thị Kim Trang – Hoàng Đức Hải)
8 Bí quyết lập trình Visual Basic 6.0
(Nguyễn Tiến - Đặng Xuân Hường - Nguyễn Văn Hoài - Trương Ngọc Vân)