博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、爬虫、web开发,已经做了六年的程序开发,开发过上千套大学生实战程序,可以定制、也可成品项目,博客中有上百套程序可供参考,欢迎共同交流学习。
🍅文末点击卡片获取联系🍅
技术:SpringBoot+mysql+vue+tomcat
目录
1 系统介绍
如今社会上各行各业,都在用属于自己专用的软件来进行工作,互联网发展到这个时候,人们已经发现离不开了互联网。互联网的发展,离不开一些新的技术,而新技术的产生往往是为了解决现有问题而产生的。针对于夕阳红公寓信息管理方面的不规范,容错率低,管理人员处理数据费工费时,采用新开发的夕阳红公寓管理系统可以从根源上规范整个数据处理流程的正规性和合法性。
夕阳红公寓管理系统能够实现访客管理,租客管理,维修管理,缴费管理,行程轨迹管理,留言管理等功能。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。
夕阳红公寓管理系统可以提高夕阳红公寓信息管理问题的解决效率,优化夕阳红公寓信息处理流程,并且能够保证存储数据的安全,它是一个非常可靠,非常安全的应用程序。
2 系统背景
2.1 课题背景
二十一世纪互联网的出现,改变了几千年以来人们的生活,不仅仅是生活物资的丰富,还有精神层次的丰富。时代进步的标志,就是让人们过上更好的生活。在互联网诞生之前,地域位置往往是人们思想上不可跨域的鸿沟,信息的传播速度极慢,信息处理的速度和要求还是通过人们骑马或者是信鸽传递,这些信息传递都是不可控制的,中间很有可能丢失,信息的传递水平决定了人们生活的水平。现如今,大家都在用互联网来实现自己的目的,从内部管理设置计算机管理,提高内部信息管理水平,从外部市场也可以用计算机获取相关数据进行处理,如今各行各业已经严重依赖于计算机了。
本课题研究和开发夕阳红公寓管理系统,让安装在计算机上的该系统变成管理人员的小帮手,提高夕阳红公寓信息处理速度,规范夕阳红公寓信息处理流程,让管理人员的产出效益更高。
2.2 课题意义
传统处理数据,必须是一张张纸,然后处理完毕又是统计在一张张纸上面,不断的重复处理,最终有个结果给最高层作为参考,这个模式在互联网没有出现之前,是一种常见的事情,信息管理的效率提不上去,那就用人才,人多力量大,是一个以前人们的常识。计算机的诞生就是发现了人多力量大的不足,比如高端计算人才的培养已经跟不上使用了,所以人们研究出专门帮助人们计算的机器,就是计算机的前身,到了互联网时代,人们发现完全可以让程序供应商提供解决方案,自己挑选自己合适的方案来提高自己的产出比。于是市面上就出现了各种各样的依靠程序处理信息的解决方案。
本课题研发的夕阳红公寓管理系统,就是提供夕阳红公寓信息处理的解决方案,它可以短时间处理完信息,并且只需要使用者动动鼠标和键盘就能获取自己需要的信息,并且这些信息都有专门的存储设备,而且数据的备份和迁移都可以设定为无人值守,从人力角度和信息处理角度以及信息安全角度,夕阳红公寓管理系统是完胜传统纸质操作的,所以夕阳红公寓管理系统就是如此的值得信赖。
3 系统功能结构
4 数据库结构
本小节主要任务即是根据上述内容进行数据存储结构的设计,也就是在数据库中设计存放本系统的数据的数据表,设计数据表时,需要对各个字段进行确定,通常来说,一个实体与一张数据表相对应,实体的属性就用来表示字段名称,不同的字段表示的数据类型以及取值都不相同,这里需要根据系统实际数据的情况进行设置,同时也需要在具体表中确定该表的主键,以及该表各个字段是否能够保持空等进行说明,设计完成一张数据表的结构之后,在保存时同样要命名,尽量选择英文名称进行命名并保存,方便今后系统对数据表进行数据存储访问时,在提高数据存储效率的同时,还不容易导致系统出错。接下来就对设计的数据表进行展示。
表4.1 访客表
字段 | 注释 | 空 | 类型 |
id (主键) | 主键 | × | int(11) |
danyuan_types | 单元 | √ | int(11) |
fangke_name | 访客姓名 | √ | varchar(200) |
fangke_phone | 访客手机号 | √ | varchar(200) |
fangke_id_number | 访客身份证号 | √ | varchar(200) |
sex_types | 性别 | √ | int(11) |
fangke_photo | 健康码 | √ | varchar(200) |
fangke_content | 来访事由 | √ | text |
insert_time | 来访时间 | √ | timestamp |
create_time | 创建时间 | √ | timestamp |
表4.2 缴费表
字段 | 注释 | 空 | 类型 |
id (主键) | 主键 | × | int(11) |
danyuan_types | 单元 | √ | int(11) |
shangpin_name | 缴费名称 | √ | varchar(200) |
jiaofei_time | 缴费月份 | √ | varchar(200) |
wuye_money | 物业费 | √ | decimal(10,2) |
fangzu_money | 房租费 | √ | decimal(10,2) |
zong_money | 总费用 | √ | decimal(10,2) |
jiaofei_types | 是否缴费 | √ | int(11) |
jiaofei_content | 备注 | √ | text |
insert_time | 添加时间 | √ | timestamp |
create_time | 创建时间 | √ | timestamp |
表4. 3 留言表
字段 | 注释 | 空 | 类型 |
id (主键) | 主键 | × | int(11) |
zuke_id | 租客 | √ | int(11) |
liuyan_name | 留言标题 | √ | varchar(200) |
liuyan_text | 留言内容 | √ | text |
reply_text | 回复内容 | √ | text |
insert_time | 留言时间 | √ | timestamp |
update_time | 回复时间 | √ | timestamp |
create_time | 创建时间 | √ | timestamp |
表4. 4 管理员表
字段 | 注释 | 类型 | 空 |
id (主键) | 主键 | bigint(20) | × |
username | 用户名 | varchar(100) | × |
password | 密码 | varchar(100) | × |
role | 角色 | varchar(100) | √ |
addtime | 新增时间 | timestamp | × |
表4. 5 维修表
字段 | 注释 | 空 | 类型 |
id (主键) | 主键 | × | int(11) |
zuke_id | 租客 | √ | int(11) |
weixiu_name | 维修名称 | √ | varchar(200) |
weixiu_types | 维修类型 | √ | int(11) |
weixiu_content | 申请详情 | √ | text |
insert_time | 申请时间 | √ | timestamp |
shifou_types | 是否维修 | √ | int(11) |
create_time | 创建时间 | √ | timestamp |
表4.6 行程轨迹表
字段 | 注释 | 空 | 类型 |
id (主键) | 主键 | × | int(11) |
zuke_id | 用户 | √ | int(11) |
xingcheng_photo | 健康码 | √ | varchar(200) |
gonggao_name | 行程轨迹 | √ | varchar(200) |
xingcheng_content | 备注 | √ | text |
insert_time | 登记时间 | √ | timestamp |
create_time | 创建时间 | √ | timestamp |
表4. 7 租客表
字段 | 注释 | 空 | 类型 |
id (主键) | 主键 | × | int(11) |
username | 账户 | √ | varchar(200) |
password | 密码 | √ | varchar(200) |
zuke_name | 租客姓名 | √ | varchar(200) |
zuke_phone | 租客手机号 | √ | varchar(200) |
zuke_id_number | 租客身份证号 | √ | varchar(200) |
zuke_email | 电子邮箱 | √ | varchar(200) |
zuke_photo | 租客头像 | √ | varchar(200) |
sex_types | 性别 | √ | int(11) |
danyuan_types | 单元号 | × | int(11) |
shiyong_types | 使用 | √ | int(11) |
new_money | 余额 | √ | decimal(10,2) |
create_time | 创建时间 | √ | timestamp |
表4. 8 公告信息表
字段 | 注释 | 空 | 类型 |
id (主键) | 主键 | × | int(11) |
gonggao_name | 公告名称 | √ | varchar(200) |
gonggao_photo | 公告图片 | √ | varchar(200) |
gonggao_types | 公告类型 | × | int(11) |
insert_time | 公告发布时间 | √ | timestamp |
gonggao_content | 公告详情 | √ | text |
create_time | 创建时间 | √ | timestamp |
5 系统功能
编程人员在搭建的开发环境中,运用编程技术实现本系统设计的各个操作权限的功能。在本节中,就展示部分操作权限的功能与界面。
5.1 管理员功能实现
5.1.1 访客管理
图5.1 即为编码实现的访客管理界面,管理员在该界面中对访客的信息进行新增,根据访客姓名,访客手机号,访客身份证号等条件查询访客信息,可以对访客的信息进行修改与删除。
图5.1 访客管理界面
5.1.2 缴费管理
图5.2 即为编码实现的缴费管理界面,管理员在该界面中新增缴费信息,缴费的费用包括物业费,房租费等,可以修改,查询,删除缴费信息,租户已经缴纳费用,则对应的缴费信息栏就会显示已缴。未缴纳费用的租户则会在对应的缴费信息栏中显示未缴。
图5.2 缴费管理界面
5.1.3 留言管理
图5.3 即为编码实现的留言管理界面,管理员在该界面中查询租客的留言内容,对每个租客的留言进行回复,可以删除租客留言的信息。
图5.3 留言管理界面
5.1.4 维修管理
图5.4 即为编码实现的维修管理界面,管理员在该界面中对租客申请维修的信息进行查询,可以删除已维修状态的维修信息,可以对未维修状态的维修信息进行已维修状态的切换。
图5.4 维修管理界面
5.1.5 租客管理
图5.5 即为编码实现的租客管理界面,管理员在该界面中可以查询,修改,删除租客的资料,可以禁用租客的账号,让租客不能登录系统,同时可以对租客的密码进行重置。
图5.5 租客管理界面
5.2 租客功能实现
5.2.1 公告信息
图5.6 即为编码实现的公告信息界面,租客在该界面中查看公告信息。租客在公告搜索栏中登记公告标题可以获取指定的公告信息。
图5.6 公告信息界面
5.2.2 在线留言
图5.7 即为编码实现的在线留言界面,租客在该界面中发布留言时,需要对留言的内容以及留言的标题进行编辑,然后提交。同时,租客可以查看本页面显示的所有留言以及管理员的回复信息。
图5.7 在线留言界面
5.2.3 缴费管理
图5.8 即为编码实现的缴费管理界面,租客在该界面中完成缴费信息查询,对需要缴纳的费用进行缴费。
图5.8 缴费管理界面
5.2.4 维修管理
图5.9 即为编码实现的维修管理界面,租客在该界面中新增维修信息,查看管理员对维修信息的查看情况以及处置情况。
图5.9 维修管理界面
5.2.5 行程轨迹管理
图5.10 即为编码实现的行程轨迹管理界面,租客在该界面中对自己的行程轨迹信息进行登记,可以编辑,查询,删除个人行程轨迹信息。
图5.10 行程轨迹管理界面
6 系统测试
当系统测试环节开始的时候,也就说明对于系统的编码已经弄得大致通顺了,剩下来需要对一些模块和功能进行测试,这个环节就叫系统测试。在程序开发过程中,系统测试是整个开发过程必不可少的一个环节。原因很简单,系统开发人员在面对各种需求需要对各个模块进行编码,开发人员编写过程中,对于程序的理解全部都在编码里面,一人计短,当一个人去做一些事情的时候,把自己的理解变成成果,很有可能会出现理解偏差,甚至是理解错误,这个在程序开发过程中很常见。程序开发人员在面对复杂的逻辑,没有想象中的多么清晰,开发过程就是面对着一堆代码,不断的变换数据类型,并且对各种操作用计算机编程语言进行实现,这些很容易实现程序开发人员的想法,但是如果是比较复杂的逻辑,很可能会出现各种问题,这是无法避免的。所以说,需要额外的人员进行系统测试编写,不要站在程序开发人员的角度去思考问题,要站在用户使用的角度去发现问题,这样开发与测试的分离,有助于系统开发的强壮,让程序表达的更完美一些。之所以把系统测试安排到程序开发过程中的原因在于,当测试发现问题,就可以直接反馈到程序开发人员手里,可以以最快的时间解决问题,这样能大大的提高开发效率。总的来说,在整个软件开发过程中,系统测试这个环节也必须要重视的,所以必须在系统测试环节做好应该做好的事情,让程序开发从开始到结束都有一个完美的流程。
6.1 功能测试
本节主要选择一些功能进行具体测试描述,在相应的功能里面,根据不同的合法与不合法条件输入看程序是否设定的有相关的判断,能否达到使用效果。以下会描述部分功能的测试过程和结果。
6.1.1 登录功能测试
登录是一个常规功能,虽然是常规功能,但是用处很大,可以拒绝非法用户访问,只有合法用户才可以访问对应的功能,这样能保证程序设定的功能符合安全性要求。
表6.1 管理员登录功能测试表
管理员账号 | 管理员密码 | 结果 |
uuu | uuu | 成功登录系统 |
yyy | uuu | 登录失败 |
uuu | yyy | 登录失败 |
只有正确的账号密码才会进行跳转到对应的功能区,如果输入的账号密码不对的话,肯定会有相关提示,用来提示操作人员注意输入正确的账号密码,这样有助于提高用户体验。这里以使用者提交错误的账号为“yyy”,正确的密码为“uuu”为例进行测试,具体反馈结果看下面。
图6.1 登录失败提示
6.1.2 修改密码功能测试
任何用户角色都有安全性要求,那么对应的密码最好是经常更改,只有经常更改才会降低坏人的有机可乘几率,达到密码保护的最低要求,当然,如果用户登录人离开了,为了防止其他人乘机篡改密码,那么也会设定旧密码要求,只有输入正确的旧密码才可以进行密码的修改。下面就是测试过程。
表6.2 修改密码功能测试表
之前的旧密码 | 设置的新密码 | 结果 |
uuu | yyy | 成功修改密码 |
hhh | yyy | 修改密码失败 |
uuu | 修改密码失败 |
不管是旧密码错误还是新密码不合规,都会提示相应的要求,下面就是关于旧密码输入错误的提示。
图6.2 错误的旧密码反馈提示
6.2 系统测试结果
对夕阳红公寓管理系统进行了各种检测,包含功能检测和性能检测,甚至是系统的操作性方面也进行了检测,以及兼容性检测,通过各方面检测结果来判定系统是符合设计目标,达到开发预期。系统是可以实现所开发的功能,并且在扩展性或者是稳定性上面,也有很好的表现,能完全的满足用户需求。
7 总结
由于本人学习的是计算机方面的专业,对于计算机软件方面的相关知识也进行过课堂上的学习以及课后的实际操作练习,因此,对于开发一款已经确定了课题的夕阳红公寓管理系统,从功能需求,功能模块划分,数据库的选择,数据库的设计,编程语言的确定,系统界面的布局和设计等知识,我都有个大致的思路。所以,在参照软件设计思想以及设计流程的基础上,我运用已经具备的理论知识,加上后期从网络渠道获取的相关技术知识,我能够根据制定的系统开发时间安排完成各个阶段性的开发任务。并能够在系统完成开发后期,编写相应的系统文档。
夕阳红公寓管理系统制作期间,我也遇到过一些难题,在最开始的时候,我并不知道该系统具体要设计几个功能模块,以及数据表需要设计几张表,还有对于开发技术的深度理论学习还不充分等,值得庆幸的是,我在面临这些困难时,我能够通过网络或者通过学院提供的图书馆寻求解决办法。比如在不知道具体功能的情况下,我从网上下载了很多的与夕阳红公寓管理系统相关的程序,分析了它们的功能之后,我再结合即将开发的夕阳红公寓管理系统进行综合分析,选取了适合夕阳红公寓管理系统的功能部分,再结合实际情况以及使用者的需求确定本系统功能。对于数据表的设计,我先是在图书馆借阅了一本数据库方面的书籍进行查看,然后查看相似系统对于数据表的结构设计等知识,然后在本系统功能确定的情况下,结合本系统设计了配套的数据表,对于难度最大的开发技术部分,我花费了很多的时间研究网络上的相似系统的功能模块上的代码,一般都是对基础数据的增加,更新,查询或修改方面的代码,然后把本系统能够运用的代码部分在简单更改后进行使用,在完成了一个功能模块以及又一个功能模块之后,又经过了简单的测试工作,最终呈现出一个完整的能够解决用户实际问题的夕阳红公寓管理系统。该系统唯一不足的就是代码方面还有很多重复的部分,不够精简,还有用户操作本系统,对于用户的误操作行为,本系统还不能及时反馈,这也是一大缺点。
夕阳红公寓管理系统完成了,其相应的配套文档也需要进行编写,该文档主要描述夕阳红公寓管理系统是如何进行分析,设计以及实现的,让其他阅读本文档的人增加对该系统的了解,编写文档过程中,由于自己平时对于办公软件的操作不是很频繁,根据学院要求的文档排版格式进行编辑也花了很多时间,在不断学习排版技巧以及对本系统配套文档的反复修改之后,最终在学院规定的时间内进行了文档定稿。
毕业项目各个工作进行到此,我也是收获颇丰,正因为自己努力学习知识,积极寻求解决办法,才让我能够提交一个完整的作品。制作毕业项目让我又得到了成长,不仅是专业知识的增加,也包括解决问题的能力得到了提高,很感谢学院给的制作毕业项目的机会。