Hiện nay, trên thế giới có một số nước đã áp dụng hệ thống dạy học bằng điện thoại di động:
- Nhật Bản, Đài Loan và Nam Phi là những nước đi đầu trong việc ứng dụng học bằng điện thoại di động.
- Hàn Quốc và Trung Quốc là những nước có tiềm năng lớn
- Australia, Canada, Ấn Độ cũng đang bắt đầu với các thử nghiệm về hệ thống học bằng điện thoại di động.
Ở Việt Nam, hệ thống học qua điện thoại di động đang ở giai đoạn nghiên cứu, tuy nhiên như chúng ta đã biết học qua điện thoại di động đang là một xu thế tất yếu trong nền kinh tế tri thức, khi mà lượng kiến thức và nhu
cầu học tập với chất lượng cao mọi lúc mọi nơi của con người tăng lên rất nhanh. Với sự phát triển vượt bậc của khoa học công nghệ, đặc biệt là trong công nghệ thông tin thì ngày nay việc phát triển hệ thống học qua điện thoại di động là một việc làm hết sức cần thiết.
CHƯƠNG 2.
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 2.1. Mô tả hệ thống
Hệ thống tương tác giữa người dạy với người học qua tin nhắn SMS thực hiện chức năng kiểm tra người học trong hệ thống dạy học qua tin nhắn SMS. Hệ thống được xây dựng đơn giản bao gồm một máy tính (server) chạy phần mềm tương tác giữa người dạy với người học qua tin nhắn SMS và một Modem GSM (Dcom 3G) kết nối với máy tính qua cổng USB. Người dạy học sẽ tương tác với người học thông qua hệ thống này. Hệ thống tương tác giữa người dạy với người học qua tin nhắn SMS được mô tả trong hình 2.1.
Hình 2.1. Sơ đồ hệ thống tương tác giữa người dạy với người học qua tin nhắn SMS.
2.2. Yêu cầu của hệ thống
Hệ thống phải đạt được những yêu cầu sau đây:
- Hệ thống phải có khả năng giao tiếp với một (hoặc nhiều) thiết bị di động để gửi và nhận tin nhắn, có khả năng cấu hình cũng như giám sát tình trạng kết nối thiết bị.
- Hệ thống phải có cơ chế “gửi/nhận, xử lý tin nhắn” một cách chính xác, nhanh chóng.
- Hệ thống phải có khả năng thống kê tình trạng hoạt động của toàn bộ hệ thống trong một khoảng thời gian nào đó.
2.3. Các vấn đề cần giải quyết
- Xây dựng được một lớp các đối tượng giao tiếp với thiết bị di động có thể đọc các thông tin về thiết bị cũng như để gửi và nhận tin nhắn.
- Thiết kế cơ sở dữ liệu của hệ thống sao cho tối ưu, hợp lý. - Thiết kế giao diện của hệ thống sao cho dễ sử dụng.
- Thiết kế các phương thức sao cho có thể truy xuất đến nguồn dữ liệu truy vấn từ hệ quản trị SQL Server.
- Thiết kế module cấu hình câu lệnh dịch vụ sao cho người quản lý hệ thống có thể thiết lập tùy ý các tùy chọn cũng như test thử kết quả.
2.4. Đặc tả chức năng của hệ thống
2.4.1. Chức năng kế thừa từ hệ thống SMS Gateway
2.4.1.1. Chức năng kết nối, ngắt kết nối
Thực hiện mở cổng giao tiếp với tham số giao tiếp nối tiếp xác định. Sau khi ngắt kết nối, hệ thống sẽ đóng cổng giao tiếp và giải phóng cổng.
2.4.1.2. Chức năng gửi tin nhắn
Chức năng này cho phép hệ thống gửi một tin nhắn văn bản (nội dung câu hỏi/đáp án) đến một thiết bị di động của người học thông qua phương thức SendSMS trong thư viện Mcore.
2.4.2. Chức năng đăng ký số điện thoại
Mỗi một người học sẽ đăng ký một số điện thoại để hệ thống lưu trữ trong cơ sở dữ liệu.
Người học đăng ký số điện thoại của mình bằng cách nhắn tin tới hệ thống yêu cầu đăng ký số điện thoại với thông tin là mã sinh viên của mình bằng cách soạn tin: DK [ ] MaSV tới hệ thống. Hệ thống gửi phản hồi thông báo đăng ký thành công hay thất bại thông qua tin nhắn SMS đến số điện thoại người dùng. Nếu thành công, số điện thoại của người đăng ký sẽ được lưu vào cơ sở dữ liệu để khi cần kiểm tra người dạy sẽ gửi đề thi tới số điện thoại đã đăng ký của người học.
2.4.3. Chức năng hủy số điện đã đăng ký
Nếu sinh viên muốn hủy số điện thoại đã đăng ký thì soạn tin: HUY [ ] MaSV. Hệ thống sẽ phản hồi thông báo hủy số điện thoại thành công hay thất bại bằng cách gửi tin nhắn SMS đến số điện thoại người dùng đã yêu cầu.
2.4.4. Chức năng kiểm tra
Khi tiến hành kiểm tra, người dạy học gửi câu hỏi kiểm tra tới người học thông qua hệ thống. Người học nhận câu hỏi sẽ thực hiện gửi tin nhắn trả lời câu hỏi theo cú pháp đã quy định. Hệ thống nhận được tin nhắn trả lời của người học thì sẽ lưu lại vào cơ sở dữ liệu để người dạy học xem kết quả làm bài của người học.
- Cú pháp tin nhắn trả lời câu hỏi như sau:
Khi nhận được câu hỏi từ hệ thống, người học sẽ trả lời theo cú pháp tin nhắn sau: TL X [ ] Y, trong đó: X là thứ tự câu hỏi, Y là phương án trả lời câu hỏi đó.
- Kịch bản tiến hành kiểm tra.
Khi muốn thực hiện kiểm tra học viên, giáo viên tiến hành kiểm tra qua hệ thống nhắn tin SMS theo kịch bản kiểm tra được trình bày ở bảng 2.2:
Bảng 2.1. Bảng mô tả kịch bản thực hiện kiểm tra qua tin nhắn SMS.
Sự kiện Ví dụ
1 Hệ thống gửi câu hỏi tới người học.
1) Để thoát khỏi một chương trình trong Windows, ta thường dùng tổ hợp phím nóng nào? A) Alt + F4 B) Ctrl + F4 C) Shift + F4 D) Tất cả đều sai 2 Người học gửi tin nhắn trả lời
theo cú pháp quy định: TL (cách) thứ tự câu hỏi (dấu cách) phương án trả lời.
Giả sử người học chọn phương án A thì sẽ soạn tin theo cú pháp: TL (cách) 1 (cách) A và gửi tới tổng đài.
3 Hệ thống xử lý tin nhắn và lưu thông tin vào cơ sở dữ liệu.
2.4.5. Chức năng cập nhật câu hỏi kiểm tra
Chức năng này cho phép người dạy học có thể thêm, sửa hoặc xóa các câu hỏi kiểm tra trong cơ sở dữ liệu sao cho phù hợp với chương trình học.
2.4.6. Chức năng báo cáo kết quả
Sau khi thực hiện kiểm tra xong, người dạy học có thể yêu cầu hệ thống cho xem kết quả trả lời của mỗi học viên theo từng môn học hoặc lịch sử gửi tin nhắn của mình. Chức năng “Báo cáo kết quả” sẽ thực hiện nhiệm vụ truy xuất kết quả trong sơ sở dữ liệu để đưa ra cho người dạy xem.
2.5. Phân tích và thiết kế chức năng hệ thống
2.5.1. Xây dựng biểu đồ phân cấp chức năng
Qua việc phân tích chức năng của hệ thống ta xây dựng được biểu đồ phân cấp chức năng biểu diễn trong hình 2.2:
Hình 2.2. Biểu đồ phân cấp chức năng.
2.5.2. Xây dựng biểu đồ luồng dữ liệu
2.5.2.1. Xây dựng biểu đồ luồng dữ liệu mức khung cảnh
Hình 2.3. Biểu đồ luồng dữ liệu mức khung cảnh.
Mô tả biểu đồ:
+ Để có thể thực hiện bài kiểm tra, người học cần phải nhắn tin đăng ký số điện thoại của mình, gửi tới hệ thống. Khi nhận được tin nhắn đăng ký của người học, hệ thống sẽ tự động gửi thông báo tới người học.
+ Khi muốn hủy số điện thoại đã đăng ký, người học cần nhắn tin hủy đăng ký tới hệ thống. Sau khi xóa số điện thoại đã đăng ký của người học, hệ thống sẽ tự động thông báo cho người học biết.
+ Khi thực hiện kiểm tra, hệ thống sẽ gửi câu hỏi tới người học, người học sẽ nhắn tin theo cú pháp quy định trước gửi tới hệ thống để trả lời câu hỏi.
● Tương tác giữa người dạy với hệ thống bao gồm:
+ Người dạy học sẽ gửi tới hệ thống câu hỏi kiểm tra phù hợp với chương trình học để hệ thống lưu vào cơ sở dữ liệu. Khi thực hiện kiểm tra, hệ thống sẽ lấy câu hỏi trong cơ sở dữ liệu để gửi tới người học.
+ Khi người dạy đưa ra yêu cầu xem lịch sử hay kết quả kiểm tra, hệ thống sẽ đưa ra thông tin mà người dạy yêu cầu.
2.5.2.2. Xây dựng biểu đồ luồng dữ liệu mức đỉnh
Hình 2.4. Biểu đồ luồng dữ liệu mức đỉnh.
Mô tả biểu đồ:
+ Khi người học gửi tin nhắn đăng ký số điện thoại tới hệ thống, chức năng “Đăng ký số điện thoại” của hệ thống sẽ tiếp nhận xử lý tin nhắn. Sau khi xử lý và lưu trữ số điện thoại của người học vào cơ sở dữ liệu, chức năng này sẽ phải tự động gửi thông báo tới người học.
+ Tin nhắn hủy số điện thoại đã đăng ký của người học gửi đến sẽ được chức năng “Hủy số điện thoại đã đăng ký” của hệ thống xử lý. Sau khi xóa số điện thoại đã đăng ký của người học, chức năng “Hủy số điện thoại đã đăng ký” sẽ gửi lại thông báo cho người học.
+ Chức năng “Cập nhật đề kiểm tra” thực hiện nhiệm vụ tiếp nhận câu hỏi mà người dạy học gửi tới hệ thống và lưu trữ vào cơ sở dữ liệu. Sau khi nhận câu hỏi, chức năng này sẽ thông báo lại người dạy đã nhậ câu hỏi.
+ Khi người dạy học đưa ra yêu cầu kiểm tra người học, chức năng “Kiểm tra” sẽ lấy câu hỏi trong cơ sở dữ liệu theo yêu cầu của người dạy và gửi đến người học. Khi người học gửi câu trả lời tới hệ thống, chức năng “Kiểm tra” nhận và lưu lại kết quả.
+ Sau khi kiểm tra xong, người dạy học có thể yêu cầu hệ thống cho xem kết quả làm bài của người học. Chức năng “Báo cáo kết quả” của hệ thống sẽ tự động lấy kết quả trong cơ sở dữ liệu và xuất ra màn hình cho người dạy học xem.
2.6. Thiết kế mô hình cơ sở dữ liệu
2.6.1. Xác định các thực thể
Qua việc phân tích hệ thống tương tác giữa người dạy với người học qua tin nhắn SMS ở trên ta thấy hệ thống cần lưu trữ những thực thể bao gồm các thuộc tính sau đây:
+ Sinh viên gồm các thuộc tính: Mã sinh viên, Họ tên sinh viên, Mã lớp. + Kết quả đăng ký gồm các thuộc tính: Mã sinh viên, Mã môn học, Mã đăng ký, Ngày đăng ký, Cải thiện.
+ Sinh viên_Số điện thoại gồm các thuộc tính: Mã sinh viên, Số điện thoại.
+ Câu hỏi kiểm tra gồm các thuộc tính: Mã câu hỏi, Mã môn học, Nội dung câu hỏi, Đáp án A, Đáp án B, Đáp án C, Đáp án D, Đáp án đúng.
+ Chi tiết kiểm tra gồm các thuộc tính: Mã môn học, Mã câu hỏi, Nội dung câu hỏi, Số điện thoại nhận, Thời gian gửi.
+ Kết quả kiểm tra gồm các thuộc tính: Mã sinh viên, Số điện thoại, Nội dung trả lời, Kết quả, Thời gian trả lời.
+ Tin nhắn xử lý gồm các thuộc tính: Số điện thoại, Nội dung, Ngày tháng, Trạng thái.
2.6.2. Mô hình thực thể liên kết
- Mối quan hệ giữa các thực thể:
+ Mối quan hệ giữa thực thể Sinh viên và thực thể Sinh viên_Số điện thoại là quan hệ 1-n (một - nhiều), tức là: Mỗi số điện được đăng ký bởi một sinh viên. Mỗi sinh viên có thể đăng ký nhiều số điện thoại khác nhau.
+ Mối quan hệ giữa thực thể Sinh viên và thực thể Kết quả đăng ký là quan hệ 1-n (một – nhiều): Mỗi kết quả đăng ký chỉ do một sinh viên đăng ký. Mỗi sinh viên có thể đăng ký một hay nhiều môn học nên có thể có một hay nhiều kết quả đăng ký khác nhau.
+ Mối quan hệ giữa thực thể Sinh viên_Số điện thoại và thực thể Tin nhận xử lý là quan hệ 1-n (một - nhiều), tức là: Mỗi tin nhắn chỉ do một số điện thoại gửi đến hệ thống. Mỗi sinh viên có thể gửi nhiều tin nhắn đến hệ thống bằng số điện thoại của mình.
+ Mối quan hệ giữa thực thể Câu hỏi kiểm tra và thực thể Chi tiết kiểm tra là quan hệ 1-n (một – nhiều): Mỗi câu hỏi kiểm tra có nhiều chi tiết kiểm
tra (mỗi câu hỏi được gửi nhiều lần, cho nhiều người). Mỗi chi tiết kiểm tra chỉ chứa một câu hỏi kiểm tra.
+ Mối quan hệ giữa thực thể Sinh viên_Số điện thoại và thực thể Chi tiết kiểm tra là quan hệ 1-n (một – nhiều): Mỗi số điện thoại có nhiều chi tiết kiểm tra (vì mỗi sinh viên thực hiện nhiều bài kiểm tra). Mỗi chi tiết kiểm tra chỉ do một số điện thoại thực hiện.
+ Mối quan hệ giữa thực thể Sinh viên_Số điện thoại và thực thể Kết quả kiểm tra là quan hệ 1-n (một - nhiều): Mỗi số điện thoại có nhiều kết quả kiểm tra (vì mỗi sinh viên thực hiện nhiều bài kiểm tra nên có nhiều kết quả). Mỗi kết quả kiểm tra chỉ do một số điện thoại gửi đến.
- Mô hình thực thể liên kết:
Từ việc xác định mối quan hệ giữa các thực thể ta có mô hình thực thể liên kết như hình 2.5:
Hình 2.5. Mô hình thực thể liên kết.
2.6.3. Thiết kế cơ sở dữ liệu
Để quản lý dữ liệu và thông tin của hệ thống cần xây dựng cơ sở dữ liệu như sau:
a) Bảng SinhVien
Mô tả: Bảng SinhVien (Sinh viên) – trình bày ở bảng 2.2, lưu trữ thông tin của sinh viên bao gồm: MaSV (mã sinh viên), HoTenSV (họ tên sinh viên), Malop (Mã lớp).
Bảng 2.2. Bảng lưu trữ thông tin sinh viên. tbl_SinhVien
Tên trường Kiểu dữ liệu Kích thước Ghi chú
MaSV varchar 50 Mã sinh viên
HoTenSV nvarchar 200 Họ tên sinh viên
b) Bảng KQDK
Mô tả: Bảng KQDK (Kết quả đăng ký) – trình bày ở bảng 2.3, lưu trữ thông tin các môn học mà sinh viên đăng ký bao gồm: MaSV (mã sinh viên), MaMH (mã môn học), MaDK (mã đăng ký), NgayDK (ngày đăng ký), CAITHIEN (cải thiện – thể hiện môn học là đăng ký mới hay cải thiện điểm).
Bảng 2.3. Bảng lưu trữ kết quả đăng ký. tbl_KQDK
Tên trường Kiểu dữ liệu Kích thước Ghi chú
Guid varchar 50 Guid
MaSV varchar 50 Mã sinh viên
MaMH varchar 50 Mã môn học
MaDK varchar 50 Mã đăng ký
NgayDK datetime Ngày đăng ký
CAITHIEN bit Cải thiện
c) Bảng SinhVien_SDT
Mô tả: Bảng SinhVien_SDT (Số điện thoại sinh viên) – trình bày ở bảng 2.4, lưu trữ số điện thoại cá nhân của từng sinh viên bao gồm: MaSV (mã sinh viên), SoDT (số điện thoại cá nhân của sinh viên).
Bảng 2.4. Bảng lưu trữ số điện thoại sinh viên. tbl_SinhVien_SDT
Tên trường Kiểu dữ liệu Kích thước Ghi chú
MaSV Varchar 50 Mã sinh viên
SoDT Char 11 Số điện thoại
d) Bảng CauHoi
Mô tả: Bảng CauHoi (Câu hỏi) – trình bày ở bảng 2.5, lưu trữ các câu hỏi kiểm tra, bảng CauHoi bao gồm các trường: MaCH (mã câu hỏi), MaMH (mã môn học), Noidung (nội dung câu hỏi), DA1 (phương án trả lời thứ nhất),
DA2 (phương án trả lời thứ hai), DA3 (phương án trả lời thứ 3), DA4 (phương án trả lời thứ 4), DAD (phương án đúng).
Bảng 2.5. Bảng lưu trữ câu hỏi kiểm tra. tbl_CauHoi
Tên trường Kiểu dữ liệu Kích thước Ghi chú
MaCH varchar 50 Mã câu hỏi
MaMH varchar 10 Mã môn học
Noidung nvarchar 500 Nội dung câu hỏi
DA1 nvarchar 500 Đáp án A DA2 nvarchar 500 Đáp án B DA3 nvarchar 500 Đáp án C DA4 nvarchar 500 Đáp án D DAD nvarchar 500 Đáp án đúng e) Bảng CTKT
Mô tả: Bảng CTKT (chi tiết kiểm tra) - trình bày ở bảng 2.6, lưu trữ thông tin khi thực hiện kiểm tra. Bảng CTKT bao gồm: MaMH (mã môn học), MaCH (mã câu hỏi), Noidung (nội dung câu hỏi), SoDT (số điện thoại nhận câu hỏi), TGgui (thời gian gửi tin nhắn).
Bảng 2.6. Bảng lưu trữ chi tiết kiểm tra. tbl_CTKT
Tên trường Kiểu dữ liệu Kích thước Ghi chú
MaMH varchar 50 Mã môn học
MaCH varchar 50 Mã câu hỏi
Noidung nvarchar 500 Nội dung câu hỏi SoDT nvarchar 20 Số điện thoại nhận câu hỏi TGgui nvarchar 50 Thời gian gủi tin nhắn
f) Bảng KetQua
Mô tả: Bảng KetQua (kết quả kiểm tra) – trình bày ở bảng 2.7, lưu trữ kết quả trả lời của sinh viên. Bảng KetQua bao gồm: MaKQ (mã kết quả - mã câu trả lời), MaCauHoi (mã câu hỏi kiểm tra), SoDT (số điện thoại của sinh viên trả lời câu hỏi), NoidungTL (nội dung câu trả lời), Ketqua (trạng thái thể hiện trả lời đúng hay sai), TGTL (thời gian nhận câu trả lời của sinh viên).
Bảng 2.7. Bảng lưu trữ kết quả kiểm tra. KetQua
Tên trường Kiểu dữ liệu Kích thước Ghi chú
MaKQ varchar 50 Mã câu trả lời
MaCH varchar 50 Mã câu hỏi
SoDT nvarchar 20 Số điện thoại
NoidungTL nvarchar 500 Nội dung câu trả lời Ketqua char 1 Tính đúng/sai của câu trả lời
TGTL nvarchar 50 Thời gian nhận câu trả lời