系统简介
互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,采用小区物业智能卡管理可以有效管理,使信息管理能够更加科学和规范。
小区物业智能卡管理在Eclipse环境中,使用Java语言进行编码,使用Mysql创建数据表保存本系统产生的数据。系统可以提供信息显示和相应服务,其管理员增删改查业主服务和业主服务资料,审核业主服务预订订单,查看订单评价和评分,通过留言功能回复用户提问。
总之,小区物业智能卡管理集中管理信息,有着保密性强,效率高,存储空间大,成本低等诸多优点。它可以降低信息管理成本,实现信息管理计算机化。
关键词:小区物业智能卡管理;Java语言;Mysql
第1章 开发环境与技术
小区物业智能卡管理的编码实现需要搭建一定的环境和使用相应的技术,接下来的内容就是对小区物业智能卡管理用到的技术和工具进行介绍。
2.1 MYSQL数据库
本课题所开发的应用程序在数据操作方面是不可预知的,是经常变动的,没有办法直接把数据写在文档里,这样不仅仅不安全,也不能实现应用程序的功能。如果要能实现应用程序所需要的数据存储功能,就避免不了要进行专业数据库存储软件的选择。基本上应用程序实现的功能不算太复杂,市面上任何一个关系型数据库软件都可以实现。参考自己的学习进度和操作习惯来讲,Oracle数据库是适合的,但是所需要的的安装软件很大,并且有好多不需要的功能都是开启的状态,十分消耗电脑资源,所以没有选择Oracle数据库,而SQL Server数据库虽然学过,但是安装的时候因为电脑上可能有其他的软件存在,经常性的出问题,而安装问题不好解决就需要重新安装操作系统,这样对已经存在的软件来讲又是一种时间上的浪费。只有MySQL数据库,安装包小,安装速度快,操作简单,哪怕安装出问题也好解决,不用重装操作系统,也不影响电脑上运行的其他软件,消耗资源也少,最重要的是在功能方面完全的符合设计需要,所以最后选择了MySQL数据库作为应用软件开发需要的数据库。
2.2 vue技术
在动态网站的兴起之初,作为高级编程语言的Java自然不会放弃这个领域的蛋糕。Sun公司推出了Servlet作为输出动态网站的一种技术标准,虽然不怎么受当时程序员的喜爱,但是当初也没有太多的选择,随后几个月java语言问世,不考虑性能和效率如何,起码在书写网页所需要的动态代码块和静态代码块方面进行了区分,让书写效率和可读效率大大的提升,所以很多Java程序员以及刚入行的初级程序员都选择了java语言作为自己职业的发展方向,Sun公司为了维护Java语言在高级编程语言上的江湖地位,防止java继续抢走市场份额占有率,Sun公司联合Apache基金会研发了一个关于Java动态网页的一个新型的技术标准,这就是vue技术。vue吸取了java语言在页面书写上面的所有优点,但是又背靠Java EE的庞大后台,又能实现很多通过Java组件就能实现的功能,在vue页面上可以直接引用那些组件,让vue更加的强壮丰富。保证了Java技术纵向的可持续发展,并且在动态网站开发领域终于站稳了脚跟,其他java开发人员可以很快的转移到vue进行开发,不考虑一些特殊组件或者功能的开发,只从动态页面的开发上来讲,完全实现了java程序和vue程序的几乎无成本的转换,vue技术就这样的发展了起来。
2.3 Spring Boot框架
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
SpringBoot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。
SpringBoot框架中还有两个非常重要的策略:开箱即用和约定优于配置。开箱即用,Outofbox,是指在开发过程中,通过在MAVEN项目的pom文件中添加相关依赖包,然后使用对应注解来代替繁琐的XML配置文件以管理对象的生命周期。这个特点使得开发人员摆脱了复杂的配置工作以及依赖的管理工作,更加专注于业务逻辑。约定优于配置,Convention over configuration,是一种由SpringBoot本身来配置目标结构,由开发者在结构中添加信息的软件设计范式。这一特点虽降低了部分灵活性,增加了BUG定位的复杂性,但减少了开发人员需要做出决定的数量,同时减少了大量的XML配置,并且可以将代码编译、测试和打包等工作自动化。
SpringBoot应用系统开发模板的基本架构设计从前端到后台进行说明:前端常使用模板引擎,主要有FreeMarker和Thymeleaf,它们都是用Java语言编写的,渲染模板并输出相应文本,使得界面的设计与应用的逻辑分离,同时前端开发还会使用到Bootstrap、AngularJS、JQuery等;在浏览器的数据传输格式上采用Json,非xml,同时提供RESTfulAPI;SpringMVC框架用于数据到达服务器后处理请求;到数据访问层主要有Hibernate、MyBatis、JPA等持久层框架;数据库常用MySQL;开发工具推荐IntelliJIDEA。
。
第2章 系统设计
一个成功设计的系统在内容上必定是丰富的,在系统外观或系统功能上必定是对用户友好的。所以为了提升系统的价值,吸引更多的访问者访问系统,以及让来访用户可以花费更多时间停留在系统上,则表明该系统设计得比较专业。
4.1 设计原则
本系统在设计过程中需要依照一定的设计原则进行,目的就是为了让开发的系统具备高质量,齐全完备的功能,方便简单的操作,如此才可以最大限度的满足使用者的要求。系统设计原则除了基本的易操作原则外,还有安全性原则,准确性原则。
第一个设计原则:易操作原则,针对本系统设计的功能要完备齐全,编码时,设计的各个接口要具备友好性,使用者一旦使用本系统时,要能够轻松上手,操作本系统处理数据时,要具备便利性。此外,也需要设计一些必要提示,引导使用者操作系统。
第二个设计原则:安全性原则,本系统在登录模块要对各个访问者进行身份验证,系统会通过访问者输入的信息进行判断,使用提前编写的安全验证代码进行数据比对,引导匹配成功的访问者进入指定的操作界面。这样可以避免无关性访问者窃取系统的数据。
第三个设计原则:准确性原则,为了保证使用者登记的数据是正确的,需要提前设计数据纠错机制,让使用者可以通过系统的报错提示,仔细检查登记的错误信息,并及时纠正错误,填写规范正确的信息。比如设置密码时,要求密码的长度不能低于6个字符,且数据类型要求不能全部是数字等都能进行规范。
4.2 功能结构设计
在前面分析的管理员功能的基础上,进行接下来的设计工作,最终展示设计的管理员结构图(见下图)。管理员增删改查业主服务
4.3.2 数据库物理设计
本数据库是关系型数据库,因此对二维表的结构设计也比较关键。毕竟二维表格模型就是关系型数据库中的关系模型。而一些常用的关系模型中的概念也需要了解,才可以对关系模型进行设计。下面就简单介绍关系,元组,属性,域,关键字等常用概念的含义。
关系:关系就是数据库中的一张数据表,每张数据表都有命名,也就是每个关系也有名字,那就是数据表名;
元组:元组就是数据表中的一行记录;
属性:属性就是数据表中的字段,也就是数据表中的一列;
域:域就是对数据表中属性的取值进行限定;
关键字:关键字就是数据表中的主键;
在了解了表结构设计的常用概念后,接下来就需要使用前面绘制的E-R模型完成表结构的设计工作,并在数据库中创建数据表,并为各个数据表进行命名。以下就对设计的结果通过表格形式进行展示。
表4.1停车登记表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 cheliangruku_name String 车辆单位 是
3 cheliangruku_yanse String 车辆颜色 是
4 cheliangruku_types Integer 车辆状态 是
5 churu_types Integer 出入类型 是
6 yonghu_id Integer 业主 是
7 cheliangruku_time Date 出入库时间 是
8 cheliangruku_content String 车辆详情 是
9 insert_time Date 记录时间 是
10 create_time Date 创建时间 是
表4.2字典表表
序号 列名 数据类型 说明 允许空
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.3费用信息表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 feiyong_name String 标题 是
3 feiyong_types Integer 费用类型 是
4 feiyong_money BigDecimal 涉及金额 是
5 yonghu_id Integer 业主 是
6 renyuan_jieguo String 收费结果 是
7 feiyong_content String 详情 是
8 create_time Date 创建时间 是
表4.4留言版表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yonghu_id Integer 用户 是
3 liuyan_name String 留言标题 是
4 liuyan_text String 留言内容 是
5 insert_time Date 留言时间 是
6 reply_text String 回复内容 是
7 update_time Date 回复时间 是
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 yonghu_id Integer 业主 是
3 yezhufuwu_name String 服务标题 是
4 yezhufuwu_types Integer 服务类型 是
5 yezhufuwu_content String 详情 是
6 yezhufuwu_yesno_types Integer 处理状态 是
7 yezhufuwu_yesno_text String 处理结果 是
8 insert_time Date 申请时间 是
9 create_time Date 创建时间 是
表4.7服务评价表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yezhufuwu_id Integer 服务 是
3 yonghu_id Integer 用户 是
4 yezhufuwu_commentback_text String 评价内容 是
5 insert_time Date 评价时间 是
6 reply_text String 回复内容 是
7 update_time Date 回复时间 是
8 create_time Date 创建时间 是
表4.8业主表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yonghu_name String 业主姓名 是
3 yonghu_photo String 头像 是
4 yonghu_phone String 手机号 是
5 yonghu_email String 电子邮箱 是
6 yonghu_delete Integer 假删 是
7 create_time Date 创建时间 是
表4.9用户表表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 username String 用户名 是
3 password String 密码 是
4 role String 角色 是
5 addtime Date 新增时间 是
第三章 效果图
5.1业主信息管理
如图5.1显示的就是业主信息管理页面,此页面提供给管理员的功能有:业主信息的查询管理,可以删除业主信息、修改业主信息、新增业主信息,
还进行了对用户名称的模糊查询的条件
图5.1 业主信息管理页面
5.2 业主服务管理
如图5.2显示的就是业主服务管理页面,此页面提供给管理员的功能有:查看已发布的业主服务数据,修改业主服务,业主服务作废,即可删除,还进行了对业主服务名称的模糊查询 业主服务信息的类型查询等等一些条件。
图5.2 业主服务管理页面
5.3服务类型管理
如图5.3显示的就是服务类型管理页面,此页面提供给管理员的功能有:根据服务类型进行条件查询,还可以对服务类型进行新增、修改、查询操作等等。
图5.3 服务类型管理页面
5.1公告信息管理
如图5.4显示的就是公告信息管理页面,此页面提供给管理员的功能有:根据公告信息进行新增、修改、查询操作等等。
图5.4 公告信息管理页面