目录

0027springboot房屋租赁系统

项目清单 包安装运行 官网地址 http://chenqi1990.site

0027springboot房屋租赁系统

https://raw.githubusercontent.com/GraduationProject-springboot/.github/main/img/wx.png

github 项目仓库 开源仅有后端代码

点击播放视频 ▼

https://i.sstatic.net/Vp2cE.png

绪论

1.1 研究背景

中国的科技的不断进步,计算机发展也慢慢的越来越成熟,人们对计算机也是越来越更加的依赖,科研、教育慢慢用于计算机进行管理。从第一台计算机的产生,到现在计算机已经发展到我们无法想象。给我们的生活改变很多很多,给我们提供了把很多的方便,计算机已经融入到我们的生活中,和我们的生活息息相关。

随着城市流动人口的增多,人们对房屋租赁的需求日益增大,在房屋租赁方面涉及内容广泛,人们在查询房屋、预约看房、房屋租赁方面缺乏快速准确的手段,针对一现状,为更好用户服务,提供一个查询房屋、预约看房、房屋租赁的平台,开发了本房屋租赁系统。在互联网的迅速发展下,局域网的普及,为建立房屋租赁系统的设计与实现提供了基础条件。房屋租赁系统与传统的房屋租赁方式相比,有着无法比拟的优点,网络共享、传播速度快的特点,用户可以随时随地进行查询所需房屋、预约看房以及租赁房屋,同时管理员通过计算机对房屋租赁相关信息进行管理,大大提高了房屋租赁管理的效率。利用计算机高效率完成房屋租赁信息的管理,是适应现代制度要求、推动房产走向科学化、规范化的必要条件。

1.2 设计原则

在开始开发项目之前,必须要先考虑项目的实用性、科学性,以及该项目是否能够真正让用户受益并尽可能的发挥项目的作用。因此,在开发前,通过以下几条原则对项目进行判断:

(1)可行性原则。项目需要保证经济可行性和技术可行性,这包括了项目在浏览端、服务端等方面上的经济和技术上是可以达成的。

(2)适应性原则。项目要保证可维护性和可扩展性,这是每个非短期项目都需要考虑的,并且不论是维护还是扩展,都必须要建立在适应用户的正常需求的基础上。

(3)安全性及保密性原则。要充分保证用户信息的安全性和保密性,不能因为开发上的疏忽,导致用户的信息泄露。

(4)系统工程原则。为了确保项目的整体性,在项目调查、项目分析、项目设计、项目开发的过程中,都需遵从项目工程的方法和步骤逐步进行。

(5)统一规划、分期实施、逐步完善原则。项目开发的过程中,要按照规划、分期实施,特别是要注意在项目开发过程中要有条理,从点到面,一步步完善,不要贪图进度,要循环渐进的对项目进行开发。

1.3 研究内容

根据基于Spring Boot的房屋租赁系统编写的论文主要阐述了房屋租赁系统的开发过程中使用的技术,首先进行系统需求分析,进而进行系统设计,最后才是系统功能实现以及测试几个部分,在开始编写论文之前亲自到图书馆借阅JAVA书籍,MYSQL数据库书籍等编程书籍,然后针对开发的基于Spring Boot的房屋租赁系统,去网上查找了很多别人做好的系统,根据他们的功能设计进行自己的系统的系统功能结构设计,出具需求报告,最后才是进行程序编码,系统完成后才能进行测试和最后的验收工作,程序开发流程大致如此。

这次编写的论文包含了7个部分的内容,具体内容如下:

第一部分绪论:文章主要从课题背景以及设计原则综合阐述了开发此系统的必要性。

第二部分相关技术:系统开发用到的各种技术都大致做出了简介

第三部分系统分析:从可行性分析和功能需求分析等角度综合研究了此次开发的系统

第四部分系统设计:功能模块设计和数据库设计这两部分内容都有专门的表格和图片表示

第五部分系统实现:进行系统主要功能模块的界面展示

第六部分系统测试:检验程序是否达到预期目标

第七部分系统总结:进行总结工作

29

2 关键技术简介

2.1 JAVA技术

Java是一种多用途并且强大的编程语言,可用于开发运行在移动设备、台式计算机以及服务器端的软件。Java已及其流行。Java只要编写一次,无论什么地方都可以运行启动[1]。

