4系统的总体设计及相关技术准备
4.1总体设计
4.1.1设计的原则及目标
留守儿童爱心管理的工作量随着信息的不断发展和人们的自动化办公意识的不断增强变得越来越复杂,原有的系统已经满足不了相关工作人员的使用需求。为了解决这一问题,并且方便信息行业实施留守儿童爱心管理的工作,提高工作的效率,有必要利用现有留守儿童爱心行业的资源,开发出更好、更方便的留守儿童爱心网站。
本留守儿童爱心网站是把IT技术用到留守儿童爱心信息的管理中,它具有标准留守儿童爱心网站所具备的现实生活中完整的留守儿童爱心管理过程,完全的实现了虚拟现实。它可以收集和保存用户的信息,真正的实现了节约资源、提高使用效率、处理业务的同时实现了留守儿童爱心网站的功能。
本系统采取的原则有:
a)开发采用的是B/S模式。B/S模式的优点是处理前台与后台时层次分明,并且符合现在大部分用户习惯的网页搜索的方法。
b)运用面向对象的开发与设计思想。只有对系统的整体充分了解才能使用面向对象的技术,通过面向对象的技术可以保证系统的框架,从而使系统更加稳定,提高运行的效率。
c)采用结构化的设计方法。将系统分成各个功能模块,正确的处理模块之间和模块内部的联系以及与数据库的联系,定义各模块之间的内部结构,通过对不同模块的设计和模块与模块之间关系的设计来实现整个系统的功能。
d)系统的界面简单清晰。系统的界面设计简单,方便用户快速的操作使用。
4.1.2系统的主要的功能结构
留守儿童爱心网站的主要功能的结构如图4-1所示。
添加图片注释,不超过 140 字(可选)
图4-1网站功能结构图
4.2系统设计
4.2.1数据表E-R图
E-R图为实体-关系图,本系统的E-R图展现了各个实体之间的关系,在本数据库中,各个实体之间的关系均为多对多的关系,如下图:
志愿活动属性图如图4-2所示。
图4-2志愿活动实体属性图
爱心捐赠实体属性图如图4-3所示。
图4-3爱心捐赠实体属性图
4.2.2 数据库的主要表结构
表4-1:爱心捐赠
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
juanzengbiaoti | varchar | 200 | 捐赠标题 | ||
juanzengneirong | longtext | 4294967295 | 捐赠内容 | ||
fabushijian | datetime | 发布时间 | |||
jigoumingcheng | varchar | 200 | 机构名称 | ||
juanzengdidian | varchar | 200 | 捐赠地点 | ||
fengmiantupian | varchar | 200 | 封面图片 | ||
weixinzhanghao | varchar | 200 | 微信账号 | ||
weixinyonghuming | varchar | 200 | 微信用户名 |
表4-2:志愿活动
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
huodongbianhao | varchar | 200 | 活动编号 | ||
huodongmingcheng | varchar | 200 | 活动名称 | ||
fuwuneirong | longtext | 4294967295 | 服务内容 | ||
huodongdidian | varchar | 200 | 活动地点 | ||
kaishishijian | date | 开始时间 | |||
jieshushijian | date | 结束时间 | |||
huodongtupian | varchar | 200 | 活动图片 | ||
lianxifangshi | varchar | 200 | 联系方式 |
表4-3:用户
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
mima | varchar | 200 | 密码 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
xingbie | varchar | 200 | 性别 | ||
nianling | varchar | 200 | 年龄 | ||
touxiang | varchar | 200 | 头像 | ||
yonghushouji | varchar | 200 | 用户手机 |
表4-4:宣传新闻
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
xinwenbiaoti | varchar | 200 | 新闻标题 | ||
xinwenneirong | longtext | 4294967295 | 新闻内容 | ||
fengmiantupian | varchar | 200 | 封面图片 | ||
fabushijian | datetime | 发布时间 | |||
faburen | varchar | 200 | 发布人 |
表4-5:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-6: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-7:旧物捐赠
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
juanzengbianhao | varchar | 200 | 捐赠编号 | ||
juanzengbiaoti | varchar | 200 | 捐赠标题 | ||
juanzengdidian | varchar | 200 | 捐赠地点 | ||
wuliudanhao | varchar | 200 | 物流单号 | ||
juanzengwupin | varchar | 200 | 捐赠物品 | ||
juanzengshijian | datetime | 捐赠时间 | |||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
yonghushouji | varchar | 200 | 用户手机 |
表4-8:活动报名
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
baomingbianhao | varchar | 200 | 报名编号 | ||
huodongbianhao | varchar | 200 | 活动编号 | ||
huodongmingcheng | varchar | 200 | 活动名称 | ||
huodongdidian | varchar | 200 | 活动地点 | ||
kaishishijian | varchar | 200 | 开始时间 | ||
jieshushijian | varchar | 200 | 结束时间 | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
yonghushouji | varchar | 200 | 用户手机 | ||
baomingshijian | datetime | 报名时间 | |||
beizhu | varchar | 200 | 备注 | ||
sfsh | varchar | 200 | 是否审核 | 否 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-9:宣传新闻评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
表4-10:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 |
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.2管理员功能模块
管理员进入系统前在登录页面根据要求填写用户名和密码,选择角色等信息,点击登录进行登录操作,如图5-7所示。
图5-7管理员登录界面图
管理员登录系统后,可以对首页、个人中心、用户管理、宣传新闻管理、志愿活动管理、爱心捐赠管理、旧物捐赠管理、活动报名管理、系统管理等功能进行相应的操作管理,如图5-8所示。
图5-8管理员功能界面图
用户管理,在用户管理页面可以对索引、用户账号、用户姓名、性别、年龄、头像、用户手机等内容进行详情、修改或删除等操作,如图5-9所示。
图5-9用户管理界面图
宣传新闻管理,在宣传新闻管理页面可以对索引、新闻标题、封面图片、发布时间、发布人等内容进行详情、查看评论、修改或删除等操作,如图5-10所示。
图5-10宣传新闻管理界面图
志愿活动管理,在志愿活动管理页面可以对索引、活动编号、活动名称、活动地点、开始时间、结束时间、活动图片、联系方式等内容进行详情、修改或删除等操作,如图5-11所示。
图5-11志愿活动管理界面图
爱心捐赠管理,在爱心捐赠管理页面可以对索引、捐赠标题、发布时间、机构名称、捐赠地点、封面图片、微信账号、微信用户名等内容进行详情、修改或删除等操作;如图5-12所示。
图5-12爱心捐赠管理界面图
旧物捐赠管理,在旧物捐赠管理页面可以对索引、捐赠编号、捐赠标题、捐赠地点、物流单号、捐赠物品、捐赠时间、用户账号、用户姓名、用户手机等内容进行详情、修改或删除等操作,如图5-13所示。
图5-13旧物捐赠管理界面图
活动报名管理,在活动报名管理页面中可以对索引、报名编号、活动编号、活动名称、 活动地点、开始时间、结束时间、用户账号、用户姓名、用户手机、报名时间、备注、审核回复、审核状态、审核等内容进行详情、修改或删除等操作如图5-14所示。
图5-14活动报名管理界面图
系统管理,在轮播图管理页面中可以对索引、名称、值等内容进行详情或删除等操作,如图5-15所示。
图5-15系统管理界面图
5.3用户功能模块
用户进入系统可以查看首页、个人中心、旧物捐赠管理、活动报名管理等内容,进行详细的操作,如图5-16所示。
图5-16用户功能界面图
旧物捐赠管理,在旧物捐赠管理页面中可以对索引、捐赠编号、捐赠标题、捐赠地点、物流单号、捐赠物品、捐赠时间、用户账号、用户姓名、用户手机等内容进行详情或删除等操作如图5-17所示。
活动报名管理,在活动报名管理页面中可以对索引、报名编号、活动编号、活动名称、活动地点、开始时间、结束时间、用户账号、用户姓名、用户手机、报名时间、备注、审核回复、审核状态等内容进行详情或删除等操作如图5-18所示。
图5-18活动报名管理界面图
6系统测试与维护
系统测试是指测试整个系统已经完成的功能模块是否能够达到满足所有的需求的行为。系统测试是保证系统质量和可靠的关键,对设计过程中的系统分析与实现的审查。它是用来检验系统是否达到了需求分析的要求,并且能够找出不满足或者存在问题的地方。
6.1测试内容
6.1.1管理员登录测试
测试系统的登录模块,可以通过设置不同的用户名和密码,在一定程度上还可以测试是否成功连接数据库,使用管理员账号和密码,测试结果如下表6-1所示。
表6-1 管理员测试用例
编号 | 账号 | 密码 | 预期结果 | 实际结果 |
---|---|---|---|---|
1 | abo | abo | 成功登录 | 成功登录 |
2 | abo | 123 | 显示密码输入错误提示信息 | 显示密码输入错误提示信息 |
3 | ado | abo | 显示用户名输入错误提示信息 | 显示用户名输入错误提示信息 |
6.1.2信息测试
主要测试蛋糕的添加、修改和删除。测试结果如表6-2所示。
表6-2蛋糕信息测试用例
编号 | 测试内容 | 输入说明 | 输出说明 |
---|---|---|---|
1 | 添加蛋糕信息 | 进入网站后台管理中心,点击系统管理中的蛋糕——发布新增,输入蛋糕信息 | 按“提交数据”按钮后,若输入数据正确,则显示操作成功,表示添加成功;2、若输入字段错误,则系统跳出提示,确认后重新添加。 |
2 | 修改蛋糕信息 | 进入网站后台管理中心,点击系统管理中的蛋糕管理中的修改按钮,输入要修改的蛋糕信息 | 按“提交数据”按钮后,1、若输入数据正确,则显示操作成功,表示修改成功;2、若输入字段错误,则系统跳出提示,确认后重新修改。 |
3 | 删除蛋糕信息 | 进入网站后台管理中心,点击系统管理中的蛋糕管理,勾选框选择删除的蛋糕 | 按“删除”链接后,直接删除。 |
6.1.3项目测试
项目信息主要测试添加项目、修改和删除项目。测试结果如表6-3所示。
表6-3信息测试用例
编号 | 测试内容 | 输入说明 | 输出说明 |
---|---|---|---|
1 | 添加项目信息 | 进入网站后台管理中心,点击项目管理——添加项目,输入相关信息 | 按“提交数据”按钮后,1、若输入数据正确,则显示操作成功,表示添加成功;2、若输入字段错误,则系统跳出提示,确认后重新添加。 |
2 | 修改项目信息 | 进入网站后台管理中心,点击项目管理,点击修改链接,输入要修改的信息 | 按“提交数据”按钮后,1、若输入数据正确,则显示操作成功,表示修改成功;2、若输入字段错误,则系统跳出提示,确认后重新修改。 |
3 | 删除项目信息 | 进入网站后台管理中心,点击项目管理,点击删除链接 | 按“删除”链接后,直接删除。 |
6.1.4修改密码测试
修改密码时,按照正常的修改的流程,测试能否实现密码的修改。具体的操作步骤是用管理员的账号和密码正常登录之后,进入系统管理,选择修改登录密码,登录密码要在6-16位,测试结果如表6-4所示。
表6-4 修改密码测试用例
编号 | 输入 | 期望的输出/相应 | 实际情况 |
---|---|---|---|
1 | 新密码长度在6到16位之间 | 密码修改成功 | 密码修改成功 |
2 | 新密码长度是16位 | 密码修改成功 | 密码修改成功 |
3 | 新密码长度是6位 | 密码修改成功 | 密码修改成功 |
4 | 不输入旧密码 | 显示未输入旧密码提示信息 | 显示未输入旧密码提示信息 |
5 | 输入错误的旧密码 | 显示旧密码输入错误提示信息 | 显示旧密码输入错误提示信息 |
6 | 新密码输入为空 | 显示未输入新密码提示信息 | 显示未输入新密码提示信息 |
7 | 新密码长度为17位 | 显示密码长度在6到16之间提示信息 | 显示密码长度在6到16之间提示信息 |
8 | 新密码长度为5位 | 显示密码长度在6到16之间提示信息 | 显示密码长度在6到16之间提示信息 |
6.1.5其他功能测试
测试其他各类的功能模块的数据信息的添加,修改和删除等功能,各个模块按照各自的特征需求,使用不同的测试用例对各个功能模块进行完整的功能测试。测试的结果如表6-5所示。
表6-5 系统功能情况测试表
待测试的功能模块名称 | 测试结果 | 备注 |
---|---|---|
系统管理 | 通过 | 操作简单 |
用户管理 | 通过 | 操作简单 |
类型管理 | 通过 | 操作简单 |
留守儿童爱心信息管理 | 通过 | 操作简单 |
订单信息管理 | 通过 | 操作简单 |
跟踪服务管理 | 通过 | 操作简单 |
6.2系统维护
对于一个系统来说,完成设计只是一部分,最重要的还是后期的维护。系统维护的好坏决定了系统的生命力。在最初设计留守儿童爱心网站时,就已经考虑了系统维护的问题,所以在设计的过程中,就采用了非常严谨的编写代码的风格,考虑了窗体和控件在实际生活中的应用,操作数据库时也保证了数据的一致性、可靠性和完整性。