基于JSP的房屋出租管理系统设计与实现

Gappsong

发布日期: 2019-05-13 22:34:19 浏览量: 477
评分:
star star star star star star star star star star_border
*转载请注明来自write-bug.com

摘 要

本文研究并实现了房屋出租管理系统。主要用运了servlet技术、java 技术、jsp网页编程技术、jQuery EasyUI界面美化插件、MySQL数据库技术、Redis数据缓存等技术实现了一个便利、安全、可靠的房屋出租管理平台。在该系统平台上招租者和求租者可以进行信息交流;招租者可以发布房源信息,求租者可以查看房源信息并联系招租者进行房屋租赁。该系统作为人们生活中住房问题的信息承载体,解决了招租者招租难的问题,求租者求租困难的问题,极大的方便了人们的生活。

关键词: 管理系统;房屋出租;B/S结构;jQuery EasyUI;java

Abstract

This paper studies and implements the housing rental management system. It mainly uses servelet technology, Java technology, JSP Web programming technology, MySQL database technology, Redis data cache and other technologies to achieve a convenient, safe and reliable rental management platform for housing. The leaseholder and the tenant can exchange information on the system platform; the tenant can publish the information of the house information, and the tenant can check the information of the house sources and contact the tenant for the rental of the house. As the information carrier of the housing problem in people’s life, the system has solved the problem of the renter’s difficult tenancy, and the problem of asking the tenants to seek the difficulty of the rent, which greatly facilitates the people’s life.

Key words:leaseholder ; Rental housing ;B/S structure; jQuery EasyUI ;Java

第一章 绪论

1.1 论文背景

随着科技的发展、GDP的增长、居民生活水平的提高,越来越多的人口到大城市去奋斗发展,力求改变自己贫穷与落后的现状;他们中有的人有文化,有的人只识字,也许有的人什么都不懂,因为他们想着通过自己的劳动力可以赚取一定的工资。然而进了大城市首先解决的就是自己的住所问题,有了住的地方才能安心的工作。找房子就成了一个很大的难题!到底该如何找?找房子该相信谁?成了他们的困扰。尽管市场上有很多的房屋中介公司,但房屋中介公司一般除了房租费还得收取一定的中介费,这就给一般的求租者带了难题。

到目前为止,国内外租房网站不外乎两种,一种是基于B/S结构的web端租房网站,另一种则是基于手机端的租房APP。不同的方式有不同的优点,而我选择了基于B/S结构的web端租房网站系统。

与发达国家相比,城镇居民人均住房面积与住房自有率并不低。然而,房地产市场发展的不全面和城市住房保障政策不完善以及数量不断增长的城市新移民群体——进城人口。这些都刺激着房屋租赁市场的发展。

2014年中国外出就业农民工已达到16 821万人,进程人口为城市经济增长和劳动力市场发育做出了巨大的贡献,但在城市的居住条件却狭窄而简陋,住房问题已成为进城务工人员在城市就业、生活与举家迁移的最大障碍。“体面的住房不仅有利于改善农民工的健康生活状况,心理上得到安慰;也便利子女在自己家里学习,也能解放女性的时间,有助于他们参与劳动力市场,提高生活水平效率,更重要的是,住房状况影响自尊心和自卑感。同时,住房也是最重要的有形资产,如果进程务工人员拥有城市住房,将大大提高其财富水平”。在就业地获得宜居的住房,对提高务工人员及其家庭的幸福生活水平,实现包容性、可持续性的城市化,具有至关重要的意义。

务工人员住房存在多种供给类型,虽然以非正式住房为主。用工单位是务工人员住房的重要供给主体。根据国家统计局统计,2014年仅有1%的外出农民工在务工地有自购房;即使按国务院发展研究中心与世界银行较高的估计,农民工在城市拥有自有住房的比例也仅为10%。

农民工收入低,就业流动性大,积蓄有限,子女教育、医疗等方面支出更为紧迫,对城市商品房的购买力相对有限。另一方面,房屋招租者他们有房源却无租客,只能通过房屋中介公司去招纳求租者,房屋中介公司又收取了招租者的钱,这样一来,房屋招租者只能通过提高房价来弥补自己的那一部分损失,只能苦了求租者。房地产也是迅速发展的。房屋出租管理系统应运而生既解决了招租者的难题也为求租者提供了便利。

介于这种求组难、招租难、房源管理难的问题,显然传统的处理方法与解决手段已经不能适应社会的发展和需要,信息的重要性和处理问题的窘迫性已经空前提高了,面对日益复杂、不断发展和变化着的社会大环境,尤其是是企业之间的日趋激烈的竞争形势,一个想要努力向前发展进步的人或者企业,必须具备足够的基础信息和强有力的信息整合能力与信息处理的手段。

房屋出租管理不仅仅是一件很琐碎、重要的事,而且又是十分细致、保密的工作。发布房源统计,房屋出租统计,用户信息统计,房源的基本信息管理等都不允许有一点的差池。使用计算机信息技术来管理、记录房屋出租信息的工作,极大的提高了求、出租方的效率。而且使用计算机来管理求租、出租更加的适应现代企业制度和现代信息技术发展、人民生活水平等的要求,推动企业劳动型管理走向科学化、规范化,提高居民的生活水平。最主要的一点就是,使用计算机检索迅速、可靠性高、查找方便、存储量大、保密性极度的高、数据不易丢失且成本较低。这许多的好处都能够提高物业管理的效率,也是企业实行科学化,正规化,智能化管理的推动力。

1.2 研究目的

通过努力的研究,实现招租者和求租者的交易在网络上进行规范的交易。招租者发布房源后,求租者查看浏览房源信息。根据实际需求和自身需要求组房源。其次就是想要为社会工人阶级的人士多一点关心、多一点爱。毕竟他们为社会做出了很大的贡献。想通过此项目对大学4年以来的努力耕耘给一个交代,做一个证明。

内容主要就是招租者发布自己的房源信息,求租者登录平台后,看到房源信息后可以根据联系方式联系房主求租,房主可以和求租者就行消息交流,让求租者更详细的了解房源的信息;求租者租房后可以根据自己的求租经验和经历以及房主的人品和招租态度对房主进行系统评价,评价会对房主以及房源产生一定的负面影响,通过此评价,后来用户可以酌情对房源进行筛选,达到一种前车之鉴的效果,对维护用户的利益有一定的作用。

1.3 研究意义

随着人们生活水平的提高和科技的发展进步,人们希望通过更简洁更便利的方式去处理问题,市场的需求。本论文以理论分析和可行性分析为出发点,结合国内房屋出租行业的发展情况以及求租者对房源的需求程度和广度,对国内住房租赁市场进行考究和需求分析。在这个研究的基础上,进行了完整详细的系统功能设计和数据库表字段结构设计,开发出了一套包括用户体验端和后台管理端两个端口九个模块的房屋出租管理系统。详细的建立了一个房屋招租、求租信息管理的系统。该系统作为人们生活中住房问题的信息承载体,通过该系统来管理房屋出租情况和求租用户信息,可以解决大量房源信息的查询和管理工作上存在的一些细节问题。既方便了招租者对房源的管理,也为求租者提供了有效的房源新消息。

1.4 研究方法及思路