Java语言是应用很广泛的语言,用它编写出的程序十分可靠安全,并且可以在任何系统平台运行[3]。java在线程机制上也是十分简便,其多线程的机制可以在某一时间内同时执行多个任务不会出现中断,巧妙使用这一特性可以让程序具有更好的实时行为和交互性。

Java可以是高级语言,在c++语言的基础上,取其精华去其糟粕,使其更加强大与实用。Java编程语言提供自动的垃圾回收机制,使程序员可以不用担心内存管理。

2.2 B/S结构

B/S(浏览器/服务器)结构是目前主流的网络化的结构模式,它能够把系统核心功能集中在服务器上面,可以帮助系统开发人员简化操作,便于维护和使用。只需要用户在客户端安装360浏览器、谷歌浏览器、QQ浏览器等当前大众浏览器,在电脑里面安装sqlserver、mysql数据库等数据库。安装好的浏览器与服务器端的数据库进行信息数据的交互。很多专门软件能够做到的事情,采用B/S结构模式也能实现,它能够结合Web浏览器技术,ActiveX技术以及多种脚本语言等技术。帮助程序开发者节约了不少开发成本。目前B/S结构成为程序开发主流结构,它最好的地方就是没有地点限制还不用专门安装软件,笔记本或者电脑能够上网就能访问系统。系统使用B/S进行开发在后期系统维护上面就会很省事,不用什么问题都在服务器上面操作,简单的客户端处理就解决部分问题,开发出来的程序跟用户交互性上面也会增强,还可以实时刷新浏览器进行程序局部的数据信息更新。

/images/0000wxapp//blog.001.png

图2-1 B/S模式三层结构图

2.3 SQL数据库

Mysql现隶属于Oracle公司,之前隶属于SUN公司,却是MySQL AB公司研发出来的数据库[4]。

MySQL数据库是一种开源的关系行数据库操作系统其使用的SQL语言是用来访问数据库较为标准的常用数据库操作语言。而且MySQL数据库体积较小易于安装、运行速度较快、所花费的成本较低搭载超文本预处理器接口与web服务器软件或服务可以组成良好的开发环境。

Mysql是当今最为热门的数据库之一,它是用于WEB应用程序的最佳RDBMS(关系数据库管理系统)应用程序。Mysql所使用的语言也是访问数据库最常用的语言,而且体积较小,速度较快,并且成本较低,所以本系统选择Mysql作为系统的数据库,许多中小型的网站一般都是选择Mysql作为网站的数据库。Mysql的数据库是存放在表中的,所以它的速度较快,而且也较为的灵活。MySQL操作起来十分简便,因为MySQL不是讲所有的数据堆放在一起,这样数据量大,查找起来需要的时间很多。它是将数据保存在不同的表中,这些表具有关联性,查找时直接从表中获取数据,这样大大提高了查找的速度。且MySQL是免费的,这对于大多数研发人员来说,是极大的诱惑。MySQL可以使用标准的sql数据语句,使用起来简单方便。

3 系统分析

3.1 可行性分析

可行性分析目的是根据所开发系统的用户需求,明确研究方向和目标,通过可行性分析确定系统的框架和功能模块。

3.1.1 技术可行性

本房屋租赁系统采用Java和MYSQL数据库进行开发设计,作为计算机专业学生,在学校期间就接触到许多关于编程方面的知识,当然也包括各种编程软件,对他们的了解度也比较系统,所以技术开发上面还是有一定把握。

3.1.2 经济可行性

项目需要考虑花费问题,我们必须考虑系统开发中所有的花费进行计算,我们要考虑到系统需不需要太大的资金。二是系统开发后期维护相关的费用大不大。本系统采用我们开源的技术没进行设计,再设计中没有太多的花费,只需要一台电脑便可以进行开发,因此,该项目的实施在经济上完全可行。

3.1.3 操作可行性

本系统操作不复杂且比较容易上手,对于初次接触本系统的来说,不许要接受什么培训就可以操作本系统。用户不需要什么特定的软件,只需要安装大众所使用的浏览器即可进行系统的访问。本系统采用可视化窗口,面向大众,有效的避免了繁琐的操作。而且,本系统将各个功能都详细设计,各模块功能逻辑清晰,对用户非常友好。因此,本系统具有操作可行性。

