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