基于 SSM 的校园一卡通密钥加密传输机制与安全性能提升

news/2024/12/15 10:38:44/

第4章 系统设计
市面上设计比较好的系统都有一个共同特征,就是主题鲜明突出。通过对页面简洁清晰的布局,让页面的内容,包括文字语言,或者视频图片等元素可以清晰表达出系统的主题。让来访用户无需花费过多精力和时间找寻需要的内容。
4.1界面设计原则
一般来说,大部分用户使用系统,有些是想从系统中获取需要的信息,有些则是使用系统提供的服务。所以,为了改善用户体验,提高系统的使用率,在对系统界面设计时,需要按照下面的原则进行。
第一点,对用户进行分析,了解用户使用系统的目的,以及使用系统的方式,考虑大部分用户的阅读习惯,设计Z字形或F型结构可以方便用户获取信息。
第二点:设计有效的导航,这个包括每个页面上都有导航条的显示,有时也可以在页面的底部设计导航条,当用户进入具体页面时,要设计相应的位置提示,在页面中比较特殊的位置,需要设计返回链接,可以返回上个页面,也可以返回首页等。
第三点:对整个系统要运用统一的设计方案,包括色彩方案的一致性,页面模板的相似性等,对相同操作和专业术语的描述在整个系统中也应该保持一致。
第四点:设计的界面要保证传达的内容清晰准确。要避免在同一个页面设计非常多的内容,另外可以准确对系统内容进行分类,把页面中用户视觉集中的位置,用来显示重要信息。
作为初学者,并没有那么多的设计经验,但是可以运用上面提到的界面设计原则设计出比较好的系统,可以让用户产生良好的使用体验。
4.2功能结构设计
为了让系统的编码可以顺利进行,特意对本系统功能进行细分设计,设计的系统功能结构见下图。
在这里插入图片描述

图4.1 系统功能结构图
4.3数据库设计
一般来说,对用户进行调查,了解其需求,主要还是完成功能上的分析设计,殊不知,设计功能时,也要展示对数据库的设计。数据库服务于程序,它可以按照设定的规则对程序的数据进行保存,因此,也可以说数据库就是程序相关数据的集合。为了保证程序的高质量,数据库提供的数据存储服务也需要快速响应,同时数据信息也要安全合法可靠,所以设计一个数据库这样的任务也需要高度重视,并花时间和精力去努力完成。毕竟这影响到后期程序的开发和使用。试想而知,假设设计一个不好的数据库,遇到的问题将会有:第一,面对信息处理,会有着繁琐的业务逻辑,延长事务处理时间。第二:程序编码期间,将会产生更多的代码去完成数据处理的功能,产生大量的数据冗余,而且也不方便注释代码,还会占用更多的存储空间。综上所述,设计出合理的数据库是多么的重要。
(1)下图是学生实体和其具备的属性。
在这里插入图片描述

学生实体属性图
(2)下图是日志信息实体和其具备的属性。
在这里插入图片描述

日志信息实体属性图
(3)下图是密钥实体和其具备的属性。
在这里插入图片描述

密钥实体属性图
(4)下图是公告信息实体和其具备的属性。
在这里插入图片描述

公告信息实体属性图
(5)下图是工作人员实体和其具备的属性。
在这里插入图片描述

工作人员实体属性图
(6)下图是密钥发放实体和其具备的属性。
在这里插入图片描述

密钥发放实体属性图

