《基于JSP的房屋出租信息管理系统设计与实现.doc》由会员分享,可在线阅读,更多相关《基于JSP的房屋出租信息管理系统设计与实现.doc(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目 录第一章 引言11.1项目背景11.2 本项目研究的意义21.3本项目的研究内容2第二章 需求分析32.1功能分析32.1.1 用户用例图32.1.2 管理员用例图42.2 可行性分析42.2.1技术可行性52.2.2经济可行性52.2.3操作可行性5第三章 系统设计63.1总体设计63.1.2系统子模块功能介绍63.1.3前台设计63.1.3后台设计73.2 数据库需求分析83.3数据库概念设计93.4数据库逻辑结构设计10第四章 系统总体实现134.1前台首页展示134.2用户注册与登录144.3房源展示154.4后台管理展示174.5房源信息管理204.6我发布的租房信息21第五章
2、系统测试235.1测试的目的235.2系统测试的方法235.3测试结果235.4测试小结:26第六章 结论27参 考 文 献28致 谢29ii第一章 引言1.1项目背景中国经济体制下地少人多的现状以及城市人口的日益增多,导致了中国房价的急剧上升,居高不下的房价,导致了一些大中城市的租房、二手房行业成了一块肥肉。从而带动了房屋中介的发展,在繁忙的都市,紧张的生活节奏中,做大做强做好市场业务,无疑需要引进先进的信息管理技术,那么在信息化潮流下,房屋出租信息管理软件应运而生,肩负起历史时期的使命。对于房屋中介来说,大量复杂的房产、租金、合同信息难于通过传统的方法进行管理:对于租房者来说,大量复杂的房
3、产信息使他们感到迷茫。房屋的基本资料,客户资料的管理,房屋租赁管理,各项收费以及统计报表的管理,一般不允许出错,如果实行手工操作,须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行房屋租赁工作的管理,能够保证各项信息准确无误。房屋出租信息管理系统正是针对上述的问题而开发的,通过计算机系统来管理房屋出租情况,可以解决大量房产信息的查询和相关管理,同时也为租房者或买房者提供便利。更好的为顾客和商家着想,想他们之所需,实现顾客日常房产工作的整套流程,达到办公的一体化,提高他们的工作效率这样,使原本独立的房产信息、租房者需求信息、合同信息等资料流程。-26-1.2 本项目研究的意义房
4、屋出租信息管理软件正是针对上述的问题而开发的,通过计算机系统来管理房屋出租情况,可以解决大量房产信息的查询和相关管理,同时也为租房者或买房者提供便利,能够为操作人员和用户提供充足的信息和快速查询手段。这样,使原本独立的房产信息、租房者需求信息、合同信息等资料流程化。解决了物业管理企业在房屋租赁信息管理中的一些不规范,使房屋租赁信息的管理向着规范化、简单化、有效化的方向发展。1.3本项目的研究内容本课题根据大学所学的知识,采用B/S(浏览器/服务器)结构,运用 IntelliJ IDEA 2019.1.3 x64 作为开发工具,MySQL 5.7构建数据库,并在Windows环境下使用 JAVA
5、 语言,Spring+SpringMVC+Mybatis框架,Tomcat服务器开发的一个功能完善的基于web的租信息管理系统。整个系统的功能包括全局搜索房屋信息、多条件筛选房屋信息、显示房屋信息详情、房屋信息分页显示以及前台图片渲染的展示第二章 需求分析2.1功能分析房屋出租信息管理系统应该实现用户查找房源和浏览房源详细信息,所以把房屋出租信息管理系统分为前台展示功能模块和后台管理模块。前台展示:(1)首页展示:展示首页的房屋资源。(2)房源展示:展示数据库的所有房源。(3)房源收藏:用户在查找到喜欢的房屋时可以收藏喜欢的房屋类型。(4)房屋预订:用户在看到自己喜欢的房屋可以选择预订后台管理
6、:(5)用户信息管理模块:已经登录的符合权限的管理员可以在此模块中查看用户详细信息,联系方式等。(6)房源信息管理模块:已经登录的用户可以在此模块中查看房源信息,包括房屋的风格,采光,租金等信息。2.1.1 用户用例图用户是房屋出租系统主要使用对象,但用户的操作权限较低,拥有登录注册功能,房屋预订,房屋收藏等基础功能。图2-1用户用例图2.1.2 管理员用例图管理员拥有房屋出租系统的最高权限,拥有用户管理、房源信息管理、添加房源信息等权限。管理员通过用户登陆界面登录后台管理界面。图2-2管理员用例图2.2 可行性分析随着互联网的飞速发展,人们的生活的方方面面都使用互联网+的模式,传统的房屋出租
7、模式,存在工作量大,宣传力度小等等问题,因此采取互联网+模式迫在眉睫。房屋出租信息管理系统,用户足不出户提供很大方便,因此房屋管理系统是有市场需求的。2.2.1技术可行性从目前IT业界比较流行的数据库开发、管理软件来看,对于比较简单的中小型数据库,MySQL 5.7构建数据库无疑是在实际应用中较为成功的一种解决方案。为用户提供了业界软件开发一直坚持的非常友好、操作简单的用户界面、完善强大的数据库操作功能和简洁明了的数据库接口,所以技术实行起来相对会容易。2.2.2经济可行性本系统开发简单但要耗去一定的时间,所用的开发工具和软件都是免费的。而且,由于系统能够在未来较长的一段时期内稳定地发挥作用,
8、这对于房屋租赁信息的自动化管理,企业的人力和财力的管理都有很大的帮助。由此可见在开发此系统在经济上是完全可行的。2.2.3操作可行性如今的计算机已经走进千家万户,硬件成本的下降,导致计算机购买成本的降低.此系统是利用自己的计算机加IntelliJ IDEA 2019.1.3 x64作为软件的开发平台,对于比较简单的中小型数据库,目前IT业界比较流行的数据库开发、管理软件开发所用到的工具中的MySQL 5.7和IntelliJ IDEA 2019.1.3 x64,无疑是一种成功的解决方法。操作简单的用户界面、完善强大的数据库操作功能和简洁明了的数据库接口,无疑是开发一个简易系统的好的选择。所以技
9、术实行起来比较容易。使开发出来的系统有友好的用户界面、有良好的安全性设置、有详细的操作说明书,这样更使各类用户很快地掌握系统的使用方法,操作友好因此在操作上是可行的。第三章 系统设计3.1总体设计本系统一共分为前台和后台两大模块,两个模块之间虽然在表面上是相互独立的,但是在对数据库的访问上是紧密相连的,各个模块访问的是同一个数据库,只是所访问的表不同而己。每个模块的功能都是按照在调研中搜集的资料进行编排制作的。依据上述功能分析,系统在两个模块的基础上每一个模块又分为几个模块。3.1.2系统子模块功能介绍(1)登录模块:用户通过输入用户名和密码来登录系统,如果输入错误会返回登录界面,成功登录后用
10、户的登录信息会存储在浏览器中,系统会根据这些信息判断该用户的操作权限。(2)房屋管理模块:已经登录的符合要求的用户可以在此模块中查看房屋信息,也可以根据需要添加、修改、删除房屋信息。(3)房源展示模块:在后台添加过的房屋类型展现在首页,房屋风格。(4)房屋预订与收藏模块:用户在浏览到符合自己心意的房屋可以收藏与预订。(5)用户信息管理模块:已经登录的符合权限的管理员可以在此模块中查看用户详细信息,联系方式等。(6)房源信息管理模块:已经登录的用户可以在此模块中查看房源信息,包括房屋的风格,采光,租金等信息。3.1.3前台设计前台系统功能模块分为(1)首页展示:展示首页的房屋资源。(2)房源展示
11、:展示数据库的所有房源。(3)房源收藏:用户在查找到喜欢的房屋时可以收藏预定的房屋类型。(4)登录注册:用户在本平台登录注册自己的账号。图3-1前台功能模块图3.1.3后台设计后台系统功能模块分为(5)用户信息管理模块:已经登录的符合权限的管理员可以在此模块中查看用户详细信息,联系方式等。(6)房源信息管理模块:已经登录的用户可以在此模块中查看房源信息,包括房屋的风格,采光,租金等信息。图3-2后台功能模块图3.2 数据库需求分析在软件开发中,数据库设计是非常重要的,它不仅关系数据的操作速度,而且直接影响软件系统质量和生命周期。数据是一切系统设计基础,如果设计不合理,将会影响到系统的开发、甚至
12、系统维护、功能变更以及功能扩充等,严重时甚至要重新设计,重做大量完成的工作,因此需要重视数据库结构的设计。本系统数据库由5个数据表组成t_order(房屋类型表)用来存储管理房屋信息, t_house(房屋详情表)用来显示房屋详情的信息,可详细设计出各数据库对象,包括数据表和存储过程t_users(用户注册表)。用来保存用户的注册的用户名,密码等。t_admin(系统管理表)用来管理用户信息。Shoucang(房屋收藏表)用来收藏用户喜爱的房屋。3.3数据库概念设计房屋出租信息管理系统的数据库概念设计是基于需求分析之上的,在进行概念设计时应用实体关系图进行,在实体关系图中分为实体、属性以及实体
13、间的关系。通过对该图的分析,可以将房屋出租信息管理系统的功能理解得更加深刻,以便对数据库进行进一步设计。下面是该系统的实体关系图:(1)房屋类型实体属性 E-R 图,如图 3-1 所示。图 3-1 房屋类型实体属性 E-R 图(2)房屋详细实体属性 E-R 图,如图 3-2、3-3 所示。图 3-2 房屋详情实体属性 E-R 图图 3-3 房屋详情实体属性 E-R 图3.4数据库逻辑结构设计房屋出租信息管理系统数据表包括房屋类型表、房屋详情表、用户注册表、用户管理表、房屋收藏表,具体表结构如表3-1、表 3-2、表3-3、表3-4、表3-5。表3-1 房屋类型表描述中文名类型长度键id房屋编号
14、bigint10主键theirCommunity房屋区域varchar255cost房屋租金decimal10houseType房屋厅室varchar255rentingWay房屋出租方式varchar255direction房屋朝向varchar255finishStyle房屋装修风格varchar255表3-2 房屋详情表描述中文名数据类型长度键id房屋编号bigint10主键rentingHeadline房屋标题varchar255area面积decimal10rentingSource房源(1个人2中介)varchar255theirCommunity房屋区域varchar255cos
15、t房屋租金decimal10houseType房屋厅室varchar255rentingWay房屋出租方式bigint10direction房屋朝向varchar255finishStyle房屋装修风格(1整租 2单间出租)varchar255表3-3用户注册表描述中文名数据类型长度键ID用户idvarchar32主键NAME用户名varchar20PASSWORD用户密码varchar20表3-4系统管理表描述中文名数据类型长度键ID用户idint11主键NAME用户名varchar30PASSWORD用户密码varchar100表3-5房屋收藏表描述中文名数据类型长度键nam账号int10
16、主键Code账号信息编码varchar20第四章 系统总体实现4.1前台首页展示 首页主要是展示房源信息。可以根据需求全局搜索房屋信息、根据条件筛选房屋信息,条件可以是单筛选也可以是多筛选条件不限。显示效果如图所示:图 4-1 首页面if(ac.equals(adminlogin) String username = request.getParameter(username);String password = request.getParameter(pwd);String utype = request.getParameter(cx);String pagerandom = reque
17、st.getParameter(pagerandom)=null?:request.getParameter(pagerandom 4.2用户注册与登录用户可以通过登录注册来收藏心仪房屋的类型项目发布后在浏览器搜索 http:/localhost:8080/ssm_houserentalsystem/页面会跳转到webapp目录下的index.jsp页面并发送index.action请求,未登录的用户会再发送一个login.action请求并跳转到login.jsp页面图4-2注册页面if(ac.equals(adminlogin) String username = request.getP
18、arameter(username);String password = request.getParameter(pwd);String utype = request.getParameter(cx);String pagerandom = request.getParameter(pagerandom)=null?:request.getParameter(pagerandom);如果未输入用户名/密码,或输入的用户名/密码不正确,点击登录按钮后会给出出错提示,提醒重新登录。如图:图4-3登录页面lserequest.setAttribute(error, );/否则给出错误提示go(/
19、index.jsp, request, response); 成功登录的用户会进入系统欢迎界面,整个界面是借助Tiles的帮助完成的,它让系统可以在执行不同的请求后只让页面的主题部分跳转,而网页的头、导航栏、尾部不跳转,节省了大量重复书写代码带来的开销(3)房源展示和收藏,用户可以根据自己喜好收藏自己喜欢的房屋。4.3房源展示图4-4房源展示页面public String toUpdatePage(int hID,HttpServletRequest request) House house = dao.findHouseDetailsById(hID);request.getSession(
20、).setAttribute(House, house);return updatehouse.jsp;4.3.1房源收藏图4-5房源收藏页面Overridepublic Users checkOldPwd(Users users) return mapper.checkOldPwd(users);Overridepublic int updateUser(Users users) / TODO Auto-generated method stubreturn mapper.updateUser(users);4.3.2房屋预定如需预订房屋可以通过该操作来执行图4-6房屋预定页面respons
21、e.setCharacterEncoding(utf-8);String url = request.getRequestURL().toString();if (url.indexOf(toIndexPage) = 0 | url.indexOf(login) = 0 | url.indexOf(regist) = 0| url.indexOf(toDetailsPage) = 0 | url.indexOf(findHouseByLike) = 0| url.indexOf(findHousrOrderByAsc) = 0 | url.indexOf(findHousrOrderByDes
22、c) = 0| url.indexOf(toAdminLogin) = 0|url.indexOf(adminAccess)=0) 4.4后台管理展示后台户主可以根据需求来完成相对应的操作,具体功能有信息管理、房源信息、添加房源信息、我发布的信息管理。(1)用户信息管理可以记录房子的出租情况,房客租赁情况,我的收藏、修改我的个人信息我的密码等操作。显示效果如图所示:图 4-7用户信息管理页面 public interface AdminMapper * 管理员登录public Admin adminAccess(Admin admin); * 查询所有用户public List findAll
23、User(); * 查询所有房源信息public List findAllHouse(Page page);public int deleteHouse(int hID);图4-8修改个人信息页面public Users findUserById(int uID); * 管理员更新普通用户信息public int updateUser(Users users);图4-9修改密码页面public int regist(Users user);/* * 修改密码 * returnpublic int updateUser(Users users); * 检查旧密码 * param users *
24、returnpublic Users checkOldPwd(Users users);public int deleteUser(int uID);图4-10房屋记录页面public void setuID(int uID) this.uID = uID;public String getuName() return uName;public void setuName(String uName) this.uName = uName;4.5房源信息管理管理员用户通过后台可以实现发布房源信息以及查看我发布的房源信息。实现界面如图所示4.5.1发布的租房信息图4-11发布房源信息页面publi
25、c int addNewHouse(House house); * 查询用户发布的房源信息 * param users * returnpublic List findHouseByUser(Page page);4.6我发布的租房信息图4-12查看发布的信息页面public List findHouseOrderByAsc();public House(int hID, String houseDesc, String houseModel, String houseArea, String houseFloor, String houseType,int housePrice, Strin
26、g houseAddress, String houseImage, String communityName, String houseLinkMan,String houseOriented, String houseDetailsImg, String publisher, Date publishTime, int uId) super();/* *用户发布的房源状态public int updateHouseStatus(int hstatus);第五章 系统测试5.1测试的目的软件测试的目的是,在系统开发的过程中,尽可能的发现并解决系统和程序中的错误、缺陷以及功能不完善之处,包括对
27、系统基本功能、运行效率、可靠性等方面进行测试,并加以纠正,以保证系统产品的最终质量。系统测试包括硬件的测试、网络测试和软件测试。5.2系统测试的方法黑盒测试:又被称为功能测试,是通过使用整个软件或某种软件功能来严格地测试, 没有通过检查程序的源代码或者清楚地了解该软件的源代码程序具体是怎样设计和实现的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。白盒测试:也可称为结构测试。通过程序的源代码进行测试,不使用用户界面。依据程序内部逻辑结构,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。这种类型的测试需要从代码句法
28、发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。采用黑盒测试方法。对功能进行逐一测试,在输入合理及不合理的数据后测试系统的正常运作情况。5.3测试结果实现了所有模块的功能,修正了已经发现的所有问题、错误。但系统还有许多不完善的地方,有待实践阶段的检验和提高。以下是本次测试中的部分测试用例。(1)系统登录测试用例编号模块名称测试数据预期结果实际结果是否通过1用户登录用户名:llf密码:971695556登录成功登录成功是2用户登录用户名:llf密码:97169登录失败登录失败是3用户登录用户名:llf密码:971695556登录失败登录失败是4管理员登录用户名:admin
29、密码:admin登录成功登录成功是5管理员登录用户名:admin密码:adm登录失败登录失败是6管理员登录用户名:Admi密码:admin登录失败登录失败是(2)系统注册测试用例编号模块名称测试数据预期结果实际结果是否通过1用户注册添加张三成功成功是2用户注册添加张三失败失败是3用户注册添加李四成功成功是(3)房屋收藏测试用例编号模块名称测试数据预期结果实际结果是否通过1房屋收藏收藏张三添加成功成功是2房屋收藏收藏张三添加失败失败是3房屋收藏收藏李四添加成功成功是(4)房屋预订测试用例编号模块名称测试数据预期结果实际结果是否通过1房屋预订预订张三添加成功成功是2房屋预订预订张三添加失败失败是3
30、房屋预订预订李四添加成功成功是(5)后台修改密码测试用例编号模块名称测试数据预期结果实际结果是否通过1修改密码输入新密码:LLF输入旧密码:llf修改成功成功是2修改密码输入新密码:asdLLF输入旧密码:qwellf修改失败失败是3修改密码输入新密码:123LLF输入旧密码:llf添加成功成功是(5)发布房源信息测试用例编号模块名称测试数据预期结果实际结果是否通过1发布房源信息发布张三发布成功成功是2发布房源信息发布张三发布失败失败是3发布房源信息发布李四发布成功成功是5.4测试小结:本次测试周期总计耗时为20天,历经测试数十次,测试了登录模块、注册功能模块等八个功能模块,测试过程中发现了b
31、ug产生的原因有环境问题、数据问题、代码问题等多种类型问题。并且在后期修改中将其逐步解决,最终测试通过,并运行流畅多方面的功能测试,测试结果符合预期,基于Web的房屋出租信息管理系统基本上满足功能。第六章 结论首先介绍了房屋出租信息管理系统以及系统的研究意义,对本系统的开发工具和相关技术做出了阐明和分析;然后分析了房屋出租信息管理系统的可行性和对整个系统做出了分析设计,其中包括了数据库设计中,阐明了数据库E-R模型、逻辑模型、数据库表的设计过程和逻辑:在功能模块的实现中,分别阐明了查找房源、筛选房源和房源详细信息分页管理模快三大模块。同时通过系统的测试表,得出该系统的可行性强,可靠性和效率双收
32、的趋势。继而分析到社会的缺点和需求。 此系统对于租房客户、屋房东以及中介服务人员来说,既节约了时间又节省了人力物力带来了极大的方便。在开发过程中在租房途径上还是欠缺考虑,在日后的改进中还有待进步和加强。参 考 文 献1 郑志武.基于任务驱动模式的网页设计教程M.西安:西安电子科技大学出版社,2014.82 周海珍.基于任务驱动模式的软件工程与UML建模技术M.西安:西安电子大学出版社,2015.63 苏秀芝.数据应用开发基础M.西北:西北工业大学出版社,2016.84 刘群.基于任务驱动模式的JavaScript程序设计案例教程M.西安:西安电子科技大学出版社,2015.25 左国才.基于任务
33、驱动模式的oracle大型数据库案例教程M.重庆:重庆大学出版社,2016.76 董海峰.基于任务驱动模式的Java程序设计M.西安:西安电子科技大学出版社,2015.27 谢钟扬.Web应用与开发M.西安:西安工业大学出版社,2019.78 马庆.基于任务驱动模式的JSP程序设计教程M.西安:西安电子大学出版社,2018.8致 谢毕业设计已经临近尾声了,意味着大学三年的时光也即将结束了,大学时光很短暂也很美好,三个春夏秋冬一晃而过。尚未佩妥剑,转眼便江湖。在毕业设计期间,我觉得我收获了很多,我学会了很多做人、做事、做学问的道理。本课题在选题及研究过程中的到了老师的细心指导。老师多次询问进程,并为我指点迷津,帮助我开拓思路,精心点拨。老师一丝不苟的作风,严谨求实的态度,踏踏实实的精神,不仅授我以文,而且教我做人,虽历时三载,却给以终生受益无穷之道。对王老师的感激之情无法用言语来表达。在此我也要感谢我的辅导员和所有的任课老师,你们无私的奉献精神和爱岗敬业的治学态度让我受益匪浅。同时也感谢我的各位同学,是你们的无私帮助让我感受到校园的温暖,在我毕业设计写作的过程中,多位同学为我提供了信息支持,在此一并表示感谢。最后感谢学校为我提供了宝贵的学习机会,使我走上一个新的平台,开始新的人生!
限制150内