3.1.4 时间可行性

从2020年11月份我们在学校就没有课程了,同学们大部分选择找工作实习了,我也是在其中。一边找工作的同时,一边忙着完成毕业设计工作。对于我本人来讲,目前的情况是白天我要上班参加实习工作,只有晚上我才有时间完成论文编写工作。论文答辩是在2021年5月份左右,将近半年时间来完成毕业设计,时间上还是很充分。

从上面几个部分的可行性分析得出,这次开发的基于Spring Boot的房屋租赁系统在开发上面没有什么大问题,值得开发。

3.2 系统性能分析

(1)系统的存储性:因为是房屋租赁系统,所以就会在数据库要求上比较严格,信息录入的比较多,而且丰富复杂, 这就需要一个强大的数据库来存放更多的数据和保证数据的时时性。

(2)系统的易学性:系统设计的应该简单易学的,设计的各种功能应该简单操作,不需要努力学习培训,缩短用户熟悉系统的进程。

(3)系统的数据要求:数据应该录入准确,需要更新时,数据应该可以及时的修改,数据还应该有独立保存,不能删除数据的时候会连带着把还需要的数据都删除掉。

(4)系统的有效性:页面响应时问应该在3秒以内,最长不能超过4秒;并支持至少10000人同时登录系统。

3.3 系统功能分析

本基于Spring Boot的房屋租赁系统主要分管理员和租客两大功能模块,下面将详细介绍管理员和租客分别实现的功能。

3.3.1租客功能分析

租客进入本系统可查看系统信息,包括网站首页、公告信息以及房屋信息,注册登录主要功能模块包括个人中心、看房申请管理、租赁合同管理、收租信息管理、报修信息管理,租客用例图如图3-1所示。

/images/0000wxapp//blog.002.png

图3-1 租客用例图

3.3.2管理员功能分析

管理员可登录系统后台,登录后可对系统进行全面管理,包括个人中心、公告信息管理、租客管理、户主管理、房屋信息管理、看房申请管理、租赁合同管理、收租信息管理、报修信息管理、收租统计管理以及维修数据管理,管理员用例图如图3-2所示。

/images/0000wxapp//blog.003.png

图3-2 管理员用例图

3.4 系统流程分析

3.4.1 注册登录流程

未有账号的租客可进行注册操作,注册后可通过注册账号密码进行登录系统,注册登录流程图如图3-3所示。

/images/0000wxapp//blog.004.png

图3-3 租客注册登录流程图

3.4.2添加信息流程

管理员和租客登录后均可进行添加信息操作,添加信息流程如图3-4所示。

/images/0000wxapp//blog.005.png

图3-4 添加信息流程图

4 系统设计

4.1 系统概要设计

房屋租赁系统并没有使用C/S结构,而是基于网络浏览器的方式去访问服务器,进而获取需要的数据信息,这种依靠浏览器进行数据访问的模式就是现在用得比较广泛的适用于广域网并且没有网速限制要求的B/S结构,图4-1就是开发出来的程序工作原理图。

/images/0000wxapp//blog.006.png

图4-1系统工作原理图

4.2 系统结构设计

系统结构设计是将一个庞大的任务细分为多个小的任务的过程,这些小的任务分段完成后,组合在一起形成一个完整的任务。在整个设计过程,以确定可能的具体方案达成每一个小的最终目标,对于每一个小的目标而言,我们必须先了解一些相关的需求分析的信息。然后对系统进行初步的设计,并对其逐渐进行优化,设计出一个具体可实现的系统结构。

本基于Spring Boot的房屋租赁系统的功能结构设计如图4-2所示。

/images/0000wxapp//blog.007.png

图4-2 系统结构图

4.3 系统顺序图设计

(1)登陆顺序图

用户在登录时,首先进入系统登录窗口,用户需要输入用户名和密码,点击登录按钮进行登录操作,系统会以用户名和密码为参数在数据库中进行登录信息的验证,验证成功则登录成功,进入用户主界面。登录模块顺序图如图4-3所示。

/images/0000wxapp//blog.008.png

图4-3 登录顺序图

(2)注册顺序图

