第五章 發話者喜好之網路電話系統在數學教育課程上的應用
5.3 數學學習線上諮詢系統組成與操作
這個系統是採用 iptel.org 所開發的 SER(SIP Express Router)[14]與 SERWeb 軟體,再配合 client 端的 X-lite 即時通訊軟體以及後端的 MySQL
資料庫組成,SER 是一套符合 RFC 3261 的 SIP server,包含 registrar,proxy server 與 redirect server,支援多種作業系統平台,如 Linux、BSD、Solaris 等,且是開放原始碼,模組化設計介面,相當地有彈性打造成各自需要的 使用面向,此外,是使用 C 語言撰寫而成,因此在各個平台上皆擁有良好 的執行效率;而 SERWeb 則是 SER 的一個網頁管理介面程式,用 PHP 語 言撰寫,因此相容於各種標準的網頁瀏覽器,且其設計為模組化,我們可 以很容易的修改或增刪各項功能,以符合我們的需求。
圖 5.3 線上諮詢系統架構圖
整個課程系統的架構如圖 5.3 所示,在網路電話主機 SER 的運作環境 下,使用者可藉由 SERweb 的網頁介面操縱管理在 SER 資料庫上的帳號基 本資訊、電話簿、發送文字訊息…等,還可以由 SERweb 上點擊撥號透過 X-lite 等 client 端通訊軟體直接連絡受話者,而我們主要的改變在 SERweb 上,將其修改成適合課程名單與修課學生的架構,依每個登入帳號的不 同,便會按身份而顯示不同的資訊,例如是以學生的身份登入,如圖 5.6,
便會先顯示該位學生是修哪些課程,再點入該課程時,才會顯現出修習此 課的學生與課程助教,在最左邊顯示姓名,接著是他們的 SIP address,再 來是顯示他們的狀態、課程名稱,若狀態是顯示在線的話,便可點選他的 SIP address 進行通話,而若是老師身份的話,一登入,是顯示該老師教授 哪幾門課,再點入時才是該課程的學生與助教名單,助教身份也是相同,
此外,在顯示的名單上,還會標明每個人是否在線上,若顯示 online,便
可直接點選嘗試通話,以作課程相關討論。
此外,在欲點選受話者時,還可以結合一些喜好條件以作選擇,操作 流程如圖 5.4,例如修課學生想要詢問課程上的問題時,但不知該詢問哪 位助教,可以在問題列上輸入欲問的題目,系統在分析比對後,即可按照 概念關聯架構,如圖 5.8,依問題的程度分別列出負責的助教,以供點選 進行通話,達成依發話者喜好選擇受話端。
圖 5.4 學生於線上諮詢系統操作流程圖
以下介紹 SERWeb 的實作部份,SERWeb 是由 PHP 程式撰寫而成的使 用者網頁介面軟體,需配合 SER 網路電話伺服器使用,提供 SER 的管理 者及使用者一個方便的操作環境,其採模組化設計,在一般使用者方面,
計有十項功能,例如帳號資訊、電話簿、傳送文字訊息等,且其程式架構 上,將各項功能的主程式、顯示畫面、各文字訊息、抓取資料庫等皆為分
開撰寫。
而我們所作的數學學習線上諮詢系統,主要是修改其電話簿的功能 (phonebook.php),增加三個新的模組:course_list.php、course_students.php 與 test_question.php,首先是在 ser 的資料庫中新增一資料表 course_list,
記載各使用者修習哪些課程,因此在使用者點選課程功能進入頁面時,便 是一個新的模組,由程式讀取該使用者在 course_list 資料表內的修課資 訊;在點選課程名稱進入修課名單時,又是一個新模組,根據原本的電話 簿資料表修改而成,新增加三個欄位,分別為 course_name、course_id 與 question,其中 course_name 記載課程的名稱,course_id 記錄課程的編號,
而 question 欄位則是記載概念關聯問題的分類;最後一個新增的模組則是 運用在學生詢問問題時,分析比對問題的關鍵字,之後到資料庫中,比對 助教的 question 欄位,符合的助教便輸出到瀏覽器畫面上供使用者點選通 話,在其程式邏輯判斷上,是在 test_question 模組的主程式裡加上所需的 關鍵字比對程式碼,這裡是只針對 C1 至 C12 的關鍵字作判斷,將 C1 至 C6 分為一群, C7 至 C12 為另一群,當偵測到問題中有符合的關鍵字,便 到資料表中將符合的助教人選輸出。
圖 5.5 數學學習線上諮詢系統登入畫面
圖 5.6 學生修課科目
圖 5.7 課程修課名單
圖 5.8 依問題程度選擇助教