1.4.1 研究方法

  • 研究方法采用面向对象的设计开发方法进行系统的分析与实施,把系统各个独立运行的模块分别开发,使得模块内与模块间高度向高内聚低耦合靠近

  • 各模块采用服务器集群部署,使得模块之间既可以协同运行,同时也能单独运行,降低整个系统的运行风险

  • 其次采用了前后端分离的技术思想。前后端分离即前端只实现整一个前端页面以及交互逻辑,以及利用ajax与nodejs服务器(中间层)交互;后端提供API接口,利用redis来管理session,与数据库交互,文件服务器fdfs来上传文件或者图片。Redis和fdfs安装在虚拟机VWware14 Centos Linux系统中。通过桥接的方式ping通本地系统和虚拟机Linux系统传输文件数据。最后将服务发布于linux系统中

1.4.2 设计思路

本文的开发主要是基于web端数据库来实现,设计首先分析用户身份认证方面的问题,结合自身对房屋出租行业的经历与认识和研究情况来写出需求分析设计;其次,结合自身的学术技能,选择自己擅长的开发语言和开发工具以及数据库进行此论文的开发;在设计中以需求分析文和系统设计原型图为基础,写出系统、全面的开发计划、实现流程及相关功能的实现方法;与此同时,在开发设计与实现中,选择适当要保存的相关设计文档,为完善以后的系统、修改个别功能模块、更新升级做准备材料。最后,系统开发完成后,进行系统调试和系统测试,做好系统调试和系统测试运行的测试用例的相关记录,为进一步提升系统性能做好准备。论文的主要设计思路如下:

  • 首先对国内的房屋租赁市场情况进行研究和分析,结合国内的成功及失败的案例,做出适合于国内现状,符合国内租房情况的房屋出租管理系统的构建思路

  • 熟悉java servelet框架技术的发展情况,选择简单易用的数据库进行后台设计

  • 对本论文构建的结构体系模型的原理和优势进行可行性分析

  • 学习模块化软件的结构设计的思想和方法,完成房屋出租管理系统的整体结构设计和功能模块设计

1.5 论文结构

  • 第一章绪论,描述了房屋出租管理系统在当前的发展状况以及发展需求推动了房屋出租管理的开发,表达了研究的目的及意义

  • 第二章需求分析,主要从需求目标、可行性分析到系统技术需求分析分析系统需求,再通过系统划分和性能需求分析系统的需求状况

  • 第三章概要设计与详细设计,从系统总体模块划分到系统的功能层次,再详细叙述全文核心的算法思想详细阐述本系统,最后通过系统用例图和数据库表详细描述系统。

  • 第四章系统实现,从系统的环境的搭建、文件服务器的搭建到软件接口实际实现和系统截图来描述系统的实现情况

  • 第五章系统测试与调试,从不同角度、不同场景测试软件的情况,一方面测试软件的基础功能、性能,另一方面测试软件的易拓展功能的实现

  • 第六章结论与展望,总结了系统开发过程中的问题以及开发心得和经验,对未来软件维护升级改造进行简要描述

1.6 本章小结

本章主要详细的描述了软件的的设计背景、设计目的、研究意义、设计思路及方法。细致的描述了软件设计起因和实现方法。  

第二章 需求分析

2.1 需求概述

本系统目的主要是完成一个房屋招租者和房屋求租者可以共享需求的平台,招租者可以注册登录后发布自己的房源信息于该平台上。招租者发布房源信息需要通过文件服务器NGINX和Redis缓存服务器来存储数据。求租者可以查看浏览房源信息,并发布自己的求租信息于本系统上。用户可以对房主的房源信息和房主本人进行打分评价、用户可以收藏房源信息、查看其它用户的评价记录。用户也可以连接推送发放员信息给自己的qq、微信好友,达到共享的目的。

在本系统中用户和房主可以通过“消息”功能模块进行互动交流,让用户和房主更方便的交谈房源信息详情。

2.2 功能需求

根据软件的基本需求,将房屋出租管理系统功能划分为个人中心管理、房源信息发布、用户收藏房源信息、查看浏览房源信息、用户评价房源及房主、消息交流讨论、房源信息分享、登录注册、后台管理等九个模块。各功能框架图如图2.1所示。

2.2.1 登录注册

注册时使用用户名、用户密码、确认用户密码、验证码进行注册。用户名是由6~18位的中文、大小写拼音字母,数字组成的字符串。用户密码是由大小写英文字母和数字0~9组成的8~18位的字符串。验证码是由大小写英文字母和数字0~9随机组成的4位字符串。注册完成后直接登录成功。登录注册用例如图2.2所示。

2.2.2 发布房源信息

用户登录成功后,点击“招租信息”,弹出发布房源信息页面,填写完整要发布的房源信息后上传房源图片,点击发布,发布成功会在数据库中记录一条发布成功的房源信息。其用例图如图2.3所示。

2.2.3 查看浏览房源信息

用户登录成功后,点击“招租信息”可以查看浏览房源的信息。非发布房源信息的用户只能查看房源信息不能修改删除房源信息。其用例图如图2.4所示。

2.2.4 用户收藏房源信息

用户登录成功后,点击“招租信息”模块,点击页面上的“收藏按钮”,房源信息会收藏到个人中心管理里面“我的收藏”中。收藏的房源信息,用户可以删除掉。其用例图如图2.5所示。

2.2.5 用户查看招租信息

用户登录成功进入系统后,可以点击“招租信息”按钮查看用户发布的招租信息。登录用户既可以查看自己发布的招租信息,也可以查看其它用户发布的招租信息。并且对招租信息可以进行增加、删除、修改的功能。其用例图如图2.6所示。

2.2.6 用户查看求租信息

用户登录成功进入系统后,可以点击“求租信息”按钮查看用户发布的招租信息。登录用户既可以查看自己发布的求租信息,也可以查看其它用户发布的求租信息。并且对求租信息可以进行增加、删除、修改的功能。其用例图如图2.7所示。

2.2.7 个人中心管理

用户登录平台后,可以对自己的用户信息、房源信息、房源记录,联系人记录进行增删改查的功能实现。其用例图如图2.8所示。

2.2.8 后台管理

后台管理主要是用户信息管理、房源信息管理、用户收藏房源管理、后台首页、管理员注销等5个功能。管理员可以查看用户信息、房主信息、房源信息,并且可以删除,增加,修改用户、房主、房源信息。其用例图如图2.9所示。

2.3 开发环境

在开发房屋出租管理系统时,需要具备以下环境:

  • 操作系统:win7、win8

  • 集成开发环境:MyEclipse14

  • 后台数据库服务:MySQL5.7

  • 服务器:Tomcat6.0,Tomcat7.0

  • Redis缓存服务器:redis-4.0.8

2.4 相关技术

本系统采用的技术有:

前台页面主要使用jsp语言编程技术,jsp是一种特别的java语言,它加入了一个特殊的引擎,这个引擎将HTTPServlet泽这个类的一些对象自动进行初始化,让用户去使用,让用户不再操心前面的工作。这个引擎可以看作是一个jsp到java Servlet的生成器或是翻译器。

后台功能的实现使用java语言进行编程,java是一门面向对象的语言,它不仅吸收了C++语言的优点,还摒弃了C++里难以理解的多继承、指针等概念;java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,不仅实现了面向对象理论,还允许程序员以优雅的思维方式进行复杂的编程。

使用EasyUI对代码进行美化和简洁,jQuery EasyUI是一组基于jQuery的UI插件,jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂大JavaScript,也不需要对css样式有深入的了解,开发者只需要了解一些简单的HTML标签。数据库服务器采用MySQL5.7 ,MySQL数据库是一个开放的、快速的、多线程的、多用户的sql数据库服务器;它体积小、速度快、总体拥有成本低,而且是开源的,这一特点让MySQL数据库服务器成了大多数人的选择。

