(1)教师表,包含四个属性:教师编号、用户名、密码、是否在线。其中教师编号为主键。
关系模式:教师(教师编号, 用户名, 密码,是否在线)
(2)学生表,包含三个属性:学生编号、用户名、密码。其中学生编号设为主键。
关系模式:学生(学生编号, 用户名, 密码)
(3)问题表,包含五个属性:问题编号、学生编号、老师编号、问题题目,问题答案。其中问题编号设为主键。学生编号和老师编号设置为外键。
关系模式:问题(问题编号,学生编号,老师编号,问题题目,问题答案)
图3 实体关系图
4.系统的实现
4.1登录/注册模块
启动程序后,运行“用户登录界面”,如运行“学生端登录”,学生输入相应信息进行登录。如果用户名和密码都正确,系统会给出“登录成功”的提示信息,并成功进入主界面;否则会显示“密码或用户名错误”的提示信息。当学生点击“注册新用户”按钮时则会跳转到用户注册界面,在提交用户信息时通过程序中的SQL语句的查询看是否该用户名已存在,若存在则会提示信息“对不起,用户名重复”。学生登录界面如图4所示。
图4 登陆界面
4.2实时答疑模块
当学生登录系统后进入学生主界面,其中包含查看问题、发布新问题、信息修改三个选项卡。
在查看问题选项卡中可以查看已解决问题、未解决问题。单击“解决问题”按钮,可以看到自己所有被老师回答过的问题,在单击具体某一条记录时,该问题的答案会自动显示到答案预览下方的文本框中。单击“未解决问题”按钮,可以查看到自己还有哪些问题未被老师回答。查看问题界面如图5所示。
图5 查看问题界面
在发布新问题选项卡中,可以完成对新问题的实时答疑。首先,输入问题题目的关键字,单击搜索按钮,如果通过问题检索的功能能从数据库的问题表中检索出与所提问题相近的问题并将此问题的答案,则显示在右部的文本框区域中,实现了实时答疑功能。若所提问题答案没有被检索出,则可以通过选择老师后提交问题,然后等待老师的回答即进入异时答疑范畴。发布新问题界面如图6所示。
图6 提问与检索界面
4.3异时答疑模块
当老师通过登录进入主界面后,可以看到答疑、学生管理、信息修改三个选项卡。在答疑选项卡中,可以查看所接收的所有问题和所提问学生的编号,并选择向自己提问的问题中哪些还没回答的问题进行解答。由于老师具有管理员的权限,每个老师还可以删除、修改所选问题的相关信息。答疑界面如7图所示。
图7 查看接收的问题
4.4信息管理模块
在此模块中主要包括用户信息管理与问题信息管理。当学生与老师登陆系统后可以选择信息修改,从而修改各自的登录密码,与此同时由于老师具有管理员权限所以可以在学生管理功能中删除选择的学生。对于问题信息管理而言,主要是指老师登陆系统后可查看学生的问题并回答,同时老师还可以就某一具体问题进行其答案的更新或删除选中的问题。
5.总结
通过本学期的学习与实践,对基于C/S结构的答疑系统的设计与实现主要完的功能有,用户的注册与登录、实时答疑、异时答疑和信息管理四大模块。其中在实时答疑模块中学生可以提出问题而老师可以查看问题,在提出问题时学生通过输入问题的关键字,而后系统通过模糊查询在数据库中找到与新问题相近的问题和答案。在异时答疑模块中,老师查看并解答所有学生未能检索到或者不满意的问题,学生在下次登录时查看答案。而在信息管理模块中教师可以对学生信息、问题答案信息进行管理。该系统基本完成了上述功能,还存在很多不足,例如在实时答疑模块中,关于问题的检索,只是简单的实现了模糊查询中的短语查询,对于长整句的查询还有待完善。 C#+sqlserver答疑系统的设计与实现(4):http://www.751com.cn/jisuanji/lunwen_387.html