4.3.2 数据库物理设计
作为程序后台的支持,本数据库也需要设计数据存储的结构。而数据存储结构的设计就包括了数据表结构的设计和创建。数据表结构包括了字段,数据类型,还有字段的取值范围等信息。而E-R模型中的实体就是一张表,实体的特征就可以作为该表中的字段,根据本程序信息存储要求,设计每个字段需要的类型,还有该字段的取值范围等。每当设计完成一张数据表,就需要及时保存在数据库里面,并对该设计的数据表准确命名,要求设置的数据表的名称尽量不要是中文,而且要方便记忆。因为在程序编码阶段,通过SQL语句可以把程序里面的数据写入在各个数据表里面,而这个环节需要使用到数据表的名称。如果数据表名称是中文的话,可能会乱码并影响程序运行。下面就以表格形式展示设计的结果。
表4.1字典表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 dic_code String 字段 是
3 dic_name String 字段名 是
4 code_index Integer 编码 是
5 index_name String 编码名字 是
6 super_id Integer 父字段id 是
7 beizhu String 备注 是
8 create_time Date 创建时间 是
表4.2密钥表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 miyao_uuid_number String 密钥编号 是
3 miyao_name String 密钥名称 是
4 miyao_types Integer 密钥类型 是
5 yonghu_id Integer 员工 是
6 miyao_content String 密钥介绍 是
7 miyao_yesno_types Integer 密钥审核 是
8 miyao_yesno_text String 审核结果 是
9 insert_time Date 录入时间 是
10 create_time Date 创建时间 是
表4.3密钥发放表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 miyao_id Integer 密钥 是
3 xuesheng_id Integer 学生 是
4 miyaofafan_time Date 密钥有效期 是
5 miyaofafang_types Integer 访问权限 是
6 insert_time Date 分配时间 是
7 create_time Date 创建时间 是
表4.4日志信息表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 miyaorizhi_name String 日志标题 是
3 miyaorizhi_types Integer 日志类型 是
4 miyaofafang_id Integer 密钥 是
5 yonghu_id Integer 员工 是
6 insert_time Date 添加时间 是
7 miyaorizhi_content String 日志详情 是
8 create_time Date 创建时间 是
表4.5公告信息表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 news_name String 公告标题 是
3 news_types Integer 公告类型 是
4 news_photo String 公告图片 是
5 insert_time Date 添加时间 是
6 news_content String 公告详情 是
7 create_time Date 创建时间 是
表4.6学生表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 xuesheng_name String 学生姓名 是
3 xuesheng_photo String 学生头像 是
4 xuesheng_id_number String 身份证号 是
5 xuesheng_phone String 联系方式 是
6 xuesheng_email String 电子邮箱 是
7 xuexiao_types Integer 学校 是
8 xueyuan_types Integer 学院 是
9 zhuanye_types Integer 专业 是
10 xuesheng_delete Integer 逻辑删除 是
11 create_time Date 创建时间 是
表4.7工作人员表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yonghu_name String 工作人员姓名 是
3 yonghu_photo String 工作人员头像 是
4 yonghu_id_number String 身份证号 是
5 yonghu_phone String 联系方式 是
6 yonghu_email String 电子邮箱 是
7 yonghu_delete Integer 逻辑删除 是
8 create_time Date 创建时间 是
表4.8管理员表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 username String 用户名 是
3 password String 密码 是
4 role String 角色 是
5 addtime Date 新增时间 是