数据库界面显示使用Navicat for MySQL 11.0,Navicat for MySQL是一款强大的MySQL数据库服务器的管理工具和开发工具,它使用了极好的图形用户界面,可以用一种安全和更容易的方式快速和容易地创建、组织、存取和信息共享。

2.5 本章小结

本章主要详细的描述了软件的需求情况,从软件可行性、功能需求到软件实现所需要的基本技术,再细致分析软件功能方面的需求,同时也分析了软件性能需求和开发环境上的需求。 

第三章 系统概要设计

系统的概要设计目标是使系统实现所要求的全部功能。本系统是基于B/S框架的web端系统。主要功能就是招租者发布房源信息于该系统上,求租者可以查看浏览房源信息后联系房主,咨询房源房源情况;求租者可以收藏房源,对房源及房主进行评价;招租者可以查看自己发布的房源记录,也可以查看浏览过房源的用户的记录。这些功能都是由各个模块之间协作而产生的。

3.1 系统总体设计

本系统设计总体上分为前台设计和后台设计。前台设计主要指针对用户操作功能,后台设计主要是针对管理员操作。前台主要操作功能流程为:用户注册登录、发布房源信息、查看新闻公告、查看招/求租信息、个人中心管理修改个人信息、修改/删除房源信息、收藏房源信息;后台主要操作功能流程为:管理员登录、用户信息管理、房源信息管理、房源收藏信息管理、首页展示、管理员注销。以下为本系统的模块划分和业务处理流程说明。

模块划分:本系统将房屋出租管理的模块功能划分为个人中心管理、招租信息、求租信息、新闻公告、注册、登录、注销、后台管理等几大模块。主要的功能就是招租者注册登录后发布房源信息,用户注册登录后浏览查看房源信息。用户登后可以查看新闻公告,通过查看新闻公告,了解求租房的一些常识,有助于提高用户对于租房的安全意识。后台管理员可以删除招租者信息和用户信息,以及房源信息。房主可以在个人中心管理里面查看房源记录,修改、删除房源信息。用户在个人中心管理模块,查看、修改、删除自己的求租信息。求租过房的用户可以对房主及房源给出文字评价和打分评价。

业务处理流程:房屋出租管理的流程是首次进入系统用户或者招租者只能查看新闻公告,停留在新闻公告页面。用户注册后登陆成功才可以查看房源信息以及发布自己的招租信息。招租者跟用户的功能有点儿类似,先注册登陆进去才可以有相关功能模块的权限,招租者登陆成功后可以发布房源,查看房源的浏览记录。管理员后台对招租者信息、用户信息、和房源信息进行管理,增删改查的功能。模块功能流程图如图3.1所示。

3.2 房屋出租管理平台建模分析

房屋出租管理平台建模分析主要基于房屋信息线下查看途径不便利、信息更新不及时。主要是针对房屋住房租赁的行为信息成本产生机制,找到房东、租户交易行为计算表达式。

房源信息和价格的不对称导致房屋出租管理平台公开发、规范化成为可能。房源信息的不规范、更新不及时增加了租房者的时间成本,而线下价格的不对称和不透明导致房屋出租管理平台建设势在必行。

住房租赁市场信息成本的测算方法,是依赖房屋租赁双方市场交易成本为原理;房屋交易双方交流信息不知道彼此期望的价格;最后的成交金额与双方彼此期望的价格之间的差异根本来源是信息交换的不及时、不准确,根据这个可以推导出租赁双方成本信息的测算的方法。

具体的测算方法如下:

  • 租赁双方决策出发点是根据为追求彼此最大利益,甲方希望用最少的价格租到最合适的房屋,乙方则希望租金和租期最大化

  • 信息的不公开、不及时导致双方预期和现实差异悬虚会改变双方的房源单价

  • 租赁成交前,租赁双方利益追求的矛盾导致彼此追求最大的利益,导致房屋公开价格和实际价格有所差异

假设出租方对建筑属性为D的出租房源的期望租金记为Ql;求租方对建筑属性为D的出租房源的期望租金记为Qt,分析可知最终的实际交易价格Qm通常都介于Q1和Qt之间。

租赁的双方对房源信息是有偿的。信息的不对称和信息不透明产生的费用会体现在房屋的价格上面,租赁的双方预期的价格和实际房屋租赁价格的绝对值就在其中。出租方对建筑属性为D的房源出租者,将租赁房源的实体成本信息计为Ql,租赁房屋的发布者信息成本计为Qm。则有:

  • 出租方的成本信息就等于出租房源的期望租金减去最终的实际价格(SX1=Ql-Qm)

  • 承租方的信息成本就等于实际交易价格减去出租房源的期望租金(SXt=Qm-Qt)而期望租金的多少介于实际交易价格与出租方的期望交易租金之间(Qt<=Qm<=Ql)

承担方如果以Qt价格租房子,那么出租方要损失|Qt-Q1|的差价,信息传递以后出租方可以少损失Qm-Qt。这表明了信息传递可以降低市场的信息不对称程度。

在住房租赁市场,出租方的房源信息和求租方的求租信息如果能够通过一个平台快速有效的传递交流,使得交易双方信息的传递过程中,快速地找到自己相匹配的交易对象。这样才能减小不必要的信息成本,降低交易价格。

本系统的目的旨在建立租赁彼此的信息成本的支出减少。出租者通过平台发布租房的具体信息可以减少中介的成本和信息维护的成本,不仅如此平台发布租赁信息可以将信息公开化解决了租赁双方沟通不透明的问题使得信息更加对称。求租方通过平台查看房源信息将更加方便,解决了空间和时间的成本将会有更多的市场选择性,从而使交易成本大大缩小,租金的实际价格将和实际的价格更加接近,是租赁双方信息不对称大大缩小,使租金不合理得到有效抑制。

3.3 数据库设计

3.3.1 数据库设计类图

PROVIDER_INFOEntity是房主实体,登录房屋出租管理平台,可以记录多个房源信息RENTAL_HOUSE_RECORDEntity,通过发布房源信息RENTAL_HOUSE_BASEEntity可以添加房源记录,将该记录保存起来。

User_infoEntity是用户实体,登录房屋出租管理平台,可以添加收藏房源RENTAL_EVALUATIONEntity,可以对房源进行评价RENTAL_EVALUATIONEntity并将记录保存到数据库表中。数据库设计类图如图3.2所示。

3.3.2 数据库设计实体图

用户信息实体图,包括用户名、用户ID、用密码、用户联系方式。用户实体图如图3.3所示。

房主信息实体图,包括房主名称、房主ID、房主登录密码、房主联系方式、房源收藏ID、用户房源评价ID。房主实体图如图3.4所示。

房源信息记录实体,包括房源名称、房源编码、房源ID、房主名称、房源发布时间、房源更新时间、房主联系方式。房源信息记录实体图如图3.5所示。

房源发布信息实体图,包括房源名称、房源编码、房源所属省份、房源详细地址、小区名、楼栋号码、房源类型、房主联系方式、房源面积大小、房源价格、房源居室、房源描述等。房源发布信息实体图如图3.6所示。

房源评价实体图,包括房源评价ID、房源编码、星级评价、评价描述、是否匿名、创建人ID、创建日期、最后更新人ID、最后更新日期、删除标识。房源评价实体图如图3.7所示。

