(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销售管理销售合同子模块的设计与开发

网上购物之路--浅析购物网...

网上订房之我见【4996字】

网上广播的现状与前瞻【7201字】

浅谈网上教學的实践与探索【4280字】

网上教學与实践【2498字】

jsp+mysql的B2C网上商城系统的设计与实现

php网上书城用户交互界面的设计+ER图

医院财务风险因素分析及管理措施【2367字】

中国学术生态细节考察《...

承德市事业单位档案管理...

C#学校科研管理系统的设计

国内外图像分割技术研究现状

公寓空调设计任务书

10万元能开儿童乐园吗,我...

志愿者活动的调查问卷表

AT89C52单片机的超声波测距...

神经外科重症监护病房患...