4 系统总体设计
4.1系统功能结构设计图
系统采用了结构化开发的方法。这种开发方法的优点是控制性比较强,开发过程中采用了结构化和模块化的设计思想,自顶向下,从总体到部分,合理划分系统的结构和模块。结构化开发时使用模块式开发,各模块之间互不影响,方便系统的开发与管理。 系统总体功能如下图所示:
图 4-1系统总体功能模块图
4.2 数据库设计与实现
在每一个系统中数据库有着非常重要的作用,数据库的设计得好将会增加系统的效率以及系统各逻辑功能的实现。所以数据库的设计我们要从系统的实际需要出发,才能使其更为完美的符合系统功能的实现。
4.2.1 概念模型设计
概念模型是对现实中的问题出现的事物的进行描述,ER图是由实体及其关系构成的图,通过E-R图可以清楚地描述系统涉及到的实体之间的相互关系。
课题信息实体图如图4-2所示:
图4-2课题信息实体图
教师实体图如图4-3所示:
图4-3教师实体图
选题信息实体图如图4-4所示:
图4-4选题信息实体图
校园资讯实体图如图4-5所示:
图4-5校园资讯实体图
学生实体图如图4-6所示:
图4-6学生实体图
4.2.2 系统数据表设计
数据库表的设计通常是根据业务逻辑设置的。数据库模型在数据库中设计,并根据模型创建数据库表。数据库包涵了以下数据表来实现了对数据库的存储、调用。以下分别列出数据表的每个字段名称、类型、长度、字段说明、主键、默认值。
表4-1:token表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
userid | bigint | 用户id | |||
username | varchar | 100 | 用户名 | ||
tablename | varchar | 100 | 表名 | ||
role | varchar | 100 | 角色 | ||
token | varchar | 200 | 密码 | ||
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP | ||
expiratedtime | timestamp | 过期时间 | CURRENT_TIMESTAMP |
表4-2:课题信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
ketibianhao | varchar | 200 | 课题编号 | ||
ketimingcheng | varchar | 200 | 课题名称 | ||
ketifenlei | varchar | 200 | 课题分类 | ||
nanyichengdu | varchar | 200 | 难易程度 | ||
renshu | int | 人数 | |||
faburiqi | date | 发布日期 | |||
jiaoshigonghao | varchar | 200 | 教师工号 | ||
jiaoshixingming | varchar | 200 | 教师姓名 | ||
xueyuan | varchar | 200 | 学院 | ||
banji | varchar | 200 | 班级 | ||
timumiaoshu | longtext | 4294967295 | 题目描述 | ||
thumbsupnum | int | 赞 | 0 | ||
crazilynum | int | 踩 | 0 | ||
clicktime | datetime | 最近点击时间 |
表4-3:课题分类
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
ketifenlei | varchar | 200 | 课题分类 |
表4-4:教师
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
jiaoshigonghao | varchar | 200 | 教师工号 | ||
mima | varchar | 200 | 密码 | ||
jiaoshixingming | varchar | 200 | 教师姓名 | ||
zhaopian | longtext | 4294967295 | 照片 | ||
nianling | varchar | 200 | 年龄 | ||
zili | varchar | 200 | 资历 | ||
lianxifangshi | varchar | 200 | 联系方式 | ||
xueyuan | varchar | 200 | 学院 | ||
banji | varchar | 200 | 班级 | ||
sfsh | varchar | 200 | 是否审核 | 待审核 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-5:课题信息评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
表4-6:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 |
表4-7:学生
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
xuehao | varchar | 200 | 学号 | ||
mima | varchar | 200 | 密码 | ||
xueshengxingming | varchar | 200 | 学生姓名 | ||
touxiang | longtext | 4294967295 | 头像 | ||
xingbie | varchar | 200 | 性别 | ||
shouji | varchar | 200 | 手机 | ||
banji | varchar | 200 | 班级 | ||
zhuanye | varchar | 200 | 专业 | ||
xueyuan | varchar | 200 | 学院 | ||
sfsh | varchar | 200 | 是否审核 | 待审核 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-8:选题信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
ketibianhao | varchar | 200 | 课题编号 | ||
ketimingcheng | varchar | 200 | 课题名称 | ||
ketifenlei | varchar | 200 | 课题分类 | ||
nanyichengdu | varchar | 200 | 难易程度 | ||
renshu | varchar | 200 | 人数 | ||
jiaoshigonghao | varchar | 200 | 教师工号 | ||
jiaoshixingming | varchar | 200 | 教师姓名 | ||
xuehao | varchar | 200 | 学号 | ||
xueshengxingming | varchar | 200 | 学生姓名 | ||
banji | varchar | 200 | 班级 | ||
zhuanye | varchar | 200 | 专业 | ||
riqi | date | 日期 |
表4-9:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-10:收藏表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
refid | bigint | 商品id | |||
tablename | varchar | 200 | 表名 | ||
name | varchar | 200 | 名称 | ||
picture | longtext | 4294967295 | 图片 | ||
type | varchar | 200 | 类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注) | 1 | |
inteltype | varchar | 200 | 推荐类型 | ||
remark | varchar | 200 | 备注 |
表4-11:校园资讯
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
introduction | longtext | 4294967295 | 简介 | ||
picture | longtext | 4294967295 | 图片 | ||
content | longtext | 4294967295 | 内容 |
4.3小结
本章刚开始总结了整个系统的总体功能,以树型图展示出来,使得看上去更加清晰明朗,而后介绍了每一个模型的属性和对数据库表的设计。
5 系统详细设计与实现
按照软件工程的流程来说,在系统的详细设计与实现阶段,要把模块、视图、模板进行相应的组合完成一个个所需的功能,此章将会把设计中模块一一说明如何设计和实现的。
系统用户登录,在登录页面选择需要登录的角色,在正确输入用户名和密码后,进入操作系统进行操作;如图5-1所示。
图5-1系统登录界面
5.1管理员模块实现
管理员进入主页面,主要功能包括对首页、个人中心、学生管理、教师管理、课题信息管理、课题分类管理、选题信息管理、系统管理等进行操作。管理员主页面如图5-2所示:
图5-2管理员主界面
管理员点击学生管理。在学生页面输入学号、班级和选择是否通过进行查询、新增或删除学生列表,并根据需要对学生详情信息进行详情、修改或删除操作;如图5-3所示:
图5-3学生管理界面
管理员点击教师管理。在教师页面输入教师姓名、班级和选择是否通过进行查询、新增或删除教师列表,并根据需要对教师详情信息进行详情、修改或删除操作;如图5-4所示:
图5-4教师管理界面
管理员点击课题信息管理。在课题信息页面输入课题名称、课题分类、选择难易程度和班级进行查询、删除、难易统计、课题人数或分类统计课题信息列表,并根据需要对课题详情信息进行详情、选题信息、修改、查看评论或删除操作;如图5-5所示:
图5-5课题信息管理界面
管理员点击课题分类管理。在课题分类页面输入课题分类进行查询、新增或删除课题分类列表,并根据需要对课题分类详情信息进行修改或删除操作;如图5-6所示:
图5-6课题分类管理界面
管理员点击选题信息管理。在选题信息页面输入课题编号、课题名称、课题分类和班级进行查询、新增、删除或打印选题信息列表,并根据需要对选题详情信息进行详情、修改或删除操作;如图5-7所示:
图5-7选题信息管理界面
管理员点击系统管理。在校园资讯页面输入标题进行查询、新增或删除校园资讯列表,并根据需要对校园资讯详情信息进行详情、修改或删除操作;如图5-8所示:
图5-8系统管理界面
5.2教师模块实现
教师进入系统可以对首页、个人中心、课题信息管理、课题分类管理、选题信息管理等功能进行操作。教师主页面如图5-9所示:
图5-9教师主界面
教师点击课题信息管理。在课题信息页面输入课题名称、课题分类、选择难易程度和班级进行查询、新增和删除课题信息列表,并根据需要对课题详细信息进行详情、修改、查看评论或删除操作。如图5-10所示:
图5-10课题信息管理界面
5.3学生模块实现
学生进入系统可以对首页、个人中心、课题信息管理、选题信息管理、我的收藏管理等功能进行操作。学生主页面如图5-11所示:
图5-11学生主界面
学生点击课题信息管理。在课题信息页面输入课题名称、课题分类、选择难易程度和班级进行查询课题信息列表,并根据需要对课题详细信息进行详情、选题信息或查看评论操作。如图5-12所示:
图5-12课题信息管理界面
学生点击选题信息管理。在选题信息页面输入课题编号、课题名称、课题分类和班级进行查询或删除选题信息列表,并根据需要对选题详细信息进行详情或删除操作。如图5-13所示:
图5-13选题信息管理界面
5.4小结
本章介绍了系统的各个模块和实现功能,对模块下的关键功能进行了介绍,并通过图片展示了实现效果。