前言
✨ **博主介绍:**一线全栈工程师,毕设实战引路人。技术栈覆盖Java、Python、C#、PHP、Node.js及UniApp跨端开发,擅长多语言项目落地与架构设计。持续分享毕设源码、开题报告、技术选型心得与职场踩坑经验。用工程化思维写代码,帮你把毕设做成作品集。👍👍
👇精彩专栏 推荐订阅👇
精选100个热门Java毕业设计项目|适配2026‑2027届选题参考✅
精选100个热门Python毕业设计项目|适配2026‑2027届选题参考✅
精选100个热门微信小程序/安卓APP毕业设计项目|适配2026‑2027届选题参考✅
✅获取源码请私信✅
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以找我咨询,希望帮助更多的人❤️
第1章 绪论
1.1 研究意义
房屋租赁行业数字化转型已经成为提高城市居住服务效率的主要方式。本系统创建线上化的租赁管理平台,把房源发布、预约看房、租赁申请、合同签订等环节整合到同一个框架中,大大缩减了租赁交易的时间。传统租赁模式下房东要多次接待看房客户,租客会来回跑很多房源去比对信息,这样低效的匹配方式造成了大量的时间成本浪费。系统采用在线预约的方式之后,房东可以集中安排看房的时间,租客也可以提前选择自己想要的房源,从而减少无效的奔波。租赁申请线上审核代替了纸质材料递交和人工核验,审核记录可以自动归档,方便以后的追溯。合同电子化存档可以防止纸质文件丢失的情况发生,租客随时可以下载查看合同条款。该系统把租赁流程里分散的操作集中到一个平台上,用户不需要在不同的渠道之间来回切换就可以完成从找房到入住的所有步骤。以上改进大大提高了租赁信息流转的速度和安全性,给房屋租赁市场的规范化管理赋予了技术上的支持。
就行业发展而言,该系统的设计思想对其他的各类生活服务平台有借鉴意义。任何牵涉到供需双方信息匹配和交易流程管理的情境,诸如设备租赁、家政服务、技能交易等等,均可以参照本系统所形成的角色权限划分及状态流转控制手段。系统所用到的Django+Vue.js前后端分离架构具有较好的可移植性,主要业务逻辑在少量修改之后可以应用到其他的垂直领域。该系统也促进了租赁行业信息化程度的提高,把原来依靠口头约定和纸质凭证的交易行为转变成了可以记录、可以追溯、可以审计的数字化流程,为以后引入信用评价体系打下了数据基础。从长远看,平台所拥有的房源数据和交易记录可以给租赁市场的趋势分析赋予真实的样本,有利于管理部门把握租金变动的规律以及供需结构的改变,从而制订更为精确的住房政策。
1.2 研究目的
本文主要研究租赁业务全流程线上管理系统的开发和实现,以达到解决传统租赁模式下信息不对称、流程碎片化的问题。系统以租客找房便利性、房东管理效率、平台运营可控性这三个目标为中心1。租客端要具备准确的房源搜索功能和简单的预约操作途径,房东端要达成房源信息自行更新和申请方便处理的目的,管理端须对用户的权限进行配置并完成内容合规审查等工作2。技术实现上要达到以下目的,建立稳定的Django后端服务框架、设计出符合第三范式的MySQL数据库结构、开发响应式的Vue.js前端界面。系统使用Token认证来保证接口访问的安全,用中间件来处理跨域请求并进行权限的拦截。最终交付可以部署运行的系统原型,完成核心功能模块的集成测试和业务流程的验证,给房屋租赁信息化管理提供完整的工程方案。
1.3 国内外研究现状
国内房屋租赁信息化建设由最初的房屋租赁信息展示平台发展为现在的全流程管理系统。早期的租赁网站主要是对房源信息进行聚合,用户只能被动地浏览房东发布的广告信息,不能主动搜索。伴随着移动互联网的普及,租赁平台也开始加入位置服务以及在线交流的功能,租客可以在不同的地铁线路之间进行选择,也可以和房东直接交流。近几年来,深度学习技术以及智能推荐算法渐渐渗入到这个领域,有些平台会依照用户的行动数据来推送个性化的房源清单。租赁管理系统由原来的单一信息发布平台变成包含发布、预约、申请、签约等在内的综合性服务平台。技术的发展为租赁业务线上化打下了基础。
石咸于2023年就房屋租赁推荐系统进行过基于深度学习的研究,用协同过滤算法对用户的浏览历史行为进行分析,从而得到个性化的房源列表。该研究给本系统的房源检索模块提供了一种推荐思路,可以提高租客找房的效率3。吴宏伟等在2025年用Spring Boot架构开发出智能匹配算法的房屋租赁系统,通过对租客偏好特征和房源属性相似度的分析来达到精准推荐的目的。该系统在匹配机制上的设计可以给本系统预约看房功能提供一定的借鉴,有利于提高供需双方对接的质量4。闫银娟在2022年使用SSM框架设计出房屋租赁系统,搭建起用户管理、房源管理、订单管理等各个功能模块的房屋租赁系统。该研究的模块划分方式可以给本系统功能结构设计提供借鉴,有利于理清角色权限边界。张昊谦于2023年创建的房屋租赁管理系统是前后端分离的结构,可以实现房源信息的发布以及租客的在线预约5。该系统的预约流程设计为本系统预约处理模块的规范提供经验,有利于预约状态流转逻辑的规范化6。邹梦玮在2024年发布了一个互联网+房屋租赁系统,该系统把移动端和服务端的入口融合在一起,并且包含了房源搜索、在线签约、租金支付这些功能。该系统对于全流程线上化的探索给本系统合同签署模块提供思路,有利于形成租赁业务闭环7。
国内对于房源信息的管理以及推荐算法的应用已经有了很大的进步,但是租赁申请审核、合同电子化签署等环节还存在着功能碎片化的现象。部分系统把合同管理交给线下或者第三方工具来完成,没有形成从预约到签约的无缝衔接。本系统在功能设计上弥补了上述的不足,把申请审核状态同合同生成逻辑紧紧地绑在一起,一旦租赁申请审核通过之后,系统就会自动允许房东进入到合同填写环节。该种设计符合当下租赁行业对于全流程线上化的需求,可以实现业务状态的自动流转,减少人工操作。
国外关于房屋租赁信息化的研究更重视数据驱动的决策以及多方利益的平衡。研究者从住房政策评价、在线平台创建、区块链存证、可持续发展等几个方面进行研究。租赁系统已经从原来的只是信息中介的角色转变为现在的交易辅助、信用评价、能源管理等多功能的综合平台。就技术的应用而言,有传统的以模糊逻辑为基础的推荐系统,有新型的利用了分布式账本技术的权属验证方案。因此可以看出,国外的租赁信息化重视技术的实用性和社会效益。
2026年Chen等人通过调查广州年轻中低收入租户的公共租赁住房缓解居住不稳定的效果。该研究在租户需求分析上所用的方法,可以为本系统用户调研阶段提供实证参考,有利于找到租客群体的主要需求8。Obse在2025年创建了埃塞俄比亚亚的斯亚贝巴在线房屋租赁管理平台,使用Web技术完成房源信息展示和租赁申请在线提交的功能。该系统的实践对于本系统租赁申请模块的基础业务流程设计有借鉴意义,有利于申请信息的采集和存储格式的规范化9。Qingshui等人在2021年提出了基于区块链技术的房屋租赁系统,用分布式账本来记录租赁合同和交易流水,保证信息不能被篡改。该研究在合同信息存证方面给出的思路给本系统合同管理模块赋予了安全性启迪,有益于加强合同文件的可信度10。2026年Reidl对房东、物业经理和租客三方在租赁住房脱碳过程中做出的决策机制进行了研究,用社会学的角度来分析各方的利益冲突以及协调途径。该研究对于角色行为分析的成果可以给本系统的权限设计提供理论支持,有利于理清各个用户组之间操作的界限11。2026年Şenyüzlüler和Baykasoglu提出了一个基于网络的数据驱动的房屋租赁推荐系统,使用层次模糊公理来处理推荐过程中出现的不确定性。该系统的推荐算法容错机制给本系统房源检索模块提供技术上的启发,可以提高复杂的查询条件下的匹配精度12。
国外有关租赁合同安全存储和多角色利益协调的研究具有很强的前瞻性,但是部分方案对于硬件环境的要求比较高,不能直接应用于国内中小型租赁平台。本系统在吸收区块链存证思想的基础上采用传统数据库加访问控制的折中方案,用操作日志记录和权限分级来达到合同文件可审计的目的。该种改进把中国租赁市场实际运行环境考虑进去,安全性和实施成本之间取得平衡。
第2章 开发技术简介
2.1 Django
Django框架诞生于2003年,最初被用来实现新闻类网站内容管理系统的开发。该框架采用的是模型、模板、视图的软件设计模式,其中包含了对象关系映射组件、URL路由解析器和模板引擎这三个主要部分13。当HTTP请求到达服务端的时候,中间件组件就会按照事先安排好的顺序对请求展开预处理,之后URL分发器依照请求的路径来匹配对应的视图函数。视图函数运行时,可以利用ORM组件和数据库进行交互,ORM会把Python对象的操作转成SQL语句。数据存取完毕之后,视图函数会从json形式的数据或者交由模板引擎渲染成html页面。房屋租赁系统中Django完成房源信息的增加删除修改查询、用户注册登录、预约申请状态流转等后端业务逻辑。系统启动之后,Django内置的开发服务器就会监听指定的端口,给前端Vue应用提供API接口调用的能力。当请求到达的时候,中间件会解析请求头里的身份令牌,把用户的个人信息放进请求的上下文中。
此框架的URL路由方式可以使用正则表达式进行匹配,也可以采用路由分发嵌套的方式。项目主路由文件会包含各个子应用的路由配置,子应用内部还可以再拆分路由规则。视图层用类视图和函数视图两种方式来实现,类视图可以多个HTTP方法共享同一个访问入口。模型层通过继承Model基类的方式来创建数据表映射类,字段类型有字符型、整型、日期时间型等常见的数据库类型。Django的连接池会保存数据库连接,在运行的时候使用同一个连接来共享,从而降低连接的开销。系统可以利用配置文件对数据库连接参数、静态文件路径、中间件加载顺序进行设置。管理后台模块用很少的代码就可以生成出对应数据模型的管理界面,方便运维人员对基础数据进行维护。
2.2 Vue.js
Vue.js是用于创建用户界面的渐进式JavaScript框架,主要用在视图层渲染上。该框架使用声明式渲染的方式,开发者只需要定义数据和DOM结构的映射关系,框架内部就会跟踪数据的变化,并且会自动地更新界面14。双向数据绑定功能依靠响应式系统来实现,组件内部的数据属性发生改变的时候,就会引发依赖收集和派发更新的过程。房屋租赁系统前端界面用Vue.js创建,房源列表页、预约表单页、合同详情页都是单文件组件。组件内部有模板、脚本、样式这三个部分,在模板里用指令来绑定事件监听器和动态属性。用户点击预约按钮的时候,组件就会触发方法发起异步HTTP请求,后端返回结果之后再用响应式机制更新页面状态。
Vue Router是Vue.js官方提供的路由管理器,可以实现嵌套路由和路由守卫。租赁系统当中,系统会依照用户的登录状况来决定用户是否能够访问到合同签署的页面。导航守卫里拦截未授权请求,把请求重定向到登录页面。状态管理库Vuex用来管理全局共享的数据,用户登录之后系统就会把用户的登录信息存入到Vuex的状态树当中,各个组件都可以通过this.$store.state来访问同样的数据。组件生命周期包含创建、挂载、更新、销毁这四个阶段,在挂载的时候系统会发起请求去获取初始数据。计算属性可以按照依赖的数据来缓存计算结果,从而达到减少重复执行开销大运算的目的。虚拟DOM机制在数据发生变化的时候生成新的旧节点树差异,只对变化的部分进行真实的DOM更新,提高页面渲染的性能。
2.3 MySQL数据库
MySQL属于一种关系型数据库管理系统,它把数据存放在由行和列组成的二维表里。表和表之间用主键和外键来建立关联关系,保证数据引用的完整性15。结构化查询语言属于操作标准,可以执行数据定义、数据查询、数据操纵以及数据控制这四种类型的语句。在租赁系统中,用户信息表存账号、加密密码、联系方式,房源信息表存房源编号、房源名称、租金金额、房源状态。预约看房表用外键关联用户表和房源表,记录预约时间和预约备注。数据库引擎InnoDB支持事务和行级锁,可以保证多用户同时提交的租赁申请不会产生冲突。
数据存取时,应用程序用数据库驱动发送查询语句,服务器解析SQL之后就会产生执行计划。索引机制可以加快查询速度,在房源编号和用户名字段上创建索引。视图属于虚拟表,把复杂的查询结果封装成固定结构,降低应用程序侧数据访问的复杂程度。触发器在数据插入或者更新的时候会自动执行预定的操作,比如新增预约记录的时候会自动更新房源的状态。存储过程把一组SQL语句存入到数据库端,减少应用程序和数据库之间网络往返的次数。房屋租赁系统中合同信息表存有租赁时长、合计金额和合同文件路径,系统用事务保证合同生成和房源状态变更的原子性。
2.4 Browser/Server架构
Browser/Server架构把应用程序逻辑放在服务器端,用户用浏览器向系统发出HTTP请求来完成各种操作。该架构是由浏览器、Web服务器和数据库服务器三层构成的,浏览器完成界面渲染以及用户交互工作16。Web服务器收到HTTP请求之后执行业务逻辑,必要时会向数据库服务器发起查询操作。用户在浏览器中通过Chrome或者Firefox访问系统首页,浏览器加载Vue.js打包生成的静态资源文件。用户点击查询按钮的时候,浏览器向Django后端发出异步请求,后端处理完毕之后返回JSON数据,浏览器动态更新房源列表区域。
该架构把大部分的计算任务移到了服务器端,客户端只需要装上浏览器就可以使用系统的全部功能,不需要安装其他的软件。部署阶段Django内置服务器可以处理开发环境请求,生产环境可以把Nginx用作反向代理服务器,把静态资源请求和动态接口请求分开处理。会话管理使用无状态的Token认证方式,服务器生成Token之后交给客户端保存,每次请求携带Token验证身份。跨域资源共享机制就是将前端开发服务器和后端接口服务器分隔开来,开发阶段使用不同的端口打包之后,再与后端一同部署到同一个域之下。系统升级只需要更换服务器端的代码,所有的用户下一次访问就可以得到最新的版本。浏览器端使用路由懒加载技术,只有当用户访问某个页面的时候才会下载对应的组件代码,从而减小初始加载时间。
第3章 系统需求分析
3.1 系统概述
本系统是基于Django框架和Vue.js技术开发出来的房屋租赁管理系统,给用户带来方便快捷的租赁服务管理平台。系统包含房源管理、预约看房、租赁申请、合同签订、通知公告等主要功能,可以满足租客、房东和管理员三类用户的需求。系统使用前后端分离技术架构来创建,前端用Vue.js框架创建用户交互界面,后端用Django框架保证系统的运行稳定和处理速度。系统主要使用MySQL作为数据库,用数据存储和管理来保证信息的安全性、一致性。本系统使租客可以方便地查找房源信息,可以在线预约,可以参与论坛交流,可以及时收到通知公告。房东可以使用系统发布房源、安排预约、审核租赁申请、录入合同信息,从而提高工作效率和服务质量。管理员通过系统对用户进行管理、房源进行审核、内容进行发布、权限进行设置以及数据进行统计。系统以用户需求为出发点,努力创建出功能齐全、操作方便的房屋租赁管理平台。
3.1.1 系统业务流程
租客登录系统后可以检索房源并提交预约看房请求,房东确认预约后租客前往线下看房。租客确认租赁意向后提交租赁申请,房东审核申请材料。审核通过后房东在线填写合同信息并上传合同文件,租客确认合同内容。管理员在后台维护用户账号状态、审核房源信息、发布系统公告。系统业务流程如图3-1所示。
图3-1 房屋租赁系统业务流程图
3.1.2 系统功能模块
管理员模块是网站后台的主要部分,在登录之后就可以开启管理权限。为了使平台正常工作,又不影响用户操作方便,用系统管理功能可以调整、改善页面布局。该模块可以以公告的形式向用户发布重要的信息提示,管理员可以修改个人信息,对用户、房源、预约、租赁申请、合同、论坛、公告等各方面进行管理。
租客模块有房源搜索、预约看房、租赁申请、合同查看、论坛交流、个人资料修改等。租客在房源列表页里选择好自己想要的房间后,向房东提交预约申请,得到房东同意之后就可以入住。租赁申请经过审核之后可以查看和下载合同文件。
房东模块有房源发布、房源管理、预约处理、申请审核、合同填写、租客管理等。房东提交房源信息之后就进入待审核状态,审核通过之后房源就对租客可见。房东就租客的预约请求、租赁申请分别予以确认、审核。
3.2 需求陈述
根据平台前期分析,该系统主要涵盖以下六大功能模块,分别是房源管理、用户管理、预约管理、租赁申请管理、合同管理、论坛管理。
3.2.1 功能模块作用
(1)用户管理属于系统的基本模块,可以实现用户登录、注册、信息修改以及权限设置等操作。本模块可以给用户提供个性化的服务,并且保证用户的身份合法、真实。管理员可以通过这个模块对用户进行统一管理,即用户信息的修改、查看、删除、权限分配等,保证系统安全、有序。
(2)房源管理模块主要起到房源信息的发布、查询、删除及编辑的作用。管理员或房东可在本模块上传房源相关资料,房源名称、房源类型、户型结构、建筑面积、租金价格、详细地址、房屋图片等均可上传。该模块还支持房源的分类管理,方便租客按照自己的需求快速找到合适的房源。
(3)预约管理模块是系统的核心功能之一,负责租客对房源的预约、取消及查询等操作。该模块可以方便租客查询房源预约情况,自由选择合适的预约时间段。房东可以随时知道预约情况,合理安排看房时间,保证预约过程的顺利进行。
(4)租赁申请管理模块承担租客提交租赁意向申请及房东审核的功能。租客在确认租赁意向之后提交申请,系统需要上传个人身份证明材料。房东审核申请材料后决定通过或者驳回,通过之后系统会自动把房源状态变为已预定。
(5)合同管理模块对租赁双方的合同信息进行填写和确认。房东在申请审核通过之后填写租赁时长,上传合同文件,系统会自动计算出总金额。租客签订合同时房源状态变为已出租,整个租赁过程就结束了。
(6)论坛管理模块创建起用户之间交流互动的平台。用户可以在该模块上发布有关租赁的话题、分享自己的经验和问题来与其它用户交流互动。管理员对论坛的日常管理工作进行监督,保证论坛内容合法健康。
3.2.2 可行性分析
1.技术可行性
本系统用Django框架加上MySQL数据库做后端服务开发,Django内置的ORM组件可以忽略不同数据库之间的语法差别。Vue.js框架同axios库协同工作,前端页面脱离后端运行,减少模块之间的依赖。开发环境可以在普通电脑上搭建起来,使用Python虚拟环境来隔离项目的依赖。本系统结构清晰,各个技术组件之间使用HTTP协议进行通信,没有技术障碍。
2.经济可行性
整个项目的开发使用的是开源技术栈,Django、Vue.js、MySQL都是免费软件,不需要支付商业授权费。开发人员只需要一台个人电脑,内存大于8GB就可以流畅地使用开发工具。系统部署可以选择基础型云服务器,月均费用较低。日常维护只需要备份数据库文件和静态资源文件,不需要聘请专职的运维人员。本方案在成本投入上是合理的。
3.操作可行性
系统界面设计符合一般的Web应用布局规范,顶部导航栏集中显示主要的功能入口。租客进入系统之后,可以直接通过搜索框来查找房源,结果以列表的形式显示出来,每一条房源都有关键信息摘要和详情查看的入口。房东登录之后进入个人中心,房源发布表单用分步指引来降低信息填写错误的概率。系统给常用操作设置明显的按钮标志,用户不需要专门的培训就可以完成预约看房、提交租赁申请等日常事务。交互流程与主流电商平台一致,认知迁移成本小。
4.法律可行性
本网站全部为个人独立设计开发,使用正版授权软件。本软件的开发过程完全符合国家法律法规的要求,不会对任何人、任何集体和国家造成损害。
3.3 功能需求分析
本系统是由租客、房东、管理员三类用户组成的系统,对每一个用户均设定了相应功能模块。租客用户可以完成账户注册登录、房源搜索、预约看房、租赁申请、合同查看、信息修改、评论发表等一系列的操作。房东用户可以对个人信息进行管理,可以发布和修改房源,可以处理预约请求,可以审核租赁申请,可以填写合同信息,可以查看已租记录。管理员用户有用户管理、房源审核、内容发布、权限设置、公告管理、轮播设置和数据统计权限。
租客用户用例图如图3-2所示。

