4 系统设计
4.1系统概要设计
作业管理系统并没有使用C/S结构,而是基于网络浏览器的方式去访问服务器,进而获取需要的数据信息,这种依靠浏览器进行数据访问的模式就是现在用得比较广泛的适用于广域网并且没有网速限制要求的B/S结构,图4.1就是开发出来的程序工作原理图。
图4.1 程序工作的原理图
4.2系统功能结构设计
下图就是系统功能结构图。
图4.1 系统功能结构图
4.3数据库设计
4.3.1数据库E-R图设计
程序设计是离不开对应数据库的设计操作的,这样的做法就是减少数据对程序的依赖性,所以数据库的设计也是需要花费大量的日常时间来进行设计的,在设计中对程序开发需要存储的数据信息进行实体划分,先确认实体,然后设计实体的属性等操作,这种设计就是数据库设计里面不能少的必须有的E-R模型设计。为了降低程序设计的对应的数据库设计难度,开发人员也可以使用相应的工具来进行E-R模型设计,现在市面上设计E-R模型的工具有PowerDesigner建模工具,Navicat制作工具,还有微软的Visio绘图工具。为了简便起见,本程序在设计E-R模型的时候,就选用了微软的Visio这款功能强大,操作便利的绘图工具。
下面就展示作业管理系统的实体E-R图。
(1)下图就是管理员实体E-R图
图4.7 管理员实体E-R图
(2)下图就是教师实体E-R图
图4.8 教师实体E-R图
(3)下图就是学生信息实体E-R图
图4.9 学生信息实体E-R图
4.3.2 数据库表结构设计
本次程序开发选用的数据库管理工具是MySQL数据管理工具,使用它存放数据也需要创建程序对应的数据库文件,并命名刚创建的数据库文件,有了数据库也需要创建各种数据表来充实数据库,在数据表的创建中,不仅需要对数据表命名,也需要对数据表的字段进行设计,包括每个数据表里面需要设置的字段名称,字段对应的数据类型信息,字段的主键设置这个也是不可缺少的,因为每个数据表里面的主键就是标记着这个数据表跟其他数据表相区分的唯一标志。就相当于生活中的每个人都有姓名,但是上网搜索自己的名字,会发现全国上下有很多人的名字跟自己的名字一模一样,包括姓氏以及名字,区分每个人的唯一信息就是每个人的身份证号信息,主键在数据表里面也是起着这样的重要作用。下面就介绍本次开发的程序作业管理系统的数据表结构信息。
表4.1 班级信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
banji varchar(200) 否 班级
表4.2 教师信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
gonghao varchar(200) 否 工号
mima varchar(200) 否 密码
jiaoshixingming varchar(200) 是 NULL 教师姓名
xingbie varchar(200) 是 NULL 性别
touxiang varchar(200) 是 NULL 头像
banji varchar(200) 是 NULL 班级
youxiang varchar(200) 是 NULL 邮箱
dianhua varchar(200) 是 NULL 电话
表4.3 管理员信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
username varchar(100) 否 用户名
password varchar(100) 否 密码
role varchar(100) 是 管理员 角色
addtime timestamp 否 CURRENT_TIMESTAMP 新增时间
表4.4 学生信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
xuehao varchar(200) 否 学号
mima varchar(200) 否 密码
xueshengxingming varchar(200) 是 NULL 学生姓名
xingbie varchar(200) 是 NULL 性别
touxiang varchar(200) 是 NULL 头像
yuanxi varchar(200) 是 NULL 院系
banji varchar(200) 是 NULL 班级
shouji varchar(200) 是 NULL 手机
youxiang varchar(200) 是 NULL 邮箱
表4.5 作业点评信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
zuoyebianhao varchar(200) 是 NULL 作业编号
zuoyebiaoti varchar(200) 是 NULL 作业标题
xuehao varchar(200) 是 NULL 学号
xueshengxingming varchar(200) 是 NULL 学生姓名
wanchengneirong varchar(200) 是 NULL 完成内容
pingyu longtext 是 NULL 评语
riqi datetime 是 NULL 日期
gonghao varchar(200) 是 NULL 工号
jiaoshixingming varchar(200) 是 NULL 教师姓名
banji varchar(200) 是 NULL 班级
表4.6 作业提交信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
zuoyebianhao varchar(200) 是 NULL 作业编号
zuoyebiaoti varchar(200) 是 NULL 作业标题
zuoyeneirong varchar(200) 是 NULL 作业内容
gonghao varchar(200) 是 NULL 工号
jiaoshixingming varchar(200) 是 NULL 教师姓名
banji varchar(200) 是 NULL 班级
neirongbiaoti varchar(200) 是 NULL 内容标题
wanchengneirong varchar(200) 是 NULL 完成内容
tijiaozuoye varchar(200) 是 NULL 提交作业
tijiaoriqi date 是 NULL 提交日期
xuehao varchar(200) 是 NULL 学号
xueshengxingming varchar(200) 是 NULL 学生姓名
表4.7 作业信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
zuoyebianhao varchar(200) 是 NULL 作业编号
zuoyebiaoti varchar(200) 否 作业标题
zuoyewenjian varchar(200) 是 NULL 作业文件
zuoyeneirong varchar(200) 是 NULL 作业内容
faburiqi date 是 NULL 发布日期
gonghao varchar(200) 是 NULL 工号
jiaoshixingming varchar(200) 是 NULL 教师姓名
banji varchar(200) 是 NULL 班级