2.3 ADO.NET技术
ADO.NET提供与数据源进行交互的相关的公共方法,但是对于不同的数据源采用一组不同的类库。这些类库称为DataProviders,并且通常是以与之交互的协议和数据源的类型来命名的。
ADO.NET是与数据源交互的.NET技术。有许多的DataProviders,它将允许与不同的数据源交流――取决于它们所使用的协议或者数据库。然而无论使用什么样的DataProvider,你将使用相似的对象与数据源进行交互。SqlConnection对象管理与数据源的连接。SqlCommand对象允许你与数据源交流并发送命令给它。为了对进行快速的只“向前”地读取数据,使用SqlDataReader。如果想使用断开数据,使用DataSet并实现能进行读取或者写入数据源的SqlDataAdapter。
3.系统总体设计
3.1系统目标
在整个答疑过程中,主要涉及到教师的解答和学生的提问查看两个方面。
学生通过身份验证后进入系统,可以根据自己的需要选择查看问题状态、提问新问题、修改个人信息。具体包括可以查看到自己所有的问题其中包括老师已经解答的问题和答案以及老师未解答的问题;可以先将所提问题题目检索,通过对数据库中已有问题题目的关键字与学生所提出的问题的对比,将与该问题的相似度高的问题检索出来使学生可以查看该问题的解答;若没有检索到相似问题,学生可以将问题提交并选择不同老师回答。
教师通过身份验证后进入系统,可以完成答疑、学生管理、修改个人信息操作。具体包括查看学生向自己提问的问题并解答,也可以检查自己已解答的问题以更新答案或是删除该问题;作为管理人员的教师还应能管理系统数据,主要包括学生信息、问题答案信息、教师信息等数据。
由于本系统的主要使用者是水平参差不齐的学生,不应有太复杂烦琐的操作,因此要求系统界面美观、友好,操作简洁。
3.2功能模块设计
系统要实现以上功能,对各项功能进行集中、分块,按照结构化程序设计的要求,得到系统总体功能模块图如图1所示:
图1 系统功能模块图
其中各个模块应该具备以下功能:
(1)登陆/注册模块:实现老师与学生的注册和登陆操作。根据不同的用户姓名和密码登陆,经过验证后进入各自的界面。
(2)实时答疑模块:当学生选择查看问题状态时,可以查看到自己所有的问题,包括老师已经解答的问题和答案以及老师未解答的问题。当学生选择提问,可以输入所提问题题目关键字,通过与数据库中已有问题题目关键字的对比,将与该问题的相似度最高的问题检索出来作为最终问题答案,供学生查看,从而实现实时的答疑解惑。
(3)异时答疑模块:学生若没有检索到相似问题或对系统给出的问题答案不满意,可将问题提交并选择不同老师回答;当老师登陆系统后查看未回答的问题后进行解答;学生则可以在下次登录时查看答案。
(4)信息管理模块:主要包括用户信息管理和问题信息管理,包括不同用户可更改自身登陆密码等信息的功能,老师则具有管理员权限可以实现对学生信息的删除、问题的更新与删除等功能。
3.3数据库设计
3.3.1概念结构设计
概念结构独立于数据库的逻辑结构,也独立于所使用的具体的数据库管理系统。概念模型的组成元素有:实体、属性、联系,E-R模型用E-R图表示。本系统主要涉及教师、学生、问题答案三个实体,其关系E-R图如图2所示:
图2 关系E-R图
3.3.2逻辑结构设计
本系统有一个数据库,包含有多张数据表,以下列出主要数据表的数据结构: C#+sqlserver答疑系统的设计与实现(3):http://www.youerw.com/jisuanji/lunwen_387.html