馬琰
(無錫工藝職業(yè)技術(shù)學(xué)院,江蘇 無錫 214200)
近年來,隨著我國教育事業(yè)的不斷發(fā)展,高校的在校生規(guī)模日益增大,學(xué)生人數(shù)和老師人數(shù)日益增多,加之上課地點(diǎn)經(jīng)常變動等原因,師生之間的答疑工作難以展開。傳統(tǒng)的答疑方式有如下缺點(diǎn):
(1)答疑的時間地點(diǎn)不好確定。
(2)學(xué)生在學(xué)習(xí)過程中有了新的問題無法及時向老師提出。
(3)由于授課教室不固定,學(xué)生課余時間集中在一起的時間較少,相互間的交流和討論機(jī)會不多。
(4)老師和學(xué)生交流少,導(dǎo)致老師不了解學(xué)生對知識點(diǎn)的掌握程度。
為了彌補(bǔ)以上不足,提高答疑工作的及時性和便捷性,增加師生之間和同學(xué)之間的互動,開發(fā)基于B/S的在線答疑系統(tǒng)很有必要。
經(jīng)過詳細(xì)的需求分析和可行性分析后,本系統(tǒng)的基本功能需求已基本掌握,系統(tǒng)的目標(biāo)功能和功能結(jié)構(gòu)如下:
(1)實(shí)現(xiàn)需求分析階段提出的所有功能。
(2)系統(tǒng)界面要清晰友好,方便用戶使用。
(3)對用戶權(quán)限能進(jìn)行控制,學(xué)生用戶和老師用戶的權(quán)限和功能不同。
(4)老師用戶的管理頁面有未回答和未處理申請的個數(shù)提示。
根據(jù)系統(tǒng)分析,該系統(tǒng)的功能結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)圖
JDK:JDK 8.0.510.16版本是目前功能最全、最穩(wěn)定的版本。
Web應(yīng)用服務(wù)器:Tomcat 7.0服務(wù)器是目前版本最新、功能強(qiáng)大、方便易用,適應(yīng)于中小型系統(tǒng)的開發(fā)服務(wù)器。
數(shù)據(jù)庫:MySQL 5.6.24數(shù)據(jù)庫是目前小型應(yīng)用開發(fā)中比較流行的數(shù)據(jù)庫,且其從5.0版本開始支持事務(wù),保證了數(shù)據(jù)的完整性與安全性。
控制層:Struts 2.3.16版本框架是基于WebWork框架實(shí)現(xiàn)的。
業(yè)務(wù)層:Spring 4.1.1版本采用優(yōu)秀的JavaEE開源框架,其提供的控制反轉(zhuǎn)及面向方面的編程插件式架構(gòu)降低了應(yīng)用組件之間的依懶性。
Struts2和Spring的集成:將Struts2的Action作為Spring當(dāng)中的受管Bean,通過依賴注入將完成業(yè)務(wù)功能的Bean注入到Action中,使得Action很容易訪問到完成業(yè)務(wù)的Bean。
Struts2攔截器的使用:根據(jù)系統(tǒng)設(shè)計(jì),本系統(tǒng)中,沒有登錄的用戶是不允許進(jìn)入系統(tǒng)的,如果在每一個Action中增加判斷用戶是否登錄,顯然代碼過于冗長重復(fù),而利用Struts2的攔截器就可以很好地實(shí)現(xiàn)這一點(diǎn)。
確定好系統(tǒng)需要開發(fā)的功能后,進(jìn)行數(shù)據(jù)庫設(shè)計(jì),分析系統(tǒng)的各個實(shí)體之間的關(guān)系,做好數(shù)據(jù)庫設(shè)計(jì)對后期開發(fā)有著很重要作用。
高校在線答疑系統(tǒng)的數(shù)據(jù)庫規(guī)模并不是很大,所以選用MySQL數(shù)據(jù)庫,該數(shù)據(jù)庫為免費(fèi)開源產(chǎn)品,可以直接從網(wǎng)上下載得到,可以大幅度減少系統(tǒng)開發(fā)的成本。高校在線答疑系統(tǒng)是學(xué)生和老師之間對問題的提出與解答的橋梁,所以該系統(tǒng)的實(shí)體主要包括:用戶、提問信息、回答信息、課程和申請信息等,下面將依次介紹各個實(shí)體的E-R圖。
用戶的E-R圖主要包括用戶的編號、用戶名、用戶密碼以及E-mail等信息,具體如圖2所示。
圖2 用戶E-R圖
課程實(shí)體主要包括課程的編號、名稱及描述等信息,其E-R圖如圖3所示。
圖3 課程E-R圖
提問信息實(shí)體主要包括提問編號、提問人ID、回復(fù)標(biāo)題及內(nèi)容等信息,其E-R圖如圖4所示。
圖4 提問信息E-R圖
回復(fù)信息實(shí)體主要包括所回復(fù)提問編號、回復(fù)標(biāo)題和內(nèi)容等信息,其E-R圖如圖5所示。
圖5 回復(fù)信息E-R圖
實(shí)體之間存在一定的關(guān)系,如一個老師可以授課n門課程,一門課程可以被n名學(xué)生學(xué)習(xí),具體關(guān)系如圖6所示。
圖6 實(shí)體關(guān)系圖
對于高校在線答疑系統(tǒng)來說,僅能夠?yàn)g覽和查看是遠(yuǎn)遠(yuǎn)不夠的,還需要用戶能參與到其中,如提出問題和回復(fù)問題,這是本系統(tǒng)的難點(diǎn)與重點(diǎn),下面介紹參與答疑功能的實(shí)現(xiàn)。
大學(xué)生在學(xué)習(xí)過程中遇到新的問題,可以在相應(yīng)課程頁面中提出,發(fā)布出來讓大家討論或者讓老師解答,在提問列表和提問詳情頁面均有提出新問題的按鈕。進(jìn)入“發(fā)起提問”頁面,先要得到該學(xué)生的課程列表,供學(xué)生選擇在哪個課程中進(jìn)行提問,具體核心代碼如下所示:
上述代碼僅提供課程列表的getter方法,在該方法中得到登錄用戶的ID,并根據(jù)該用戶ID拼出搜索該學(xué)生課程的SQL語句,然后調(diào)用數(shù)據(jù)庫查詢方法得到結(jié)果并返回,該數(shù)據(jù)庫方法核心代碼如下:
單擊“發(fā)起問題”按鈕進(jìn)入“提出新問題”頁面,在“選擇課程”下拉列表框中只有該用戶的課程了,用戶通過選擇對應(yīng)的提問課程,填寫標(biāo)題和提問內(nèi)容就可以進(jìn)行發(fā)表了,下面是實(shí)現(xiàn)發(fā)表功能的核心代碼:
當(dāng)學(xué)生用戶瀏覽提問時,碰到自己會的問題也可參與討論,老師登錄進(jìn)來后可以參與回答。在每個“提問詳情”頁面中都有“我要回答”按鈕,單擊會跳到頁面底部的回答問題的表單。填寫回答內(nèi)容后提交執(zhí)行相應(yīng)的Action,實(shí)現(xiàn)回復(fù)提問的核心代碼如下:
Sql=“insert into DY_Revert(TID,UID,RTitle,RContent,RDate)
Valuse(’”+tid+”’,’”+uid+”’,’”+bt+”’,’”+nr+”’,now())”;
目前我國許多高等院校的教學(xué)過程中面臨著師生間答疑工作難以開展的難題,本文設(shè)計(jì)的基于Struts2和Spring的高校在線答疑系統(tǒng)使得此類答疑工作的信息化成為可能,有助于提高高校教育教學(xué)工作水平,具有一定的現(xiàn)實(shí)價值和研究意義。
[1]王華東,李影潔.在線答疑系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識與技術(shù),2005,(35).
[2]張獻(xiàn),徐政權(quán).在線答疑系統(tǒng)的設(shè)計(jì)與應(yīng)用[J].軟件導(dǎo)刊,2012,(02).
[3]趙娜.會計(jì)電算化精品課程在線答疑系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].昆明冶金高等??茖W(xué)校學(xué)報,2010,(05).
[4]黃宏博.遠(yuǎn)程網(wǎng)絡(luò)教學(xué)平臺下在線答疑系統(tǒng)的分析與設(shè)計(jì)[J].無線互聯(lián)科技,2013,(06).
[5]韓利凱,雷偉軍,馬國峻.基于WEB的畢業(yè)設(shè)計(jì)指導(dǎo)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].價值工程,2011,(20).