房源收藏信息记录实体图,包括收藏ID、房源ID、收藏者、房主、房源收藏时间、收藏者联系方式、房主联系方式。房源收藏信息记录实体图如图3.8所示。

3.3.3 数据库表设计

本次设计要用到的数据库表设计分别如下:

用户信息表(USER_INFO)主要是存储注册用户的基本信息,以便登录时匹配数据库登录成功;主要字段设计如表3.1所示。

字段 字段类型 主、外键 是否为为空 备注说明
USER_NAME VARCHAR(64) 主键 用户名
USER_ID VARCHAR(32) 外键 用户ID
USER_PASSWARD VARCHAR(64) 用户密码
USER_PHONE VARCHAR(100) 用户联系方式

房主信息表(PROVIDER_INFO)主要用来存储房主的基本信息,房主再次登录时无需注册,输入用户名、密码登录即可;主要字段设计如表3.2所示。

字段 字段类型 主、外键 是否为空 备注说明
PROVIDER VARCHAR2(32) 主键 房主名
PROVIDER_ID VARCHAR2(32) 外键 房主ID
PROVIDER_PASSWARD VARCHAR2(32) 房主密码
PROVIDER_PHONE VARCHAR2(100) 房主联系方式
HOUSE_BASE_CODE VARCHAR(32) 房源收藏编码
USER_EVALUAE_ID VARCHAR(32) 用户房源评价id

房源记录信息表(RENTAL_HOUSE_RECORD)主要用来记录房源记录的基本信息,如“张三”查看过此房源,此房源发布人是谁、联系方式等;主要字段设计如表3.3所示。

子段 字段类型 主、外键 是否为空 备注说明
HOUSE_NAME VARCHAR(32) 主键 房屋名称
HOUSE_BASE_CODE VARCHAR(32) 房屋编码
HOUSE_BASE_ID VARCHAR(32) 房屋ID
PROVIDER VARCHAR(32) 房主名称
HOUSE_FABU_TIMEE VARCHAR(64) 房源发布时间
HOUSE_UPDATE_TIME VARCHAR(64) 房源更新时间
PROVIDER_PHONE VARCHAR(100) 房主联系方式

房源发布信息表(RENTAL_HOUSE_BASE)即房源详细的基本信息,记录房源详细而全面的信息;主要字段设计如表3.4所示。

字段 字段类型 主、外键 是否为空 备注说明
HOUSE_BASE_ID VARCHAR(32) 主键 房源名称
HOUSE_BASE_CODE VARCHAR(32) 外键 房屋编码
HOUSE_PROVINCE VARCHAR(100) 房屋所属省份
HOUSE_ADDR VARCHAR(1000) 房屋详细地址
VILLAGE_NAME VARCHAR(200) 小区名
BUILDING_NUM VARCHAR(100) 楼栋号码
BUILDING_UNIT VARCHAR(100) 楼栋单元
HOUING_TYPE VARCHAR(100) 房源类型
DOOR_MODEL VARCHAR(200) 户型
BUILDING_AREA FLOAT(100,2) 房屋面积
FLOOR INT 房屋楼层
IS_APPLIANCES_COMPLETE CHAR(2) 家电是否齐全:Y是,N否
IS_TOWARD_SUN CHAR(2) 是否朝阳:Y是,N否
RENTAL_PRICE FLOAT(10,2) 房源出租价格
LESSOR VARCHAR(200) 出租人
LESSOR_PHONE VARCHAR(100) 出租人联系方式
CREATE_BY VARCHAR2(32) 创建人id
CREATED_DATE DATE 创建日期
LAST_UPDATE_BY VARCHAR2(32) 最后更新人id
LAST_UPDATED_DATE DATE 最后更新日期
DELETE_FALG CHAR(4) 删除标识

房屋评价表(RENTAL_EVALUATION)主要记录的是用户对房源及房主评价的相关信息;该表最主要的字段设计如表3.5所示。

字段 字段类型 主、外键 是否为空 备注说明
EVALUATION_ID VARCHAR(32) 主键 房屋评价id
HOUSE_BASE_CODE VARCHAR(32) 外键 房屋编码
PRAISE VARCHAR(20) 星级评价
EVALUATION_DESC VARCHAR(2000) 评价描述
IS_ANONYMOUS CHAR(2) 是否匿名
CREATE_BY VARCHAR2(32) 创建人id
CREATED_DATE DATE 创建日期
LAST_UPDATE_BY VARCHAR2(32) 最后更新人id
LAST_UPDATED_DATE DATE 最后更新日期

房源收藏信息表(house_collect)主要记录的是用户收藏的房源信息记录;该表主要的字段设计如表3.6所示。

子段 字段类型 主、外键 是否为空 备注说明
COLLECT_ID VARCHAR(32) 主键 收藏ID
HOUSE_ID VARCHAR(32) 房源ID
COLLECT_USER VARCHAR(32) 收藏者
PROVIDER VARCHAR(32) 房主
COLLECT_DATE VARCHAR(64) 房源收藏时间
COLLECT_PHONE VARCHAR(64) 收藏者联系方式
PROVIDER_PHONE VARCHAR(100) 房主联系方式

新闻公告信息表(gonggao)主要记录的是新闻公告的信息记录;该表主要的字段设计如表3.7所示。

字段 字段类型 主、外键 是否为空 备注
SHIJIAN VARCHAR(32) 时间
CONTENT VARCAHR(32) 内容
TITLE VARCAHR(32) 主键 标题
ID VARCAHR(32) 外键 公告ID

3.4 本章小结

本章主要详细的描述了系统的概要设计,从系统的总体设计、平台数据建模分析、数据库结构的设计以及数据库表、字段的分析研究对系统进行细致的阐述。 

第四章 系统详细设计

4.1 系统总体详细设计

前台功能详细设计主要包括:用户登录注册详细设计、房源信息发布模块功能设计、个人中心管理模块功能设计、用户信息模块功能设计、房主信息模块功能设计、求租信息模块功能设计、房源收藏功能设计、房源分享功能设计、信息交流功能设计等九个模块功能设计。根据数据流程分析,房屋出租管理系统的全局E-R图设计如图3.2所示。

4.2 系统主要功能模块类图设计

房源发布模块类图设计:房源发布模块在house中调用houseDao中的find()、findById()、del()、js()和AddHouse类中insert()、update()、delById()、getList()方法。接着调用getList()方法,该方法主要通过登录名查找数据库house表中的数据,并将查询结果保存在ArrayList<house>的list对象中,接着find()的返回值在Structs.xml配置找到房源发布信息页面。房源发布设计类图如图4.2所示。

个人中心管理模块类图设计:个人信息查看的实现用到了modifyuser、userDao类,方法有modifyuser类的find()、findById()、update()、delete()、js(),userDao类的getList()、updateById()、save()、update()、querybyId()方法、delete()方法。其设计用例如图4.3 所示。

房源信息管理模块类图设计:该模块的实现用到houseAction、houseDao类,方法主要houseAction类的find()、findById()、update()、delete()、js()方法和houseDao 类的getList ()、listById()、save()、update()、queryById()方法。其设计类图如图4.4所示。

用户信息管理模块类图设计:该功能的实现用到UserAction、UserDao 类,方法主要有UserAction 类的findUser()、mdfUserById()、delUserById(),UserDao 类的getUserList()、updateById()、delUser()方法。用户信息管理设计类图如图4.5所示。

管理员信息管理模块类图设计:实现主要用到AdminAction 类和AdminDao 类,方法有AdminAction 类下的login()、update()、insert()、save()、querybyId()和AdminDao 下的update()、save()、getById()、queryById()方法。其设计类图如图4.6所示。

