1、在线答疑系统设计在线答疑系统院 (系): 专 业: 班 级: 学 生: 学号: 指导教师: 职称: 设计日期: 年 月 日至 年 月 日一、设计目的 当今社会已经进入信息化时代,信息正以前所未有的速度急剧增长,各类信息汇聚在一起构成知识的海洋。面对信息爆炸时代,人们只有通过学习和交流帮助自己和他人提高学识水平和综合素质,在学习的过程中,必然会遇到各种各样的问题,孔子说:“三人之行,必有我师”,因此问答是解决和回答问题的一个重要手段。传统的问答方式限于书面和口头交流,容易受时间和空间影响,互联网时代的到来使得世界各地的人们有机会共享资源和交流信息,在线答疑系统的目的是及时收集各地人们提出的各种类
2、型的问题,让来自不同行业、不同背景、不同年龄的人们集体参与解决。最终使提问者获得满意的答案。不同背景、不同年龄的人们集体参与解决。最终使提问者获得满意的答案。在线答疑系统的最终目的是帮助用户解决学习生产生活中的各种类型的问题,由于系统基于网络平台,因此来自不同地方的用户可以集体参与解决一个问题,让问题及时得到解决,突出了“一人有难,八方支援”的特点,这是互联网特有的优势,同时在线答疑系统将用户问题和回答保存在数据库中,建立了问题库,用户可以直接搜索与自己问题相类似的问题答案,省去了提问和等待浪费的时间。行业背景:经过调查发现,目前许多网站的在线答疑系统非常简单,只是一个简单的留言板,不能对用户
3、提出的各种类型的问题做出准确的分类。也没有提供问题库搜索功能。改系统针对这些问题做了一些改进,实现了问题分类、问题搜索、用户积分等级制和消息互发等功能,有效的改善了用户回答问题的积极性,这样也使提问者能够及时的找到最佳答案。而且系统为每个用户建立了个人中心,用户可以修改自己的资料,比如选择个性头像、个性签名等,用户也可以加其它用户好友,查看好友的资料、查看好友回答和提出的问题,还可以给用户发送消息,共同商讨问题的解决办法,这样做大大方便了用户提问和查找答案。二、设计任务本系统基于B/S,包含以下几个功能模块。2.1 用户管理模块 由用户登录、用户注册和用户退出3个部分组成。用户可以以两种身份登
4、录本系统:普通用户和管理员;不同身份登录被系统授予不同的使用权限,这样提高本系统的安全性,避免无关人员获取不在他权限反范围内的信息。2.2 基本数据的维护这个功能模块主要实现对问题库信息、答疑问题库信息和用户信息等基本数据的维护。如用户信息的更新、删除;问题库和答疑问题库信息的删除、修改等。2.3信息查询功能 系统提供了问题库和答疑问题库,问题库保存了用户提出的问题,答疑问题库保存了已经回答的问题。信息查询是一项非常重要的功能,它主要包括已解决问题的查询、未解决问题查询、关键字问题查询、用户资料查询。这项功能方便用户查询和自己的问题相关的答案,也有利于管理员维护问题库和用户信息。2.4 在线答
5、疑室 在线答疑室分为主题答疑室和自由答疑室,用户可以在主题答疑室提出和回答与主题相关的问题,在自由答疑室用户可以提出各种类型的问题,让其它用户参与解答。2.5离线答疑室 用户可以在离线答疑室查看自己提出的问题是否解决、也可以提出问题。待上线后再将问题上传到在线答疑室。三 、设计内容3.1系统的功能模块图如下:图3.1系统的功能模块图3.2 用户管理模块用户管理模块的功能模块图如下:图3.2 用户管理模块功能图1) 用户登录 用户输入用户名和密码后,系统对用户名和密码进行验证,如果登录成功,则可以进入主页面。否则跳转到错误页面,用户最多可以尝试5次,如果5次均未成功,10分钟之内2) 用户注册
6、这个功能实现把用户基本信息输入到数据库中,用户基本资料包括用户名、密码、性别、电子邮箱等,如果输入了正确完整的信息,则将用户资料保存到数据库中。基本流程如下:3) 用户退出 用户点击退出后,销毁session,安全退出系统。3.3基本数据的维护基本数据维护模块的具体功能如图所示。基本信息维护包括:问题库信息、答疑问题库信息和用户信息。 图3.3 基本数据维护模块功能图3.4 信息查询功能信息查询是系统不可缺少的一个部分。信息查询包括:问题库信息查询、答疑问题库信息查询以及用户信息查询。用功能图表示如下:图3.4 信息查询模块功能图3.5 在线答疑室在线答疑室包括自由答疑室和主题答疑室。功能图表
7、示如下: 图 3.5在线答疑室3.6离线答疑室用户在线时可以将自己提出的问题信息下载到本地客户端,便于离线浏览。同时用户可以离线提出问题。当能够上线时用户可以将自己的问题上传到线上。用活动图表如下:图3.6离线答疑室3.7系统用例3.7.1通过分析的到以下用例:用户登录用户注册用户信息修改问题库信息查询问题库信息修改问题库浏览答疑问题库信息查询答疑问题库信息修改答疑问题库浏览主题答疑室增加在线下载问题库信息离线提问在线提问在线上传问题退出系统3.7.1可以创建以下参与者:系统管理员用户3.7.1 系统管理员的用例关系图如下所示:图3.7.1系统用例图3.7.2用户的用例关系图如下:图3.7.2
8、用户用例关系图3.8 数据库设计3.8.1 E-R图 图3.8.1在线答疑系统E-R图3.9 数据库表3.9.1用户表(users) 功能:保存用户名和密码字段名中文说明数据类型是否为空默认值检查约束键约束userid用户编号intno主键username用户名称Nvarchar(30)nouserpwd用户密码Nvarchar (40)noroleid角色idintno0外键3.9.2用户信息表(userinfo) 功能:保存用户注册资料字段名中文说明数据类型是否为空默认值检查约束键约束userinfoid用户信息intno主键userid用户idint外键sex性别Char(2)no男男/
9、女headimg头像Varchar(20)birthday出生日期datetimenoregtime注册日期datetimenogetDate()userstate用户状态intno0userclass用户等级intno1userpoint积分longno20term学历Varchar(10)noemail电子邮件Varchar(30)nophone电话号码Varchar(15)yesintroudce个人介绍Nvarchar(50)yespwdofqs密码问题Nvarchar(50)noansofqs密码答案Nvarchar(50)no3.9.3用户角色表(roles) 功能:保存用户角色信
10、息字段名中文说明数据类型是否为空默认值检查约束键约束roleid角色idintno0主键rolename角色名称Varchar(6)no普通用户3.9.4消息表(messages) 功能:保存所有用户发送的消息字段名中文说明数据类型是否为空默认值检查约束键约束msgid消息idintno主键suserid发送者IDintnoruserid发送者IDintnomsgtitle消息标题varchar(50)nomsgcontent消息内容textnostime发送时间datetimeno3.9.5好友表(friends) 功能:根据用户ID保存用户的好友ID字段名中文说明数据类型是否为空默认值检查
11、约束键约束friendididintno主键userid登录用户IDintnofuserid好友IDintno3.9.6问题类型表 功能:保存问题的主题名字段名中文说明数据类型是否为空默认值检查约束键约束qstypeid问题类型intno主键qstypename问题类型名Nvarchar(10)no3.9.7问题信息表(questions) 功能:保存所有用户的提问字段名中文说明数据类型是否为空默认值检查约束键约束qsid问题idintno主键qstypeid问题类型idintno外键userid用户(提问者)idintno外键title标题Nvarchar(50)nocontent内容nte
12、xtnoclickcount点击数intnoqstime提问时间datetimenogetDate()lstrptime最后回复时间datetimenostatus问题状态Char(6)no未解决3.9.8问题答案表(answers) 功能:根据问题ID保存相应的答案字段名中文说明数据类型是否为空默认值检查约束键约束ansid答案idintno主键qsid问题idintno外键qstypeid主题idintno外键userid用户idintno外键anstime回答时间datetimenogetDate()ansinfo回答内容ntextyes四、测试与评价 本系统采用asp语言开发,数据库采
13、用sql server 2000,实现了数据交互功能。整个系统采用三层结构实现,即界面层、控制层和业务逻辑层,比较好的实现了代码的高类聚、低耦合,有利于系统的测试和升级。同时系统部分采用了ajax技术,实现了页面的局部刷新,减轻了服务器端的压力。五、体会与收获通过这一个多月的学习和开发,在线答疑系统已基本完成了主要的功能。此系统通过使用asp语言和sqlserver 2000数据库,让我真正了解了理论与实践相结合的重要性和必要性。由于初次接触asp语言,这一个月来有辛酸也有开心,在开发的过程遇到了很多难以解决的问题,有时候真的很想放弃,但我还是坚持下来,当一个个难题被解决的时候,那种成就感简直
14、难以用言语来形容。很庆幸彭老师给我们这样一个可以锻炼自己实际操作能力的机会。为了能更好的完成本课程设计,我参考了大量书籍,基本能在预定的时间内完成此系统,在此很感谢老师以及同学对我的帮助和指导。六、附录源代码清单:1) classMain.asp的源代码:0 then 如果错误发生错误,则清除错误对象和连接对象 Err.Clear Set conn=Nothing Response.Write 数据库出现错误:& Err.DescriptionEnd IfEnd Function Public Function RsClose(rs) 关闭记录集rs.closeset rs=nothingEn
15、d FunctionPublic Function ShowMsg(msg,url)显示提示并跳转到指定页面Response.Write(&vbCrlf)/获取对标记名为info的html标记的引用Response.Write(var _td=document.getElementById(info);&vbCrlf)/创建文本结点Response.Write(var _tn=document.createTextNode(&msg&);&vbCrlf)/添加文本结点到td中Response.Write(_td.appendChild(_tn);&vbCrlf)Response.Write(v
16、ar url=&url&;&vbCrlf)/将页面重定向到指定的urlResponse.Write(window.setTimeout(window.location.replace(url),2000);)Response.Write()End Function%2)conn.asp文件的源代码:mydata.asp的部分代码: /安全文件/连接文件,连接对象由它生成0 then %ipagecount=int(icount-1)/iPagesize)+1 总页数if icurpage= then 如果是首次打开页面,则将当前页面icurpage置1 icurpage=1else icurp
17、age=cint(icurpage) 否则获取当前页码end ifif icurpageipagecount then icurpage=ipagecount ipreSize=(iCurPage-1)*ipagesizeif ipresize=0 then sqlstr= select answers.qsid,title,count(ansid),status,qstime from questions,answers where &_ questions.qsid=answers.qsid and answers.qsid in(select qsid from answers wher
18、e userid= & fuserid & ) &_ group by title,status,qstime,answers.qsidelse sqlstr=select top &ipagesize& * from questions where userid= &fuserid & _ and qsid not in (select top &ipresize& qsid from questions order by qsid desc) order by qsid descsqlstr= select top &ipresize& answers.qsid,title,count(a
19、nsid),status,qstime from questions,answers where &_ questions.qsid=answers.qsid and answers.qsid in(select qsid from answers where userid=& fuserid & ) &_ and answers.qsid not in (select top &ipresize& answers.qsid from questions,answers where &_ questions.qsid=answers.qsid and answers.qsid in(selec
20、t qsid from answers where userid= &fuserid& ) &_ group by title,status,qstime,answers.qsidend ifrs.open sqlstr,conn,1,1 执行sql语句%data count= pagesize= pagecount= item id= !CDATA !CDATA 自评意见 在此次系统系统开发过程中,我比较严格的按照课程设计任务书的要求完成了在线答疑问系统的需求分析和数据库设计,实现了系统指定的功能。并采用UML语言的用例图、状态图和活动图完成了系统的功能需求分析。系统采用asp+sqlserver+ajax技术实现了基于网络平台的多用户在线答疑,所有用户都能及时的看到别人提出的问题和自己的回答,用户可以在个人中心给其他用户发送或接受其他用户发送的消息。部分页面采用ajax技术实现了页面的局部刷新,减轻了服务器负担。由于系统开发经验有限,可能部分功能分析不够透彻明朗,但是总体感觉还对各个部分的功能描述得比较得体。系统自我评价:优点:界面比较美观,使用简单人性化,采用了模块设计和最新技术,缺点:由于是模拟项目,部分功能有待用户考验,有些功能比较简单,没有完全从用户得角度考虑。 自评等级良好指导教师意见签名: 年 月 日
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1