ứ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áchtới trường lúc nào cũng quan tâm đến việc học của conmình Chẳng hạn các bài kiểm tra trong tháng được baonhiê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ônghoặc có vi phạm nội quy gì ở trường hay không và lý do tạisao ? Thông thường, gia đình chỉ biết những chuyện nàysau 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ínhvới điện thoại như là một hệ thống trả lời tự động Khi mộtphụ huynh gọi điện thoại tới số máy này, hệ thống sẽ thôngbáo các kết quả học tập của học sinh Điều này thật là thuậnlợi, nhanh chóng và dễ dàng , có thể thực hiện ở mọi lúcmọi nơi
Tuy đề tài này đã được hoàn thành nhưng chắc chắnkhô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átcho 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ậpcủ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ủamỗ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ỗitháng Ngoài ra, những lần nghỉ học cũng như những lần viphạ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ợpgiữa gia đình và nhà trường Nhằm tạo sự thuận lợi cho cácbậc phụ huynh có thể nắm bắt được những thông tin về họcsinh 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áokế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ênquan đế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 nghethô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ông phé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ệu
Phương pháp tổng hợp tiếng nói
Tổ chức và lưu trữ tiếng nói
Phát tiếng nói qua điện thoại
Chương trình thu tiếng nói
Chương trình cập nhật dữ liệu
Trang 9LƯU ĐỒ HOẠT ĐỘNG
CỦA HỆ THỐNG
Bắt đầu
Chuông reo Kết nối
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 ApplicationProgramming Interface) do Windows cung cấp TAPI là tậphợp các hàm đơn lẻ dùng để hỗ trợ cho việc lập trình giaotiế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 haymột modem
Có nhiều phiên bản TAPI tương ứng với các phiên bảnWindows Chương trình này sử dụng phiên bản TAPI đầutiê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
Nếu không tìm thấy kết quả nào, thuộc tính NoMatchcủa đối tượng Recordset sẽ mang giá trị TRUE
Trang 12bộ 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ựchiệ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ấtlượng cao như các bài nhạc, nhưng cũng không quá thấpkhiế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ếngViệ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ứcthành 24 file *.sam tương ứng với 24 chữ cái tiếngAnh để lưu trữ các mẫu âm thanh của các từ (dựavào chữ cái đầu của từ đó) và 1 file @.sam để lưucá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ÓI
QUA Đ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àovù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 multimediacấp thấp trong thư viện Winmm.lib của Windows Cácbước thực hiện như sau :
- Lấy giá trị ID (số nhận dạng) tương ứng cho cuộcgọ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 THU
TIẾNG NÓI
Mặc dù các từ tiếng Việt cũng như các lời chào và tạmbiệ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 chophé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ànhthu âm thông qua soundcard, sau đó ghi khối dữ liệu tiếngnó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ệuMicrosoft DAO để kết nối với file cơ sở dữ liệu Mọi thaotác với cơ sở dữ liệu đều thông qua các phương thức có sẵncủ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ìnhcò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ệucủ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ạitrạ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ệtthô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ộcgọ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ăngcườ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 sinhqua điện thoại” đã được hoàn thiện, có thể ứng dụng chocá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áchnhanh 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ệnthoại” là một đề tài rất hay và thiết thực Trong quá trìnhnghiên cứu, tìm hiểu, em đã có dịp ôn lại rất nhiều kiếnthứ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ốngtrả 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ácchương trình giả lập các hệ thống đó thông qua hoạt độnggiao 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
(http://www.geocities.com/sfrare)
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)