新闻公告模块类图设计:该模块的实现主要用到GonggaoAction 类和GonggaoBean 类,方法GonggaoAction 类下的insert()、delete()、modify()、find ()方法和AdminDao 下的insert()、delete()、modify()、find ()方法。其设计类图如图4.7所示。

4.3 系统主要功能模块时序图设计

用户登录注册模块设计:用户信息模块包括普通用户和房主。用户通过发布招租信息升级为房主。用户可以修改自己的基本信息、可以取消删除收藏的房源信息,可以查看评价记录信息,,用户可以查看浏览房源信息系等。用户租过某房主的房子,租完后可以根据房主的态度以及房源的情况、卫生服务方面等对房源做出评价以及给房源打分评价。便于其他用户浏览房源时参考,有利于维护租房者一方的利益。其设计时序图如图4.8所示。

求租、招租信息模块设计:用户登陆成功后,在系统平台中可以新增、查看自己的求租信息、招租信息。用户可以点击发布房源模块,根据自己的具体的情况发布招租、求租的房源信息,并留下自己的相关联系方式,便于其它用户联系自己。求租信息模块设计跟招租信息模块相似。招/求租信息时序图如图4.9所示。

房源收藏设计:用户登陆成功后,在“招租信息”中可以收藏房源信息,将房源信息收藏至个人中心管理。可方便用户随时去查看浏览房源信息。房源的收藏功能主要在招租信息模块功能里面,点击“收藏”按钮,可将要收藏的房源信息收藏到个人中心管理里面。收藏设计模块的时序图设计如图4.10所示。

用户房源评价设计:用户登陆成功后,可以对自己收藏的房源、自己租过的房源或者自己发布的房源信息列表里面对房源做出一些简单的评价,这样更利于用户对房源信息的了解。用户房源评价设计时序图如图4.11所示。

新闻公告设计:用户登录成功进入平台后可以查看平台的新闻公告,新闻公告是一些关于招租,求租方面的合同以及双方互利的好处和一些必要的建议。新闻公告模块时序图设计时序图如图4.12所示。

个人中心管理模块设计:用户登录成功后,点击“个人中心管理”,可以在个人中心管理里面对自己的个人信息和自己发布的招/求租房源信息进行修改。可以对个人信息进行用户名、密码修改;对房源信息进行删除、修改操作。个人中心管理设计时序图如图4.13所示。

4.4 本章小结

本章从详细设计出发,描述了系统的详细功能模块的一系列设计,然后又从后台详细设计的角度出发,描述了系统详细的功能层次。  

第五章 系统实现

5.1 系统前台功能实现

前台功能的实现主要包括:登录注册模块功能实现、房源信息发布模块功能实现、新闻公告模块功能实现、查看房源信息模块功能实现、查看用户信息模块功能实现、个人中心管理模块功能实现、房源收藏模块功能实现等。

5.1.1 登录注册模块功能实现

招租者在查看、收藏、评价房源信息时,必须要进行两种操作:注册和登录。

注册的实现主要用到useraction类、userDao类和register()、insert()、isExist()方法。首先用户或管理员在form表单中输入用户名、密码、点击‘注册’按钮后,通过form表单的action向web控制器发出注册请求,web控制器拦截该请求后,通过structs.xml配置文件找到对应useraction类下的register()方法,register()方法先获取注册注册表单输入的信息,然后去调用userDao类中的isExist()方法。

userDao类中的isExist()方法会根据输入的用户名在数据表user表或者provider表进行查询判断输入的招租者或者求租者是否存在,如果存在就会发出弹窗信息提示,让招租者/求租者输入用户名和密码;如果输入的用户名不存在,则会通过insert()方法将数据插入到数据库中。然后web控制器根据register()方法返回值,通过Structs.Xml配置返回到登录页面。

登录功能的实现主要用到useraction类下的login()和userDao()方法。登录也是要通过form表单向web控制器发出登录请求,web拦截器拦截该请求后,通过Structs.xml配置找到useraction类下的login()方法。Login()方法会获取登录表单提交的用户输入信息,然后调用userDao类下login()方法。userDao类下login()方法会查找数据库中的用户(user)表和房主(provider)表中的用户名和密码和登录记录表单提交的内容相比较,如果比较结果一致,userDao的login()方法会返回一个数值1;如果比较结果不一致,userDao的login()方法会返回一个数值0。然后userAction类下的login()方法会根据userDao类的login()返回的值判断用户是否登录成功。“1”代表用户登录成功,“0”代表用户登录失败。其中注册页面的实现结果如图5.1所示。

5.1.2 新闻公告模块功能实现

新闻公告主要用到的是form表单和title标题以及文本信息。文本信息直接是写在jsp页面里边。逻辑如图5.2所示。

5.1.3 发布房源信息模块功能实现

招租发布房源信息的功能主要包括,招租者发布房源信息,上传房源图片,删除房源信息,修改房源信息,更新房源信息。

房源信息的查看实现主要用到houseDao类中的find()、findById()、del()、js()和AddHouse类中insert()、update()、delById()、getList()方法。当登录的求租者点击“招租信息”按钮时,web控制器拦截到招租者的操作请求,通过Structs.xml配置找到find()方法,find()方法会获取登录时保存在session中的provider登录名,接着调用getList()方法,该方法主要通过登录名查找数据库house表中的数据,并将查询结果保存在ArrayList<house>的list对象中,接着find()的返回值在Structs.xml配置找到招租信息页面。

房源信息删除实现过程。当用户点击 “删除按钮”时,该超链接发出删除请求。Web控制器拦截删除请求,通过Structs.xml配置找到del()方法,该方法获取要删除的房源ID,然后调用delHouse类中的findById()根据房源ID的编号删除数据库库house表中对应的数据,然后再调用find()跳转到招租信息页面。

上传房源图片的实现过程。发布房源信息填写完毕后,点击上传房源图片,跳转到上传房源图片的弹窗页面。在该过程中web控制器拦截该服务请求,通过Structs.xml配置找到js()方法,js()方法先调用findById()查找房源图片,然后调用insert()将对应的查找数据插入到house表中,然后再调用delById()根据房源编号添加到house表中。发布房源信息页面的实现如图5.3所示。

5.1.4 查看房源信息模块功能实现

求租查看房源信息的功能包括,房源信息查看浏览、求租信息发布、修改、收藏房源信息。

求租信息查看浏览的实现主要用到houseDao类中find()、findById()、del()、js()和houseDao类中的liulan()、insert()、update()、delById()、shoucang()、getList()方法。当登录的求租者点击“求租信息”按钮,web控制器拦截到会员操作请求,继续通过Structs.xml配置找到find()方法,find()方法会获取登录时保存在session中的求租者登录名,紧接着调用getList()方法,该方法主要通过登录名查找数据库user表中的数据,并将查询结果保存在ArrayList<user>的list对象中,接着find()方法获取到getList()的返回值,并将该值保存在ActionContext对象中。然后web控制器根据find()的返回值在Structs.Xml配置中找到求租信息页面。

求租信息删除过程。当用户点击“删除按钮时”,删除按钮超链接发出删除请求,web控制器拦截删除请求。删除请求是通过Structs.xml配置找到delhouse类中的del()方法,该方法获取要删除的求租信息的ID编号,然后调用delById()根据招租信息的编号删除数据库RENTAL_HOUSE_HISTORY表中对应的数据,然后再调用find()跳转回求租信息页面。

