肖坤峨+虞泉



摘要:本系統采用目前主流的WEB技術ASP.NET2.O構建,實現了高校師生問題交流的信息化和智能化,幫助學生自動從系統中找到常見問題答案,從而提高了學生的學習效率和教師的教學質量。系統中采用了VS2012.NET和SQLSERVER數據庫作為開發平臺,較好地實現了該答疑系統的設計與實現。
關鍵詞:ASP.NET;自動答疑;SQLSERVER
中圖分類號:TP311.1
文獻標識碼:A
DOI:10.3969/j.issn.1003-6970.2015.06.007
本文著錄格式:肖坤峨,虞泉,基于WEB的智能答疑系統的研究與構建叮]軟件,2015,36(6):31-36
ResearchandConstructionoflntelligentQuestionAnsweringSystemBasedonWeb
XIAOKun-e,YUQuan[Abstract]:WiththecurrentmainstreamwebtechnologyASP.Net2.0constructions,thesystemrealizestheinformatizationandintellectualizationofcollegeteachersandstudentsexchangesandhelpsstudentsautomaticallyfindanswerstofrequently-askedquestionsfromthesystem,soastoimprovethestudents'learningefficiencyandteachers'teachingquality.ThesystemutilizesVS2012.NETandSERVERSQLdatabaseastheplatformtorealizethedesignandimplementationofthequestionansweringsystem.
[Keywords]:ASP.NET;Automaticquestionanswering;SQLSERVER
0引言
在教育信息化不斷深入的今天,我國各類學校都開展了信息化建設,高等院校的教學模式發生了巨大的變化。答疑是教學中的一個重要環節,通過答疑學生可以弄清楚課堂上沒有弄清的問題,教師也可以通過答疑,了解學生對課程的掌握和適應情況[2,3],并利用這些信息修正課堂教學,但隨著學校學生人數的增加,教師的答疑工作量會變得異常的繁重,特別是一些專業核心課,如C/C++語言,數據結構等課程,為了充分發揮網絡技術,特別是移動互聯網技術的優勢,提高教育教學質量,提高工作效率,學校信息化平臺的建設就變得異常重要,因此本文提出采用ASP.NET(C#)和SQLSERVER數據庫設計和開發一個能讓學生網上提出問題,系統白動實現答疑功能的智能答疑系統。
1ASP.NET技術簡介[1]
ASP.NET是.NETFramework的一部分,是一種動態網頁設計技術,2005年已推出ASP.NET2.0版,用于在服務器上開發功能強大的Web應用程序,提供了豐富的控件,大幅度減少代碼量,程序員只需要拖動控件,然后根據事件處理控件的屬性即可,采用在服務器上編譯后運行,運行效率較高。代碼層次清晰,前臺頁面代碼和中間層邏輯處理代碼分離,代碼可讀性強。在.NET架構中的公共語言運行庫組件提供了對多種語言的支持,如C#、J#、C++、VB.NET等,C#和VB.NET是目前ASP.NET技術中的主流編程語言,C#是專門為.NET應用而開發出的語言,他具有語法簡潔,面向對象,面向Web,功能強大,靈活性與兼容性,完整的安全性與錯誤處理等特點,因此本系統采用C#來進行WEB頁的開發,VS2012作為開發環境,嵌套C#語言的ASP.NE工作為編程環境,soLServer2008是數據庫環境。
2系統分析與設計
2.1系統分析本系統基于B/S結構,面向管理員、教師、學生三類對象答疑解惑系統平臺;從學生的學,教師的教,以及管理員的管,三個維度構筑了數字化測評系統架構。在研究本系統時,首先確定需要做什么,進行需求分析,確定系統應該具備什么功能。
在研究需求時可以把系統劃分為以下三個大模塊,即管理員模塊,教師模塊和學生模塊。如圖1所示:
2.1.1教師模塊
系統公告:查看由管理員發布的公告信息。
管理問答庫:完成問題的查詢、維護、添加等操作。
熱點問題:是教師了解學生關注問題的途徑,并實現對熱點問題的管理。
添加問題:教師可以根據所學科目內容白行添加問題。
答疑管理:回答學生提問的問題,刪除和修改問題等。
學生管理:教師可以對添加、修改和刪除學生的信息。
修改個人信息:教師可以修改自己的一些信息,如密碼等。
2.1.2學生模塊
系統公告:查看由管理員發布的公告信息。
發布問題:學生向教師提問問題,包括問題類型,問題標題,問題內容,并可附帶附件。
問題列表:提問的問題,經教師回答之后可以從問題列表中查看。
熱點問題:經常出現的問題,可以實現從問題列表中自動查詢回復,實現自動答疑。
修改個人信息:學生可以修改自己的一些信息,如班級、專業、密碼等。
2.1.3管理員模塊
公告管理:公告信息的發布、修改、刪除等操作。
學生信息管理:學生信息的添加、修改、刪除等操作。
教師信息管理:教師信息的添加、修改、刪除等操作。
管理員信息管理:管理員信息的添加、修改、刪除等操作。
2.2數據庫設計
本系統采用的是MVC三層結構[6],前臺作頁面設計和布局,中間層作業務邏輯處理,后臺使用數據庫存取數據,因此數據庫設計是設計本系統的一個重要環節。根據數據庫設計的方法和步驟,首先第一步進行數據的收集與分析,然后在此基礎上建立一種抽象的數據模型即E-R圖,最后在把E-R圖轉換為相應的關系模式。由于本系統所涉及的實體較多,故在此不再呈現實體間的聯系圖,直接給出由E-R圖轉換得到的關系模式,得到以下幾個數據庫表:
Admin表(姓名,密碼,是否在線)
classlnfo表(班級名稱,專業代碼,專業名稱)
zhuanyelnfo表(專業代碼,專業名稱)
documentlnfo表(標題,內容,文件路徑,文件類型,類型id,添加時間)
documentType表(類型id,類型名稱)
news表(標題,內容,添加時間)
question表(問題id,主題,添加作者,添加時間,內容,是否回復)
answer表(回復內容,回復作者,問題id,回復時間,回復標題)
teacher表(姓名,性別,簡介,密碼)
student表(姓名,性別,班級,專業,簡介,密碼)
由于本系統采用Sqlserver2008作為后臺數據庫,故表中各字段的類型與該數據庫的類型一致。實現數據庫連接時須在web.config文件中添加如下代碼段:
name="sqlcon" connectionString="Data Source-,:Initial Catalog-ZhiNengDY:Integrated Security-True:user id=sa;password=123456"providerName="System.Data.SqlClient"/> 3系統實現 3.1母版頁的設計與實現 在ASP.NET2.0中,母版頁與頁面模板一樣,使用母版頁創建統一的用戶界面與樣式,可以將WEB應用程序中的靜態文本,如網站標志、廣告條、導航條、版權聲明、HTML元素和服務器控件的預定義布局等內容整合到母版頁中[1,4]。后臺母版頁的設計如圖2所示: ContentPlaceHolder為占位符控件,可在內容頁面中替換成設計者需要的內容。在本系統中針對管理員、教師、學生三個模塊采用了三個不同的masterpage.master. 3.2用戶登錄功能的關鍵技術 根據登錄類型為管理員還是學生,導入不同的系統界面。用戶登錄頁面index.aspx.cs中的關鍵代碼如下: protectedvoidibtnLogin_Click(objectsender,ImageClickEventArgse) {if(DropDownListl.SelectedValue="學生") {chkUser():) if (DropDownListl.SelectedValue=="管理員"){ ChkAdmin():) el.se {ChkT(): )) privatevoidChkAdmin() {if(UserName.Text二二""&&PassWord.Text=""∥∥) {Alert.AlertAndRedirect("沒有輸入賬號和密碼!","Login.aspx");) el.se {dr=data.GetDataReader("select*from [Admin]whereName-'"+UserName.Text.Trim()+"andPassword="+PassWord.Text.Trim()+"'"): if(dr.Read()){ Session["User"]=dr["Name"].ToString(): Session["Userld"]二dr["id"].ToString(): Re.sponse.Redirect("Admin/Default.aspx"):) else {Alert.AlertAndRedirect(”賬號或者密碼不對請重新登陸!","Login.aspx"):)) ) privatevoidChkT(){)方法和privatevoidchkUser(){)的方法類似。實現界面如圖3所示: 3.3學生模塊的實現 (1)問題發布功能的關鍵技術 在addTopic.aspx頁面中管理員可以添加新的問題、發布問題,關鍵代碼在addTopic.aspx.cs中實現: publicpartialclassAddTopic:System.Web.UI.Page { protectedvoidPage_Load(object.sender,EventArgse) {if(!IsPostBack){ if(Session["Userld"]==null){ Alert.AlertAndRedirect("對不起您還沒有登錄","Login.a.spx");)))protectedvoidButtonl_Click(objectsender,EventArgse)
{SqlHelperdata-newSqlHelper():
data.RunSql("insertintoTopic(Topic,AddUser,Contents)values("+tb_title.Text+","+Session["User"].ToString()+","+ArticleContent.Value+")"):"
Alertjs-newAlert():
js.Alertjs("發布成功")i
Response.Redirect("LyList.aspx"):
)
protectedvoidButton2_Click(objectsender,EventArgse)
{
Response.Redirect("SearchList.aspx?key-"+tb_title.Text):
)
(2)問題列表的管理
在newList.aspx頁面可以查詢已經提問的問題及熱點問題等,點擊查看按鈕實現問題答案的查看。關鍵代碼在newList.aspx.cs中實現:
publicpartialclassNewList:System.Web.UI.Page
{
SqlHelperdata=newSqlHelper():
Alertalert=newAlert():
protectedvoidPage_Load(objectsender,EventArgse)
{if(!IsPostBack)
{getinfo():
))
privatevoidgetinfo()
{try{
dlinfo.DataSource-GetCodeBy(0):
dlinfo.DataBind():
)catch{}{
protectedvoiddlinfo_PageIndexChanging(objectsender,GridViewPageEventArgse)
{
dlinfo.Pagelndex=e.NewPagelndex;
getinfo();}
protectedvoiddlinfo_RowDataBound(objectsender,GridViewRowEventArgse)
{
if(e.Row.RowType==DataControlRowType.DataRow)//鼠標移動變色
//當鼠標放上去的時候先保存當前行的背景顏色并給附一顏色
{e.Row.Attributes.Add("onmouseover","currentcolor-this.style.backgroundColor:this.style.backgroundColor='#f6f6f6',this.style.fontWeight=”:");//當鼠標離開的時候將背景顏色還原的以前的顏色
e.Row.Attributes.Add("onmouseout","this.style.backgroundColor-currentcolor,this.style.fontWeight-':"):
}
if(e.Row.RowType==DataControlRowType.DataRow)
//單擊行改變行背景顏色
{e.Row.Attributes.Add("onclick",
"this.style.backgroundColor='#f6f6f6':this.style.color-'buttontext':this..style.cursor-'default';"):
}}
3.4教師模塊的實現
在ShowTopic.aspx頁面中實現對問題的回復和管理,關鍵代碼在ShowTopic.aspx.cs中實現:
privatevoidBinderTopic()
{intid二Int16.Parse(Request.QueryString["id"].ToString()):
SqlDataReaderdr;
dr-data.GetDataReader("select*fromTopicwhereid:"+id):
dr.Read():
Labell.Text-dr["Topic"].ToString():
Labe12.Text-dr["Addtime"].ToString():
Labe13.Text-dr["Contents"].ToString():
Label14.Text-dr["AddUser"].ToString():
)
protectedvoidImageButtonl_Click(objectsender,ImageClickEventArgse)
{intid=Int16.Parse(Request.QueryString["id"].ToString()):
data.RunSql("insertintoReplay(Replay,ReplayUser,Topicld)values("+ArticleContent.Value+","+Se.ssion["User"].ToString()+","+id+")"
data.RunSql("updateTopicsetisReplay-'l'whereid="+id):
Alert.AlertAndRedirect("回復成功!","ShowTopic.aspx?id="+id):
BinderTopic():
BinderReplay():
}}}3.5管理員模塊的實現
在管理員模塊中實現對教師信息的管理、學生信息的管理、管理員信息的管理及公告信息的發布,其中公告信息的發布在AddNews.aspx文件中實現,關鍵代碼在AddNews.aspx.cs中。
usingSystem;
u.singSy.stem.Data;
u.singSy.stem.Configuration:
usingSystem.Collections:
usingSystem.Web:
usingSystem.Web.Security;
u.singSy.stem.Web.UI;
usingSystem.Web.UI.WebControls:
u.singSy.stem.Web.UI.WebControl.s.WebParts:
usingSystem.Web.UI.HtmlControls:
publicpartialclassAdmin_AddNews:System.Web.UI.Page
{
SqlHelperdata-newSqlHelper():
protectedvoidPage_Load(objectsender,EventArg.se)
{
)
protectedvoidLinkButtonl_Click(objectsender,EventArgse)
{
data.RunSql("n.sert
into
New.s(Name,Content.s)value.s("+txtname.Text+","+txtcontents.Value+,,)"):
Alert.AlertAndRedirect("添加成功","NewsManger.aspx"):
}}
4結束語
本系統采用了目前B/S模式系統[5,7]開發的主流技術ASP.NET2.O,實現了高校學學生答疑功能的信息化和智能化,改變了傳統的面對面、BBS、QQ、論壇等答疑的方式,該系統問題庫的管理,答疑的管理,學生信息、教師信息的管理等,從很大程度上減輕了科任教師的負擔,提高了工作效率和教學質量,具有一定的實用價值。
參考文獻
[1]秦學禮,張峰.Web應用程序設計-ASP.NET(第二版)[M].北京:清華大學出版社,2010.
[2]任紅霞,梁朋舉.智能答疑系統在電大開放教育中的應用研究.濮陽職業技術學院學報[J],2012,25(3):155-156.
[3]王燕,沈銳.網絡教學平臺中智能答疑系統的模型構建.軟件導刊[J].2012,11(5):75-77.
[4]肖坤峨.基于ASP.NET的學生信息管理系統的設計與實現.電腦編程技巧與維護[J].2014,310(16):33-35.
[5]余翠蘭.基于ASP.NET的學生住宿管理系統的設計與實現[J].軟件,2014,35(4):160-164.
[6]程寧.基于NETMVC架構的網上考試系統的設計與研究[J].軟件,2013,34(6):20-22.
[7]馮海平.開放式上網學習管理系統研究與實現[J].軟件,2012,33(11):99-100.