(4)发表帖子模块:学生通过身份验证后,跳转到该发帖页面,该页面主要是显示帖子和发表帖子,即提出问题,等待老师和同学的解答。
(5)回复帖子模块:主要用于查看学生所发表的疑问帖子以及回帖的详细信息。
(6)发布公告模块:实现老师及时发布信息的功能,使得学生能及时的了解学校或该课程的有关通知。
(7)后台管理模块:管理员可以管理在该网站上注册的学生和老师们的信息,可以实现的功能包括以关键字查询具体的用户信息,删除该用户及删除帖子。
综上所述,系统的功能模块图如图1所示。
图1 系统功能模块图
3.2数据库设计
3.2.1需求分析
需求分析的重点是“数据”和“处理”,通过调查、收集和分析用户对数据库的信息要求、处理要求、安全性与完整性要求[12]。用户的需求具体体现在对网上答疑系统进行的各种操作,比如用户注册登录、对各种帖子信息的保存、更新等,这就要求数据库结构能充分满足各种信息的输入和输出。通过对基本数据项、数据结构的收集以及数据的操作,组成一份详细的数据字典,为下一步设计做好充分的准备。
3.2.2数据库概念结构分析
根据对该《数据结构》课程的答疑系统的设计与分析,该网站的数据库实体型有“学生实体”、“教师实体”、“公告栏实体”和“管理员实体”及“帖子实体”。
根据对数据项之间关系的分析,我们得到的主要E-R图如图2所示。
图2 系统E-R图
3.2.3数据库逻辑结构设计分析
根据该系统的模块设计,设计出的各表的数据项如下所示:
(1)用户信息表(用户编号,用户名,密码,头像,系别,角色,出生日期,电子邮箱,管理员编号)。
(2)发表帖子表(帖子编号,帖子标题,帖子内容,发表时间,发表人,最后回复时间,人气指数)。
(3)公告栏表(公告标题,公告内容,公告时间,发布时间,发布人,人气指数)。
(4)回复帖子表(回复编号,回复标题,回复内容,回复时间,帖子编号,发帖人)。
3.2.4数据库物理结构设计
(1)用户信息表:主要用于存储用户的个人信息,以及用于用户的登录身份验证,发帖,回复,修改个人信息等操作,用户信息表如表1所示。
表1 用户信息表
字段名 数据类型 长度 是否为空 描述
UserId int 否 用户编号
UserName varchar 10 否 姓名
UserPwd varchar 10 否 密码
Ename varchar 10 是 昵称
Role varchar 4 否 角色
Sex nchar 1 否 性别
Depart varchar 10 是 系别
Birth varchar 10 是 出生日期
Email varchar 50 是 邮箱
Logo varchar 50 否 头像
AdminId int 否 管理员编号
(2)发表帖子表:用于存储用户所发帖子的所有信息,比如说帖子编号,标题,内容等信息,发表帖子信息表如表2所示。 《数据结构》课程的答疑系统的设计与实现(3):http://www.youerw.com/jisuanji/lunwen_2492.html