摘要:本文介紹了一種基于B/S體系的Web平臺“電路分析網上答疑系統”的設計與實現.該系統可以使師生在課余時間通過網絡進行快速的電路圖繪制與修改,并可以通過語音和文字兩種方式對疑難問題進行交流。
關鍵詞:網上答疑系統;B/S結構;電路圖繪制
中圖分類號:TP311.52
文獻標識碼:A
1引言
隨著近年來我國網絡通信建設的飛速發展,各行各業對于網絡的應用已是相當普遍。在各大高校中,校園寬帶網的日益完善也使大部分學生開始通過網絡進行學習和交流。但是在高校教學這個領域,我們依然過分依賴于傳統的教學模式,對于網絡的開發和應用程度遠遠不夠。即使是網絡教學系統,也是大多為靜態、無反饋的系統,很少提供交互式學習的功能。在教學改革工作的探討中,互動式教學一直為人們所關注。為此,我們在多年電路分析傳統教學的基礎上,開發了一個基于B/S結構的網上教學與答疑系統,當作“電路分析”教學的補充環節,并可延伸至其它課程及其它專業的教學。教師使用該系統可以通過在線繪制電路圖、語音文字交流等功能進行網上教學、在線輔導答疑、與學生互動交流。希望通過此系統充分利用現有的計算機和網絡資源,打破傳統教學模式在時間、空間上的限制,創造一種全新的教學模式,從而提高教學效率和質量。
2系統架構設計
2.1系統模塊設計
在多年教學經驗及師生反饋的基礎上,對此系統運用軟件工程的思想可以分為如下幾個模塊,見圖1。
(1) 實時教學模塊
此模塊是整個系統的核心部分,為了充分彌補課堂教學的不足,同時也為了加強師生網絡教學的互動性,該模塊需設立如下兩種功能:

第一:師生雙方快速繪制電路圖并實時更新。第二:實時通過語音或者文字形式進行交流。確保雙方表述問題直觀準確。
(2) 教學資源及留言模塊
為了便于同學課余自學及課后復習,教師可以將部分教學資源共享,學生中優秀的課程資料也可以上傳。在留言模塊中學生可以將疑難問題提出并等待老師回復。
(3) 系統管理及維護模塊
該模塊主要對整個系統的安全性與規范化起到保障作用,并進行日常管理、維護工作。
2.2系統實現模式
根據本系統所設定的模塊的功能,同時考慮到系統的健壯性、易操作性和易于管理等因素,決定采取基于B/S結構的三層模式進行開發,這樣系統將具有良好的靈活性和可擴展性,稍做修改就可以應對環境和應用條件的變動。同時B/S結構的“瘦客戶端”,使系統具備很高的穩定性、延展性和執行效率。三層模式將服務統一于客戶端,也使系統具備了良好的容錯能力和負載平衡能力。
鑒于與Windows系統良好的兼容性,整個三層系統采用ASP動態網頁服務器腳本技術編寫。ASP是目前十分流行的動態網頁開發工具,使用它可以創建和運行動態、交互的Web服務器應用程序。動態數據對象ADO可以與ASP結合以建立提供數據信息的網頁內容,通過ODBC驅動程序連接數據庫。ADO具有容易使用、開發執行快速、消耗系統資源較少和占用磁盤空間小等優點[3]。當使用者利用瀏覽器作為輸入界面,提出問題或輸入查詢請求時,瀏覽器會將這些數據返回給服務器,服務器對這些數據進行處理,如通過ADO創建數據對象,根據用戶的請求對數據進行相應的操作(或是將數據存入數據庫,或是對數據進行查詢等),最后服務器將執行的結果再通過ASP程序返回給瀏覽器,通過WEB頁面顯示出來。
在系統開發過程中,還需要結合COM組件技術將語音傳輸與電路圖繪制功能制作成ActiveX控件。而對于由于實時語音、圖畫傳輸所造成的系統頻繁刷新導致用戶舒適度下降的問題,則使用最新的AJAX技術解決,提高界面友好性。圖2為整個系統實現模式的結構圖。

3COM組件完成語音、繪圖功能
COM是微軟公司為了計算機工業的軟件生產更加符合人類的行為方式開發的一種新的軟件開發技術。在COM構架下,人們可以開發出各種各樣的功能專一的組件,然后將它們按照需要組合起來,構成復雜的應用系統。COM技術可以使多個應用系統重復利用同一個組件;可以方便地將應用系統擴展到網絡環境下;而且COM與語言、所在平臺無關。
本系統基于COM組件技術的ActiveX控件采用C++語言開發,分為語音傳輸與實時繪制電路圖兩部分。
3.1語音組件
語音傳輸功能的實現需要深入掌握socket套接字原理和網絡傳輸協議,合理使用socket技術,掌握常用的語音處理算法、播放處理技巧和數據封裝格式。圖3為語音處理控件原理圖。

