【摘要】
住房租赁与销售管理系统能让使用者免去寻找中间商的烦恼,在这个平台上就能快速查看所需的住房资料,并与房东进行直接交易。这个系统的开发是以B/S结构为基础的,利用Java语言与SSM框架相结合的方式来进行后台的编写,利用JSP技术来进行前台的编写,利用MySQL来进行数据的保存,利用Tomcat作为Web服务器,利用十分典型的eclipse作为开发工具。该系统主要实现了用户能够租房、购房、留言、下单,房东能够发布房源信息、审核订单,管理员能够管理用户和房东的信息、发布资讯、管理留言板等功能。本文主要从系统的分析,系统的设计,系统的实现,系统的测试等几个部分来阐述。
【关键词】房屋租售管理系统,Java,SSM,JSP
1绪论
1.1选题的目的和意义
在无网络的情况下,房东和房客都要通过房屋代理来注册自己的房产信息,然后,在进行房屋租赁管理的时候,一般都是使用粘贴板,或者是手动填写并展示使用者所要出租的房屋信息,让顾客来查阅。然而,当涉及到海量的房产信息时,人工注册不但效率较低,而且很容易出现漏记或错记的情况,而且人工注册的房产信息很难复制,很难找到,错误的数据也很难修改,也很难传播与推广,这些都会给房产经纪人、业主和消费者造成很大的困扰。在整个房地产出租经营流程中,房地产出租是一个被需要的行业,有着一个巨大的市场。房产出租信息具有更新迅速、信息量大等特征。为了防止出现出现交易失误的情况,也为了让双方能够更安心地进行交易,房租管理系统能够有效地解决上述问题,使其变成一个经过净化的、方便的、安全的房屋租赁平台。
1.2国内研究现状
最近几年,中国的城镇化速度很快,进城打工和上学的人数也在不断增加。与此同时,随着每年的毕业季节的到来,大多数的大学生也会给这个城市带来新的生机和活力。而在都市里打拼的人,更是成为了一大批的租客。在我国,伴随着网络的快速发展,一大群具备核心技术的互联网公司,以创新的方法与住房租赁市场的特征融合在一起,逐渐地组成了一些具备一定规模的企业。当前,在我国,住宅租赁行业在中小型企业中发展缓慢。目前,国内的租金管理体系仍存在着诸如信息不准确,信息化程度不高等问题。
1.3国外研究现状
目前此类技术的电商应用已经在国外非常成熟,最初被人们所熟知的亚马逊平台是电商鼻祖,亚马逊平台成功实现对商品的线上管理化,并通过线上展示的方式将众多零散的个体户,聚集在一个电商网站中,巨大的商品种类以及宣传的工作,也让其吸引了众多消费在的目光。这种做法后来也被我国知名企业家学习总结,在国内成功实现。
虽然国内目前的电商平台对于宠物用品的销售也较为全面,但这些平台并不是转为销售宠物用品而量身打造,因此就会出现很多问题,监管不当,产品质量的不可靠,也让消费的购物流程变得愈发劳累繁杂,一家商品出现多种款式,真假难以区分。商品的款式不同,版本不同,价格不同,也让消费者头疼不已。而宠物用品销售系统的开发正是为了解决这一现状。
总的来说将当下生活中的不便利用互联网将其解决已经是目前发展的主流方向,其中并不是所谓的跟风,或者毫无道理,由于互联网的便利,以及计算机强大的存储能力,以及计算能力都是传统管理方式以及运营方式所无法匹敌的。因此将互联网技术合理的运用于时代发展才是正确的道理。
2相关原理及技术
该系统所使用的技术与工具均为目前较为通用的。因此,使用Eclipse和MySQL等进行开发。将采用Java技术,JSP技术,SSM架构技术等等。
2.1 Java技术概述
在此房屋租售管理系统中,Java是一个很好的背景程序。它利用了它自身OOP特性,而且它还是一种相对主流的编程语言。更多的人使用Java,这是由于Java语言更容易使用,在稳定和简单方面更具优点。与C#和C++相比,Java没有C#和C++那样的复杂,它可以直接建立一个对象,并将其编写成程序。对于系统中的房源、房型等不同的对象进行单独的建立与管理,也会格外的便利。并且Java的扩展性很好,在写了之后,可以不断地预留出很多接口来改进住房租赁系统。Java框架的开发目的在于使代码的开发变得简单,使代码的层次变得更为清晰、真实。最初的JavaWeb工程采用了Servlet技术。不过,编写程序将会变得有些复杂,而Java框架将会避免这些问题。
2.2 MySQL技术概述
JSP是指一个Java服务器页面,JSP指令被用来设置与JSP页面相关的一切属性,例如,网页的编码方式pegeEncoding,脚本语言language,Teglib标记库定义等。
JSP对只对目前网页起作用的变量和方法进行了声明,并且可以对没有生成任何结果的东西进行声明。当JSP页面对该声明进行初始化时,该声明将被其它的脚本元素所利用。一种高效的Java代码,其中一部分被嵌入到标签中。这种编码可以叫做脚本。JSP中的传递标签为“%=”和“%>”。表达式的数值会出现在网页的网页中,并且会在网页中的整型和浮点会被自动转化成一个字符串来显示。
2.3 SSM框架概述
SSM框架是由Spring框架,SpringMvc框架以及Mybatis框架集成而成。消除了编写程序时遇到的问题。而且他的层级架构非常明确,可以让开发将各个层级的联系都梳理清楚。利用SSM架构,能够非常清楚地显示出网页与资料库间的呼叫关系。同时,网页与资料库也分别进行了设计。并且SSM框架非常的稳固,现在,许多的大厂都在使用SSM框架来进行公司的开发工作。由于SSM架构中的界面设计较多,当需求发生变化时,可以仅修改服务层的代码,无需修改界面,即可适应各种需求,这给了开发日后修改程序带来极大的便捷。
2.4 B/S结构概述
以Java为基础的无房屋租售管理系统采用的是B/S模式,也就是当前最流行的一种开发的模式,B/S模式是比较流行和常用的。由于可以在网上查询到,因此十分便利,并且具有很大的可行性。B/S的网站,用户可以共用一个资料库,这样就能实现信息的共享。使用者也可以彼此互动。
3系统需求分析
3.1系统功能分析
可行性分析指的是用最低的费用来判定问题是否可以获得最佳解决方案,接下来,我将对上一章中的系统进行深入的剖析,然后,对项目的规模和局限性做一个简要的调查,让我们对该项目有一个基本的理解和理解,然后,对其中的利弊进行分析,最后得出一个最佳的系统收益。自打2020年疫情以来国家出台房屋租金免除政策,这是一个激励大家多多租房的政策,加上人口流动增多的几个城市,租房已经成为了当代人的刚需。本租房系统提供了一套完整的用户租赁逻辑以及让管理员可以轻松的整合好用户房源信息和动态消息,很好的解决了需要租房以及可以交流的需求。
(1)经济可行性
在广义上的经济可行性具体包含了两个方面内容:一、在选题上,它是否具有创新性,从而可以获得资金来源的可能性。在这一方面,在这一点上,在本次毕业设计的开始阶段,要对其进行投资,要有自己的设计,有同学的帮忙,有老师的指导,这些都是免费的,只要有一台计算机,而且开发成本很低,可以忽略不计。二、是执行一个政策计划所需要的费用和所得到的利益,以及它的性价比,是不是很高,费用很少,收入很高,从而使得投资的产量最大。从另一个角度来说,这个项目的好处就是在老师的指导下,在同学的帮助下,可以提升自己的编程水平,而且,如果将这个项目出售到需要的地方,还可以赚到更多的钱。研发一个住房租售管理系统,能够吸引更多的人前来出租,从而可以在未来获得更多的会员资料,而网络站已经有了一定的影响,因此,研发住房租售管理系统是可行的。通过以上两个方面的对比,可以看出,该毕业课题的住房租赁和销售管理系统,具有很高的投资产出比,具有一定的经济可行性。
(2)技术可行性
可行的技术和决定的计划都不会超过我所拥有的技术范围。此外,还要对在系统开发的过程中存在的技术问题进行充分的考量,在这一点上,以java web房屋租售管理系统采用的是b/s三层架构模式,它第一个是客户端表示层,第二个是应用服务器层,它的部署容器是tomcat服务器。tomcat服务器拥有自由稳定的特征,大部分的同学都会喜欢它,它还可以处理业务。当当tomcat服务器开始运行的时候,用户就可以在任何时候登陆到异地进行查看租赁情况。最后一个是数据中心层,它是由mysql数据库构成的。该系统使用的是Java语言,其简单、高效、易用性强,其开发平台选择的是Idea,Idea拥有相对完善的功能,在确定了程序架构后,一切都会井井有条。
(3)操作可行性
在该体系完成之后,能够为该体系在实际运作中的实施和运营,提供支撑。在此,为住房租赁和销售管理系统配置的是tomcat服务器。一旦tomcat的服务器被激活,那么在任何时间,使用者都可以登录到其他地方,并且可以看到自己的房屋。此系统采用了Java web技术,可以在网上对租赁页面的访问来进行租赁,开发的系统界面简洁,易于上手,pc端和移动端都可以进行接入和操作。本系统的特点是:使用方便,管理方便,交互效果好,去除复杂性。
3.2系统设计分析
以SSM为基础的住房租赁和销售管理系统。从功能上来看,主要分为三类:用户、房东、管理员。在房产租赁和销售管理系统中登记您的帐号。在房产出租和出售的管理系统中查看房子的出租和出售情况。下面将介绍这三种情况的具体功能:
用户用例分析:
图3-1用户用例图
(1)验证了账号和密码之后,登陆了房屋租赁管理平台之后,所有的信息都会被存储在房产租赁管理平台上,而且还可以通过网页查看。更改帐号资料。
(2)给租户们一个快捷的查询房屋的服务,让他们可以在网上公布自己需要的房子。在系统的管理端,可以按照用户的要求,向用户提供相应的房屋信息。
(3)租客用户还可以按照自己的需要进行房屋信息的查询,可以通过房屋的关键词进行查询,也可以通过房屋信息查询。也可以通过房屋的种类来查找房屋。
(4)使用者可以前往查询其所租用的定单的资料,从而知道其租用的资料。能知道自己的租赁时间,租赁状况,租赁总价等等。租期到期之后,可以向系统提出退租的要求,只需要等到系统的管理员来完成就可以了。房屋出租之后,还可以重新出租给其他住户。
(5)通过房屋信息,租客可以得到管理员的建议,只要符合租赁条件,就可以租赁。
(6)该系统除了向租户展示出租房屋外,还将给使用者一个消息版,使用者可以在消息版上查看使用者想要的房屋资料,并在上面留下自己的消息。
图3-2管理员用例图
管理员用例分析:
(1)经理的账号是唯一的,不得任意添加,以保证管理权限。可以在数据库中设置一个管理员帐户。并且,在后台的房屋是能够利用管理员的账号和密码来验证的。
(2)管理员能够在房屋出租系统中管理房屋的类别,管理员能够规定房屋的类别并进行增加,在获取了全部房屋类别的资料后,就能够得到数据资料,并且能够对一些特定的资料资料进行删除、更改。
(3)管理员拥有对租客的管理权,不能让任何人随便登陆这个房子的出租和销售管理系统,如果有人违反了规定或者是被人恶意出租,那么就会自动删除这个租客的帐号。
(4)管理者可以从资料库中调出房客的信息,来理解他们的信息,并将其中不合理的问题进行过滤。可以保存对该系统有用的讯息讯息。
(5)管理人员可以发布,修改,删除,这些信息将出现在主页面,将更新的房屋信息呈现在使用者面前。
房东用例分析:
图3-3房东用例图
(1)只有与管理员取得联系,才能加入到房东的账号中,加入后,房东才能使用自己的账号和账号,登陆自己的后台系统,在里面发布房屋出售的消息。
(2)业主可以通过后台查询出售或出租房子的情况。
(3)房东可以从顾客的订购单中得到顾客的联系信息,再与顾客在网上进行接触,最后成交。
(4)在收到租户的订购单之后,房东可以对其进行审查,在审查之后,客户的租用状况有了变化,并将其与对应的客户端同步。
3.3可行性分析
房屋租售管理系统的性能需求,需要满足如下的特点的要求:
(1)安全需求:只有使用者和后台才能在查看房产租赁和销售的时候获得使用者的信息。而且,只有使用者和管理者才能得到租借的命令。如果是在后台进行确认,那么如果不是承租人登陆了房产出租管理系统,是无法查看出租的情况的,也就无法查看出租的情况。登陆之后,还得通过自己的ID来搜索和自己相关的订单。
(2)时效性要求:在不影响使用者操作的情况下,进行房产租赁和销售的操作。二是系统的反馈速度,在管理员接到租客用户的出租申请之后,也要及时为用户做出具体的反馈。
(3)美观性要求:在出租和出售管理系统中,网页的效果应能达到出租人管理者的最基本的需要。首先网页的样式要新奇,而且网页的总体样式要一致,能符合大多数人的需求。在一个网站中,网页的质量直接影响到用户在网站中的形象。
4系统总体设计
在本章中,本文着重阐述了此系统的属性图,并给出了相应的实例。然后,给出了一种新的、以交互方式为核心的、以交互方式为核心的软件系统模型。在此基础上,本文提出了一种新的动态模型。这种方法采用了软件工程的动力学建模,从而得到了能够反映系统动态行为的可视化分析结果,具体包括了对象的特征、对象之间的通信、任务的实现机制、对象行为等内容。以及状态的变化,物体的动作等等。
4.1系统模块总体设计
图4-1系统结构图
4.2数据库设计
是对数据的抽象,数据的表现和储存要满足现实需要,要简洁,要符合规格;在数据库管理系统中,要获得对数据进行逻辑与实体结构的建立,必须建立一个符合标准的数据库,所以,对数据库进行设计是十分重要的。
用户信息表:T_USER,这个表格包含用户的基础资料,例如用户ID,帐号,密码,真实姓名,收入,联系电话,联系地址,电子邮件,备注,审核状态。表结构如表4-2所示。
表4-2用户信息表
在租赁表格中,可以看到被租赁的房子的基本情况,如:房东ID、照片、类型、租金、时间、联系人、联系电话、面积、房东姓名、房子介绍等。表格的结构显示在图4-3。
房屋出售表与房屋出租表结构相似,包含房东id,时间,地址,图片,面积,楼层,楼号,房屋介绍,城市,房东id等。表结构如表4-4所示。
表4-4房屋出售表
房屋资讯表包含了由管理员发布的资讯和系统公告,包含下列的属性:管理员id,发布时间,标题,图片,内容,发布人等。表结构如表4-5所示。
留言表中含有了用户和房东之间的沟通信息,具体包括以下几种属性:留言ID、留言人、留言内容、留言时间、房源ID、匿名身份。留言内容都是以某个房源的留言为基础,留言记录会与一个房源ID相匹配,使用房源ID就是识别用户对哪一个房源留言,匿名标识用来识别该用户是否对房源匿名留言。表格的结构显示在表格4-6中。
出租定单表格中包括了全部与出租定单有关的信息,例如。房主ID、定单ID、租金、房主名称、使用者名称、注释、审核等。审核的情况是对这个订单是否得到了管理员的认可进行了判定,当用户下单时,这个信息还处于没有被审查的状态,但是经过了管理员的审查,这个信息就会成为一个被审查的信息,只有房东才能查看这个信息,没有被审查的信息会被发送给用户。表格见图4-7示。
购买订单表包含和购买相关的所有信息,比如订单编号,房屋名称,房屋类型,用户名,房东名等。表结构如表4-8所示。
房屋信息表包含房屋相关的所有信息,有创建时间,房屋名称,房屋类型,所在城市,地址,面积等。表结构如表4-9所示
5详细设计与实现
5.1用户功能模块
5.1.1登录/注册实现
用户必须注册一个帐号,否则只能看到房屋信息,无法看到其他的诸如订单、评论等功能。登记的函数更容易实现。因此,在注册时,只要按照输入账号,输入密码,输入姓名等基础信息就可以了。这个系统会判断注册时的使用者名称,在登陆时,使用者名称已出现,将会提示使用者名称已出现,否则,将会弹出一个“祝贺使用者名称可以使用”的对话框,让使用者可以在这个网页上进行注册。在加入了相应的资料之后,请单击“注册”键。如图5-1所示。
以下为本功能实现的代码显示。
IgnoreAuth
PostMapping(value=”/register”)
public R register( RequestBody UserEntity user){
if(userService.selectOne(new EntityWrapper<UserEntity>().eq(“username”,user.getUsername()))!=null){
return R.error(“用户已存在”);
}
userService.insert(user);
return R.ok();
}
注册流程图如图5-2所示。
图5-2用户注册流程图
用户登录界面如图5-3所示
图5-3系统登录界面
以下为本功能实现的代码。
IgnoreAuth
PostMapping(value=”/login”)
public R login(String username,String password,String captcha,HttpServletRequest request){
UserEntity user=userService.selectOne(new EntityWrapper<UserEntity>().eq(“username”,username));
if(user==null||!user.getPassword().equals(password)){
return R.error(“账号或密码不正确”);}
String token=tokenService.generateToken(user.getId(),username,”users”,user.getRole());
return R.ok().put(“token”,token);}
在输入用户名或密码出现错误时点击“登录”按钮,会弹出错误提示对话框,点击“确定”后输入正确用户名和密码即可登录,登录流程图如图5-4所示。
图5-4系统登录流程图
5.1.2租房
用户可以浏览首页,在登录之后挑好房源就可以点击租赁按钮,之后会进入到提交信息的表单界面,如图5-5所示。
图5-5用户租房界面
以下为租房界面实现的代码。
IgnoreAuth
RequestMapping(“/list”)
public R list( RequestParam Map<String,Object>params,FangwuchuzuEntity fangwuchuzu,HttpServletRequest request){
EntityWrapper<FangwuchuzuEntity>ew=new EntityWrapper<FangwuchuzuEntity>();
PageUtils page=fangwuchuzuService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,fangwuchuzu),params),params));
request.setAttribute(“data”,page);
return R.ok().put(“data”,page);
}
租赁功能是本系统的核心功能之一,其系统流程图如图5-6所示。
图5-6用户租赁流程图
5.1.3购房
用户可以浏览首页,点击喜欢的房源之后显示房源详情,如果确认购买可以继续点击购买按钮,房源详情如图5-7所示。
图5-7房源详情界面
以下为房源详情界面实现的代码。
IgnoreAuth
RequestMapping(“/list”)
public R list( RequestParam Map<String,Object>params,FangwuchushouEntity fangwuchushou,HttpServletRequest request){
EntityWrapper<FangwuchushouEntity>ew=new EntityWrapper<FangwuchushouEntity>();
PageUtils page=fangwuchushouService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,fangwuchushou),params),params));
request.setAttribute(“data”,page);
return R.ok().put(“data”,page);
}
5.1.4浏览房屋资讯
用户在任何状态下都可以浏览本系统的资讯页面,这里提供了本系统的一些实时消息,包括房源信息、其他公告等,如图5-8所示。
图5-8房屋浏览资讯界面
以下为本功能实现的代码。
IgnoreAuth
RequestMapping(“/list”)
public R list( RequestParam Map<String,Object>params,FangwuzixunEntity fangwuzixun,HttpServletRequest request){
EntityWrapper<FangwuzixunEntity>ew=new EntityWrapper<FangwuzixunEntity>();
PageUtils page=fangwuzixunService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,fangwuzixun),params),params));
request.setAttribute(“data”,page);
return R.ok().put(“data”,page);
}
5.1.5留言板
用户在登录之后可以在留言板进行留言,只需要输入内容点击提交即可,如图5-9所示。
图5-9用户留言界面
以下为添加留言的实现代码。
RequestMapping(“/add”)
public R add( RequestBody MessagesEntity messages,HttpServletRequest request){
messages.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
messages.setUserid((Long)request.getSession().getAttribute(“userId”));
messagesService.insert(messages);
return R.ok();}
5.1.6个人中心
用户如果在登录之前点击个人中心,系统会自动跳转到登录页面,进行登录之后才能进入个人中心,在这里用户可以修改自己的信息,如图5-10所示。
图5-10个人中心界面
以下为修改个人信息的代码。
RequestMapping(“/update”)
public R update( RequestBody UserEntity user){
userService.updateById(user);
return R.ok();}
5.1.7查看订单
用户可以对自己购买或者租赁的订单进行查看或删除的操作,查看订单界面如图5-11所示。
图5-11用户查看订单界面
以下为用户查看订单界面的代码。
RequestMapping(“/list”)
public R list( RequestParam Map<String,Object>params,GoumaidingdanEntity goumaidingdan,HttpServletRequest request){
EntityWrapper<GoumaidingdanEntity>ew=new EntityWrapper<GoumaidingdanEntity>();
PageUtils page=goumaidingdanService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,goumaidingdan),params),params));
request.setAttribute(“data”,page);
return R.ok().put(“data”,page);
}
5.2房东功能模块
管理员是整个系统的最高权威,也是整个系统的操纵者。该系统的首页由上、左、下三部分组成。上方为系统的标题,左边为功能菜单。当系统管理员成功登陆时,也会在这个区域区中出现一个带有权限的操作菜单;右边为该系统的主页。在管理员按下对应的操作菜单后,就会在显示屏上出现对应的动作。当这个操作结束时,这个区域会出现操作结果。管理员可以在系统网页顶端迅速地链接到登录页。它的具体实现方法与普通用户相似。管理员登录页面如图5-12所示。
图5-12管理员登录页
5.2.1管理用户信息
管理员在登录之后可以对用户进行管理,包括增删改查的操作,如图5-13所示。
图5-13管理员管理用户界面
以下为管理员管理用户界面的实现代码
RequestMapping(“/page”)
public R page( RequestParam Map<String,Object>params,FangwuzixunEntity fangwuzixun,HttpServletRequest request){
EntityWrapper<FangwuzixunEntity>ew=new EntityWrapper<FangwuzixunEntity>();
PageUtils page=fangwuzixunService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,fangwuzixun),params),params));
request.setAttribute(“data”,page);return R.ok().put(“data”,page);}
5.2.2管理房东信息
管理员还可以对房东信息管理进行管理,这里显示了房东的全部信息,方便管理员进行下一步操作,如图5-14所示。
图5-14管理房东界面
以下为本功能实现的代码。
RequestMapping(“/list”)
public R list( RequestParam Map<String,Object>params,FangdongEntity fangdong,HttpServletRequest request){
EntityWrapper<FangdongEntity>ew=new EntityWrapper<FangdongEntity>();
PageUtils page=fangdongService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,fangdong),params),params));
request.setAttribute(“data”,page);
return R.ok().put(“data”,page);
}
5.2.3管理房屋类型
管理员可以对房屋的类型进行增加、删除和修改的操作,如图5-15所示。
图5-15管理房屋类型界面
以下为本功能实现的代码。
RequestMapping(“/page”)
public R page( RequestParam Map<String,Object>params,FangwuleixingEntity fangwuleixing,HttpServletRequest request){
EntityWrapper<FangwuleixingEntity>ew=new EntityWrapper<FangwuleixingEntity>();
PageUtils page=fangwuleixingService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,fangwuleixing),params),params));
request.setAttribute(“data”,page);
return R.ok().put(“data”,page);
}
5.2.4管理房屋资讯
网站管理人员可以及时更新房屋的相关资讯,管理员通过该页面进入后台登录系统可对后台的信息进行实时更新操作。管理房屋资讯如图5-16所示。
图5-16管理员房屋资讯管理界面
以下为本功能实现的代码显示。
RequestMapping(“/page”)
public R page( RequestParam Map<String,Object>params,FangwuzixunEntity fangwuzixun,HttpServletRequest request){
EntityWrapper<FangwuzixunEntity>ew=new EntityWrapper<FangwuzixunEntity>();
PageUtils page=fangwuzixunService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,fangwuzixun),params),params));
request.setAttribute(“data”,page);
return R.ok().put(“data”,page);
}
5.3管理员功能模块
5.3.1管理房屋信息
房东在登录之后可以管理房屋信息,对房源进行增删改查的操作,还可以上架成出租或者出售两种类型,如图5-18所示。
图5-18房东管理房屋界面
以下为本功能实现的代码显示。
RequestMapping(“/page”)
public R page( RequestParam Map<String,Object>params,FangwuxinxiEntity fangwuxinxi,HttpServletRequest request){
String tableName=request.getSession().getAttribute(“tableName”).toString();
if(tableName.equals(“fangdong”)){
fangwuxinxi.setFangdonghao((String)request.getSession().getAttribute(“username”));
}
EntityWrapper<FangwuxinxiEntity>ew=new EntityWrapper<FangwuxinxiEntity>();
PageUtils page=fangwuxinxiService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,fangwuxinxi),params),params));
request.setAttribute(“data”,page);
return R.ok().put(“data”,page);
}
5.3.2管理出租房屋
房东还可以单独对出租类型的房屋进行管理,如果房源比较多的话还可以用搜索功能快速找到想查看的房屋信息,如图5-19所示。
图5-19房东管理出租房屋界面
以下为本功能实现的代码显示。
RequestMapping(“/page”)
public R page( RequestParam Map<String,Object>params,FangwuchuzuEntity fangwuchuzu,HttpServletRequest request){
String tableName=request.getSession().getAttribute(“tableName”).toString();
if(tableName.equals(“fangdong”)){
fangwuchuzu.setFangdonghao((String)request.getSession().getAttribute(“username”));
}
EntityWrapper<FangwuchuzuEntity>ew=new EntityWrapper<FangwuchuzuEntity>();
PageUtils page=fangwuchuzuService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,fangwuchuzu),params),params));
request.setAttribute(“data”,page);
return R.ok().put(“data”,page);
}
5.3.3管理出售房屋
房东还可以单独对出售类型的房屋进行管理,如果房源比较多的话还可以用搜索功能快速找到想查看的房屋信息,如图5-20所示。
图5-20房东管理出售房屋界面
以下为本功能实现的代码显示。
RequestMapping(“/page”)
public R page( RequestParam Map<String,Object>params,FangwuchushouEntity fangwuchushou,HttpServletRequest request){
String tableName=request.getSession().getAttribute(“tableName”).toString();
if(tableName.equals(“fangdong”)){
fangwuchushou.setFangdonghao((String)request.getSession().getAttribute(“username”));
}
EntityWrapper<FangwuchushouEntity>ew=new EntityWrapper<FangwuchushouEntity>();
PageUtils page=fangwuchushouService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,fangwuchushou),params),params));
request.setAttribute(“data”,page);
return R.ok().put(“data”,page);
}
5.3.4审核订单
房东可以对用户提交的订单进行审核,如果信息缺失或者信息错误,可以选择不通过,如图5-21所示。
图5-21房东审核订单界面
以下为本功能实现的代码显示。
RequestMapping(“/page”)
public R page( RequestParam Map<String,Object>params,ZulindingdanEntity zulindingdan,HttpServletRequest request){
String tableName=request.getSession().getAttribute(“tableName”).toString();
if(tableName.equals(“fangdong”)){
zulindingdan.setFangdonghao((String)request.getSession().getAttribute(“username”));
}
if(tableName.equals(“yonghu”)){
zulindingdan.setYonghuming((String)request.getSession().getAttribute(“username”));
}
EntityWrapper<ZulindingdanEntity>ew=new EntityWrapper<ZulindingdanEntity>();
PageUtils page=zulindingdanService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,zulindingdan),params),params));
request.setAttribute(“data”,page);
return R.ok().put(“data”,page);
}
5.3.5管理留言板
房东还可以对用户的一些不当言论进行删除或修改等操作,如图5-22所示。
图5-22管理员管理留言板界面
以下为本功能实现的代码显示。
RequestMapping(“/page”)
public R page( RequestParam Map<String,Object>params,MessagesEntity messages,HttpServletRequest request){
if(!request.getSession().getAttribute(“role”).toString().equals(“管理员”)){
messages.setUserid((Long)request.getSession().getAttribute(“userId”));
}
EntityWrapper<MessagesEntity>ew=new EntityWrapper<MessagesEntity>();
PageUtils page=messagesService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,messages),params),params));
request.setAttribute(“data”,page);
return R.ok().put(“data”,page);
}
6系统测试
6.1系统测试的目标和原则
系统测试指的是在对房屋租售管理系统的编程完成之后,完成对网站的总体功能和代码的测试。在运行房屋租售管理系统的时候,如果出现了某些问题,就要进行纠正,从而达到一个能够正常运转的房屋租售管理系统的目的。在试验前,制定一份可行的试验方案。系统测试计划指的是把一个测试前的准备工作列出来,并告诉别人,系统测试要进行的是什么,而通过了这个测试,就是对住房租售管理系统的漏洞进行了深入的挖掘。
6.2系统测试方法
测试是有多种办法的。不过,具体的测试方式,却是要根据系统的要求来决定的。当前,检测技术以黑箱测试和白箱测试为主。以上就是两个重要的检验方式。黑箱测试,首先要用到软件。它主要是站在用户的立场上进行的,而不是站在开发人员的立场上进行的,在进行测试的过程中,不需要完全理解软件的编程的原理,而是要具备一定的测试的经历。而“白盒”则要复杂得多,毕竟是要对编写出来的程序进行检验,这就意味着要对程序的基本理论有一定的了解。不过不管怎么说,最重要的还是看步骤。检验的步骤与所需的相同。
6.3系统功能测试用例
代码编制完毕并不代表它就完成了。这个项目的整体发展进程应当是相当枯燥的。在第一次编程结束之后,还需对该软件进行一次测试,并对其函数进行优化。毕竟,任何一款软件,只要是一次开发出来的,都有可能出现问题。这也是人之常情。他之所以这么做,就是为了让自己的计划变得更完美。在软件正式发布前,找出软件中26个潜在的问题,并将其纠正。而这正是对项目进行测试所要做的。在软件测试中,最根本的道理是要把软件的开发和软件的测试分离开来。而且,这一次的考核,也不可能一蹴而就。要为多个数据集输入信息。并确保所录入的资料有一定的典型性。只有这样,才能确保软件的精确度。
(1)用户注册测试
用户在注册的时候,要保证自己的账户的基本的信息是不能是空,因此,在注册的时候,要符合条件的情况下,才能进行注册。
(2)系统登录测试
在登陆的过程中,必须要保证输入的账号,密码,以及所选择的身份都是一致的,这样才能成功登陆。
表6-2系统登录测试用例
(3)租房测试
在租赁的时候未登录账号只能浏览不能点击,在登录之后的帐号才能点击租赁按钮。
(4)购房测试
在购房的时非登录用户不能购房,登录后的帐号才可以点击购房按钮。
表6-4用户购房测试用例
(5)管理员发布房屋资讯测试
管理员可以对网站的资讯进行发布和修改,测试用例如表6-5所示
(6)管理员管理房东测试
管理员可以添加、修改和删除房东信息,测试用例如表6-6所示。
(7)用户修改个人信息测试
用户注册后可以修改自己的信息,修改个人信息测试用例如表6-7所示
(8)管理员管理房屋类型测试
管理员在登录后可以进行房屋类型的添加和修改操作,测试用例如表6-8所示。
(9)管理员管理留言板测试
管理员可以修改和删除留言信息,测试用例如表6-9所示。
(10)用户发布测试
用户可以发布留言,如表6-10所示。
(11)房东管理出租房屋测试
房东可以对房屋信息进行编辑的操作,如表6-11所示。
(12)房东审核订单测试
房东可对用户的购买订单进行审核,测试用例如表6-11所示。
(13)房东管理出售房屋测试
房东可以对出售房屋信息进行增删改查的操作,测试用例如表6-11所示。
(14)管理员管理用户测试
管理员可以添加、修改和删除用户信息,测试用例如表6-14所示。
(15)用户个人中心测试
用户在登录后可以前往个人中心修改自己的信息,测试用例如表6-13所示。
后记
在经历了数月的努力之后,我们终于成功地开发出了一个房租管理系统。因为对房屋出租管理的要求不够精细,而且系统还有诸多的业务逻辑问题,一些特定的业务过程也有缺陷。此外,该系统的人性化设计、接口设计和代码的优化设计都有一定的缺陷。毕竟一个人的力量终究是有限的,需要不断地学习,不断地讨论,不断地研究。在设计与实施过程中,本人对房产出租管理、JFinal架构、MVC设计模型等有了较深的理解与理解。在进行系统的设计与生产前,必须做好各项工作。首先,我觉得我们需要先了解一下关于住房租赁的信息,了解一下开发工具,了解一下开发语言,了解一下主要的技术。并且能够为以后的系统设计与实施积累好有关的重要资讯。其次,要想实现一个符合使用者需要的软体,就需要对使用者的各种需要有一个清晰的认识。对用户需求的深刻理解是软件开发工作取得成功的前提,无论后期的设计和编程工作多么的完善,一个不能真正满足用户需求的程序,都会让用户感到失望。因此,在进行系统的设计与实施前,必须对其进行充分的需求分析。那么,我们就应当理顺自己的思想,按照规划一步步地走下去,决不能被搞得一团糟。别每一个模块都去一点一点的去完成,那样只能降低工作效率,最终会造成没有一个可以完成的。并且要按照软件的开发流程逐步进行。总之,我认为性格很重要。一篇论文。一个系统的设计和实现要经历以下几个步骤:问题定义、可行性研究、需求分析、粗略设计、详细设计、代码和单元测试、综合测试、最后的维护。每一个步骤都有每一个步骤的工作,在这个过程中,我们要有足够的耐心,一次又一次地将这些步骤做完。当然,在这个过程中,我们也会出现一些问题,但我们必须要有毅力,不能半途而废。
时间过得飞快,一眨眼的功夫,我的校园时光也即将走到尽头,心里说不出的不舍。在经历了一次艰苦的工作之后,我的本科学业已经接近尾声。回想起自己的大学生活,我不由得感慨,在这样一个美丽的校园,在这样一个知识渊博,多才多艺的师生之中,渡过了一段美好的青春岁月。无论是在学习上还是在生活上,我都取得了很大的进展。得到的不仅仅是自己的付出,更多的是来自于师长、同学和家人的帮助、关怀和鼓励。从这个项目中,我学到了很多东西,有些东西是从书上学到的,有些东西是从书上学到的,有些东西是从书上学不到的。我也学会了在面临困境的时候千万不要惊慌,要勇于去面对,去克服。在我在撰写论文的过程中,遇到了许多硬件和软件方面的问题。幸好指导老师一一向我解释,许多知识我在一开始都不太明白,幸好指导老师帮助我找到了有关的文献,让我对这些有了一个基本的认识。之后,在有了一定的基础之后,指导老师再对我进行总结,给我留下最深刻印象的是在学习JAVA的过程中,由于这是编程语言,它相对来说比较抽象,不容易理解。回忆起当初,我第一次拿到这篇论文的时候,是那样的茫然不知所措,根本不知从何着手。于是,我就向我的老师请教。那个时候,我的内心充满了忐忑不安,我不确定指导老师是否会给予我答案。最后,指导老师是一个很好的人,他很有耐心地向我进行了解释与分析,他还很有耐心地将这种程序语言转化成我能听得懂的方式,为我进行了详细的讲解,感谢那些曾经帮助过我的老师和同学们,感谢你们。要不是大家的帮忙,我是写不
1、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“文章版权申述”(推荐),也可以打举报电话:18735597641(电话支持时间:9:00-18:30)。
2、网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
3、本站所有内容均由合作方或网友投稿,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。
原创文章,作者:1158,如若转载,请注明出处:https://www.447766.cn/chachong/205339.html,