?

基于Struts2框架的課程答疑系統的設計與實現

2015-04-16 01:30鄭名敏孔令美
電腦與電信 2015年7期
關鍵詞:管理員數據庫模塊

鄭名敏 孔令美

(廣東技術師范學院天河學院,廣東 廣州 510540)

1 引言

隨著高校規模的不斷擴大,以計算機和現代網絡技術為代表特征的現代技術引發了一場知識傳播和教學改革的沖擊。學生教師人數倍增,加之上課地點的變動等原因,師生之間的答疑工作難以開展,導致了學生有了新問題無法及時向教師提問,教師和學生的交流少,以至于教師不了解學生的學習和掌握知識的程度。作為傳統課堂答疑的補充措施,基于Internet的課程答疑系統克服了傳統課堂答疑受時間、地點限制的弊端,為學生、教師隨時隨地答疑創造了有利條件。因此,設計一個課程答疑系統,可以在很大程度上改善學校的教學質量,確保答疑工作的順利開展,而且可以非常方便地進行師生之間的在線互動,從而獲取更大的效益。

2 需求分析

系統涉及四個角色:學生、教師、普通管理員和超級管理員。每個角色在系統中具有不同的權限。

(1)學生的權限:注冊,瀏覽課程,對擁有課程的權限發起提問和討論,管理個人資料,申請課程、查看擁有的課程和提問的內容等。

(2)教師的權限:管理員分配教師角色和分配課程權限之后,可以管理學生、管理個人資料、查看和回復學生的疑問、對學生的課程申請進行審核等。

(3)普通管理員的權限:課程管理、答疑內容管理、用戶管理。

(4)超級管理員的權限:對所有模塊進行管理,主要包括課程管理、答疑內容管理、用戶管理、系統維護(密碼修改、管理員添加和刪除等)。

3 系統設計與實現

為了使系統開發層次化,維護更加方便,采用Struts2+Spring框架,將項目分為domain、action、dao層。domain層對應數據庫表的JavaBean實體類;action為控制層,其充當的角色是分配業務來處理用戶請求,結合Struts2的配置文件,跳轉到指定的頁面,也能接受頁面傳遞的請求數據;dao為持久層,數據庫操作(增刪查改)都包含在其中。

3.1 建立實體類

根據面向對象思想,建立實體類,實現實體之間的關系。實體的具體定義如下:

(1)用戶模塊

建立保存用戶信息和課程信息類User,該類中類主要屬性uid、uname、role、permit、head、tuid等。對所有屬性進行封裝,使之與數據庫DY_User表進行映射。

(2)課程模塊

建立保存課程信息和用戶登錄信息類CourseItem,該類中定義的CourseItem類主要屬性tgid、tgname、tdetail、uid、uname。對所有屬性進行封裝,使之與數據庫DY_Topic_Group表進行映射。

(3)提問信息模塊

建立保存提問信息類TopicItem、保存提問詳細內容類TopicDetailItem,分別與CourseItem建立單向多對一關系。TopicItem類中主要包含屬性ftr、djs、revert、ftsj、gname。TopicDetailItem類主要包含屬性uname、title、content、fbsj。

(4)回復信息模塊

建立保存回復信息類GroupItem,該類中定義的GroupItem主要屬性gName、topic、revert、tid、title。對所有屬性進行封裝,使之與數據庫DY_Revert表進行映射。

(5)申請信息模塊

建立保存用戶申請課程類ApplyItem,該類中定義的ApplyItem類主要屬性aid、uid、uname、tgid、tgname、reason、flag、status。對所有屬性進行封裝,使之與數據庫DY_Topic_Group表進行映射,并將對應的數據信息保存DY_Topic_Group數據庫表中。

3.2 Action層以及Service層

Action層主要是管理action,運用Struts2框架;Service層主要是提供控制反轉和面向切面的編程插件式架構,降低應用組件之間的依賴性,運用Spring框架。運用Struts2的action作為Spring當中受管的Bean,方便地通過依賴注入完成業務功能的受管Bean的引用,最后對jsp頁面進行合理化設計。

(1)實現前工作

在action層建立控制類,每個控制類處理不同的頁面信息。同時在struts.xml中配置對應的action,與WEB-INF文件夾下的appContext.xml對應,將Struts2和Spring進行集成。

(2)學生模塊

學生模塊主要的action類包含:GetMyAction、ChangeInfoAction、ChangePwdAction、ToMyCourseAction、TopicListAction、TopicDetailAction、ApplyAction、ToMyApplayAction、GetMyCourseAction,分別對應查看個人的詳細信息、資料修改、修改密碼、課程列表、課程提問列表、課程提問明細、申請課程、課程申請處理、提出新問題等操作。同時學生可以對擁有課程權限問題進行討論,可以對問題發起回復討論,并且可以查看回復問題明細。

(3)教師模塊

教師模塊主要的action類包含ToMyApplayAction、To-MyCourseAction、AddStuAction、ManageStuAction、ToNeed-AnswerAction,分別對應處理課程申請、查看教師課程列表、添加學生、管理學生、疑問解答等操作。

(4)普通管理員模塊

課程管理action類為EditCourseAction,管理員可以對課程進行增刪改查,并為課程指派教師。提問內容管理action類為ToQuestionListAction,可以通過搜索關鍵字進行查詢,同時查看或刪除提問的內容?;貜蛢热莨芾韆ction類為ToRevertListAction,可以通過搜索、查看和刪除回復的內容。用戶管理action類為ToUserListAction,用戶管理是基于用戶列表的,先將用戶分頁顯示出來,在列表中可以禁言和刪除某一個用戶,也可以將某一個用戶設置為教師,同時可以進行分類顯示用戶列表。重置用戶密碼action類為AdminManageAction,用戶遺忘或者丟失密碼,可以聯系管理員進行密碼重置,從而避免重復申請賬號。

(5)超級管理員模塊

超級管理員擁有普通管理員的所有權限,同時超級管理員還可以對普通管理員進行管理,對普通管理員的信息進行增刪改。

4 軟件測試

本系統的測試主要以單元測試的黑盒測試為主。該測試分兩種情況進行,一種是對與數據庫進行交互的功能模塊的測試,一種是內含業務邏輯處理的功能模塊的測試。

由于功能相似,以下是將它們的測試用例進行匯總,如表1所示。

表1 與數據庫進行交互的功能模塊的測試用例匯總

5 總結

本文主要對課程答疑系統的設計思路以及具體的實現方案作了一個詳細的說明。在進行詳細設計時,從一個宏觀的角度,考慮系統各個模塊設計的穩定性、拓展性和維護性,例如導航信息都是根據不同的用戶動態讀取出來,同時后臺的管理也能根據不同的管理員對應不同的導航信息,從而實現了權限的管理,同時也考慮到瀏覽器的兼容性等。為系統的拓展提供了很大的空間。

[1]石鋒,高旭.淺析Struts與Spring的整合[D].西安:西安航空技術高等??茖W校,2009.

[2]朱雪琴,常建功.Java Web項目開發案例導航[M].北京:電子工業出版社,2012.

[3]陳淑珍,吳晶.遠程教學答疑系統的新模式及其實現[J].現代教育技術,2003.

猜你喜歡
管理員數據庫模塊
28通道收發處理模塊設計
“選修3—3”模塊的復習備考
我是小小午餐管理員
我是圖書管理員
我是圖書管理員
可疑的管理員
數據庫
數據庫
數據庫
數據庫
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合