结 论
之前在课本上学习过软件开发的知识,包括开发流程的了解,开发技术的学习,还有如何进行系统需求分析与设计,老师也选取了比较有代表性的管理系统在课堂上进行讲解,并在课后布置作业让我们练习,期间老师也让我们也对系统实现与测试进行了了解。所以面对本次校园一卡通密钥管理系统的开发制作,我的脑海里还是有比较清晰的思路。在系统制作中,以及配套文档的编写中,我都是按照软件开发流程一步步开展我的工作。
从系统的角度讲,校园一卡通密钥管理系统制作中,它的难点在于功能的确定,对系统结构的设计,还有设计性能优良的数据库,以及采用成熟的技术实现系统功能等,这些是我面临的困难。针对这些难点,我采取了一定的措施。在不知道系统的功能时,我在网上寻找了很多相似系统,并把这些系统的大致功能进行了记载,把对本系统有用的功能部分进行了采用,另外,我也从网上获取了大量关于系统设计方面的知识,包括系统模块划分,设计原则,数据库表的设计与创建等知识,也从软件开发类博客中,获取了程序编码的技术知识,包括数据增删改代码模块的编写与使用。在本系统编码完成其对应功能后,我对系统的所有功能进行了耐心的测试,最后发现我开发的系统是合格的,可以进行验收。因为本系统除了具备简洁美观的界面外,在功能上可以满足使用者对于数据操作的需求,并且本系统的功能与系统分析设计的功能保持高度一致,而且系统运行稳定,面对用户的误操作,也建立了报错反馈机制,系统的质量可靠。唯一不足的就是系统数据表的设计在字段考虑上并不全面,为字段匹配的数据类型也不精确,还有系统代码部分,有很多地方还没有进行注释,代码编写不够简洁等。
从文档的角度来讲,在完成校园一卡通密钥管理系统制作后,对其制作过程需要进行描述,包括如何进行的需求分析,如何完成系统的设计,以及实现的系统功能的运行效果等都要进行描述。这期间我也花费了将近一个月时间来完成,为了达到学院要求的文档排版标准,我也多次在导师建议下,学习办公软件的使用,还有排版技巧。功夫不负有心人,我编写的文档在面临多次编写修改后终于完成了。
总而言之,制作毕设虽然经历了很多环节,但是认真对待这个事情,我们将会在各个环节获取很多知识,也会在各个环节的实际操作中,锻炼我们的实践能力。通过本项目制作,我开始明白,很多知识并不只是来源于书本,来源于老师课堂上讲解的知识,也需要来源于各大学习网站以及生活实践等。至此,我还是会继续努力,保持新知识的主动学习习惯。

参考文献
[1]卢鸿,朱隆尹.校园一卡通密钥管理系统查询系统优化设计及应用[J].南昌大学学报(理科版),2016,36(04):402-404.
[2]高岳,张腾.基于基站定位的校园一卡通密钥管理系统查询系统设计[J].无线互联科技,2015(03):32-35.
[3]钱佳加,唐海江,夏莎莎,姚宇杰,张祥杰.校园一卡通密钥管理系统查询系统的设计与实现[J].现代商业,2015(17):67-68.
[4]邓林.MySQL存储过程调试技巧[J].四川职业技术学院学报,2017,27(04):157-159.
[5]张继东.MySQL数据库的权限及其安全缺陷[J].信息与电脑(理论版),2017(08):165-166.
[6]邹青松.计算机软件Java编程特点及其技术运用[J].黑龙江科学,2020,11(06):62-63.
[7]王丽,刘佳,杨俊叶.Java的数据库应用框架的研究设计与探讨[J].数字通信世界,2020(04):63.
[8]李燕安.基于Java的Web开发技术的探讨[J].中国新通信,2020,22(08):73.
[9]蒋治学.vue技术及其在动态网页开发中的应用分析[J].浙江水利水电学院学报,2020,32(02):75-77.
[10]康牧.vue动态网站开发实用教程[M].清华大学出版社,2015.
[11]薛茹.基于SSM框架的Web系统研究与应用[J].计算机产品与流通,2018(07):30.
[12]邱丹萍.Web开发中SSM框架的分析[J].电脑知识与技术,2020,16(17):81-82.
[13]王建国.数据库设计在网站开发中的应用[J].山东农业工程学院学报,2017,34(04):158-159+164.
[14]张知青.基于关系数据库的查询方法及优化技术分析[J].煤炭技术,2015,31(05):218-220.
[15]杨堃.计算机软件的运行与维护方法[J].中国高新区,2018(04):179.
[16]李晓琳.安全技术在计算机软件开发中的价值和应用[J].信息与电脑(理论版),2020,32(18):88-89.
[17]Benymol Jose, Sajimon Abraham. Performance analysis of NoSQL and relational databases with MongoDB and MySQL. 2020, 24(Pt 3):2036-2043.
[18]Dragos-Paul Pop, Adam Altar. Designing an MVC Model for Rapid Web Application Development[J]. Procedia Engineering, 2017.