其具體實現的方法是針對一個點實現話音的實時采集、處理、播放,同時能進行可靠的傳送和接收,然后將每個點與服務器相連接。對于前者,采用Windows MDK的低層音頻服務比較合適,因為底層音頻服務中的回調機制為我們提供了很大的方便。聲音的采集和播放建立在Windows底層波形音頻數據塊結構WAVEHDR的基礎上。當應用程序不斷向設備驅動程序提供音頻數據時,設備驅動程序控制音頻設備在后臺完成錄音和放音的具體操作,通過回調機制可以檢測到何時用完一個數據塊,并及時傳送下一個數據塊,保證了聲音的連續性。有了這種單機上的實時采集、回放功能后,接下來的工作就是在網絡上傳送話音數據。在B/S結構的網絡傳輸方面,選擇基于RTP協議進行開發,RTP是點對點通信(unicast)和多點廣播(multicast,多播)網絡上的實時傳輸協議,面向應用層,用來給實時數據的封裝提供一個固定框架格式。RTP本身不具有獨立傳輸數據的能力,它必須和底層的網絡協議(TCP、UDP等)結合起來完成數據傳輸服務。圖4為語音傳輸控件界面圖。

3.2繪圖組件
為了提高用戶手繪電路圖的效率,決定采用面向對象、基于圖元的Windows GDI繪制技術來完成繪圖組件功能。
GDI是Graphics Device Interface的縮寫,含義是圖形設備接口,它的主要任務是負責系統與繪圖程序之間的信息交換,處理所有Windows程序的圖形輸出。
在Windows操作系統下,GDI處理來自Windows應用程序的圖形函數調用,然后把這些調用傳遞給合適的設備驅動程序,由設備驅動程序來執行與硬件相關的函數并產生最后的輸出結果。GDI的繪制工作需要通過一個設備上下文進行,設備上下文是一種Windows數據結構,它包括了與一個設備的繪制屬性相關的信息,每次繪制操作所對應的設備上下文對象中封裝了實現繪制線條、形狀和文本的Windows API函數。
圖5為繪圖控件界面圖,對于其繪制過程中所用到的圖元的設計首先要考慮的是按照對功能的抽象,進行類基礎上的合理層次劃分。

考慮到圖元設計的實用性和可擴展性,圖元繪制系統應滿足以下要求:
(1) 圖元應包括電路分析教學中常見的元素,并能讓用戶隨意改變圖元的大小、位置等屬性。
(2) 圖元對象的多重復用,根據圖元的屬性方法和操作特性,進一步設計圖元對象的成組和拆組功能。
整個繪圖控件運用軟件工程的思想,將繪圖過程進行細化和優化處理,圖6是繪圖控件的時序圖。

4AJAX技術在系統中的應用
AJAX是一種創建交互式網頁應用的網頁開發技術。傳統的Web應用允許用戶填寫表單(form),當提交表單時就向Web服務器發送一個請求。服務器接收并處理傳來的表單,然后返回一個新的網頁。這個做法浪費了許多帶寬,因為在前后兩個頁面中的大部分HTML代碼往往是相同的。由于每次應用的交互都需要向服務器發送請求,應用的響應時間就依賴于服務器的響應時間。這導致了用戶界面的響應比本地應用慢得多。
與此不同的是,AJAX應用可以僅向服務器發送并取回必需的數據,它使用SOAP或其它一些基于XML的web service接口,并在客戶端采用JavaScript處理來自服務器的響應。因為在服務器和瀏覽器之間交換的數據大量減少,結果就是響應更快的應用。同時很多的處理工作可以在發出請求的客戶端機器上完成,所以Web服務器的處理時間也減少了。
根據AJAX的特點,在系統中將AJAX運用于用戶登錄模塊與語音、繪圖傳輸模塊。在用戶登錄模式中,用戶可以用游客身份登錄系統,在觀看其他人討論后,可以直接登錄參加討論,而不用像傳統的web系統要先退回到登錄模塊再重新進入討論區。在語音、繪圖實時傳輸模塊,由于頻繁的系統刷新,影響了用戶的舒適度,AJAX可以不打斷用戶之間的交流,將傳輸、刷新工作轉入后臺運行,提高了系統的友好性。
5結束語
通過網絡組織答疑活動,提高了學生課余時間主動參與學習的興趣,調動了學生學習的積極性。同學與同學之間、教師與同學之間的討論活躍了思維,彌補了傳統教學師生互動的不足。作為一種新的嘗試,網絡答疑系統還有一些需要改善的方面,比如用戶界面設計的友好性,繪制電路圖功能的多樣性等,需要在以后的工作中繼續完善。
參考文獻:
[1] 沈文智. Microsoft IIS 網頁技術[M]. 北京:人民郵電出版社,1998.
[2] 薩師煊,王珊. 數據庫系統概論[M]. 北京:高等教育出版社,2001.
[3] 廖彬山. ASP動態網站開發教程[M]. 北京:清華大學出版社,2000.
[4] 袁連海,董文. SQL Server 2000應用開發實例教程[M]. 北京:機械工業出版社,2002.
[5] 吳建明. web service在校園即時消息系統中的應用[J]. 計算機工程,2004.
Abstract: This paper introduces the design and implementation of a sort of electronic circuits analyzes online answering system based on B/S framework. Teachers and students could draw and modify the circuit diagram online rapidly . The online answering is the important of a remote education system , which can solve the view-exchanging problem between students and teachers.
Key words: online answering system, B/S, circuit diagram drawing