馬琰
(無錫工藝職業技術學院,江蘇 無錫 214200)
近年來,隨著我國教育事業的不斷發展,高校的在校生規模日益增大,學生人數和老師人數日益增多,加之上課地點經常變動等原因,師生之間的答疑工作難以展開。傳統的答疑方式有如下缺點:
(1)答疑的時間地點不好確定。
(2)學生在學習過程中有了新的問題無法及時向老師提出。
(3)由于授課教室不固定,學生課余時間集中在一起的時間較少,相互間的交流和討論機會不多。
(4)老師和學生交流少,導致老師不了解學生對知識點的掌握程度。
為了彌補以上不足,提高答疑工作的及時性和便捷性,增加師生之間和同學之間的互動,開發基于B/S的在線答疑系統很有必要。
經過詳細的需求分析和可行性分析后,本系統的基本功能需求已基本掌握,系統的目標功能和功能結構如下:
(1)實現需求分析階段提出的所有功能。
(2)系統界面要清晰友好,方便用戶使用。
(3)對用戶權限能進行控制,學生用戶和老師用戶的權限和功能不同。
(4)老師用戶的管理頁面有未回答和未處理申請的個數提示。
根據系統分析,該系統的功能結構如圖1所示。

圖1 系統結構圖
JDK:JDK 8.0.510.16版本是目前功能最全、最穩定的版本。
Web應用服務器:Tomcat 7.0服務器是目前版本最新、功能強大、方便易用,適應于中小型系統的開發服務器。
數據庫:MySQL 5.6.24數據庫是目前小型應用開發中比較流行的數據庫,且其從5.0版本開始支持事務,保證了數據的完整性與安全性。
控制層:Struts 2.3.16版本框架是基于WebWork框架實現的。
業務層:Spring 4.1.1版本采用優秀的JavaEE開源框架,其提供的控制反轉及面向方面的編程插件式架構降低了應用組件之間的依懶性。
Struts2和Spring的集成:將Struts2的Action作為Spring當中的受管Bean,通過依賴注入將完成業務功能的Bean注入到Action中,使得Action很容易訪問到完成業務的Bean。
Struts2攔截器的使用:根據系統設計,本系統中,沒有登錄的用戶是不允許進入系統的,如果在每一個Action中增加判斷用戶是否登錄,顯然代碼過于冗長重復,而利用Struts2的攔截器就可以很好地實現這一點。
確定好系統需要開發的功能后,進行數據庫設計,分析系統的各個實體之間的關系,做好數據庫設計對后期開發有著很重要作用。
高校在線答疑系統的數據庫規模并不是很大,所以選用MySQL數據庫,該數據庫為免費開源產品,可以直接從網上下載得到,可以大幅度減少系統開發的成本。高校在線答疑系統是學生和老師之間對問題的提出與解答的橋梁,所以該系統的實體主要包括:用戶、提問信息、回答信息、課程和申請信息等,下面將依次介紹各個實體的E-R圖。
用戶的E-R圖主要包括用戶的編號、用戶名、用戶密碼以及E-mail等信息,具體如圖2所示。

圖2 用戶E-R圖
課程實體主要包括課程的編號、名稱及描述等信息,其E-R圖如圖3所示。

圖3 課程E-R圖
提問信息實體主要包括提問編號、提問人ID、回復標題及內容等信息,其E-R圖如圖4所示。

圖4 提問信息E-R圖
回復信息實體主要包括所回復提問編號、回復標題和內容等信息,其E-R圖如圖5所示。

圖5 回復信息E-R圖
實體之間存在一定的關系,如一個老師可以授課n門課程,一門課程可以被n名學生學習,具體關系如圖6所示。

圖6 實體關系圖
對于高校在線答疑系統來說,僅能夠瀏覽和查看是遠遠不夠的,還需要用戶能參與到其中,如提出問題和回復問題,這是本系統的難點與重點,下面介紹參與答疑功能的實現。
大學生在學習過程中遇到新的問題,可以在相應課程頁面中提出,發布出來讓大家討論或者讓老師解答,在提問列表和提問詳情頁面均有提出新問題的按鈕。進入“發起提問”頁面,先要得到該學生的課程列表,供學生選擇在哪個課程中進行提問,具體核心代碼如下所示:

上述代碼僅提供課程列表的getter方法,在該方法中得到登錄用戶的ID,并根據該用戶ID拼出搜索該學生課程的SQL語句,然后調用數據庫查詢方法得到結果并返回,該數據庫方法核心代碼如下:


單擊“發起問題”按鈕進入“提出新問題”頁面,在“選擇課程”下拉列表框中只有該用戶的課程了,用戶通過選擇對應的提問課程,填寫標題和提問內容就可以進行發表了,下面是實現發表功能的核心代碼:

當學生用戶瀏覽提問時,碰到自己會的問題也可參與討論,老師登錄進來后可以參與回答。在每個“提問詳情”頁面中都有“我要回答”按鈕,單擊會跳到頁面底部的回答問題的表單。填寫回答內容后提交執行相應的Action,實現回復提問的核心代碼如下:
Sql=“insert into DY_Revert(TID,UID,RTitle,RContent,RDate)
Valuse(’”+tid+”’,’”+uid+”’,’”+bt+”’,’”+nr+”’,now())”;
目前我國許多高等院校的教學過程中面臨著師生間答疑工作難以開展的難題,本文設計的基于Struts2和Spring的高校在線答疑系統使得此類答疑工作的信息化成為可能,有助于提高高校教育教學工作水平,具有一定的現實價值和研究意義。
[1]王華東,李影潔.在線答疑系統的設計與實現[J].電腦知識與技術,2005,(35).
[2]張獻,徐政權.在線答疑系統的設計與應用[J].軟件導刊,2012,(02).
[3]趙娜.會計電算化精品課程在線答疑系統的設計與實現[J].昆明冶金高等專科學校學報,2010,(05).
[4]黃宏博.遠程網絡教學平臺下在線答疑系統的分析與設計[J].無線互聯科技,2013,(06).
[5]韓利凱,雷偉軍,馬國峻.基于WEB的畢業設計指導系統的設計與實現[J].價值工程,2011,(20).