未有账号的用户可进入注册界面进行注册操作,在注册界面输入注册信息,点击提交按钮,系统首先判断用户名是否存在,存在则提示重新输入,不存在则验证注册信息是否正确,正确则在数据库中添加注册数据,提示注册成功。用户注册模块顺序图如图4-4所示。

/images/0000wxapp//blog.009.png

图4-4 注册顺序图

4.4 数据库设计

一个好的数据库可以关系到程序开发的优劣,数据库设计离不开表结构的设计,还有表与表之间的联系,以及系统开发需要设计的数据表内容等信息。在进行数据库设计期间,还是需要多花时间进行考虑,最终设计出配套程序的数据库出来。

4.4.1 数据库E-R图设计

本基于Spring Boot的房屋租赁系统采用的是SQL数据库,数据存储快,因为房屋租赁系统,主要的就是对信息的管理,信息内容比较多,这就需要好好的设计一个好的数据库,分类要清楚,不能添加信息的时候,造成信息太过混乱,设计好的数据库首先就需要先把各个实体之间的关系表达明确。

E-R图是一种描述显示数据类型间的关系的数据描述方法,E-R图可以完整地映射出现实模型的关系。E-R图中的三个最为重要的元素就是实体、属性、关系,E-R图即由这三点组成。E-R图是最能体系各个实体之间关系的,包括每个实体都包括哪些属性,搞清楚这些我们设计数据库表的时候才能够不遗忘,才能完整的设计。下面我们例出主要的几个E-R图。

(1)报修信息实体属性E-R图如图4-5所示:

/images/0000wxapp//blog.010.png

图4-5 报修信息实体E-R图

(2)房屋信息实体属性E-R图如图4-6所示:

/images/0000wxapp//blog.011.png

图4-6 房屋信息实体属性E-R图

(3)租客信息实体属性E-R图如图4-7所示:

/images/0000wxapp//blog.012.png

图4-7 租客信息实体属性E-R图

(4)管理员信息实体属性E-R图如图4-8所示:

/images/0000wxapp//blog.013.png

图4-8 管理员信息实体属性E-R图

(5)看房申请信息实体属性E-R图如图4-9所示:

/images/0000wxapp//blog.014.png

图4-9 看房申请信息实体属性E-R图

4.4.2 数据库表设计

本房屋租赁系统需要后台数据库,下面介绍数据库中的各个表的详细信息。各个表的设计结果如下:

表4-1 baoxiuxinxi报修信息表

列名 数据类型 长度 允许空 说明
id bigint 20 否 编号
addtime timestamp 是 创建时间
fangwubianhao varchar 200 是 房屋编号
xiangxidizhi varchar 200 是 详细地址
mingcheng varchar 200 是 名称
baoxiuneirong longtext 是 报修内容
baoxiuzhuangtai varchar 200 是 报修状态
baoxiushijian date 是 报修时间
zhanghao varchar 200 是 账号
xingming varchar 200 是 姓名
shouji varchar 200 是 手机
tupian varchar 200 是 图片

表4-2 fangwuxinxi房屋信息表

列名 数据类型 长度 允许空 说明
id bigint 20 否 编号
addtime timestamp 是 创建时间
fangwubianhao varchar 200 是 房屋编号
fangyuanleixing varchar 200 是 房源类型
fangwuhuxing varchar 200 是 房屋户型
tupian varchar 200 是 图片
zhuangtai varchar 200 是 状态
mianji varchar 200 是 面积
zujia int 11 是 租价
huzhuxingming varchar 200 是 户主姓名
lianxifangshi` varchar 200 是 ‘联系方式
fabushijian date 是 发布时间
suozaishengfen varchar 200 是 所在省份
suozaichengshi varchar 200 是 所在城市
suozaidiqu varchar 200 是 所在地区
xiangxidizhi varchar 200 是 详细地址
xiangqing longtext 是 详情
`clicktime datetime 是 最近点击时间
clicknum int 11 是 点击次数

表4-3 zuke租客信息表