求租信息修改。当求租者需要修改自己的求租信息时,点击“修改”按钮。就会引发该超链接发出修改请求。Web控制器拦截修改请求,通过Structs.xml配置找到modifyHouse()方法,该方法获取要修改的求租信息的ID编号,然偶调用modifyById()根据求租信息的编号修改数据库中RENTAL_HOUSE_HISTORY表的对应数据。最后再调用find()跳转到求租信息页面。查看房源信息页面的实现如图5.4所示。

5.1.5 个人中心管理模块功能实现

个人中心管理模块主要功能包括:个人(用户)信息修改、个人(用户)信息删除、查看房源记录、查看用户评价记录。个人中心管理信息页面的实现如图5.5所示。

个人信息查看的实现用到了modifyuser、userDao类,方法有modifyuser类的find()、userDao类的getList()方法。用户点击“个人中心管理”按钮时,会发出查看信息请求,web控制器拦截该请求,并通过Structs.Xml配置文件找到find()方法。Find()方法首先会获取用户登录时保存在session中的用户名,然后调用getList()方法,getList()方法会根据用户名查找数据库USER_INFO表中的数据。将查找结果保存在ArrayList<USERE_INFO>对象中然后返回该对象。Find()方法获取到getlist()方法的结果,将该结果保存在actionContext对象中,然后web控制器根据find()方法的返回值在Structs.Xml配置文件中找到跳转的页面,即个人中心管理myinfo.Jsp。

个人信息修改实现的过程。该功能的实现用到useraction、userDao类。方法主要有useraction类的update()方法、userDao类的updateById()方法。用户点击“修改”按钮输入要修改的信息,通过“提交”按钮发出修改请求,web控制器拦截该请求,并通过Struts.xml配置文件找到update()方法,该方法获取修改表单提交的内容,然后调用updateById()方法,该方法获取修改表单提交的内容,然后再调用update()方法根据用户主键

个人信息删除功能。该功能的实现用到userAction、userDao类,方法有userAction类的del()、userDao类的delete()方法。当删除个人信息时,在操作那一栏出现一个删除按钮。用户点击“删除”按钮后,web控制器拦截该请求,通过Structs.xml配置文件del()方法,del()方法获取用户的ID编号和用户登录名。然后再去调用delete()方法根据用户ID编号和用户登录名删除数据库USER_INFO表中对应的数据。并再次调用个人中心管理查看用户信息页面。

5.1.6 房源收藏模块功能实现

该功能的实现用到shoucangAction、userDao 类,方法有shoucangAction 类的insert()和
usereDao 类的insert()方法。用户点击“收藏”按钮发送请求,web 控制器拦截该请求,通过Struts.xml 配置文件找到shoucangAction 类的insert()方法,该方法先获取入库表单提交的信息,然后调用shoucangDao 类的insert()方法将获取到的信息插入到数据库RENTAL_HOUSE_RECORD 表中,然后web 控制器根据evaluateAction 类的insert()方法的返回值,通过Struts.xml 配置文件跳转到收藏信息显示页面。房源收藏页面的实现如图5.6所示。

5.2 系统后台功能实现

系统后台功能实现主要包括:后台主页面功能实现、房源信息管理功能实现、用户信息管理功能实现、房源收藏功能实现、管理员管理注销功能实现。

5.2.1 后台主页面功能实现

管理员登录后台管理平台:输入管理员名称、密码后进入后台。后台主页面,该页面主要分为上、中、下三部分,上部分为头部,主要是后台的标题。中部主要为导航栏,显示后台模块功能;下边为主显示区域显示管理功能模块的列表信息。后台主页面的实现如图5.6所示。

5.2.2 房源信息管理功能实现

该管理功能主要包括:新增房源信息、修改房源信息、删除房源信息、更新房源信息、
房源信息管理实现过程。

实现用到houseAction、houseDao类,方法主要houseAction类的nosucees()和success()、success()和OrderDao 类的getList ()方法。当用户点击“发布房源信息管理”菜单时,web控制器拦截该请求,通过Struts.xml 配置文件找到success()方法,该方法调用getList()方法根据处理情况=“未处理”和发布房源情况=“未确认”条件查询数据库t_order 表中的数据,将查询的结果保存在ArrayList<house> 对象中,然后返回该对象,success()方法获取到getList()方法的结果,将该结果保存在ActionContext 对象中,然后web 控制器根据nsuccess()方法的返回值。

过Struts.xml 配置文件找到房源信息管理页面,在该页面用EL表达式${list}获取ActionContext 对象保存的值,然后通过<c:forEach>标签将查询结果遍历出来,其遍历使用ActionContext 对象调用houseDao 类属性实现,例如${list.f_name}。其实现过程和未发布房源实现过程相似。房源信息管理实现结果如图5.7所示。

5.2.3 用户信息管理功能实现

用户信息管理功能,主要包括用户信息显示、用户信息删除、用户信息修改。

用户信息显示实现过程

该功能的实现用到AdminAction、UserDao 类,方法有AdminAction 类的findUser()、OrderDao 类的getUserList()方法。管理员点击“会员管理”发送查看信息请求,web 控制器拦截该请求,并通过Struts.xml 配置文件找到findUser()方法,findUser()方法首先调用getUserList()方法,getUserList()方法会查找数据库t_user 表数据,将查找结果保存在ArrayList<User>对象中,然后返回该对象,findUser()方法获取到getUserList()方法的结果,将该结果保存在ActionContext 对象中,然后web 控制器根据findUser()方法的返回值在Struts.xml 配置文件找到跳转的页面,在该页面用EL 表达式${list}获取ActionContext 对象保存的值,然后通过<c:forEach>标签将查询结果遍历出来,其遍历使用ActionContext 对象调用User 类属性实现,例如${list.userName}。

用户信息修改实现过程

该功能的实现用到UserAction、UserDao 类,方法有UserAction 类的mdfUserById()、UserDao 类的updateById()方法。管理员点击“修改”按钮跳转到修改会员信息表单页面,通过“提交”按钮发出修改请求,web 控制器拦截该请求,并通过Struts.xml 配置文件找到mdfUserById()方法,该方法获取修改表单提交的内容,然后调用updateById()方法根据会员主键修改数据库t_user 表中的数据,然后调用会员信息显示实现过程的findUser()方法回到会员信息管理页面。

用户信息删除实现过程

该功能的实现用到UserAction、UserDao 类,方法有UserAction 类的delUserById()、UserDao 类的delUser()方法。管理员点击“删除”按钮发出删除请求,web 控制器拦截该请求,并通过Struts.xml 配置文件找到delUserById()方法,该方法获取要删除的会员主键,然后调用delUser()方法根据会员主键删除数据库t_user 表中对应的数据,然后调用会员信息显示实现过程的findUser()方法回到会员信息管理页面。用户信息管理的实现结果如图5.8所示。

5.2.4 用户评价信息管理

该功能的实现用到evaluateAction、userDao 类,方法有evaluateAction 类的insert()和usereDao 类的insert()方法。用户点击“评价”按钮发送请求,web 控制器拦截该请求,通过Struts.xml 配置文件找到evaluateAction 类的insert()方法,该方法先获取用户评价信息表单提交的信息,然后调用OrderDao 类的insert()方法将获取到的信息插入到数据库EVALUATE_INFO 表中,然后web 控制器根据evaluateAction 类的insert()方法的返回值,通过Struts.xml 配置文件跳转到评价信息显示页面。用户评价信息管理页面如图5.9所示。

