(1)用户信息表:该表主要包括用户编号、登陆名、姓名、密码、性别、电子邮件及用户角色等信息。
(2)问题信息表:该表主要包括问题编号、学生提问的问题、老师的回答、学生编号和教师编号等信息。
数据库逻辑结构设计:在数据库设计中,一般要使用E-R图对需求分析阶段的数据进行分类,形成实体,并确定实体之间的关系,并根据前面的需求分析得到系统各个实体间的关系,主要包括管理员,教师,学生。详细的数据库总体E-R图如图2所示。
 
图2  系统数据库总体E-R图
5.2数据库表
经过上面数据库需求分析和逻辑结构的设计,及其系统的总体的E-R图的设计,最终确立了数据库表的创建。系统数据库主要有两个重要的表,分别是用户表和问题表,具体信息如表1,表2所示。
表1  用户信息表
字段名称    数据类型    字段大小    是否主键    说  明
id    int    N/A    是    用户编号
username    varchar    20    否    用户登陆名
nickname    varchar    20    否    用户姓名
password    varchar    20    否    用户密码
sex    varchar    2    否    用户性别
role    int    N/A    否    用户角色
email    varchar    50    否    电子邮件
表2  问题信息表
字段名称    数据类型    字段大小    是否主键    说  明
id    int    N/A    是    提问编号
question    varchar    255    否    提问问题
answer    varchar    255    否    问题答案
sid    int    N/A    否    学生编号
tid    int    N/A    否    老师编号
6.系统实现
经过前面的系统需求的分析和数据库的创建,网上答疑系统的基本的雏形也产生了,大致分为公共类设计,登陆注册模块,学生模块,教师模块,管理模块。
6.1公共类实现
在程序开发过程中,一般会用到一些公共模块,如数据库连接及操作的类、字符串处理的类等。因此,数据库操作类用来完成数据库的连接操作,以及数据库的查询、添加、删除和修改操作。将这几种操作编写到一个公共类里,可以减少重复代码的编写,有利于代码后期的文护。
该系统中,用到的公共模块主要分为两种,一种是与数据库的连接,这个部分的公共模块在com.dao包中,其中的DbUtil类提供与MySQL数据库的连接,而JdbcUserDao类则是提供前台各个功能操作数据库的增、删、改、查的方法;另外一种是前台显示的功能模块部分,比如,myInfo页面,则是根据登陆用户的信息进行显示的,myPassword是对密码进行修改的页面,学生端,老师端和管理员端都是通过该页面进行密码修改。在前面的基础上,明确了系统实现的大致的流程,接下来就是各个功能模块的实现了。
6.2功能模块实现
6.2.1登陆注册模块
在使用Struts开发的过程中,有时候一个动作要对应到一个Action,但是这些Action中有些属性或方法是相同的,例如都要用到访问数据库的Bean等,如果在每个Action里重复书写,代码就显得冗长而乏,所以首先定义一个类Action,包含一些通用的属性和方法,以后每个Action继承它即可。
上一篇:ASP.net在线新闻发布系统的设计与实现
下一篇:ERP销售管理销售合同子模块的设计与开发

jsp+mysql网上化肥店系统的设计与开发

jsp+mysql网络招标评审系统设计+源代码

jsp+mysql酒店管理系统的设计+源代码

asp+access网上报名系统设计

jsp+mysql网上书城的设计与实现+ER图

Jsp+mysql企业管理系统的设计

jsp+mysql物业管理系统的设计和ER图

基于Joomla平台的计算机学院网站设计与开发

AES算法GPU协处理下分组加...

压疮高危人群的标准化中...

浅谈高校行政管理人员的...

上海居民的社会参与研究

浅论职工思想政治工作茬...

提高教育质量,构建大學生...

从政策角度谈黑龙江對俄...

STC89C52单片机NRF24L01的无线病房呼叫系统设计

酵母菌发酵生产天然香料...