Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

phần mềm thông báo kết quá của học sinh qua điện thoại di động.doc
Nội dung xem thử
Mô tả chi tiết
Thông báo kết quả học tập của học sinh qua điện thoại GVHD : Nguyễn Đức Thuần
LỜ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 bữa nay con mình có lên
trả bài hay không ? 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 liên tục 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 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.
Sinh viên thực hiện
Bùi Danh Đạt
SVTH : Bùi Danh Đạt Trang 1
Thông báo kết quả học tập của học sinh qua điện thoại GVHD : Nguyễn Đức Thuần
PHẦN 1
GIỚI THIỆU
ĐỀ TÀI
SVTH : Bùi Danh Đạt Trang 2
Thông báo kết quả học tập của học sinh qua điện thoại GVHD : Nguyễn Đức Thuần
I. Đặt vấn đề :
Hiện nay, thông thường mỗi học sinh cắp sách tới trường 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. Em nhận thấy có 3 vấn đề chính sau đây được đặt
ra cần giải quyết là :
• 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 đó và 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
Vấn đề đầu tiên là phải tạo được một giao tiếp giữa điện thoại và máy tính
thông qua một modem. Và để truyền được tín hiệu tiếng nói từ máy tính đến
điện thoại, modem này phải có hỗ trợ chức năng “voice“. Máy tính lúc này sẽ
đồng thời đóng vai trò của máy điện thoại và nhân viên trường học. Người gọi
có thể sử dụng bất kỳ điện thoại nào để gọi tới. Lúc này máy tính sẽ tự động
“nhấc máy” và đối thoại với người gọi.
Vấn đề thứ hai được giải quyết bằng cách sử dụng các câu lệnh truy vấn
(SQL) mà bất kỳ thao tác nào với cơ sở dữ liệu cũng cần phải có.
Vấn đề cuối cùng là áp dụng công nghệ “text-to-speech” để chuyển từ chữ
trong máy tính sang tiếng nói, sau đó sẽ truyền đi qua điện thoại tới người gọi.
Tất cả những vấn đề này sẽ được trình bày chi tiết trong các phần sau.
SVTH : Bùi Danh Đạt Trang 3
Thông báo kết quả học tập của học sinh qua điện thoại GVHD : Nguyễn Đức Thuần
II. Môi trường lập trình :
Chương trình “Thông báo kết quả học tập qua điện thoại” được viết bằng
ngôn ngữ lập trình Visual Basic 6.0 trên hệ điều hành Microsoft Windows 98.
Hệ quản trị cơ sở dữ liệu được dùng để cài đặt cơ sở dữ liệu là Microsoft
Access 97
III. Giới thiệu về hoạt động của chương trình :
Chương trình được thiết kế để thông báo mọi vấn đề liên quan đến đế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ô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, học lực, hạnh
kiểm)
6 Nghe kết quả cuối học kỳ (điểm trung bình, hạng, học lực, hạnh
kiểm)
7 Nghe kết quả cuối năm học (điểm trung bình, hạng, học lực, hạnh
kiểm)
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, tê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
SVTH : Bùi Danh Đạt Trang 4
Thông báo kết quả học tập của học sinh qua điện thoại GVHD : Nguyễn Đức Thuần
Nếu người gọi nhấn một trong các phím 1, 2, 3, 5 thì sẽ được yêu cầu
nhập vào tháng muốn biết. Nếu nhấn phím 4 hay 6 thì sẽ được yêu cầu nhập vào
học kỳ muốn biết.
Bất cứ lúc nào, người gọi có thể nhấn phím * để trở về menu. Muốn kết
thúc cuộc gọi, ngoài cách nhấn phím * tại menu chọn lựa, người gọi có thể gác
máy như bình thường, lúc này hệ thống sẽ tự phát hiện ra , ngắt kết nối với cuộc
gọi hiện tại và tiếp tục chờ cuộc gọi khác đến. Nếu hệ thống phát hiện sau một
khoảng thời gian định trước (thời gian rỗi) mà không có một tác động nào từ
phía người gọi thì hệ thống cũng sẽ tự động ngắt kết nối.
SVTH : Bùi Danh Đạt Trang 5
Thông báo kết quả học tập của học sinh qua điện thoại GVHD : Nguyễn Đức Thuần
PHẦN 2
CƠ SỞ
LÝ THUYẾT
SVTH : Bùi Danh Đạt Trang 6
Thông báo kết quả học tập của học sinh qua điện thoại GVHD : Nguyễn Đức Thuần
Chương 1
GIAO TIẾP GIỮA ĐIỆN THOẠI
VÀ MÁY TÍNH
I. Sự cần thiết của modem :
Như chúng ta đã biết kỹ thuật điện thoại ra đời và phát triển rất sớm trước
kỹ thuật máy tính. Ngày đó, đường dây điện thoại được thiết kế chỉ để truyền
tín hiệu của tiếng nói có tần số của âm thanh. Dạng tín hiệu này thuộc loại tín
hiệu tương tự (analog) và thường gọi là sóng âm tần hình sin. Trong khi đó,
máy tính chỉ có thể xử lý các tín hiệu số (digital) có tần số cao. Nếu tín hiệu số
này được truyền trực tiếp trên đường dây điện thoại thì chúng sẽ bị suy giảm và
biến dạng. Vì thế, một thiết bị chuyển đổi qua lại giữa hai tín hiệu này đã ra đời,
gọi là modem. Công việc chuyển tín hiệu số của máy tính thành tín hiệu tương
tự của đường dây điện thoại được thực hiện bằng một số phương pháp mà
người ta gọi là điều chế (Modulation). Ngược lại, công việc chuyển tín hiệu
tương tự của đường dây điện thoại thành tín hiệu số của máy tính cũng được
thực hiện bằng một số phương pháp mà người ta gọi là giải điều chế
(Demodulation). Modem chính là viết tắt của 2 chữ Modulation và
Demodulation.
Ứng dụng của modem mà chúng ta thường thấy nhất là kết hợp với máy
tính để truy cập internet. Trong trường hợp này, mỗi đầu của đường dây điện
thoại sẽ nối vào một modem gắn vào máy tính. Nhờ đó chúng ta có thể truy
xuất được dữ liệu của máy kia (máy chủ). Còn ở đây, đối với công việc thông
báo qua điện thoại từ máy tính, ta chỉ cần nối một đầu dây điện thoại vào
modem gắn với máy tính tại trường học. Người gọi có thể sử dụng bất kỳ điện
thoại nào để gọi tới. Lúc này tín hiệu từ đường dây điện thoại sẽ được modem
chuyển đổi thành tín hiệu số và đưa vào máy tính để xử lý. Sau đó máy tính sẽ
phát trở lại các tín hiệu số (ví dụ như tiếng nói ở dạng số) cho modem để
SVTH : Bùi Danh Đạt Trang 7
Thông báo kết quả học tập của học sinh qua điện thoại GVHD : Nguyễn Đức Thuần
modem chuyển đổi thành các tín hiệu tương tự (tiếng nói ở dạng tương tự) và
truyền ngược trở lại người gọi. Nhờ đó , người gọi có thể nghe được.
II. Giao tiếp lập trình ứng dụng cho hệ thống điện thoại - TAPI
(Telephony Application Programming Interface) :
I. Một số khái niệm trong mô hình TAPI :
II. TAPI là gì ?
TAPI được phát triển bởi sự kết hợp của hai hãng Intel và Microsoft .
TAPI được thiết kế để truy xuất các dịch vụ điện thoại trên tất cả các hệ điều
hành Windows. Nói cách khác, TAPI là tập hợp các hàm đơn lẻ được Windows
cung cấp để hỗ trợ cho việc lập trình giao tiếp giữa điện thoại và máy tính thông
qua modem hoặc các thiết bị truyền thông . Với TAPI , người lập trình không
phải lo lắng về các tập lệnh của modem để khởi tạo nó hoặc phải chọn cổng
hoạt động cho modem.
Mục đích của TAPI là cho phép các nhà lập trình viết những ứng dụng mà
không cần quan tâm chi tiết đến thiết bị phần cứng. Ví dụ với modem, người lập
trình không cần biết modem loại nào, của hãng nào, tập lệnh của của modem là
gì, sử dụng cổng nối tiếp hay song song hay cổng USB, chỉ cần thiết bị phần
cứng đó có một TAPI driver gọi là TSP(Telephone Service Provider) do nhà
sản xuất cung cấp, mà thường khi cài thiết bị phần cứng này vào máy thì tất cả
các driver của nó đều được cài vào. Do đó chỉ cần thiết bị này hoạt động tốt thì
ứng dụng TAPI sẽ không gặp vấn đề gì.
TAPI hỗ trợ cả việc truyền số liệu lẫn tiếng nói ở nhiều loại thiết bị đầu
cuối khác nhau, hỗ trợ các kiểu kết nối phức tạp và các kỹ thuật quản lý cuộc
gọi như: tạo cuộc gọi, chờ cuộc gọi , hộp thư thoại, vv... Các ứng dụng được
viết bởi TAPI có thể truy cập trực tiếp vào các dịch vụ trên đường dây điện
thoại. Các ứng dụng này có thể phát ra và nhận vào mọi tín hiệu của điện thoại.
Dù đường dây điện thoại truyền tín hiệu dạng tương tự hay dạng số thì ta
cũng cần một thiết bị giao tiếp giữa máy tính và đường dây điện thoại . Dĩ
nhiên, thiết bị giao tiếp đó phải có hỗ trợ TAPI TSP. Thiết bị này có thể là một
trạm ISDN , một bảng mạch hệ thống điện thoại hoặc đơn giản là một modem
SVTH : Bùi Danh Đạt Trang 8
Thông báo kết quả học tập của học sinh qua điện thoại GVHD : Nguyễn Đức Thuần
III. Chương trình ứng dụng TAPI :
Ứng dụng TAPI là ứng dụng mà có sử dụng giao tiếp lập trình hệ thống
điện thoại nhằm thực hiện một công việc gì đó. Ví dụ : phần mềm giả lập điện
thoại trong mạng điện thoại chuyển mạch công cộng (PSTN), phần mềm
gửi/nhận fax, hộp thư thoại, hệ thống trả lời tự động, điện thoại qua internet
(VoIP) vv ...
IV. TAPI DLL (Dynamic link library - Thư viện liên kết động) :
Các thư viện này cùng với TAPI Server (Tapisvr.exe) là sự trừu tượng hóa
trong việc phân cách giữa người dùng và các nhà cung cấp dịch vụ điện thoại.
Một thư viện TAPI liên kết với TAPI Server để cung cấp một giao tiếp giữa 2
lớp (xem mô hình lập trình cho hệ thống điện thoại ở phần sau).
Có 3 thư viện liên quan tới TAPI : Tapi.dll, Tapi32.dll, Tapi3.dll . Mỗi thư
viện này đều có vài trò như nhau :
SVTH : Bùi Danh Đạt Trang 9
Ứng dụng TAPI
16-bit
Tapi.dll
Tapi32.dll
Ứng dụng TAPI
32-bit
Tapi32.dll
Ứng dụng TAPI3
32-bit
Tapi3.dll
MSP
TAPISVR.EXE
TSP
Registry
Telephony Control Panel,
Dialing Properties, vv ...
Thông báo kết quả học tập của học sinh qua điện thoại GVHD : Nguyễn Đức Thuần
Mỗi thư viện này tương ứng với một thời điểm phiên bản của TAPI. Các
ứng dụng 16-bit liên kết với Tapi.dll . Trong Windows 98/NT/2000, Tapi.dll sẽ
hoạt động bằng cách ánh xạ các địa chỉ 16-bit tới các địa chỉ 32-bit , đồng thời
chuyển các yêu cầu tới Tapi32.dll. Với các ứng dụng 32-bit thì chúng sẽ liên kết
với Tapi32.dll (TAPI phiên bản 1.4 - 2.2). Với TAPI 3.0 và 3.1 thì ứng dụng sẽ
liên kết với Tapi3.dll
V. MSP (Media Service Provider ) :
Trước hết MSP chỉ đến với TAPI 3, nó cho phép việc điều khiển một ứng
dụng qua phương tiện với cơ chế vận chuyển đặc biệt. Một MSP luôn luôn tồn
tại song song với một TSP (Tapi Service Provider). Một MSP cho phép việc
điều khiển phương tiện thông qua việc sử dụng thiết bị cuối và các giao tiếp
luồng được định nghĩa bởi TAPI
VI. MSPI (Media Service Provider Interface) :
MSPI là tập hợp các giao tiếp và các phương thức được thực hiện bởi
MSP nhằm cho phép việc điều khiển một ứng dụng TAPI 3 trên phương tiện
trong suốt phiên liên lạc truyền thông.
VII. TAPI Server :
TAPI Server được xem như kho trung tâm lưu trữ các thông tin về hệ
thống điện thoại trên máy người dùng. Tiến trình của dịch vụ này giám sát các
tài nguyên cục bộ và ở xa của hệ thống điện thoại, giám sát các ứng dụng TAPI,
và thực hiện một giao tiếp phù hợp với các TSP. (xem mô hình lập trình hệ
thống điện thoại ở phần sau để thấy mối liên hệ giữa TAPI Server và các thành
phần khác) .
Trong Windows 95, 98, NT, TAPI Server (Tapisrv.exe) sẽ chạy như một
tiến trình riêng biệt. Trong Windows 2000, nó chạy trong ngữ cảnh của
Svchost.exe . Khi ứng dụng nạp TAPI DLL và thực hiện công việc khởi tạo
xong, DLL sẽ xây dựng một kết nối tới TAPI Server. Sau đó TAPI Server sẽ
nạp các TSP.
SVTH : Bùi Danh Đạt Trang 10
Thông báo kết quả học tập của học sinh qua điện thoại GVHD : Nguyễn Đức Thuần
VIII. TSP (Telephony Service Provider ) :
TSP thực chất là một thư viện liên kết động hỗ trợ việc điều khiển các
thiết bị truyền thông thông qua một tập các hàm dịch vụ. Ứng dụng TAPI sử
dụng các lệnh được chuẩn hóa , và TSP điều khiển các lệnh đặc trưng mà cần
phải được trao đổi với thiết bị.
IX. TSPI (Telephony Service Provider Interface) :
TSP phải tạo ra một giao tiếp TSP phù hợp để thực hiện chức năng như
một nhà cung cấp dịch vụ trong môi trường hệ thống điện thoại. TSPI định
nghĩa ra các hàm ngoại mà được hỗ trợ bởi TSP.
X. Service Providers :
Đây được xem như bộ phận cung cấp các dịch vụ cần thiết để thực hiện
việc điều khiển thiết bị điện thoại một cách chi tiết. TSP cung cấp các điều
khiển cuộc gọi và MSP nếu có sẽ cung cấp điều khiển luồng qua phương tiện.
Tất cả các TSP thực thi bên trong tiến trình TAPISRV. Các bộ phận cung
cấp dịch vụ có thể tạo ra các thread ngay trong ngữ cảnh của TAPISRV khi cần
và được chắc chắn rằng không có tài nguyên nào mà chúng tạo ra bị hủy do
thoát khỏi một ứng dụng cá nhân nào đó. Khi cần TAPI Server có thể dịch các
câu lệnh của ứng dụng sang tập các lệnh phù hợp như là TSPI.
Các MSP thực thi ngay trong tiến trình của ứng dụng, cho phép phản hồi
nhanh một số yêu cầu trong việc điều khiển phương tiện. TAPI DLL cung cấp
một kết nối chặt chẽ tới MSPI.
SVTH : Bùi Danh Đạt Trang 11