5.2.5 房源收藏管理

该功能的实现用到shoucangAction、userDao 类,方法有shoucangAction 类的insert()和usereDao 类的insert()方法。用户点击“收藏”按钮发送请求,web 控制器拦截该请求,通过Struts.xml 配置文件找到shoucangAction 类的insert()方法,该方法先获取入库表单提交的信息,然后调用shoucangDao 类的insert()方法将获取到的信息插入到数据库RENTAL_HOUSE_RECORD 表中,然后web 控制器根据evaluateAction 类的insert()方法的返回值,通过Struts.xml 配置文件跳转到收藏信息显示页面。用户收藏页面如图5.10所示。

5.2.6 管理员信息注销管理

管理员信息管理主要功能是:修改管理员用户名称、登录密码以及可以新增管理员功能。

实现主要用到AdminAction 类和AdminDao 类,方法有AdminAction 类下的update()和AdminDao 下的update()方法。管理员点击“修改”按钮发送请求,web 控制器拦截该请求,通过Struts.xml 配置文件找到AdminAction 类的update()方法,该方法先获取修改密码表单的输入信息,然后调用AdminDao 类的update()方法根据管理员名称和获取的输入信息更改数据库t_admin 表中对应的数据,然后web 控制器根据AdminAction 类的update()方法的返回值,通过Struts.xml 配置文件跳转到管理员信息显示页面。管理员信息管理页面如图5.11所示。

5.3 本章小结

本章主要描述了系统的前、后台功能模块的详细实现设计和方法。前台功能主要有登录注册模块功能实现、新闻公告模块功能实现等,后台功能模块主要有房源信息管理模块、用户信息管理模块、管理员信息模块、用户注销等模块。  

第六章 系统测试

测试是对软件产品进行发布上线的最后一道检验。测试可以提高软件产品的质量与品质。测试是我最擅长的了,因为我是做软件测试,目前基于功能测试,但在朝着自动化测试和性能测试的方向努力。

6.1 测试目的

根据房屋出租管理的开发需求和目的,本次开发的目的是开发一个满足用户和招租者要求的方便好用、界面友好、维护方便、而且易于扩展具、有较高工业强度的j2ee轻量级应用系统。本系统提供给求租者和招租者使用,测试时需要按模块功能分别取测试。每一个系统上线前都要经过严格的测试,本系统也不例外。测试的主要目的是是否满足客户需求,设计是否符合规格以及系统是否具备较高的工业强度;其次,测试的目的是确保软件质量、提高软件的可用性和健壮性的关键。全面的测试房屋出租管理系统的各个功能模块,确保系统的整体性能。从而确保该系统能广泛的使用和后期维护更新。

6.2 测试方法

测试的方法主要分为功能测试(白盒测试)和按需求文档要求测试(黑盒测试),以及系统环境、数据库服务是否满足要求的性能测试。

6.2.1 功能测试

功能测试就是测试各个页面的功能使用是否正常。在功能测试中出现了几个比较严重的问题,用户注册成功后点击查看浏览招租房源信息,提示用户“请先登录”,是不能直接查看的,这个bug的主要原因是数据连接失败,调试连接好数据库后,此问题解决。还有遇到的问题就是房屋招租者修改房源信后,点击保存,保存失败,这个bug的原因是点击“保存”时未返回给后台这条房源信息的ID,导致此修改信息后台未获取到,没有保存到数据库。比较严重的bug就这两个。其次就是各个输入框的字段长度的测试,页面跳转测试,数据测试等的测试问题基本没有。

用户注册测试,对用户注册的字段长度、特殊字符、超短字符串进行测试,看是否符合需求说明书的要求。测试用例如表6.1所示。

用例序号 测试点 预置条件 期望结果 实际结果 是否通过
1 输入正确用户名、密码 打开系统进入平台 注册成功 注册成功 Y
2 输入特殊字符 打开系统进入平台 注册失败 注册失败 Y
3 超长字符串 打开系统进入平台 注册失败 注册失败 Y
4 输入超短字符少于6位 打开系统进入平台 注册失败 注册失败 Y
5 输入单一条件,只输入用户名 打开系统进入平台 注册失败 注册失败 Y

用户登录,用户登录的校验测试。主要是通过正常情况和异常情况去测试。正常情况只有一条测试用例,异常情况主要有3条测试用例。测试用例设计,如表6.2所示。

用例序号 测试点 预置条件 期望结果 实际结果 是否通过
1 输入正确用户名、密码 打开系统进入平台 登录成功 登录成功 Y
2 输入错误用户名 打开系统进入平台 登录失败 登录失败 Y
3 置空登录 打开系统进入平台 登录失败 登录失败 Y
4 输入单一条件,只输入用户名 打开系统进入平台 登录失败 登录失败 Y

发布房源模块功能测试,主要测试房源信息能否正常写入、能否正常发布成功以及置空测试。测试用例如表6.3所示。

用例序号 测试点 预置条件 期望结果 实际结果 是否通过
1 正常写入房源信息 打开系统登录进入平台 发布成功 发布成功 Y
2 输入错误特殊字符房源信息 打开系统进入平台 发布失败 发布失败 Y
3 置空发布 打开系统登录进入平台 发布失败 发布失败 Y
4 上传房源图片 打开系统进入平台 上传成功 上传成功 Y

修改个人信息测试,修改用户的用户名、密码,电话号后保存。修改个人信息成功后弹出的页面如图6.1所示。

房源基本信息修改测试,修改房源的基本信息,如居室、发布时间、标题、面积、行政区划、大小、房源信息发布人、联系人方式、是否朝阳等。房源信息修改成功后弹出的页面如图6.2所示。

房源信息删除测试,在个人中心管理对房主发布的房源信息进行删除操作,弹出删除成功后的提示页面如图6.3所示。

后台用户信息新增测试,点击新增用户信息,弹出新增用户信息弹窗,输入正确的用户信息,点击确定,弹出新增成功用户信息的弹窗提示。弹窗提示页面如图6.5所示。

后台用户信息编辑修改测试,点击用户信息页面编辑修改按钮,修改用户页面信息,修改结束点击确定,用户信息修改成功。编辑修改成功后的弹窗页面如图6.6所示。

后台用户信息删除测试,管理点击用户信息页面删除按钮,弹出“确定”删除弹窗提示,点击确定弹出删除成功弹窗提示页面。弹窗提示页面如图6.7所示。

后台房源信息管理功能模块新增房源信息测试,管理员点击房源信息页面新增按钮,弹出新增房源信息页面,房源信息输入完毕后点击“确定”保存按钮,弹出新增房源信息成功弹窗。新增房源成功的页面提示如图6.8所示。

后台房源信息编辑修改测试,点击房源信息页面编辑按钮,弹出房源信息编辑修改页面,编辑修改房源信息后点击“确定”按钮,弹出房源信息修改成功弹窗提示,弹窗提示如图6.9所示。

6.2.2 性能测试

性能测试主要是对这个系统的容量测试,例如对这个数据库定义了100个用户,当超过一百个用户,用户注册失败。还有就是多个用户同时注册时,注册是否会失败。经过测试后这些性能都是正常的。

性能测试,主要是对系统进行的最大承受力测试和最大承受压力测试。负载测试就是页面响应速度测试,压力测试主要测试系统所能达到的最大用户并发量。用例设计如表6.4所示。