图3-2 租客用户用例图
房东用户用例图如图3-3所示。

图3-3 房东用户用例图
管理员用户用例图如图3-4所示。
图3-4 管理员用户用例图
3.4 顺序图
3.4.1 用户个人中心顺序图
用户登录成功后,可以在系统中修改个人基本信息,维护更新个人密码。租客可以在个人中心查看自己的预约记录、租赁申请状态和合同信息。房东可以在个人中心管理自己发布的房源列表。管理员可以在个人中心维护系统配置信息。用户个人中心顺序图如图3-5所示。
图3-5 用户个人中心顺序图
3.4.2 用户管理顺序图
管理员打开用户管理界面可以查看所有注册用户的信息,包括用户名、用户组、注册时间、账号状态等。管理员可以修改用户账号状态,禁用异常账户。管理员还可以重置用户密码或将用户分配到不同用户组。用户管理顺序图如图3-6所示。
图3-6 用户管理顺序图
3.4.3 房源管理模块顺序图
房东进入房源管理模块后可以查看自己发布的所有房源列表,点击新增按钮进入房源发布表单。系统要求填写房源的基本属性与设施信息,表单提交时执行完整性校验。房源信息成功入库后进入待审核状态,管理员审核通过后房源对租客可见。房源管理顺序图如图3-7所示。
图3-7 房源管理模块顺序图
3.4.4 预约管理模块顺序图
租客在房源详情页点击预约按钮后系统弹出预约表单,填写期望看房时间与联系方式。系统验证该房源当前状态是否为待租赁,已预约或已租出房源禁止提交预约请求。预约记录成功创建后系统更新房源状态为已预约。房东端收到预约通知后可选择接受或者拒绝,租客端预约状态随之更新。预约管理顺序图如图3-8所示。
图3-8 预约管理模块顺序图
3.4.5 租赁申请模块顺序图
租客在确认租赁意向后进入申请页面,提交租赁申请并上传个人身份证明图片。申请信息包括租客姓名、联系电话、申请缘由等字段。系统依据房源编号关联查询出租房信息,将房东用户编号一同写入申请表。申请提交后进入审核状态,房东端审核界面展示租客提交的材料。租赁申请顺序图如图3-9所示。
图3-9 租赁申请模块顺序图
3.4.6 合同管理模块顺序图
租赁申请审核通过后房东进入合同填写环节,系统根据房源租金金额与租赁时长自动计算合计金额。房东上传合同文件后系统生成合同记录,租客端可查看并下载合同文件。租客确认合同内容后系统将房源状态更新为已租出。合同管理顺序图如图3-10所示。
图3-10 合同管理模块顺序图
3.4.7 公告管理模块顺序图
管理员进入公告管理模块后可以查看已发布的公告列表,点击新增按钮进入公告发布页面。系统要求填写公告标题与正文内容,表单提交后公告保存至数据库。前端首页通过接口调用展示最新公告列表,用户点击公告标题可查看详细内容。公告管理顺序图如图3-11所示。
图3-11 公告管理模块顺序图
第4章 系统概要设计
4.1 系统架构设计
4.1.1 整体架构设计
整个体系结构的设计是重要的一步。整个架构中每一个模块都是和整体架构设计密不可分的。系统采用前后端分离的分层结构,前端使用Vue.js打包得到的静态资源文件独立部署,后端Django服务用API的形式对外提供数据接口17。用户界面层完成页面渲染以及用户交互事件的响应工作,所有的界面操作都是通过axios库来发起异步HTTP请求到后端接口上。应用服务层接收到请求之后,就去调用相应的服务类来完成数据校验以及业务规则的判断工作。数据持久层用Django ORM和MySQL数据库交互,把对象的操作转化为SQL语句并执行。系统支持层包含身份认证、跨域请求处理、文件上传下载这些基本的功能。整体架构设计图如下图4-1所示。
图4-1 整体架构设计图
4.1.2 网络结构设计
系统的网络结构存在的意义是能够进行完整的网络访问。当使用者打开浏览器生成了一个请求,该请求通过服务器进行数据响应,形成一个完整闭环。前端开发服务器与后端接口服务器分离运行,前端在开发阶段访问独立端口,打包后与后端同域部署。生产环境可将Nginx作为反向代理服务器,将静态资源请求与动态接口请求分开处理。本系统网络结构设计如图4-2所示。
图4-2 网络结构设计图
4.1.3 系统包图
系统代码总包按照Django项目结构组织,项目根目录包含manage.py入口文件与app应用主目录。app目录下包含core核心模块、services服务层模块、views视图层模块。core模块封装控制器基类与数据库操作工具类,services模块定义各业务表的服务类,views模块实现具体的请求处理逻辑。系统包图如图4-3所示。
图4-3 系统包图
4.2 系统应用设计模式
本系统按照Django框架的MTV设计模式开发后端接口部分,模型层负责数据定义与数据库交互,模板层负责页面渲染,视图层负责业务逻辑处理。在系统的前端采用MVVM设计模式开发前台页面,ViewModel通过双向数据绑定连接视图与模型。数据库采用MySQL数据库作为持久层应用。
4.3 功能结构设计
功能结构设计就是把系统各个功能拆分成一个个独立又相互联系的功能模块的过程。系统以租客、房东、管理员这三个用户群体为依托来搭建功能模块。租客可以进行账户注册登录、房源查询、预约看房、租赁申请、合同查看、信息修改、评论发布。房东可以对个人信息进行管理,发布和修改房源,处理预约请求,审核租赁申请,填写合同信息,查看已租记录。管理员有用户管理、房源审核、内容发布、权限设置、公告发布、轮播维护、数据统计等权利。系统功能结构图如下图4-4所示。
图4-4 系统功能结构图
4.4 数据库设计
数据库设计完成后,通过对数据库关联结构的分析,可以对整个数据库的结构以及各个数据表之间的逻辑关系有系统的了解18。根据以上来创建数据表,从而达到信息精准定位的目的。利用该机制,可以迅速完成目标信息的修改和检索工作,而不需要再进入程序或者代码的深层次去手动查找需要的数据。分析房屋租赁系统数据结构之后,在E-R图中分析各个实体之间的关系。
(1)图4-5是用户实体及其具备的属性。用户实体主要包含用户编号、用户名、密码、昵称、邮箱、手机号码、用户组、状态、创建时间等属性。
图4-5 用户实体属性图
(2)图4-6是房东用户实体及其具备的属性。房东用户实体主要包含房东用户编号、用户编号、房东姓名、房东性别、房东电话、头像、邮箱、状态等属性。
图4-6 房东用户实体属性图
(3)图4-7是租客用户实体及其具备的属性。租客用户实体主要包含租客用户编号、用户编号、租客姓名、租客性别、租客电话、头像、邮箱、状态等属性。
图4-7 租客用户实体属性图
(4)图4-8是房源信息实体及其具备的属性。房源信息实体主要包含房源编号、房东用户编号、房源名称、房源类型、房源状态、户型结构、建筑面积、租金金额、详细地址、房屋图片、配套设施、租赁规则等属性。
图4-8 房源信息实体属性图
(5)图4-9是预约看房实体及其具备的属性。预约看房实体主要包含预约编号、房源编号、房东用户编号、租客用户编号、房源名称、租客姓名、租客电话、预约时间、预约备注等属性。
图4-9 预约看房实体属性图
(6)图4-10是租赁申请实体及其具备的属性。租赁申请实体主要包含申请编号、房源编号、房东用户编号、租客用户编号、房源名称、租客信息、申请时间、申请缘由、审核状态、审核回复等属性。
图4-10 租赁申请实体属性图
(7)图4-11是合同信息实体及其具备的属性。合同信息实体主要包含合同编号、房源编号、房东用户编号、租客用户编号、房源名称、租客信息、申请时间、租赁时长、合计金额、合同内容、其他备注、支付状态等属性。
图4-11 合同信息实体属性图
(8)图4-12是系统E-R图。系统E-R图展示了用户、房东用户、租客用户、房源信息、预约看房、租赁申请、合同信息等核心实体之间的关联关系。
图4-12 系统E-R图
4.5 数据表信息
在关系数据E-R图中,分析并创建数据表,数据表用来记录信息。下面介绍的是数据表各个字段信息如下表所示。
表4-1 配置文件(config)
| 字段名 | 字段描述 | 数据类型 | 长度 | 可空 | 主键 |
|---|---|---|---|---|---|
| id | 主键 | bigint | 20 | 否 | 是 |
| name | 配置参数名称 | varchar | 100 | 否 | 否 |
| value | 配置参数值 | varchar | 100 | 是 | 否 |
表4-2 用户(user)
| 字段名 | 字段描述 | 数据类型 | 长度 | 可空 | 主键 |
|---|---|---|---|---|---|
| id | 主键 | bigint | 20 | 否 | 是 |
| username | 用户名 | varchar | 50 | 否 | 否 |
| password | 密码 | varchar | 100 | 否 | 否 |
| nickname | 昵称 | varchar | 50 | 是 | 否 |
| 邮箱 | varchar | 100 | 是 | 否 | |
| phone | 手机号码 | varchar | 20 | 是 | 否 |
| user_group | 用户组 | varchar | 30 | 否 | 否 |
| state | 状态 | int | 1 | 否 | 否 |
| create_time | 创建时间 | timestamp | 6 | 是 | 否 |
表4-3 房东用户(landlord_user)
| 字段名 | 字段描述 | 数据类型 | 长度 | 可空 | 主键 |
|---|---|---|---|---|---|
| id | 主键 | bigint | 20 | 否 | 是 |
| user_id | 用户编号 | bigint | 20 | 否 | 否 |
| landlord_name | 房东姓名 | varchar | 50 | 否 | 否 |
| landlord_gender | 房东性别 | varchar | 10 | 是 | 否 |
| landlord_phone | 房东电话 | varchar | 20 | 否 | 否 |
| avatar | 头像 | varchar | 200 | 是 | 否 |
| 邮箱 | varchar | 100 | 是 | 否 | |
| state | 状态 | int | 1 | 否 | 否 |
| create_time | 创建时间 | timestamp | 6 | 是 | 否 |
表4-4 租客用户(tenant_user)
| 字段名 | 字段描述 | 数据类型 | 长度 | 可空 | 主键 |
|---|---|---|---|---|---|
| id | 主键 | bigint | 20 | 否 | 是 |
| user_id | 用户编号 | bigint | 20 | 否 | 否 |
| tenant_name | 租客姓名 | varchar | 50 | 否 | 否 |
| tenant_gender | 租客性别 | varchar | 10 | 是 | 否 |
| tenant_phone | 租客电话 | varchar | 20 | 否 | 否 |
| avatar | 头像 | varchar | 200 | 是 | 否 |
| 邮箱 | varchar | 100 | 是 | 否 | |
| state | 状态 | int | 1 | 否 | 否 |
| create_time | 创建时间 | timestamp | 6 | 是 | 否 |
表4-5 房源信息(housing_information)
| 字段名 | 字段描述 | 数据类型 | 长度 | 可空 | 主键 |
|---|---|---|---|---|---|
| id | 主键 | bigint | 20 | 否 | 是 |
| landlord_user_id | 房东用户编号 | bigint | 20 | 否 | 否 |
| housing_number | 房源编号 | varchar | 50 | 否 | 否 |
| source_name | 房源名称 | varchar | 100 | 否 | 否 |
| type_of_source | 房源类型 | varchar | 30 | 否 | 否 |
| housing_status | 房源状态 | varchar | 30 | 否 | 否 |
| huxing_structure | 户型结构 | varchar | 50 | 是 | 否 |
| building_area | 建筑面积 | decimal | 10 | 是 | 否 |
| rent_amount | 租金金额 | decimal | 10 | 否 | 否 |
| specificsed_address | 详细地址 | varchar | 200 | 否 | 否 |
| house_picture | 房屋图片 | varchar | 500 | 是 | 否 |
| supporting_facilities | 配套设施 | text | - | 是 | 否 |
| lease_rules | 租赁规则 | text | - | 是 | 否 |
| create_time | 创建时间 | timestamp | 6 | 是 | 否 |
| update_time | 更新时间 | timestamp | 6 | 是 | 否 |
表4-6 预约看房(appointment_to_see_the_room)
| 字段名 | 字段描述 | 数据类型 | 长度 | 可空 | 主键 |
|---|---|---|---|---|---|
| id | 主键 | bigint | 20 | 否 | 是 |
| housing_information_id | 房源编号 | bigint | 20 | 否 | 否 |
| landlord_user_id | 房东用户编号 | bigint | 20 | 否 | 否 |
| tenant_user_id | 租客用户编号 | bigint | 20 | 否 | 否 |
| tenant_name | 租客姓名 | varchar | 50 | 否 | 否 |
| tenant_phone | 租客电话 | varchar | 20 | 否 | 否 |
| appointment_time | 预约时间 | datetime | - | 否 | 否 |
| appointment_remarks | 预约备注 | text | - | 是 | 否 |
| examine_state | 审核状态 | varchar | 20 | 否 | 否 |
| create_time | 创建时间 | timestamp | 6 | 是 | 否 |
| update_time | 更新时间 | timestamp | 6 | 是 | 否 |
表4-7 租赁申请(lease_application)
| 字段名 | 字段描述 | 数据类型 | 长度 | 可空 | 主键 |
|---|---|---|---|---|---|
| id | 主键 | bigint | 20 | 否 | 是 |
| housing_information_id | 房源编号 | bigint | 20 | 否 | 否 |
| landlord_user_id | 房东用户编号 | bigint | 20 | 否 | 否 |
| tenant_user_id | 租客用户编号 | bigint | 20 | 否 | 否 |
| tenant_name | 租客姓名 | varchar | 50 | 否 | 否 |
| tenant_phone | 租客电话 | varchar | 20 | 否 | 否 |
| application_time | 申请时间 | datetime | - | 否 | 否 |
| reason_for_application | 申请缘由 | text | - | 是 | 否 |
| examine_state | 审核状态 | varchar | 20 | 否 | 否 |
| examine_reply | 审核回复 | text | - | 是 | 否 |
| create_time | 创建时间 | timestamp | 6 | 是 | 否 |
| update_time | 更新时间 | timestamp | 6 | 是 | 否 |
表4-8 合同信息(contract_information)
| 字段名 | 字段描述 | 数据类型 | 长度 | 可空 | 主键 |
|---|---|---|---|---|---|
| id | 主键 | bigint | 20 | 否 | 是 |
| housing_information_id | 房源编号 | bigint | 20 | 否 | 否 |
| landlord_user_id | 房东用户编号 | bigint | 20 | 否 | 否 |
| tenant_user_id | 租客用户编号 | bigint | 20 | 否 | 否 |
| tenant_name | 租客姓名 | varchar | 50 | 否 | 否 |
| tenant_phone | 租客电话 | varchar | 20 | 否 | 否 |
| application_time | 申请时间 | datetime | - | 否 | 否 |
| lease_duration | 租赁时长 | int | 11 | 否 | 否 |
| total_amount | 合计金额 | decimal | 10 | 否 | 否 |
| contract_content | 合同内容 | varchar | 500 | 是 | 否 |
| other_remarks | 其他备注 | text | - | 是 | 否 |
| pay_state | 支付状态 | varchar | 20 | 是 | 否 |
| create_time | 创建时间 | timestamp | 6 | 是 | 否 |
| update_time | 更新时间 | timestamp | 6 | 是 | 否 |
表4-9 文章(article)
| 字段名 | 字段描述 | 数据类型 | 长度 | 可空 | 主键 |
|---|---|---|---|---|---|
| id | 主键 | bigint | 20 | 否 | 是 |
| article_type_id | 文章分类编号 | bigint | 20 | 否 | 否 |
| title | 标题 | varchar | 200 | 否 | 否 |
| img | 封面图 | varchar | 500 | 是 | 否 |
| content | 内容 | longtext | - | 是 | 否 |
| hits | 点击数 | int | 11 | 是 | 否 |
| source | 来源 | varchar | 100 | 是 | 否 |
| tag | 标签 | varchar | 100 | 是 | 否 |
| create_time | 创建时间 | timestamp | 6 | 是 | 否 |
| update_time | 更新时间 | timestamp | 6 | 是 | 否 |
表4-10 文章分类(article_type)
| 字段名 | 字段描述 | 数据类型 | 长度 | 可空 | 主键 |
|---|---|---|---|---|---|
| id | 主键 | bigint | 20 | 否 | 是 |
| name | 分类名称 | varchar | 50 | 否 | 否 |
| description | 描述 | text | - | 是 | 否 |
| icon | 分类图标 | varchar | 200 | 是 | 否 |
| url | 外链地址 | varchar | 200 | 是 | 否 |
| create_time | 创建时间 | timestamp | 6 | 是 | 否 |
| update_time | 更新时间 | timestamp | 6 | 是 | 否 |
表4-11 公告(notice)
| 字段名 | 字段描述 | 数据类型 | 长度 | 可空 | 主键 |
|---|---|---|---|---|---|
| id | 主键 | bigint | 20 | 否 | 是 |
| title | 标题 | varchar | 200 | 否 | 否 |
| content | 正文 | text | - | 否 | 否 |
| create_time | 创建时间 | timestamp | 6 | 是 | 否 |
| update_time | 更新时间 | timestamp | 6 | 是 | 否 |
表4-12 导航(nav)
| 字段名 | 字段描述 | 数据类型 | 长度 | 可空 | 主键 |
|---|---|---|---|---|---|
| id | 主键 | bigint | 20 | 否 | 是 |
| name | 导航名称 | varchar | 50 | 否 | 否 |
| url | 地址 | varchar | 200 | 否 | 否 |
| location | 位置 | varchar | 20 | 否 | 否 |
| father_id | 父级编号 | bigint | 20 | 是 | 否 |
| target | 跳转方式 | varchar | 10 | 是 | 否 |
| create_time | 创建时间 | timestamp | 6 | 是 | 否 |
| update_time | 更新时间 | timestamp | 6 | 是 | 否 |
表4-13 轮播图(slides)
| 字段名 | 字段描述 | 数据类型 | 长度 | 可空 | 主键 |
|---|---|---|---|---|---|
| id | 主键 | bigint | 20 | 否 | 是 |
| title | 标题 | varchar | 100 | 是 | 否 |
| img | 轮播图图片 | varchar | 500 | 否 | 否 |
| url | 链接 | varchar | 200 | 是 | 否 |
| content | 内容 | text | - | 是 | 否 |
| hits | 点击量 | int | 11 | 是 | 否 |
| create_time | 创建时间 | timestamp | 6 | 是 | 否 |
| update_time | 更新时间 | timestamp | 6 | 是 | 否 |
第5章 系统实现
5.1 租客用户功能实现
5.1.1 注册登录功能实现
注册登录模块承担租客账户创建与身份验证任务。新用户进入注册页面填写账户信息,系统实时检测用户名唯一性。注册成功后用户可使用账号密码登录,后端返回身份令牌供后续请求携带验证。该功能保障系统访问安全性,为租客后续操作建立身份基础。注册登录界面如图5-1所示。
图5-1 注册登录界面
5.2.3 房源信息查看功能实现
房源信息查看模块让租客浏览已发布房源的基本属性。系统以列表形式展示房源图片、名称、租金金额及房源类型,租客可通过关键词搜索或筛选条件缩小范围。点击房源卡片后进入详情页面,配套设施与租赁规则完整呈现。房源信息查看界面如图5-2所示。
图5-2 房源信息查看界面
5.1.3 预约看房功能实现
预约看房模块连接租客与房东的看房需求。租客在房源详情页提交预约请求,填写期望看房时间与联系方式。系统校验房源状态后生成预约记录,房东端同步收到通知。该功能将线下看房行为线上化,减少沟通成本。预约看房界面如图5-3所示。
图5-3 预约看房界面
5.1.4 租赁申请功能实现
租赁申请模块处理租客正式租赁意向的提交。租客在确认意向后填写申请表单,系统要求上传身份证明材料。申请信息写入数据库后状态标记为待审核,房东端审核界面展示租客提交的全部材料。租赁申请界面如图5-4所示。
图5-4 租赁申请界面
5.2.2 房屋资讯查看功能实现
房屋资讯模块为租客提供租赁相关的信息阅读服务。系统发布租房攻略、市场动态、政策解读等内容,租客可按分类浏览资讯列表。点击标题进入详情页查看文章完整内容,点击数自动累加。房屋资讯查看界面如图5-5所示。
图5-5 房屋资讯查看界面
5.2.1 网站公告查看功能实现
网站公告模块向租客推送平台运营通知与重要提示。管理员发布公告后,租客端首页展示最新公告条目。租客点击公告标题可查看详细内容,了解系统维护通知、活动信息或规则变更。网站公告查看界面如图5-6所示。
图5-6 网站公告查看界面
5.1.7 支付订单功能实现
支付订单模块完成合同签署后的租金支付操作。租客在合同确认环节进入支付页面,系统展示合计金额与支付方式选项。支付成功后合同状态变更为已支付,房源状态同步更新为已租出。支付订单界面如图5-7所示。
图5-7 支付订单界面
5.2 房东用户功能实现
5.2.1 网站公告查看功能实现
房东可通过公告模块获取平台运营动态。管理员发布的公告信息在房东端首页集中展示,房东点击标题查看详细内容。该功能保证房东及时了解系统规则变更、活动安排或重要通知。网站公告查看界面如图5-8所示。
图5-8 网站公告查看界面
5.2.2 房屋资讯查看功能实现
房屋资讯模块为房东提供行业参考信息。系统推送租房市场趋势、政策法规更新及房源运营建议等内容。房东按分类浏览资讯列表,点击进入详情页获取完整信息作为经营决策参考。房屋资讯查看界面如图5-9所示。
图5-9 房屋资讯查看界面
5.2.3 房源信息查看功能实现
房源信息查看模块让房东浏览自己已发布的所有房源。系统以表格形式展示房源编号、名称、状态及租金金额,房东可按条件筛选房源列表。点击详情按钮进入单独页面,配套设施与租赁规则完整呈现。房源信息查看界面如图5-10所示。
图5-10 房源信息查看界面
5.2.4 房源信息发布功能实现
房源发布模块承担房东房源信息的录入与提交任务。房东进入发布表单填写房源名称、类型、户型结构、建筑面积、租金金额、详细地址等字段,同时上传房屋图片。表单提交后房源进入待审核状态。房源信息发布界面如图5-11所示。
图5-11 房源信息发布界面
5.3.2 预约看房管理功能实现
预约看房管理模块让房东处理租客的看房请求。系统按预约时间倒序列出待处理记录,每条记录展示租客姓名、联系方式与期望看房时间。房东确认或拒绝请求,拒绝时需填写原因。预约看房管理界面如图5-12所示。
图5-12 预约看房管理界面
5.3.3 租赁申请管理功能实现
租赁申请管理模块承担房东对租客租赁意向的审核任务。房东查看申请列表进入详情页面,审阅租客上传的身份证明图片与申请缘由。审核通过后房源状态自动变更为已预定,拒绝时需填写驳回原因。租赁申请管理界面如图5-13所示。
图5-13 租赁申请管理界面
5.3.4 合同信息管理功能实现
合同信息管理模块让房东在申请审核通过后创建租赁合同。系统自动带入房源基本信息与租客信息,房东填写租赁时长后合计金额自动计算。合同文件上传后保存至服务器,租客端立即可查看。合同信息管理界面如图5-14所示。
图5-14 合同信息管理界面
5.3 管理员用户功能实现
5.3.1 房源信息管理功能实现
房源信息管理模块承担管理员对平台所有房源的审核与维护职责。管理员查看待审核房源列表,审阅房东上传的图片与描述信息。审核通过后房源状态变为已发布,驳回时填写原因反馈给房东。房源信息管理界面如图5-15所示。
图5-15 房源信息管理界面
5.3.2 预约看房管理功能实现
预约看房管理模块让管理员监控平台所有预约记录。管理员查看预约列表并跟踪状态处理进度,出现纠纷时可介入协调。该功能保障预约流程规范运行,维护租客与房东双方权益。预约看房管理界面如图5-16所示。
图5-16 预约看房管理界面
5.3.3 租赁申请管理功能实现
租赁申请管理模块承担管理员对租赁申请的监督职责。管理员查看全部申请记录,监控审核状态分布情况。异常申请或用户投诉场景下,管理员可介入处理并修改申请状态。租赁申请管理界面如图5-17所示。
图5-17 租赁申请管理界面
5.3.4 合同信息管理功能实现
合同信息管理模块让管理员查阅平台所有已签署合同。管理员按房源编号或租客姓名检索合同记录,查看合同内容与支付状态。该功能为租赁数据审计与纠纷处理提供凭证支持。合同信息管理界面如图5-18所示。
图5-18 合同信息管理界面
5.3.5 网站公告管理功能实现
网站公告管理模块承担公告内容的创建与维护任务。管理员进入公告列表页查看已发布公告,点击新增按钮填写标题与正文。公告保存后立即在租客端与房东端首页展示。网站公告管理界面如图5-19所示。
图5-19 网站公告管理界面
5.3.6 房屋资讯管理功能实现
房屋资讯管理模块让管理员发布租赁相关的资讯内容。管理员填写资讯标题、封面图、正文内容并选择所属分类。资讯发布后用户在资讯模块即可查看,管理员可编辑或删除已有资讯。房屋资讯管理界面如图5-20所示。
图5-20 房屋资讯管理界面
第6章 系统测试
6.1 测试目的
本次测试主要是对房屋租赁系统各个功能模块是否满足设计要求、业务需求进行检验。测试从业务逻辑正确性、数据流转准确性、界面交互稳定性这三个方面入手。测试时主要检验房源发布之后租客端能否检索、预约看房之后状态能否同步更新、租赁申请审核通过之后合同能否正常生成等主要业务链路。使用边界值测试的方法来检验注册密码长度限制、租金金额范围校验等输入约束。测试还要对多用户并发环境下房源状态变化的数据一致性进行验证,保证同一个房源不会被重复预约。通过系统的测试来提前发现存在的问题,给系统的上线运行提供质量保证19。
6.2 测试方法
系统测试使用黑盒测试法,把系统看作是不能被观察到内部结构的封闭盒子,测试人员只关心输入数据和输出结果之间是否匹配20。测试用例设计遵照等价类划分和边界值分析准则,用户名字段的有效等价类是5到16位的字符,边界值有4位、5位、16位、17位这四种情况。接口测试阶段用浏览器开发者工具模拟前端发出HTTP请求,检验API返回的状态码以及响应体结构。根据系统使用说明书依次对各个模块的操作进行测试,看预期的输出是否与实际的输出一致。回归测试是在缺陷修复之后,对相关的测试用例重新执行,看看修改后没有引起新的问题。
6.3 功能测试用例
(1)用户注册功能测试过程与结果如表6-1所示。
表6-1 用户注册测试用例表
| 测试用例 | 用户注册测试用例 |
|---|---|
| 测试目的 | 用户输入账号密码能否正常注册系统 |
| 测试设计 | 用户进入注册页面,输入账号和密码,点击注册,测试是否可以成功注册 |
| 预期结果 | 提示注册成功,跳转到登录页面 |
| 实际结果 | 提示注册成功,跳转到登录页面 |
| 测试结论 | 功能实现成功,可以正常使用 |
(2)用户登录功能测试过程与结果如表6-2所示。
表6-2 用户登录测试用例表
| 测试用例 | 用户登录测试用例 |
|---|---|
| 测试目的 | 用户输入账号密码能否正常登录系统 |
| 测试设计 | 用户进入登录页面,输入账号和密码,点击登录,测试是否可以打开系统成功登录 |
| 预期结果 | 提示登录成功,跳转到系统主页 |
| 实际结果 | 提示登录成功,跳转到系统主页 |
| 测试结论 | 功能实现成功,可以正常使用 |
(3)房源发布功能测试过程与结果如表6-3所示。
表6-3 房源发布测试用例表
| 测试用例 | 房源发布测试用例 |
|---|---|
| 测试目的 | 房东登录系统后可以发布房源信息 |
| 测试设计 | 房东登录系统以后,点击发布房源按钮,填写房源信息后提交 |
| 预期结果 | 房源进入待审核状态,提示发布成功 |
| 实际结果 | 房源进入待审核状态,提示发布成功 |
| 测试结论 | 功能实现成功,可以正常使用 |
(4)预约看房功能测试过程与结果如表6-4所示。
表6-4 预约看房测试用例表
| 测试用例 | 预约看房测试用例 |
|---|---|
| 测试目的 | 租客登录系统后可以预约看房 |
| 测试设计 | 租客登录系统以后,选择房源点击预约,填写预约信息后提交 |
| 预期结果 | 生成预约记录,房源状态变更为已预约 |
| 实际结果 | 生成预约记录,房源状态变更为已预约 |
| 测试结论 | 功能实现成功,可以正常使用 |
(5)租赁申请功能测试过程与结果如表6-5所示。
表6-5 租赁申请测试用例表
| 测试用例 | 租赁申请测试用例 |
|---|---|
| 测试目的 | 租客登录系统后可以提交租赁申请 |
| 测试设计 | 租客登录系统以后,进入已预约房源详情页,点击租赁申请并上传材料 |
| 预期结果 | 申请进入待审核状态,房东端可查看申请 |
| 实际结果 | 申请进入待审核状态,房东端可查看申请 |
| 测试结论 | 功能实现成功,可以正常使用 |
(6)合同签署功能测试过程与结果如表6-6所示。
表6-6 合同签署测试用例表
| 测试用例 | 合同签署测试用例 |
|---|---|
| 测试目的 | 房东审核通过后可以填写合同信息 |
| 测试设计 | 房东登录系统以后,进入合同填写页面,输入租赁时长并上传合同文件 |
| 预期结果 | 合同记录保存成功,租客端可查看合同 |
| 实际结果 | 合同记录保存成功,租客端可查看合同 |
| 测试结论 | 功能实现成功,可以正常使用 |
(7)个人中心信息修改功能测试过程与结果如表6-7所示。
表6-7 个人中心测试用例表
| 测试用例 | 个人中心测试用例 |
|---|---|
| 测试目的 | 用户登录系统后可以查阅和修改个人信息 |
| 测试设计 | 用户登录系统以后,点击个人中心,修改个人信息后提交 |
| 预期结果 | 提示修改成功,个人信息更新 |
| 实际结果 | 提示修改成功,个人信息更新 |
| 测试结论 | 功能实现成功,可以正常使用 |
(8)房源检索功能测试过程与结果如表6-8所示。
表6-8 房源检索测试用例表
| 测试用例 | 房源检索测试用例 |
|---|---|
| 测试目的 | 用户登录系统后可以查看和搜索房源 |
| 测试设计 | 用户登录系统以后,在搜索框输入关键词或选择筛选条件 |
| 预期结果 | 显示符合条件的房源列表 |
| 实际结果 | 显示符合条件的房源列表 |
| 测试结论 | 功能实现成功,可以正常使用 |
(9)论坛交流功能测试过程与结果如表6-9所示。
表6-9 论坛交流测试用例表
| 测试用例 | 论坛交流测试用例 |
|---|---|
| 测试目的 | 用户登录系统后可以发布和查看论坛帖子 |
| 测试设计 | 用户登录系统以后,进入论坛模块,点击发布帖子输入标题和内容 |
| 预期结果 | 帖子发布成功,论坛列表显示新帖子 |
| 实际结果 | 帖子发布成功,论坛列表显示新帖子 |
| 测试结论 | 功能实现成功,可以正常使用 |
(10)通知公告功能测试过程与结果如表6-10所示。
表6-10 通知公告测试用例表
| 测试用例 | 通知公告测试用例 |
|---|---|
| 测试目的 | 管理员登录系统后可以查看和编辑通知公告信息 |
| 测试设计 | 管理员登录系统以后,点击公告管理按钮测试是否可以查看和编辑通知公告 |
| 预期结果 | 可以查看和修改通知公告 |
| 实际结果 | 可以查看和修改通知公告 |
| 测试结论 | 功能实现成功,可以正常使用 |
(11)密码修改功能测试过程与结果如表6-11所示。
表6-11 修改密码测试用例表
| 测试用例 | 修改密码测试用例 |
|---|---|
| 测试目的 | 用户或管理员登录系统后可以修改密码 |
| 测试设计 | 用户或管理员登录系统以后,进入修改密码页面,输入旧密码和新密码 |
| 预期结果 | 提示修改成功,下次登录需使用新密码 |
| 实际结果 | 提示修改成功,下次登录需使用新密码 |
| 测试结论 | 功能实现成功,可以正常使用 |
(12)用户管理功能测试过程与结果如表6-12所示。
表6-12 编辑用户测试用例表
| 测试用例 | 编辑用户测试用例 |
|---|---|
| 测试目的 | 管理员进入系统之后可以修改用户的信息 |
| 测试设计 | 管理员登录系统以后,进入用户管理页面,修改用户信息后提交 |
| 预期结果 | 提示修改成功,用户信息更新 |
| 实际结果 | 提示修改成功,用户信息更新 |
| 测试结论 | 功能实现成功,可以正常使用 |
(13)用户删除功能测试过程与结果如表6-13所示。
表6-13 删除用户测试用例表
| 测试用例 | 删除用户测试用例 |
|---|---|
| 测试目的 | 管理员登录系统后可以删除用户 |
| 测试设计 | 管理员登录系统以后,进入用户管理页面,选择用户点击删除 |
| 预期结果 | 提示删除成功,用户从列表中移除 |
| 实际结果 | 提示删除成功,用户从列表中移除 |
| 测试结论 | 功能实现成功,可以正常使用 |
6.4 测试结论
系统经过功能测试和接口测试之后,所有的测试用例都通过了验证。用户注册登录模块可以正确处理正常的和异常的输入,边界值校验机制有效地防止非法的数据被输入。房源发布模块的审核流程可以运行正常,房东提交房源之后管理员审核操作会同步更新房源可见状态。预约看房模块的状态流转和事务一致性表现较好,无房源状态错误更新现象。租赁申请审核、合同签署链路完整,数据在各个模块间传递准确无误。系统整体运行稳定,可以满足租赁业务的基本需求,具备上线运行条件。
👇精彩专栏 推荐订阅👇
精选100个热门Java毕业设计项目|适配2026‑2027届选题参考✅
精选100个热门Python毕业设计项目|适配2026‑2027届选题参考✅
精选100个热门微信小程序/安卓APP毕业设计项目|适配2026‑2027届选题参考✅
✅获取源码请私信✅
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以找我咨询,希望帮助更多的人❤️