2010年5月10日 星期一

X21 相信組裝式開發的原因(3)──語音傳真系統

每一條線路都配置10個迴圈計數器與100個系統變數(VAR00-VAR99)保存必要的資訊,比較典型的語音系統指令有下面幾個:

●播放語句:播放指定的語音檔,可指定重播次數與每次重播間的等待秒數;同時設定選擇項與選擇保留變數。語音播放次數結束或是使用者有按鍵的話,都能夠跳往不同的流程區段。


●輸入資料:播放語句的同時接受用戶以DTMF輸入較長的資料並存放到指定變數,輸入後可用結束字元並進行長度的檢查,再根據結果進行不同的流程。


●電話撥出:撥出指定的電話號碼並依撥出結果執行不同的流程。搭配執行記錄可以做出撥出數量與結果的報表;撥通後搭配播放語句的選擇功能就可以做出隨機撥號的問卷統計。


●讀寫DBF檔、讀寫binary file、用RS-232C傳送資料也獨立為執行指令,取得使用者輸入的資料寫檔或是讀入資料後運用合成語句的方式將結果播報給使用者聽,也是很常出現的運用。

當年開發語音應用程式時,大部分的時間都是在畫流程圖與切割組裝用的語句,等到客戶確認流程圖後再選擇適合的指令組裝出流程。除了複雜的資料處理與極少數未規畫為指令集的行為還是要另外寫程式之外,九成以上的時間都在組裝指令與進行測試。這樣的開發模式除了比撰寫程度快速許多之外,對於不懂語音卡、資料庫、RS-232C底層API的人,只要經過少許訓練後就能上手開發。

自己曾經藉由這類的開發工具而步入職場,在理解設計原理後另外重新製作一套,同時享受只運用流程的組裝就建立系統的過程。在1990年代時就能如此,這正是我一直相信程式能夠設計為組裝式開發的原因。

註:當年運用這套語音工具開發系統的單位有
●XX政府便民語音傳真系統──除了提供民眾以語音或傳真取得資訊之外,同時提供維護者撥電話進入系統製作語音與傳真內容。
●XX證券分析師盤勢分析──民眾與分析師以用戶代號與密碼驗證身份後,根據不同身份進行聽取盤勢分析(另有扣點功能)或是錄製功能。
●XX公司庫存記錄系統──不同分公司的業務在銷售某項產品後,在外面撥電話進入分公司按入產品代號與數量,資料會藉由數據機傳回總公司即時計算存量後顯示在工作人員的電腦上。
●XX單位費用催繳系統──從文字檔讀入欠費資料在設定的時段依序打電話播放催繳費用的語句,並在最後讓使用者按鍵回饋聽取的結果。每天與每月都要產出結果報表作為記錄,並用人工催繳撥號失敗的用戶。

沒有留言:

張貼留言