用例序号 测试点 预置条件 期望结果 实际结果 是否通过
1 少于100个用户登录 打开系统模拟80个用户同时登录进入平台 登录成功 登录成功 Y
2 大于100个用户登录 打开系统模拟101个用户同时登录进入平台 登录失败 登录失败 Y
3 是否超过10s 打开系统登录进入平台,点击跳转页面 10s内跳转成功 成功 Y
4 服务器断掉 打开系统进入平台 10s内跳转失败 上传成功 Y

6.3 系统调试

调试主要是对代码的调试。某一块代码是否具体实现了某一些功能。调试主要是修改bug时进行的,调试过程及时发现问题及时修改。调试提高了软件代码的时效性。解决bug, 发现bug后,对问题进行分析,分析定位后进行代码bug调试。对代码加断点调试,然后再查看异常的提示说明,根据具体问题具体分析,解决bug。代码调试测试用例如下表6.5所示。

用例序号 测试点 预置条件 期望结果 实际结果 是否通过
1 数据库服务连接调试 服务启动正常,数据库连接正常, 调试成功 连接失败 Y
2 页面登录失败调试 服务启动正常,数据库连接正常, 调试成功 登录失败 Y
3 房源信息发布失败 服务启动正常,数据库连接正常, 调试成功 发布失败 Y
4 房源信息修改失败 服务启动正常,数据库连接正常, 调试成功 修改失败 Y
5 个人失败信息修改 服务启动正常,数据库连接正常, 调试成功 修改失败 Y
6 房源信息修改失败 服务启动正常,数据库连接正常, 调试成功 修改失败 Y
7 管理员新增用户失败 服务启动正常,数据库连接正常, 调试成功 新增失败 Y
8 管理员新增房源信息 服务启动正常,数据库连接正常, 调试成功 新增失败 Y

6.4 本章小结

本章主要从系统的不同方面、不同功能对系统进行测试,主要从测试的目的、测试的方法陈述系统功能测试的一些常用方法和测试所准备的测试用例,确保了系统的正常运行。

总结

项目主要完成了基于B/S体系结构的web端系统。利用了linux系统下文件服务器和Redis缓存服务器大量储存数据的优势,实现了界面友好,操作灵活,页面响应迅速的系统。做成一个好的完整的系统必不可少的要从需求分析设计开始完成需求文档、设计开发原型图,然后需求评审,需求评审完成后进入开发设计,设计数据库以及每个模块要完成的功能,然后建立功能模块的整体框架和后台开发设计,实现该模块的基本功能模块。基本功能模块建成后,再设计整个页面,完善页面,优化界面。不断的完善一些功能,最终完成整个系统的设计。达到想要的结果。在这一准备的过程中学会了系统开发的流程以及如何高效的完成任务。

前面的准备阶段都完成了,然后进入到具体的代码实现设计阶段了。设计完成后就步入开发了。在本次系统的开发过程中,最大的收获就是学会给项目部署maven项目管理工具,给项目熟练的配置数据库连接,加断点调试代码。遇到了不能解决的问题,也有了更深刻的思考。

在设计过程中主要使用工具Auxre原型图工具来画原型图。一般的简单的静态图自己看下网上教程可以使用,但是比较高级的动态原型图网上教程也很少。遇到问题如原型图中的阴影图层的画法、动态链接跳转等都是比较高级的操作,这些动作的操作都是咨询需求同事,他手把手教的;这个过程中最大的收获就是做一件事只要努力想办法去做,一定会做成。

原型图设计完成后接着做开发设计包括数据库设计、后台开发设计、算法设计等,这些设计都是根据需求说明书去设计的,在这个过程中,由于经验不足、设计的数据库表和算法设计不是尽善尽美也存在很多小细节问题。初步设计后让同事帮我参考完善补充一下,多看看别人的设计和思路也是一种成长的方式。

在这次毕业设计中遇到的最大的问题也是收获最多的问题就是linux系统的安装以及文件服务器和Redis缓存服务器的搭建问题。安装了好多次,也失败了好多次,以至于电脑系统都被搞坏了重装了系统。但是也淡定的面对并解决了问题,虽然有的事情你经历了也不见得对你有用但是你还是得去经历,只有经历才有更深刻的认识与体会。遇到问题努力寻求帮助,寻求同事,有时候同事也很忙,没有时间帮你看的时候,就上网发帖去寻求帮助,去朋友圈寻求帮助,最终解决了问题。

通过这次项目的编写,最大的体会就是时间和理论相结合的妙处,对Java有了更加深入的认识。在开发过程中学习了很多以前没有接触到的知识,从文件服务器到Redis缓存服务器,对数据的存储有了更深刻的认识。而且提升了面对问题的解决能力,能够自学一些没有接触过的知识,而且能够在很短的时间里将知识技能使用到程序之中。

参考文献

[1] Jon G. Hall, Lucia RapanottiA .design theory for software engineering[J]. Information and Software Technology ,2017-07-15.

[2] Camelia Muñoz-Caro,Alfonso Niño,Sebastián Reyes.Miriam Castillo. APINetworks Java.A Java approach to the efficient treatment of large-scale complex networks. Computer Physics Communications,2016

[3] 陈惠贞.网页程序设计HTML5•JavaScript•CSS•XHTML•Ajax[M].清华大学出版社,2016.

[4] Camelia Muñoz-Caro,Alfonso Niño.Sebastián Reyes.Miriam Castillo. APINetworks Java.A Java approach to the efficient treatment of large-scale complex networks. Computer Physics Communications,2016.

[5] 刘零凰.《MySQL管理之道》(第2版).机械工业出版社.2016.

[6] 包乌格德勒.《JSP动态网页开发案例教程》(第二版).机械工业出版社.2016

[7] IDdo Gal,Irena Ograjenšek.Official Statistics and Statistics EducationBrIDging theGap.Journal of Official Statistics.2015,4(1):76-80.

[8] Linden B G,Smith B,York J. Amazon.com Recommendations Iem-to-item collaborative filtering[J].IEEE Internet Computing,2015,4(1):76-80.

[9] 李君.巧用Jsp和Java连接Mysql数据库[J].现代商贸工业,2015(07):98-99.

[10] 郑建华,朱蓉,邱振国.基于Servlet的MVC控制器框架设计[J].计算机时代,2015(04):49-52.

[11] David Cochran, Ian Whitley.Bootstrap实战[M].人民邮电出版社,2015.

[12] Jens Heidrich,Markku Oivo,Andreas Jedlitschka. Software productivity and effort estimation[J]. Journal of Software: Evolution and Process, 2015(7).

[13] Muhammad Ovais Ahmad,Denis Dennehy,Kieran Conboy,Markku Oivo. Kanban in software engineering: A systematic mapping study[J]. The Journal of Systems & Software,2014.

[14] Chen B,Yuan S,Wang J.A dynamic pricing model for unifying programmatic guarantee and real-time bidding in display advertising[J].proceedings of the English International Workshop on Data mining for Online Advertising.ACM,2014:1-9.

[15] 李清海.世通书屋网上书店系统的设计与开发[J].吉林大学.2014-12

[16] 王栓宝.基于WEB的学生信息管理系统的设计与实现[J].河北科技大学.2014-05

[17] 眭俊华, 刘慧娜, 王建鑫等. 多核多线程技术综述. 计算机应用. 2013, 33(S1):239-242, 261

上传的附件 cloud_download 基于JSP的房屋出租管理系统设计与实现.7z ( 11.02mb, 1次下载 )
error_outline 下载需要18点积分

发送私信

风很清澈,从头到脚都快乐

10
文章数
9
评论数
最近文章
eject