致 谢
虽然项目制作已经完成,但是回想近段时间所经历的事情,内心还是感触良多。自从进入校园后,我对知识的学习就没有那么刻苦了,也不会想着去主动学习,日常课程虽然不缺席,但是对待课后作业也是比较马虎。但是这次毕业设计,却真正唤醒了我。让我开始努力去做一件事。
说到毕业设计,心中比较敬重和感恩的人是导师,导师让我明白,知识不足可以通过后期学习进行弥补,他让我看到了希望,虽然我一直怀疑自己不可能独自完成系统开发,但是在得到导师的帮助后,我做了很多改变自己看法的事情。我竟然可以一步步根据开发流程,完成系统的制作,真的很开心,同时也对导师表示感谢!
还有一群最容易被忽视的人们,就是我身边的同学。他们无论是在课堂上还是在课下,始终陪伴着我。也就是无论学习还是生活,我的身边都有他们,所以大家互相帮助是在所难免的,但是因为这样的陪伴,也充实了我的校园生活。要毕业了,我想说,谢谢你们,我的同学们!
那些给我们上课的老师们也是值得感恩的,他们也是我校园生活中不可缺少的一部分,而且也是教会我知识,让我明白许多生活的道理的老师们,他们一直像蜜蜂一样辛勤的工作,不厌其烦的教授一批又一批校园学子。所以他们值得我们尊敬和感谢!
大学校园的环境是最美的,我也很庆幸来到这里上学,感谢我的学校,愿我的母校越来越好!


http://www.ppmy.cn/news/1555268.html

相关文章

IDEA 可视化使用 git rebase 合并分支步骤 使git分支树保持整洁

模拟环境 dev 分支开发完一个功能,需要合并到 master 分支,如果现在直接 merge 合并的话 git分支树会出现杂乱分叉,先把 master 分支 rebase 到 dev git分支树就会是整洁的一条直线 git rebase介绍 rebase:翻译成中文是重新设定,…

Linux(网络协议和管理)

后面也会持续更新,学到新东西会在其中补充。 建议按顺序食用,欢迎批评或者交流! 缺什么东西欢迎评论!我都会及时修改的! 在这里真的很感谢这位老师的教学视频让迷茫的我找到了很好的学习视频 王晓春老师的个人空间…

hutool一些典型的方法使用笔记

hutool一些典型的方法使用笔记 1 克隆1.1 深克隆 2类型转换2.1其他类型转换为字符串2.2 转换为日期对象2.3 数组转集合2.4 Unicode和字符串转换2.5 数字转中文 文档地址:https://blog.csdn.net/dxjren/article/details/144468399 1 克隆 1.1 深克隆 定义一个实体类…

一次tomcat实战jvm线上问题定位排查和解决

问题分析: 问题来源是客户通过闲鱼找到了我这边进行问题的排查,给我发了一个报错日志,让我帮忙分析。 首先他的项目比较老,很多年以前开发的软件,但是具体做什么业务我不知道。下面来看日志的报错分析。 问题&#…

go-zero(十二)消息队列

go zero 消息队列 在微服务架构中,消息队列主要通过异步通信实现服务间的解耦,使得各个服务可以独立发展和扩展。 go-zero中使用的队列组件go-queue,是gozero官方实现的基于Kafka和Beanstalkd 的消息队列框架,我们使用kafka作为演示。 一、…

CAPL如何设置或修改CANoe TCP/IP协议栈的底层配置

在CANoe中创建网络节点作为以太网主机时,可以给其配置独立的TCP/IP Stack。 配置的协议栈有一些底层配置参数可以在界面上设置或修改,比如: MTU上图中MTU显示500只是图形界面显示错误,正确值是1500。 TCP延迟确认这些参数也可以通过CAPL动态配置,甚至CAPL还可以配置很多界…

LeetCode 24反转链表

单链表反转:详细解析与代码实现 在数据结构的学习过程中,链表是一个非常重要且有趣的部分,而单链表的反转操作更是常考的基础知识点。今天就来和大家详细讲讲如何实现单链表的反转,并通过代码示例来加深理解呀。 题目 给定单链…

Redis 数据结构(二)—集合和有序集合

集合(Set)允许用户将多个各不相同的元素(文本或二进制数据)存储到集合中,以无序的方式存储元素。 有序集合(Sorted Set)同时具有“有序”和“集合”两种性质。每个元素由一个成员和分值组成。成…