列名 数据类型 长度 允许空 说明
id bigint 20 否 编号
addtime timestamp 是 创建时间
zhanghao varchar 200 是 账号
mima varchar 200 是 密码
xingming varchar 200 是 姓名
`zhiye varchar 200 是 职业
`xingbie varchar 200 是 性别
shouji varchar 200 是 手机
youxiang varchar 200 是 邮箱
shenfenzheng varchar 200 是 身份证
zhaopian varchar 200 是 照片
`dizhi varchar 200 是 地址

表4-4 users用户信息表

列名 数据类型 长度 允许空 说明
id` bigint 20 否 编号
username varchar 100 是 用户名
password varchar 100 是 密码
role varchar 100 是 角色
addtime timestamp 是 新增时间

表4-5 kanfangshenqing看房申请信息表

列名 数据类型 长度 允许空 说明
id bigint 20 否 编号
addtime timestamp 是 创建时间
zhanghao varchar 200 是 账号
xingming varchar 200 是 姓名
shouji varchar 200 是 手机
shenfenzheng varchar 200 是 身份证
`kanfangshijian date 是 看房时间
`shenqingriq dater 是 申请日期
fangwubianhao varchar 200 是 房屋编号
zujia varchar 200 是 租价
mianji varchar 200 是 面积
`xiangxidizhi varchar 200 是 详细地址
beizhu` longtext 是 备注
sfsh varchar 200 是 是否审核
shhf` longtext 是 审核回复

5 系统的实现

5.1 租客功能模块的实现

5.1.1 系统主界面

租客进入本系统可查看系统信息,包括首页公告信息以及房屋信息等,系统主界面展示如图5-1所示:

/images/0000wxapp//blog.015.png

图5-1 系统主界面图

5.1.2 租客注册界面

未有账号的租客可进入注册界面进行注册操作,租客注册界面展示如图5-2所示:

/images/0000wxapp//blog.016.png

图5-2 租客注册界面图

5.1.3 租客登录界面

租客在登录界面可输入登录信息进行登录系统,租客登录界面展示如图5-3所示:

/images/0000wxapp//blog.017.png

图5-3 租客登录界面图

5.1.4 房屋详情界面

租客可选择房屋查看房屋详情信息,登录可进行看房申请操作,房屋详情界面展示如图5-4所示:

/images/0000wxapp//blog.018.png

图5-4 房屋详情界面图

5.1.5 看房申请界面

租客登录后可选择房屋进行看房申请,看房申请界面展示如图5-5所示。

/images/0000wxapp//blog.019.png

图5-5 看房申请界面图

5.1.6 租赁合同界面

租客登录后还可查看租赁合同信息,租赁合同界面展示如图5-6所示。

/images/0000wxapp//blog.020.png

图5-6 租赁合同界面图

5.1.7 收租信息界面

租客可进入收租信息界面查看收租信息,收租信息界面展示如图5-7所示。

/images/0000wxapp//blog.021.png

图5-7 收租信息界面图

5.2 管理员功能模块的实现

5.2.1 管理员登录界面

管理员要想进入系统后台对系统进行管理操作,必须登录系统后台,管理员登录界面展示如图5-8所示。

/images/0000wxapp//blog.022.png

图5-8 管理员登录界面图

5.2.2 租客管理界面

管理员可查看、修改和删除租客信息,租客管理界面展示如图5-9所示。

/images/0000wxapp//blog.023.png

图5-9租客管理界面图

5.2.3 户主管理界面

管理员在户主管理界面可查看已有户主信息,对已有户主信息管理员可进行编辑和删除操作,同时管理员也可添加户主信息,户主管理界面展示如图5-10所示。

/images/0000wxapp//blog.024.png

图5-10 户主管理界面图

5.2.4 房屋信息管理界面

管理员可增删改查房屋信息,房屋信息管理界面展示如图5-11所示。

/images/0000wxapp//blog.025.png

图5-11 房屋信息管理界面图

5.2.5 看房申请管理界面

管理员可查看用户看房申请信息,并可对其进行审核操作,看房申请管理界面展示如图5-12所示。

/images/0000wxapp//blog.026.png

图5-12 看房申请管理界面图

5.2.6 租赁合同管理界面

管理员可增删改查租赁合同信息,租赁合同管理界面展示如图5-13所示。

/images/0000wxapp//blog.027.png

图5-13 租赁合同管理界面图

5.2.7 收租信息管理界面

管理员能够添加、修改和删除收租信息,收租信息管理界面展示如图5-14所示。

/images/0000wxapp//blog.028.png

图5-14 收租信息管理界面图

系统