Chẳng hạn như: các sinh viên vẫn có thể tra cứu kết quả học tập của mình trong khi ở các vùng quê điều kiện mạng Internet không sẵn có như các thành phố, thị x• và sinh viên lại không có
Trang 1: mở ĐầU
Với sự phát triển mạnh mẽ của công nghệ thông tin và truyền thông trên thế giới hiện nay, các ứng dụng cho phép tương tác với người dùng qua mạng viễn thông đ• và đang ngày càng chiếm một vị thế quan trọng trên thị trường bởi đặc tính mọi lúc mọi nơi của
nó
ở Việt Nam, rất nhiều các dịch vụ viễn thông đ• ra đời nhưng chủ yếu nhằm phục vụ cho các mục đích và nhu cầu kinh doanh như: các hệ thống tổng đài trả lời tự động chăm sóc khách hàng với các đầu số: 1900, 1800, 6xxxx, 8xxxx; các công ty thương mại điện tử hàng đầu Việt Nam như vatgia.com sử dụng các tổng đài cho phép các khách hàng nạp tiền để mua các gian hàng mà không cần phải đến tận công ty để trả chi phí cho việc quảng cáo; còn thư viện giáo trình điện tử ebook.edu.vn thì sử dụng các tổng đài như
8577, 8677, 8777 để bán các ebook cho bạn đọc bằng cách nhắn tin về tổng đài
Tuy nhiên, trong lĩnh vực giáo dục thì việc phát triển các ứng dụng tương tác qua mạng viễn thông còn rất hạn chế do nhiều nguyên nhân như: hạ tầng phần cứng, phần mềm chưa đồng bộ, nguồn kinh phí hạn hẹp nên chưa có điều kiện để đầu tư và duy trì hoạt động của các dịch vụ
Phát triển ứng dụng tương tác qua mạng viễn thông đang là một nhu cầu và xu thế rất lớn đối với trong lĩnh vực giáo dục nói chung và các trường đại học nói riêng Chẳng hạn như: các sinh viên vẫn có thể tra cứu kết quả học tập của mình trong khi ở các vùng quê điều kiện mạng Internet không sẵn có như các thành phố, thị x• và sinh viên lại không có máy vi tính, hoặc không có điều kiện mua các loại điện thoại di động có cấu hình cao cho phép lướt web nhanh, hay các thiết bị vào mạng như USB 3G, GSM modem,…; phụ huynh có thể biết được kết quả học tập của con em mình ở trường như thế nào khi xa nhà, hiện tại một số trường đại học có gửi kết quả học tập về quê cho con em mình qua bưu điện nhưng quy trình còn rườm rà và mất khá nhiều thời gian, còn chưa kể đến việc các thư bị thất lạc; các hệ thống có thể thông báo các lịch học cho sinh viên khi lớp mà sinh viên đăng ký được mở, hoặc thông báo lịch họp cho các cán bộ, giảng viên tự động qua điện thoại đi động mà không cần phải gửi các công văn hay thông báo đến tận nơi cho giảng viên; các hệ thống phát ra các tín hiệu cảnh báo trộm hoặc khi phát hiện các sự cố đến điện thoại di động của các cán bộ, giảng viên; v.v…
Với các ý tưởng như trên, trong phạm vi đề tài này em xin đề xuất xây dựng một hệ thống cho phép sinh viên và phụ huynh tra cứu điểm học tập qua điện thoại di động dưới dạng voice và dạng tin nhắm sms Ngoài ra, hệ thống cung cấp dịch vụ nhắc việc cho phép liên lạc giữa cán bộ quản lý và giảng viên
MụC đích, đối tượng, phạm vi nghiên cứu của Đề TàI
Mục đích: Việc thực hiện đề tài trong luận văn nhằm nghiên cứu, đề xuất, xây dựng mô hình tương tác giữa phụ huynh, sinh viên với nhà trường; giữa giảng viên với cán bộ quản
lý qua mạng viễn thông dưới hình thức thoại (voice) và SMS (Short Message Service)
Hệ thống đảm bảo dễ dàng triển khai, tiết kiệm chi phí, hiệu quả, giao diện chương trình thân thiện và dễ sử dụng với người dùng Chương demo thực hiện thành công dịch vụ thông báo điểm cho sinh viên dưới hình thức voice, SMS và dịch vụ nhắc việc cho cán
bộ, giảng viên dưới dạng SMS
Trang 2Đối tượng nghiên cứu: Nghiên cứu các hình thức trao đổi thông tin giữa phụ huynh, sinh viên với nhà trường; giữa cán bộ quản lý với giảng viên; Nghiên cứu hình thức trao đổi thông tin qua mạng viễn thông
Phạm vi nghiên cứu: Nghiên cứu hình thức trao đổi thông tin giữa phụ huynh, sinh viên với nhà trường; giữa cán bộ quản lý với giảng viên trong các trường đại học qua mạng viễn thông dưới dạng thông tin thoại (voice) và tin nhắn SMS
Nhiệm vụ của luận văn
Khảo sát quá trình liên lạc giữa phụ huynh, sinh viên với trường đại học trong việc quản
lý học tập, rèn luyện tại trường; giữa giáo viên với các các cán bộ quản lý trong nhà
trường Từ đó tìm hiểu các giải pháp, công nghệ và xây dựng chương trình ứng dụng cho phép tương tác giữa các bậc phụ huynh, sinh viên, giảng viên với các cán bộ quản lý trong nhà trường nhằm nâng cao hiệu quả trong quản lý và học tập dưới hình thức thoại (voice) và dạng tin nhắn (SMS)
LờI CAM ĐOAN
Em xin cam đoạn các nội dung trong luận văn hoàn toàn do em tự viết và xây dựng lên, không sao chép, không trùng lặp với nội dung của các đề tài, các công trình nghiên cứu đ• được công bố
Mục lục
Mở đầu 1
Mục đích, đối tượng, phạm vi nghiên cứu của đề tài 3
Nhiệm vụ của luận văn 4
Lời cam đoan 5
Danh mục các từ viết tắt 9
Danh mục các bảng 11
Danh mục các hình vẽ 12
Chương 1: Tổng quan về hệ thống 13
1.1 Liên lạc giữa phụ huynh, sinh viên với trường đại học hiện nay 13
1.2 Liên lạc giữ các cán bộ, giảng viên với người quản lý tại trường đại học 13 1.3 Đề xuất hệ thống mới 14
1.3.2.4 Tính năng thông báo lịch họp dưới dạng SMS 16
1.3.2.5 Tính năng trả lời điểm tự động dưới dạng voice 17
1.3.2.6 Tính năng thông báo điểm dưới dạng SMS 18
Trang 31.4 Các đặc điểm của hệ thống đề xuất 19
1.4.1 Khả năng ứng dụng 19
1.4.2 Phụ thuộc vào hoạt động của mạng viễn thông 19
1.4.3 Khả năng cung cấp dịch vụ cuộc gọi 19
Chương 2: Phân tích hệ thống 21
2.1 Hệ thống quản lý đào tạo của các trường đại học 21
2.2 Thông tin đầu vào của các dịch vụ cuộc gọi và dịch vụ tin nhắn SMS 21
2.3 Dịch vụ thông báo điểm dạng thông tin thoại 23
2.4 Dịch vụ thông báo điểm dưới dạng tin nhắn SMS 26
2.5 Dịch vụ nhắc việc dưới dạng tin nhắn SMS 28
2.6 Dịch vụ thông báo tiền học phí 29
2.7 Các thông số của GSM modem 31
2.8 Lập trình modem GSM/GPRS trên ngôn ngữ java 31
Chương 3: Thiết kế hệ thống 33
3.1 Kiến trúc hệ thống 33
3.1.1 Giao diện ứng dụng 33
3.1.2 Khối điều khiển truy cập cơ sở dữ liệu 34
3.1.3 Khối xử lý trung tâm 34
3.1.4 Khối điều khiển trao đổi dữ liệu dạng SMS 34
3.1.5 Khối điều khiển trao đổi dữ liệu dạng voice 35
3.2 Thiết kế cơ sở dữ liệu 35
3.2.1 Bảng lưu trữ thông tin về quá trình thực hiện voice 35
3.2.2 Bảng lưu trữ thông tin về quá trình thực hiện gửi điểm dưới dạng SMS 35 3.2.3 Bảng lưu trữ thông tin về quá trình thực hiện gửi tin nhắn nhắc việc dưới dạng SMS 36
3.2.4 Bảng lưu trữ thông tin về quá trình thực hiện gửi tin nhắn thông báo học phí dưới dạng SMS 36
3.3 Thiết kế file config 37
3.4 Thiết các module chương trình 38
3.5.2 Giao diện chính của hệ thống 43
3.5.3 Giao diện dịch vụ thông báo điểm dưới dạng voice 46
3.5.4 Giao diện dịch vụ thông báo điểm dưới dạng tin nhắn SMS 47
3.5.5 Giao diện dịch vụ nhắc việc 47
Chương 4: Công nghệ phát triển ứng dụng 48
4.1 Mạng GSM (Global System for Mobile Communications) 48
4.1.1 Các yêu cầu hoạt động của hệ thống GSM 50
4.1.2 Các yêu cầu kỹ thuật của công nghệ GSM 51
Trang 44.1.3 Các dịch vụ được cung cấp bởi công nghệ GSM 52
4.5.3 Dịch vụ tin nhắn nâng cao - EMS (Enhanced Messaging Service) 65
4.6 Các lệnh AT điều khiển việc gửi và nhận tin nhắn SMS giữa máy tính với điện thoại
65
4.6.1 Gửi tin nhắn SMS từ máy tính tới điện thoại 65
4.6.2 Các lệnh AT cơ bản làm việc với cuộc gọi 66
4.6.2.1 Chuyển vào chế độ voice 66
4.6.2.2 Thiết lập đầu vào thoại cho modem GSM/GPRS 67
4.6.2.3 Trả lời cuộc gọi trong chế độ 67
4.6.2.4 Kết thúc cuộc gọi 67
4.7 Kết quả thực nghiệm 67
4.7.1 Dịch vụ trả lời điểm dạng voice 67
4.7.2 Dịch vụ thông báo điểm dưới dạng tin nhắn SMS 69
4.7.3 Dịch vụ nhắc việc 69
Kết luận và kiến nghị 71
Tài liệu tham khảo 72
Phụ lục 73
1 M• nguồn file file ConnectionSerial.java 73
2 M• nguồn file Loadconfig.java 79
Danh mục các từ viết tắt
Từ viết tắt Mô tả
1 SMS Short Message Service
2 GSM Global System for Mobile Communications
3 CTI Computer telephony integration
4 AT Attention command
5 SQL Structured Query Language
6 USB Universal Serial Bus
Trang 57 NMT Nordic Mobile Telephone
8 TACS Total Access Communication System
9 ETSI European Telecommunication Standards Institute
10 TDMA Time Division Multiple Access
11 ISDN Integrated Services Digital Network
12 CEPT European Post Offices and Telecommunication
13 MS Mobile Station
14 GMSK Gaussian Minimum Shift Keying
15 MSC Mobile Services Switching Center
16 BSC Base Station Controller
17 BTS Base Transceiver Station
18 PSTN Public Switched Telephone Networks
19 VLR Visitor Location Register
20 HLR Home Location Register
21 AUC Authentication Center
22 EIR Equipment ldentity Register
23 PLMN Public Land Mobile Network
24 IMEI International Mobile Equipment Identity
25 IWF Interworking Function
26 OMC Operational and Maintenance Center
27 BSS Base Station System
28 NMC Network Management Center
29 GPRS General Packet Radio Service
30 EDGE Enhanced Data Rate for Global Evolution
31 SGSN Serving GPRS Support Node
32 GGSN Gateway GPRS Support Node
33 APN Access Point Name
Danh mục các bảng
Bảng 3.1 Bảng thông tin về quá trình thực hiện voice 35
Bảng 3.2 Bảng thông tin về quá trình thực hiện gửi điểm dạng SMS 36 Bảng 3.3 Bảng thông tin về quá trình thực hiện nhắc việc dạng SMS 36 Bảng 4.1 Các đặc tả của công nghệ GSM 52
Hình 2.4 Biểu đồ trình tự của quá trình thông báo điểm dạng SMS 18
Hình 2.5: Sơ đồ thuật toán thực hiện quá trình voice 25
Trang 6Hình 2.6: Sơ đồ thuật toán thực hiện quá trình gửi điểm dạng SMS 27
Hình 2.7 Lưu đồ thuật toán quá trình nhắc việc dưới dạng SMS 29
Hình 2.8: Lưu đồ thuật toán thực hiện quá trình thông báo học phí dạng SMS 30 Hình 3.1: Kiến trúc của hệ thống 33
Hình 3.2 Giao diện hệ thống menu 43
Hình 3.3 Giao diện menu Dịch vụ 44
Hình 3.4 Giao diện chính của hệ thống 44
Hình 3.5 Giao diện dịch vụ voice khi chưa được kích hoạt 45
Hình 3.6 Giao diện dịch vụ voice khi đang được kích hoạt 45
Hình 3.7 Giao diện dịch vụ voice khi đang trả lời cuộc gọi 46
Hình 3.8 Giao diện dịch vụ thông báo điểm dạng SMS 46
Hình 3.9 Giao diện dịch vụ nhắc việc 47
Hình 4.1: Sự tăng trưởng số lượng thuê bao ở Châu Âu 49
Hình 4.2 Kiến trúc hệ thống GSM điển hình 54
Hình 4.3 Kiến trúc mạng GPRS 58
Hình 4.4 Kết quả thực nghiệm khi dịch vụ voice chưa được kích hoạt 67
Hình 4.5 Kết quả thực nghiệm khi đang chờ cuộc gọi 68
Hình 4.6 Kết quả thực nghiệm khi trả lời cuộc gọi 68
Hình 4.7 Kết quả thực nghiệm khi dịch thông báo điểm dạng SMS 69
Hình 4.8 Kết quả thực nghiệm khi nhắc việc cho một nhóm giáo viên 70
Hình 4.9 Kết quả thực nghiệm khi nhắc việc cho một giáo viên 70
Chương 1: tổng quan về hệ thống
1.1 Liên lạc giữa phụ huynh, sinh viên với trường đại học hiện nay
Hầu hết các trường đại học đều có hệ thống website để thông báo các hoạt động thường xuyên của nhà trường như: lịch họp, hội thảo khoa học, thời khóa biểu dạy và học, thông báo kết quả học tập, rèn luyện của sinh viên, thông báo việc đăng ký học và kết quả đăng
ký của sinh viên Ngoài ra còn các hoạt động khác như hoạt động văn hóa văn nghệ, thể dục thể thao,…
Trong khi đó, các bậc phụ huynh sinh viên thì rất quan tâm đến việc học tập của con em mình ở trường Nhưng nhiều bậc phụ huynh thì lại không biết sử dụng vi tính hoặc không biết sử dụng mạng Internet để theo dõi việc học tập của con em mình Nhiều bậc phụ huynh nghe các con nói thế nào thì biết vậy, chứ không biết thực tế Với xu thế phát triển của x• hội đựa trên nền kinh tế thị trường hiện nay đ• đem lại những thành tựu về mặt kinh tế x• hội to lớn, nhưng đồng thời cũng để lại không ít những mặt hạn chế như tệ nạn x• hội, trò chơi điện tử…, không ít các sinh viên ở các trường Đại học khi ở xa gia đình đ• đính vào các tệ nạn này Hậu quả là các sinh viên này thường xuyên bỏ học, nợ nần chồng chất đẫn đến kết quả học tập yếu kém, bỏ học rất lâu mà gia đình không biết
Để giúp các gia đình theo dõi về việc học tập của con em mình, nhiều trường đại học đ• gửi kết quả học tập của mỗi sinh viên về tận gia đình thông qua hòm thư của bưu điện Tuy nhiên, hình thức này cũng không ít tốn kém cả về thời gian, nhân lực và chi phí, đồng thời cũng không tránh khỏi trường hợp các thư bị thất lạc không đến được tận gia đình
Trang 7Vì vậy, trong đề tài này em đề xuất ý tưởng xây dựng hệ thống cho phép thông báo kết quả học tập của sinh viên đến số điện thoại của phụ huynh để họ có thể nắm được tình hình học tập của con em mình và có các biện pháp quản lý phù hợp nhằm góp phần nâng cao hiệu quả đào tạo của nhà trường
1.2 Liên lạc giữ các cán bộ, giảng viên với người quản lý tại trường đại học
Trong các nhà trường đại học, một giảng viên ngoài công việc lên lớp còn phải hoàn thành rất nhiều các công việc khác như: nghiên cứu khoa học, đi học, hướng dẫn sinh viên làm đồ án, luận văn, luận án, có thể cả kiêm nhiệm làm quản lý hành chính,… Hàng ngày các cán bộ, giảng viên sẽ nhận được rất nhiều các thông báo về các công việc phải làm, phải hoàn thành trong thời gian nhất định từ các cán bộ quản lý Người thông báo thường gửi email đến các cán bộ, giảng viên, hoặc gọi điện thoại, hoặc nhắn tin, hoặc dán thông báo ở bảng tin Hình thức phổ biến nhất hiện nay là cán bộ quản lý sẽ gửi email vì hình thức này tiết kiệm kinh phí nhất nhưng lại có hạn chế là giảng viên phải kiểm tra email thì mới biết được Nếu hệ thống mạng Internet tại văn phòng gặp sự cố thì gảng viên có thể bị trễ lịch; hoặc giảng viên đi công tác ở vùng sâu, vùng xa nơi không có mạng Internet thì cũng không kiểm tra mail được Hình thức gửi tin nhắn SMS (Short Message Service) cũng tiết kiệm được chi phí về tài chính nhưng lại mất thời gian soạn tin nhắn trên điện thoại
Hệ thống đề xuất trong luận văn này sẽ hỗ trợ cán bộ quản lý thông báo các công việc tới các cán bộ, giảng viên dưới hình thức tin nhắn SMS qua máy tính
hệ thống sẽ tự động trả lời các điểm mà sinh viên đạt được của từng môn theo từng kỳ và người gọi (là sinh viên hoặc phụ huynh) sẽ phải trả chi phí cuộc gọi
Để duy trì hoạt động của dịch vụ dạng tin nhắn SMS, mỗi sinh viên sẽ phải trả một khoản chi phí khoảng 5000VND đến 7000VND trong một kỳ và đăng ký một số điện thoại không thay đổi với nhà trường Nếu sinh viên hoặc phụ huynh thay đổi số điện thoại thì
có thể báo lại với nhà trường để cập nhật lại
Bên cạnh đó, hệ thống còn có tính năng thống báo lịch họp đến cán bộ, giảng viên dưới dạng SMS và được lưu vào cơ sở dữ liệu của hệ thống Các giảng viên sẽ được phân theo từng nhóm: như nhóm theo các viện, các bộ môn, theo khoa,… Khi gửi tin nhắn có thể chọn gửi cho cả nhóm hoặc gửi đến riêng từng cá nhân
Trang 8Ngoài ra, những người quản trị có vai trò bật tắt các chương trình phần mềm, khởi động các dịch vụ, thiết lập các thông số và điều khiển quá trình trao đổi dữ liệu giữa máy tính với GSM modem
1.3.2.2 Máy chủ (Server) lưu trữ cơ sở dữ liệu
Các máy chủ có nhiệm vụ lưu trữ cơ sở dữ liệu bao gồm cơ sở dữ liệu về điểm của sinh viên, cơ sở dữ liệu chứa thông tin về lịch công tác, cơ sở dữ liệu về học phí của sinh viên, lịch họp của cán bộ giáo viên Đối với các trường đại học lớn, cơ sở dữ liệu về điểm có thể rất lớn và có thể được phân tải trên nhiều máy chủ Mỗi máy chủ sẽ được kết nối với một modem GSM qua cổng COM hoặc cổng USB Trên mỗi máy chủ sẽ được được cài đặt chương trình cho phép điều khiển quá trình nhận/gửi dữ liệu dạng voice hoặc SMS Người quản trị hệ thống sẽ thường xuyên cập nhập dữ liệu lên máy chủ và bật/tắt các tính năng gửi nhận voice/SMS vào các thời điểm thích hợp
1.3.2.3 Modem GSM
Các modem cho phép kết nối hệ thống với mạng điện thoại, chúng khác các điện thoại di động là có thể hoạt động 24/24 giờ đồng hồ và tốc độ gửi và nhận tin nhắn cũng nhanh hơn so với các điện thoại thông thường Tuy nhiên, với GSM modem thì tính năng voice
sẽ có nhiều hạn chế như chúng không được phân kênh nên sẽ không đáp ứng được khi có nhiều cuộc gọi cùng một lúc Trên thế giới cũng có các loại GSM modem nhiều kênh (8 kênh) và các loại thiết bị CTI như SHT, SHD,… là các loại thiết bị chuyên dụng được phân thành nhiều kênh nhưng chi phí khá đắt và hiện tại không có bán trên thị trường Việt Nam nên tính khả thi trong việc sử dụng đối với các trường đại học Việt Nam hiện nay là không cao Hầu hết các loại thiết bị trên đều hỗ trợ tập lệnh AT (Attention
command) và có thể trao đổi dữ liệu với máy tính thông qua bất kỳ một module phần mềm điều khiển nào sử dụng tập lệnh AT Do đó, trong đề tài này em sẽ cài thử nghiệm quá trình thực hiện voice và SMS trên các loại thiết bị thông thường như điện thoại di động, USB 3G, modem GSM Trong quá trình triển khai thực tế tùy theo nguồn kinh phí các trường có thể đầu tư mua các thiết chuyên dụng cho phù hợp mà vẫn có thể áp dụng bởi module phần mềm được thiết kế và xây dựng trong đề tài
1.3.2.4 Tính năng thông báo lịch họp dưới dạng SMS
Mỗi khi có lịch họp thường kỳ hoặc các cuộc họp được triệu tập bất thường, hệ thống cho phép người quản trị gửi tin nhắn tới từng cán bộ, giảng viên có liên quan, hoặc gửi tới một nhóm các cán bộ theo từng đơn vị hoặc bộ phận công tác
Khi cán bộ nhận được tin nhắn hệ thống sẽ thông báo lại là đ• gửi thành công Trong trường hợp nào đó mà cán bộ chưa nhận đươc tin nhắn do các nguyên nhân như máy hết pin, ra ngoài vùng phủ sóng, nghẽn mạch hệ thống sẽ lưu lại trọng thái gửi vào cơ sở dữ liệu để người quản trị biết và gửi lại tin nhắn hoặc có các biện pháp khác thích hợp nhằm đảm bảo thông báo được gửi đến cán bộ, giảng viên
Hình 2.2 Biểu đồ trình tự của quá trình thông báo lịch họp qua SMS
1.3.2.5 Tính năng trả lời điểm tự động dưới dạng voice
Tất cả điểm của sinh viên sau khi được cập nhật vào cơ sở dữ liệu sẽ được chuyển thành các file âm thanh khi dịch vụ trả lời điểm hoạt động Để nghe điểm thì phụ huynh/sinh viên sẽ gọi điện đến số điện thoại của dịch vụ, hệ thống sẽ phát các file âm thanh trả lời điểm của các môn theo từng học kỳ Khi đ• thông báo hết điểm các môn của sinh viên, hệ thống sẽ tự động ngắt kết nối Với GSM modem một kênh, nếu hệ thống đang phục vụ trả
Trang 9lời cuộc gọi mà có một cuộc gọi khác gọi đến thì yêu cầu mới đó không được đáp ứng và phải đợi cho đến khi hệ thống kết thúc phục vụ cuộc gọi hiện hành
Trong trường hợp hệ thống kiểm tra nếu thấy số điện thoại gọi đến dịch vụ mà chưa được đăng ký thì hệ thống sẽ từ chối kết nối và kết thúc cuộc gọi Ngoài ra, hệ thống có thể kiểm tra các ràng buộc khác như số điện thoại đ• được đăng ký nhưng sinh viên chưa trả phí sử dụng dịch vụ,… Nhưng trong hệ thống được đề xuất ở đây chỉ yêu cầu sinh viên phải trả phí cho việc nhận tin nhắn dưới dạng SMS vì quá trình thực hiện trả lời cuộc gọi chỉ bên gọi đến mất phí
Hình 2.3 Biểu đồ trình tự của quá trình thông báo điểm dạng voice
1.3.2.6 Tính năng thông báo điểm dưới dạng SMS
Khi phụ huynh/sinh viên đăng ký sử dụng dịch vụ thì mỗi khi có điểm mới được cập nhật vào cơ sở dữ liệu hệ thống sẽ tự động gửi điểm này đến số điện thoại đ• đăng ký khi dịch
vụ được kích hoạt Mỗi sinh viên có thể đăng ký một hoặc nhiều số điện thoại, khi đó chi phí mà họ phải trả sẽ tăng lên theo số lượng số điện thoại đăng ký
Hình 2.4 Biểu đồ trình tự của quá trình thông báo điểm dạng SMS
Điểm của mỗi học phần sẽ chỉ được gửi duy nhất một lần, hệ thống sẽ đánh dấu lại trạng thái gửi tin nhắn là thành công hoặc không thành công vào cơ sở dữ liệu Nếu tin nhắn được thực hiện chưa thành công thì hệ thống sẽ tự động gửi lại sau một khoảng thời gian được thiết lập bởi người quản trị
1.4 Các đặc điểm của hệ thống đề xuất
1.4.1 Khả năng ứng dụng
Với sự phát triển của giáo dục đại học Việt Nam trong giai đoạn hiện nay, số lượng các trường đại học, cao đẳng ngày càng tăng, số lượng sinh viên trong các trường đại học cũng ngày một tăng mạnh làm cho nhu cầu kết nối giữa gia đình và các nhà trường trong việc quản lý sinh viên cũng tăng lên, đặc biệt là tỉ lệ sinh viên ở ngoại trú còn cao do kí túc xá của các nhà trường còn hạn hẹp Bên cạnh đó, với sự phổ biến của điện thoại di động như hiện nay thì hầu hết các sinh viên và phụ huynh đều dễ dàng có thể sở hữu và biết cách sử dụng điện thoại di động, nên việc tham gia sử dụng dịch vụ là hoàn toàn có thể Hơn nữa chi phí để sử dụng dịch vụ thấp và phù hợp với túi tiền của người dân đồng thời lại tiết kiệm được chi phí cho các trường đại học
Đối với dịch vụ nhắc việc dưới dạng SMS cho cán bộ, giảng viên thì nhà trường sẽ hỗ trợ chi phí gửi tin nhắn, chi phí này nhỏ hơn các hình thức khác nhưng cũng rất hiệu quả khi hoạt động
1.4.2 Phụ thuộc vào hoạt động của mạng viễn thông
Hệ thống mạng viễn thông là môi trường trung gian kết nối giữa những người dùng thiết
bị đầu cuối (phụ huynh, sinh viên, giảng viên) với các dịch vụ của nhà trường nên hệ thống đề xuất ở đây sẽ duy trì hoạt động phụ thuộc một phần vào các nhà cung cấp dịch
vụ mạng viễn thông Nếu các nhà cung cấp dịch vụ mạng viễn thông ngừng hoạt động hoặc gặp lỗi thì hệ thống sẽ không hoạt động được Tuy nhiên, với sự phát triển của mạng viễn thông như hiện nay thì người dùng không cần phải quá lo lắng về vấn đề này
1.4.3 Khả năng cung cấp dịch vụ cuộc gọi
Khả năng cung cấp dịch vụ cuộc gọi của hệ thống đề xuất ở đây mạnh hay yếu là phụ thuộc vào khả năng của các modem GSM được sử dụng Nếu sử dụng các thiết bị công nghệ CTI hoặc các modem GSM phân kênh thì tính năng thoại (voice) sẽ mạnh hơn rất
Trang 10nhiều và khả năng phụ vụ sẽ tốt hơn Đề tài này chỉ demo chương trình trên modem GSM chỉ có một kênh
chương 2: phân tích hệ thống
2.1 Hệ thống quản lý đào tạo của các trường đại học
Đối với một trường đại học, các thông tin cần được quản lý đối với sinh viên từ khi trúng tuyển vào trường đến lúc nhận bằng tốt nghiệp ra trường là rất lớn: sơ yếu lý lịch, thông tin về lớp, chuyên ngành, các môn phải học, quá trình học của sinh viên, điểm qua các lần học và thi, điểm tổng kết học tập, điểm rèn luyện qua các kỳ học và năm học, số môn đăng ký và số tiền học phí phải đóng cho mỗi đợt học, lịch học… Tất cả là một hệ thống hoạt động thống nhất và liên hệ chặt chẽ với nhau dưới sự quản lý của nhiều phòng chức năng khác nhau như: Phòng tài vụ, Phòng đào tạo, các Bộ môn, các Viện, Phòng công tác học sinh sinh viên,… Hầu hết các trường đại học hiện nay đều chuyển sang hình thức đào tạo theo tín chỉ Để quản lý được hoạt động đào tạo của mình hầu hết các trường đ•
có phần mềm quản lý trên máy tính và cho phép cung cấp thông tin trên website Vì vậy, mục tiêu của hệ thống được đề xuất ở đây là phải làm sao tích hợp được vào hệ thống quản lý đào tạo của các trường một cách dễ dàng
Đề tài sẽ không đặt ra vấn đề thiết kế toàn bộ hệ thống quản lý học tập của các trường như thế nào để có thể tích hợp được vào hệ thống đề xuất Vì trên thực tế, mỗi trường đại học có hình thức tổ chức đào tạo khác nhau, có trường học theo ba ca (sáng, chiều, tối),
có trường chỉ học theo hai ca (sáng, chiều), giời giấc vào/ra là khác nhau, mô hình tổ chức quản lý cũng là khác nhau nên việc thiết kế và xây dựng nên một chương trình quản
lý đào tạo phù hợp với tất cả các trường là rất khó khăn vào khó đạt được Vì vậy, đề tài chỉ đề cập đến vấn đề là làm sao để lấy được thông tin về sinh viên, thông tin về điểm của sinh viên để làm thông tin đầu vào cho các dịch vụ cuộc gọi (voice) và SMS hoạt động 2.2 Thông tin đầu vào của các dịch vụ cuộc gọi và dịch vụ tin nhắn SMS
Hệ thống cơ sở dữ liệu quản lý đào tạo của các trường đại học hiện nay được thiết kế trên các hệ quản trị cơ sở dữ liệu khác nhau như: SQL Server 2000 (hoặc 2005, hoặc 2008), oracle, MySQL, … Từ các cơ sở dữ liệu này ta sẽ xây dựng các câu truy vấn cho phù hợp để lấy được các thông tin cần thiết Trong đó:
Thông tin về sinh viên bao gồm: M• số sinh viên, họ và tên, số điện thoại đ• đăng ký Thông tin về môn học: M• môn học, tên môn học
Thông tin về điểm: M• môn học, m• sinh viên, điểm môn học ở đây chỉ lấy điểm tổng kết của từng môn học, vì mỗi môn học có điểm thường xuyên và điểm thi và được tính theo tỉ lệ phần trăm khác nhau tùy từng môn
Để lấy thông tin về điểm của sinh viên sử dụng câu truy vấn: Select MASV, HOVATEN, MAMON, TENMONHOC, DIEMTB FROM <danh sách các bảng> WHERE
Câu truy vấn này sẽ được lưu trữ vào trong một file config dưới dạng file ini hoặc XML Tùy theo cơ sở dữ liệu của các trường mà phần <danh sách các bảng> và điều kiện sau câu lệnh WHERE của câu truy vấn sẽ được thiết kế khác nhau Khi chương trình phần mềm hoạt động sẽ đọc câu truy vấn để lựa chọn ra được các bảng ghi thích hợp
Tuy nhiên, mỗi sinh viên trong suốt quá trình đào tạo có thể học nhiều môn nên điều kiện sau câu lệnh WHERE sẽ hạn chế chỉ cho phép chọn ra một danh sách các môn cần thông báo theo từng đợt học, mỗi môn chỉ thông báo điểm dưới dạng voice và dạng SMS một lần, khi đ• được thông báo thì hệ thống sẽ đánh dấu lại để không thông báo lần thứ hai
Trang 11Một sinh viên có thể học nhiều lần đối với một môn học nếu học lần một có điểm trung bình không đạt yêu cầu hoặc muốn học cải thiện điểm của môn học khi đạt được điểm D Khi phòng đào tạo cập nhật lại điểm của môn học thì môn học sẽ được dánh dấu là chưa thông báo điểm để có thể thông báo lại lần nữa cho sinh viên Như vậy, cần bổ sung thêm hai trường vào bảng dữ liệu điểm trong cơ sở dữ của các trường Một trường thể hiện điểm đ• được thông báo dưới dạng voice, một trường thể hiện điểm đ• được thông báo dưới dạng SMS hay chưa Khi lựa chọn hệ thống sẽ bỏ qua những bản ghi đ• được thông báo Khi phụ huynh hoặc sinh viên muốn được thông báo lại tất cả các điểm của mình thì
có thể liên hệ với nhà trường và có thể phải trả thêm một khoản chi phí nếu trường yêu cầu
Ngoài ra, các thông tin về cơ sở dữ liệu như: tên người dùng đăng nhập, mật khẩu, trình điều khiển truy cập, địa chỉ cổng hoạt động của cơ sở dữ liệu cũng được lưu trữ trong file config Chương trình phần mềm sẽ đọc các thông tin này từ file config để xử lý việc kết nối cơ sở dữ liệu Khi triển khai phần mềm, người quản trị hệ thống sẽ phải cung cấp đầy
đủ các thông tin này trong file config thì hệ thống mới hoạt động được
2.3 Dịch vụ thông báo điểm dạng thông tin thoại
Dịch vụ này được thiết kế với hai trạng thái hoạt động là được kích hoạt hoặc không được kích hoạt Khi được kích hoạt thì phụ huynh và sinh viên có thể gọi điện từ số điện thoại đ• đăng ký với nhà trường để nghe thông tin về điểm của mình Bảng dữ liệu sinh viên trong cơ sở dữ liệu của nhà trường sẽ phải chứa trường địa chỉ liên lạc, hầu hết các
cơ sở dữ liệu hiện nay của các nhà trường đều có trường này, trong trường hợp không có thì nhất thiết phải bổ sung
Hệ thống chỉ chấp nhận những số điện thoại đ• được đăng ký vì đảm bảo việc phục vụ chỉ đối với các sinh viên của nhà trường, đồng thời hạn chế được việc sử dụng hệ thống một cách quá tải vì khả năng phục vụ của các thiết bị là có hạn
Khi có cuộc gọi đến hệ thống sẽ kiểm tra xem số điện thoại gọi này có đăng ký không, nếu số điện thoại không được đăng ký hệ thống sẽ từ chối cuộc gọi ngay, ngược lại hệ thống sẽ lựa chọn các bản ghi trong cơ sở dữ liệu dựa trên m• sinh viên tương ứng với số điện thoại Mỗi bậc phụ huynh và sinh viên có thể đăng ký nhiều số điện thoại cho một sinh viên Danh sách các số điện thoại sẽ được phân cách nhau bởi đấu chấm phẩy, thí dụ: một bảng ghi trong bảng dữ liệu lưu trữ hồ sơ sinh viên có trường địa chỉ liên hệ của sinh viên là: 0987706830; 0982166789; 0979111000; Chương trình sẽ dựa vào các dấu chấm phẩy (;) để tách riêng biệt các số điện thoại ra để kiểm tra
Nếu danh sách các bảng ghi (record) lựa chọn được đối với các sinh viên là rỗng, có nghĩa điểm của các môn đ• được thông báo hết dưới dạng voice thì hệ thống sẽ phát ra lời cảnh báo “Điểm của sinh viên đ• được thông báo hết” và kết thúc cuộc gọi ngay Ngược lại, điểm của từng môn chưa được thông báo sẽ lần lượt được đọc
Số lượng môn học tại các trường đại học là có hạn nên trong hệ thống ta sẽ lưu trữ các file âm thanh lần lượt có tên trùng với m• của môn học Khi thông báo điểm dưới dạng voice, tên của các môn học này sẽ được đọc lên và theo sau đó là điểm Điểm của sinh viên là các số thực, ta sẽ tạo ra các file âm thanh đọc các số từ một đến mười và cả file
âm thanh đọc đấu phẩy Thí dụ, điểm một môn nào đó của sinh viên là 7.58 thì sẽ phát các file âm thanh tương ứng với số bảy, sau đó đến dấu phẩy, tiếp theo là số 5 và cuối cùng là số 8
Trong phạm vi đề tài này các file âm thanh được sinh ra bằng cách ghi âm trực tiếp Vì vậy tên sinh viên sẽ không được đọc vì số lượng sinh viên là rất lớn nên không thể ghi âm
Trang 12được tất cả tên của sinh viên Trong tương lai đề tài sẽ được tiếp tục phát triển để tích hợp tính năng tự động chuyển văn bản thành tiếng nói hoặc tích hợp sử dụng phần mềm chuyển đổi văn bản thành tiếng nói sẵn có hiện nay để tự động sinh ra các file âm thanh tương ứng giữa m• sinh viên và tên sinh viên, giữa m• môn học và tên môn học
Tên các file âm thanh thể hiện tên môn học sẽ được đặt tên là m• môn học, thí dụ file âm thanh phát ra lời: “Môn trí tuệ nhân tạo” sẽ có tên ITTTNT M• môn học và m• sinh viên
do các trường quy định với cách đặt tên khác nhau
Các file âm thanh này sẽ được lưu trữ trong thư mục gốc của hệ thống và chương trình phần mềm sẽ tìm kiếm các file trong thư mục này
Mỗi khi thông báo điểm dưới dạng voice, hệ thống sẽ cập nhật các thông tin này vào trong cơ sở dữ liệu Dữ liệu này sẽ được lưu trữ trong bảng voice
Bảng này gồm các trường sau:
M• cuộc gọi: Lưu trữ m• số cuộc gọi, trường này sẽ được thiết kế có kiểu dữ liệu là số nguyên và tự động tăng sau mỗi lần bổ sung thêm một bản ghi vào cơ sở dữ liệu
M• sinh viên: Lưu trữ m• sinh viên để cho biết điểm của sinh viên nào đ• được thông báo M• môn học: Lưu trữ m• môn học được thông báo điểm đối với từng sinh viên dưới dạng cuộc gọi
Trạng thái thực hiện voice: Lưu trữ kết quả của cuộc gọi có thực hiện thành công hay không, nếu đang trong quá trình thực hiện cuộc gọi mà xảy ra sự cố trường này sẽ được thiết lập giá trị 0-nghĩa là thực hiện không thành công; ngược lại được thiết lập giá trị bằng 1 nghĩa là thực hiện thành công
Hình 2.5: Sơ đồ thuật toán thực hiện quá trình voice
Ngày giờ thực hiện cuộc gọi: Lưu trữ thông tin về ngày, giời phụ huynh hoặc học sinh thực hiện cuộc gọi và sẽ cần thiết đối với người quản trị hệ thống khi muốn thống kê lại Bên cạnh việc lưu trữ các thông tin về cuộc gọi vào cơ sở dữ liệu, hệ thống còn cho phép lưu trữ các thông tin này vào file nhật ký voice.log để người quản lý có thể quan sát theo dõi khi cần thiết Thông tin về mỗi cuộc gọi sẽ được lưu trữ trên một dòng gồm: M• cuộc gọi, m• sinh viên, m• môn học, trạng thái voice, ngày giờ thực hiện
Khi đang thực hiện trả lời cuộc gọi trên màn hình hệ thống sẽ hiện ra các thông tin về sinh viên đang được thông báo: như họ và tên, môn học, điểm số
2.4 Dịch vụ thông báo điểm dưới dạng tin nhắn SMS
Dịch vụ thông báo điểm dưới dạng SMS cũng hoạt động ở hai trạng thái là được kích hoạt và ngừng phục vụ Khi được kích hoạt hệ thống sẽ tự động lựa chọn các bản ghi điểm của từng sinh viên trong cơ sở dữ liệu mà chưa được gửi để gửi điểm dưới dạng tin nhắn SMS đối với các sinh viên có đăng ký sử dụng dịch vụ, hệ thống sẽ cho phép gửi tin nhắn đến tất cả các số thuê bao mà sinh viên và phụ huynh đăng ký
Mỗi môn học chỉ được gửi điểm dưới dạng tin nhắn SMS một lần, nếu đang trong quá trình gửi hệ thống gặp lỗi thì bản ghi này sẽ được đánh dấu để gửi lại Nếu điểm của sinh viên khi đ• được thông báo mà trong cơ sở dữ liệu lại có sự thay đổi (trong trường hợp điểm không đạt phải học lại hoặc sinh viên đăng ký học cải thiện môn học) thì điểm sẽ được thông báo lại
Mỗi khi gửi một tin nhắn thông báo về điểm thì thông tin về tin nhắn sẽ được cập nhật lại vào bảng SMS trong cơ sở dữ liệu Bảng này sẽ gồm các trường thông tin sau:
M• tin nhắn: Lưu trữ m• tin nhắn được gửi đi, trường này sẽ thường được thiết là tăng tự động mỗi khi có một tin nhắn được gửi đi và bổ sung thêm một bản ghi vào bảng dữ liệu
Trang 13M• sinh viên: Lưu trữ m• sinh viên để cho biết điểm của sinh viên nào đ• được thông báo
Hình 2.6: Sơ đồ thuật toán thực hiện quá trình gửi điểm dạng SMS
M• môn học: Lưu trữ m• môn học được thông báo điểm và đối với từng sinh viên dưới dạng SMS Để tiết kiệm chi phí đối với số lượng tin nhắn gửi đi, một tin nhắn SMS có thể chứa thông tin về nhiều điểm của môn học Khi đó trường m• môn học sẽ chứa danh sách các m• môn, mỗi m• môn sẽ ngăn cách nhau bởi dấu phẩy (,)
Nội dung: Trường n•y lưu trữ nội dung tin nhắn SMS được gửi đi Nội dung này sẽ cần thiết khi hệ thống gặp sự cố người quản trị hệ thống sẽ muốn quan sát lại Nội dung này
có dạng như sau: M• sinh viên: Họ tên sinh viên.[Tên môn: Điểm]
Trạng thái thực hiện gửi SMS: Lưu trữ kết quả của tin nhắn có thực hiện thành công hay không, nếu đang trong quá trình thực hiện gửi tin nhắn mà xảy ra sự cố trường này sẽ được thiết lập giá trị 0-nghĩa là gửi không thành công; ngược lại được thiết lập giá trị bằng 1-nghĩa là gửi thành công
Ngày giờ thực hiện gửi tin nhắn: Lưu trữ thông tin về ngày, giời hệ thống thực hiện gửi tin nhắn và sẽ cần thiết đối với người quản trị hệ thống khi muốn thống kê lại hoặc khi có thắc mắc từ phía phụ huynh và học sinh
Quá trình gửi SMS cũng sẽ lưu lại các thông tin về quá trình gửi vào file nhật ký
SMS.log sẽ cần thiết khi bảo trì và phát triển hệ thống Thông tin về mỗi SMS sẽ được lưu trữ trên một dòng theo cú pháp đúng như trường nội dung của tin nhắn SMS được gửi đi: M• sinh viên: Họ tên sinh viên.[Tên môn: Điểm]
2.5 Dịch vụ nhắc việc dưới dạng tin nhắn SMS
Mỗi khi có công việc cần thông cán bộ quản lý có thể kịch hoạt dịch vụ nhắc việc và nhập nội dung tin nhắn cần thông báo để gửi cho một nhóm cán bộ, giảng viên Dạng tin nhắn có cú pháp:
Người gửi: Nội dung gửi
Mỗi tin nhắn được gửi đi hệ thống sẽ cập nhật vào bảng nhắc việc trong cơ sở dữ liệu Bảng này sẽ gồm các trường thông tin như sau:
M• tin nhắn: Lưu trữ m• tin nhắn được gửi đi, thông thường trường này sẽ được thiết kế tăng tự động mỗi khi có thêm một bản ghi được cập nhật vào cơ sở dữ liệu
Nội dung tin nhắn: Lưu trữ nội dung mà người gửi đ• gửi đi Nội dung tin nhắn gửi phải viết ngắn gọn Trong trường hợp tin nhắn dài quá 160 ký tự thì hệ thống sẽ cắt ra thành các tin nhắn có độ dài phù hợp để gửi
Người nhận: Trường này sẽ lưu trữ danh sách các số điện thoại sẽ nhận tin nhắn Chỉ các
số điện thoại nhận được tin nhắn thành công thì mới được cập nhật vào cơ sở dữ Căn cứu vào thông tin này mà người gửi có thể biết được ai đ• nhận được tin nhắn, ai chưa Trên thực tế tại mỗi thời điểm thiết bị GSM chỉ gửi đi được một tin nhắn đến một số điện thoại, nên từ danh sách các cán bộ nhận tin nhắn, hệ thống sẽ lấy ra từng số điện thoại để gửi
Ngày gửi tin nhắn: Hệ thống lưu lại ngày gửi tin nhắn để cần thiết khi tra cứu lại và bảo trì hệ thống
Hình 2.7 Lưu đồ thuật toán quá trình nhắc việc dưới dạng SMS
Quá trình gửi tin nhắn nhắc việc cũng sẽ được lưu trữ vào một file alarm.log
2.6 Dịch vụ thông báo tiền học phí
Trang 14Dịch vụ này cũng hoạt động trong hai chế độ, chế độ được kích hoạt và chế độ không được kích hoạt Khi được kích hoạt hoạt động, người quản trị sẽ cung cấp thông tin về khoảng thời gian đăng ký học, đựa vào khoảng thời gian này hệ thống sẽ lấy ra danh sách các sinh viên đăng ký học trong khoảng thời gian này để thông báo tới số điện thoại của sinh viên đ• đăng ký
Dịch vụ này chỉ được kích hoạt động sau mỗi đợt đăng ký học của sinh viên Tin nhắn SMS thông báo đóng tiền học phí có dạng:
M• sinh viên: Họ và tên: Học phí: Số tiền:Thời hạn nộp
Thí dụ một tin nhắn có dạng: DTC01200111295:Nguyễn Văn An:Học phí:5 800 000: Nộp trước ngày 23/12/2009
Thời hạn nộp sẽ do người quản trị nhập trực tiếp trên giao diện của hệ thống
Hình 2.8: Lưu đồ thuật toán thực hiện quá trình thông báo học phí dạng SMS
Khi gửi tin nhắn thành công hay không thành công hệ thống sẽ cập nhật lại trạng thái của quá trình gửi tin nhắn vào cơ sở dữ liệu và file nhật ký của hệ thống
2.7 Các thông số của GSM modem
Các GSM modem cho phép kết nối với hệ thống máy tính thông qua cổng COM hoặc USB, nếu kết nối qua cổng USB thì vẫn là chuyển đổi từ USB to COM ở đầu kia Để điều khiển truy cập đếm GSM modem từ máy tính người lập trình phải thiết lập các thông
số cho modem như:
Số cổng: Số cổng sẽ do hệ điều hành sẽ gán sao cho không trùng với các cổng COM đ• được sử trên hệ thống Các cổng được sử dụng ở đây là các cổng COM ảo
Tốc độ: Mỗi GSM modem có tốc độ thu và phát dữ liệu khác nhau tùy thuộc vào khả năng của từng loại được sử dụng Các tốc độ phổ biến là: 4900, 9600, 115200, 230400,
460800, 921600
Số bít dữ liệu: Cổng nối tiếp truyền dữ liệu theo từng bít trong một khung truyền Số biết
dữ liệu có thể nhận các giá trị là 5, 6, 7 hoặc 8
Bít start: Một bít start đánh dấu bắt đầu của khung truyền
Bít stop: Cổng nối tiếp có thể sử dụng từ 1 hoặc 1,5 bít stop
Bít kiểm tra chẵn lẻ: có thể có 1 biết kiểm tra chẵn lẻ hoặc không
Ngoài ra còn các thông số như flowControlIn, flowControlOut được sử dụng để đồng bộ
dữ liệu trong quá trình thu và phát
Khi triển khai hệ thống, người lập trình sẽ thiết lập các thông số cho phù hợp với loại modem GSM sử dụng Tất cả các thông số trên đều được định nghĩa trong file config của
hệ thống và sẽ được đọc ra khi thực thi chương trình phần mềm
2.8 Lập trình modem GSM/GPRS trên ngôn ngữ java
Hệ thống được lập trình cài đặt bởi ngôn ngữ java bởi tính ưu việt là có thể dễ dàng cài đặt và chạy trên mọi nền phần cứng và hệ điều hành
Để lập trình được cho modem GSM trên java cần cung cấp thư việc wincom32.dll trong thư mục Windows/system32 của hệ điều hành Windows Thư viện này sẽ cung cấp các hàm cho phép điều khiển kết nối giữa ứng dụng java với cổng COM ảo Ngoài ra, người lập trình cần sử dụng thư viện comm.jar để sử dụng các hàm cho phép làm việc với cổng COM trên java như: Mở cổng, thiết lập các thông số cho cổng, đọc, ghi lên cổng trong quá trình truyền thông
Trang 15
Chương 3: Thiết kế hệ thống
Hệ thống được thiết kế theo từng module chức năng, mỗi module đảm nhiệm các nhiệm
vụ cụ thể Chương này sẽ trình bày chi tiết về các thiết kế của hệ thống
3.1.2 Khối điều khiển truy cập cơ sở dữ liệu
Khối này làm nhiệm vụ giao diện giữa cơ sở dữ liệu với hệ thống, nó điều khiển kết nối đến cơ sở dữ liệu, trực tiếp truy vấn dữ liệu và trả về kết quả cho khối xử lý trung tâm của
hệ thống và ngược lại
3.1.3 Khối xử lý trung tâm
Khối này làm nhiệm vụ kết nối các thành phần của hệ thống và điều phối mọi hoạt động của hệ thống, nó bao gồm các khối nhỏ chính:
Khối xử lý cuộc gọi: Khối này làm nhiệm vụ xử lý các cuộc gọi đến của phụ huynh hoặc sinh viên để nghe điểm Nó cũng làm nhiệm vụ lấy ra các file âm thanh từ dữ liệu văn bản tương ứng với điểm của sinh viên Khi có cuộc gọi đến nó sẽ kiểm tra số điện thoại hợp lệ thì sẽ lấy các file âm thanh tương ứng với điểm của sinh viên để phát
Khối xử lý điểm: Làm nhiệm vụ chuyển dữ liệu điểm của sinh viên dưới dạng văn bản thành dạng các thông điệp dạng SMS để có thể gửi đi Dữ liệu điểm của sinh viên có thể được cắt ra thành nhiều thông điệp vì mỗi thông điệp dạng SMS chỉ cho phép gửi một số lượng giới hạn các ký tự nhất định (nhỏ hơn 160 ký tự)
Khối xử lý thông báo lịch họp: Khối này làm nhiệm vụ xử lý cập nhật các thông báo lịch họp vào cơ sở dữ liệu và gửi đến các cán bộ, giảng viên dưới dạng SMS Sau khi gửi xong sẽ cập nhật lại kết quả gửi tin nhắn vào cơ sở dữ liệu và file nhật ký
Khối xử lý thông báo tiền học phí: Khối này làm nhiệm vụ xử lý thông báo đóng tiền học phí của học viên theo từng đợt học và thông báo dưới dạng tin nhắn SMS Cập nhật lại kết quả gửi tin nhắn vào cơ sở dữ liệu và file nhật ký
3.1.4 Khối điều khiển trao đổi dữ liệu dạng SMS
Khối này làm nhiệm vụ điều khiển quá trình trao đổi dữ liệu dạng SMS giữa hệ thống với modem GSM dựa trên các thông số đ• được thiết lập trước
3.1.5 Khối điều khiển trao đổi dữ liệu dạng voice
Khối này làm nhiệm vụ điều khiển quá trình trao đổi dữ liệu dạng voice giữa hệ thống với modem GSM dựa trên các thông số của modem đ• được thiết lập trước trong file config
và thông tin về sinh viên đ• được lựa chọn
3.2 Thiết kế cơ sở dữ liệu
Khi triển khai hệ thống cần bổ sung vào cơ sở dữ liệu của các trường các bảng dữ liệu sau:
3.2.1 Bảng lưu trữ thông tin về quá trình thực hiện voice
Trang 16Bảng này chứa kết quả của quá trình thực hiện voice khi dịch vụ voice hoạt động Bảng này gồm các trường sau:
Số thứ tự Tên trường Kiểu dữ liệu Mô tả
1 idvoice Integer M• cuộc gọi
2 masinhvien Char(50) M• sinh viên
3 mamonhoc Char(50) M• môn học
4 voiced Integer Trạng thái cuộc gọi thành công hay không Nhận giá trị 1 (cuộc gọi thành công), 0 (nếu cuộc gọi không thành công)
5 datevoice datetime Ngày thực hiện cuộc gọi
Bảng 3.1 Bảng thông tin về quá trình thực hiện voice
3.2.2 Bảng lưu trữ thông tin về quá trình thực hiện gửi điểm dưới dạng SMS
Bảng này chứa kết quả của quá trình thực hiện gửi điểm dưới dạng tin nhắn SMS Bảng này gồm các trường sau:
Số thứ tự Tên trường Kiểu dữ liệu Mô tả
1 id Integer M• tin nhắn
2 masinhvien Char(50) M• sinh viên
3 mamonhoc Char(50) M• môn học
4 noidung Text Nội dung tin nhắn đ• được gửi đến số điện thoại của sinh viên
5 datesms datetime Ngày gửi tin nhắn
6 trangthai Integer Kết quả gửi tin nhắn thành công (=1) hoặc không (=0) Bảng 3.2 Bảng thông tin về quá trình thực hiện gửi điểm dạng SMS
3.2.3 Bảng lưu trữ thông tin về quá trình thực hiện gửi tin nhắn nhắc việc dưới dạng SMS
Bảng này chứa kết quả của quá trình thực hiện nhắc việc dưới dạng tin nhắn SMS Bảng này gồm các trường sau:
Số thứ tự Tên trường Kiểu dữ liệu Mô tả
1 id Integer M• tin nhắn
2 noidungsms Char(50) Nội dung tin nhắn gửi đi
3 nguoinhan Char(50) Họ tên và số điện thoại người nhận
4 ngaygui Datetime Ngày gửi tin nhắn
5 trangthai Integer Kết quả gửi tin nhắn thành công (=1) hoặc không (=0) Bảng 3.3 Bảng thông tin về quá trình thực hiện nhắc việc dạng SMS
3.2.4 Bảng lưu trữ thông tin về quá trình thực hiện gửi tin nhắn thông báo học phí dưới dạng SMS
Bảng này chứa kết quả của quá trình thực hiện gửi tin nhắn thông báo học phí dưới dạng tin nhắn SMS Bảng này gồm các trường sau:
Số thứ tự Tên trường Kiểu dữ liệu Mô tả
1 id Integer M• tin nhắn
2 nguoinhan Varchar(50) Họ và tên và số điện thoại người nhận
3 sotien Char(50) Số tiền đ• thông báo
4 ngaygui Datetime Ngày gửi tin nhắn
5 trangthai Integer Kết quả gửi tin nhắn thành công (=1) hoặc không (=0) Bảng 3.3 Bảng thông tin về quá trình thực hiện nhắc việc dạng SMS
3.3 Thiết kế file config
Trang 17File config sẽ được thiết kế dưới dạng file ini gồm các mục riêng rẽ cho từng mục như sau:
Khái báo các thông tin về cơ sở dữ liệu:
Quyery = 'SELECT sinhvien.masv, hodem,ten,ngaysinh, monhoc.mamon,
monhoc.tenmon, diemtb FROM sinhvien,monhoc,diemsinhvien WHERE sinhvien.masv
= diemsinhvien.masv and diemsinhvien.mamon = monhoc.mamon and
diemsinhvien.mamon not in (select mamon from diemvoice) and diemsinhvien.masv not
in (select masv from diemvoice)'
Khai báo câu truy vấn phục vụ tính năng thông báo điểm dưới dạng SMS:
[SMSQuery]
quyery='SELECT sinhvien.masv, hodem,ten,ngaysinh, monhoc.mamon, monhoc.tenmon, diemtb FROM sinhvien,monhoc,diemsinhvien WHERE sinhvien.masv =
diemsinhvien.masv and diemsinhvien.mamon = monhoc.mamon and
diemsinhvien.mamon not in (select mamon from diemsms) and diemsinhvien.masv not in (select masv from diemsms)'
Khai báo câu truy vấn phục vụ tính năng thông báo tiền học phí dưới dạng SMS:
3.4 Thiết các module chương trình
3.4.1 Module LoadConfig
Module này làm nhiệm vụ đọc nội dung của file Config.ini để lấy các thông tin về cơ sở
dữ liệu, thông tin về cổng nối tiếp, thông tin về các câu truy vấn cơ sở dữ liệu
Để đọc được file Config.ini cần khai báo đối tượng file như sau:
File file=new File(getPath()+"Config.ini");
Ini ini = new Ini();
ini.load(new FileReader(file));
Trang 18Để lấy thông tin về cơ sở dữ liệu trong file Config.ini sử dụng các lệnh sau:
Ini.Section section = ini.get("DATABASE");
user= section.get("user").toString();
pass=section.get("pass").toString();
classforname=section.get("classforname").toString();
url=section.get("url").toString();
Để lấy thông tin về cổng COM trong file Config.ini sử dụng các lệnh sau:
Ini.Section sectionCom = ini.get("COMPORT");
String userName = LoadConfig.user;
String password = LoadConfig.pass;
String url = LoadConfig.url;
Class.forName (LoadConfig.classforname).newInstance ();
conn = DriverManager.getConnection (url,userName, password);
System.out.println("Đ• kết nối đến cơ sở dữ liệu thành công");
}
catch (Exception e){
System.err.println ("Kết nối đến cơ sở dữ liệu không thành công");
e.printStackTrace();
}}
Hàm closeconnect(): cho phép đóng kết nối đến cơ sở dữ liệu:
public void closeConnect(){
if (conn != null){
Trang 19Hàm send(String message) cho phép gửi một xâu ra cổng COM:
byte[] theBytes= (message+"\n").getBytes();
for (int i=0; i<theBytes.length;i++){
char newCharacter = (char)theBytes[i];
if ((int)newCharacter==10) newCharacter = '\r';
try {
os.write((int)newCharacter);