标题 | 基于WEB的智能答疑系统的研究与构建 |
范文 | 肖坤峨+虞泉 摘要:本系统采用目前主流的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. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。