Spring Boot驱动的在线房产租赁服务

1 绪论

1.1 研究背景

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

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

1.2 设计原则

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

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

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

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

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

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

1.3 研究内容

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

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

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

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

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

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

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

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

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

4 系统设计

4.1 系统概要设计

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

图4-1系统工作原理图

4.2 系统结构设计

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

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

图4-2 系统结构图

4.3 系统顺序图设计

(1)登陆顺序图

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

图4-3 登录顺序图

(2)注册顺序图

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

图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所示:

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

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

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

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

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

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

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

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

图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 是 户主姓名

lianxifangshivarchar 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 是 审核回复

相关推荐
Elcker几秒前
KOI技术-事件驱动编程(Sping后端)
java·spring·架构
GitNohup3 分钟前
Spring boot处理跨域问题
java·spring boot·跨域
Just_Paranoid14 分钟前
使用 IDE生成 Java Doc
java·开发语言·ide
西海天际蔚蓝30 分钟前
递归查询全量分页数据问题
java
-指短琴长-34 分钟前
Linux从0到1——线程同步和互斥【互斥量/条件变量/信号量/PC模型】
linux·运维·服务器
A charmer42 分钟前
畅游 Linux 开发天地:yum 与 vim 详解
linux·运维·服务器
俎树振42 分钟前
深入理解与优化Java二维数组:从定义到性能提升的全面指南
java·算法
写代码的学渣43 分钟前
TCP/IP原理
服务器·网络·tcp/ip
DARLING Zero two♡1 小时前
【优选算法】Sliding-Chakra:滑动窗口的算法流(上)
java·开发语言·数据结构·c++·算法
love静思冥想1 小时前
Apache Commons ThreadUtils 的使用与优化
java·线程池优化