《基于SSM的分时租房管理系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于SSM的分时租房管理系统的设计与实现.doc(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、摘 要我国交通逐渐完善,旅游业发展愈发成熟,我国出差白领和旅游者等人群擢发难数,这类人群对泊点周边分时短时等租房需求越来越多。而相对于传统的租房管理方式往往会出现浪费人力、数据错漏等不足,因此,随着我国全面进入“互联网+”时代,结合互联网科技开发一套针对泊点周边分时租房的管理系统有着积极的发展意义。本论文阐述了基于SSM的分时租房管理系统的完整开发过程。前期进行课题背景研究,中期通过可行性研究和需求分析等确定开发技术和意义。随后对系统架构、系统功能模块、数据库表等方面进行设计后。最后实现了一款选用B/S结构模式、SSM框架、Tomcat服务器、Oracle数据库的高通用性的符合房东管理员管理和
2、租客租房业务的高效便捷系统。关键词:B/S结构模式;分时租房;泊点租房;SSM框架AbstractTraffic in our country gradually perfect, the tourism development of increasingly mature, white-collar workers and tourists crowd too numerous to count on business in our country, this kind of crowd of mooring point around the time-sharing short-term
3、rental demand more and more rent and compared with traditional management way often there will be a waste of human error, data, etc, therefore, with the full access to the Internet + era, combined with the Internet technology to develop a set of management system for mooring point surrounding time-s
4、haring rent is of positive significance this paper expounds the development of timeshare rental management system based on SSM complete development process In the early stage, I conducted research on the subject background, and in the middle stage, I determined the development technology and signifi
5、cance through feasibility study and demand analysis, and then I designed the database table of system function modules of the system architectureThis paper describes the ssm-based timeshare management system development process.In the early stage, the background research is carried out, and in the m
6、iddle stage, the development technology and significance are determined through feasibility study and demand analysis.Then the system architecture, system function modules, database tables and other aspects of the design.Finally, an efficient and convenient system with B/S structure mode, SSM framew
7、ork, Tomcat server and Oracle database is implemented, which is in line with the landlord administrators management and tenants rental business.Key words: B/S; Time-Sharing Rental; Mooring points; SSM framework目 录第一章 绪论11.1 研究背景及意义11.2 研究现状1第二章 可行性研究与需求分析32.1可行性分析32.1.1 技术可行性分析32.1.2 经济可行性分析32.1.3 操
8、作可行性分析42.2 系统功能模块分析42.2.1 前台系统功能模块分析42.2.2 后台管理系统功能分析52.3 数据库需求分析5第三章 开发环境及开发技术73.1 开发环境73.1.1 硬件平台与软件平台73.1.2 开发工具IntelliJ IDEA73.1.3 后台服务器Tomcat973.2 开发技术介绍83.2.1 B/S结构模式83.2.2 JSP技术83.2.3 Maven技术83.2.4 Spring技术93.2.5 SpringMVC技术93.2.6 MyBatis技术93.2.7 Datetimepicker.js技术103.3 本章小结10第四章 系统总体设计114.1
9、 系统架构模式设计114.2 系统功能模块设计114.2.1 前台系统功能模块设计114.2.2 后台管理系统功能模块设计124.3 数据库设计144.3.1 概念模型设计144.3.2 逻辑模型设计184.4 本章小结19第五章 系统实现215.1 部分功能代码215.1.1 前端代码215.1.2 算法代码225.2 系统实现展示235.2.1 登录注册功能展示235.2.2 前台实现展示255.2.3 后台管理系统实现展示275.3 本章小结29第六章 总结与展望306.1 总结306.2 展望31参 考 文 献32致 谢33广东东软学院本科毕业设计(论文)第一章 绪论1.1 研究背景及
10、意义随着中国社会建设的飞速发展,我国经济飞速发展离不开交通建设日益完善,如中国高铁技术世界排名前三、高铁总长度世界第一、高速公路总里程世界第一等都反应了我国在交通方面完善。我国人口多、交通方便时效快、经济贸易自由和民生质量提高等因素,人们的生活节奏越来越快,人群的流动有着:人群流动数量大、范围广、速度快三个特点。随着旅游业的迅速发展,各个城市之间的人口流动越来越频繁1,带动了房屋租赁市场,承租群体不断扩大2。而出差白领、业务员、旅游者等人士千千万万使用火车、飞机、游轮,所以交通泊点周边人口密集人流量多,而这类人士往往外出有着更加灵活的时间计划或临时计划,因此传统的酒店宾馆服务对于这群需要短时分
11、时房间需求的人士来说,酒店宾馆一天的房租费用相对高昂性价比低,因此往往会打消他们的消费念头。而分时租房就有着灵活的时间安排,可以按时收费,有着灵活便宜实惠的优点,因此在交通泊点周边有着很大分时租房需求。当下互联网普及全民化的今天,大力推测“互联网+”发展,“互联网+”。因此将传统行业的房屋租赁与“互联网+”结合起来具有巨大的市场空间3。同时人们也越来越重视运用计算机手机等工具进行信息管理,提高工作效率。当分时租房信息量越来越大,业务越来越多,房间信息越来越多时,管理人员处理业务订单枯燥繁重,因此现在住宿行业都有着自己的互联网后台管理系统,而对于分时租房这个行业就需要一款专门的分时租房管理系统来
12、承担起了提高工作效率这个工具角色。有了管理系统,相关管理人士就能直接通过管理系统能将信息可视化,简单轻巧高效率地管理整个租房业务。1.2 研究现状近些年来,我国经济稳定发展同时,各个行业也悄然成长中,而在成熟的行业中,逐渐衍生出“分时租赁”业务,该业务也有着不错的市场。如为了满足用车需求并更加环保有了新能源汽车分时租赁,国内王秀旭4就为了该行业的企业提供了分时租赁管理平台设计建设方案;另外为了满足更多电动汽车“加油”,有了充电桩分时租赁,国内的宋家来5就为了解决充电桩分时租赁业务的不足做了面向分时租赁的智能充电桩控制系统的研究,加入了互联网物联网技术,使其更加智能。因此可以看出伴随我国互联网发
13、展迅速,每个成功的公司或产业结合着互联网,互联网能更全面的拓展业务,如分时租赁业务。因为当下互联网的广泛普及和应用以及整个互联网信息技术大大提升,生活中每一个角落都有着互联网的痕迹,人们可以借助互联网查询、办公、娱乐,极大丰富了人们的生活。我国有着不错的租房分时租赁市场,当租房行业衍生分时租房业务并结合互联网时,需要互联网管理系统或平台就成为了一种必然趋势。在住宿服务业未使用互联网管理系统进行业务管理前,无论是前台还是房东,都只能通过手账方式去进行信息的管理,通过多种纸介去进行订单信息的核实检查,甚至订房时需要实地去查看。当信息量业务多时,这些操作不仅繁琐笨重,而且不利于对信息的管理,如:出现
14、信息的错填、遗漏、查询慢等问题,对整个业务管理不够规范,效率低下。因此同为住宿服务行业的分时租房也需要一套互联网的分时租房管理系统。在国外,由于他们有着更长的互联网发展历史,很多行业都与互联网相结合,早已融合到他们的日常生活中。国外的互联网管理系统也早已普及。相对于国外而言,虽然我国互联网信息化发展时间短,但得益于我国重视计算机互联网等人员高质量培养,我国互联网信息技术发展迅猛,因此分时租房这个新兴产业需要跟上步伐,拥有一套分时租房管理系统。第二章 可行性研究与需求分析2.1可行性分析2.1.1 技术可行性分析(1) 硬件可行性分析由于该项目是B/S结构模式的Web项目,整个系统运行无需占用太
15、多的电脑硬件资源,系统在不需要硬件有高端的硬件配置要求,所以用户电脑上只需要有网络和一款浏览器就流畅稳定地使用系统工作。(2) 软件可行性分析在这次系统开发中,主要运用到技术的JSP动态页面技术和SSM框架整合开发,从JSP角度看,JSP有着性能强、拓展性好、可跨平台等优点。开发过程中使用框架,因为在项目的服务器端,需要的知识和内容很多,往往开发人员很难全面涉及了解。而在技术的某些方面使用市面流行的框架等同于使用直接使用别人的代码去实现业务功能,而且市面流行的框架一般都是经过多数人使用,有着结构好,拓展性好等优点。而这次框架的选用上使用了Spring+Mybatis两个开源且成熟的框架整合而成
16、的SSM框架。市面上企业级的SSM框架项目有着不错的表现,SSM是轻量级并且应用较多的一种组合框架,好多中小型企业的门户网站、政府网站、金融项目都是基于SSM架构开发的6,通过SSM框架开发项目,可以使开发人员提高开发效率,是整个项目的业务逻辑更加清晰,也提升了未来的维护和再次开发拓展,并且在当今想毕业后想进入一家公司,掌握SSM框架是最基本的条件,因此选用SSM框架对于本课题设计与开发有一定的意义。除了以上两种技术,还使用了Tomcat服务器、Oracle数据库等技术,这些技术都是各自领域中的顶尖技术。因此,从硬件和软件两个方面分析,该项目的技术可行性都是具有一定的可行性。2.1.2 经济可
17、行性分析本次系统开发的是B/S模式结构Web项目,开发过程是使用开源免费的SSM框架,降低了开发成本。得益于B/S模式结构系统只需要在普通的计算机浏览器上就能保证稳定运行,日后业务拓展进行系统维护和升级仅需要对服务端进行操作,极大的减少了项目投入使用的维护和升级成本。当今现代人几乎都有电脑和网络,用户只需要在已有网络的电脑上安装浏览器即可使用该系统。因此初期不仅仅不需要什么成本还能节约人力达到降级整体经济成本。所以该系统的开发具有一定的经济可行性。2.1.3 操作可行性分析随着互联网时代的发展广泛普及化,各行各业都离不开计算机。对于中国大多数平民百姓都会使用计算机和使用浏览器。系统开发中,对操
18、作上追求简单明了,目的用户仅需要一台可以上网的普通计算机上对业务管理工作简单易操作效率高。因此对于租客而言基本能顺利完成租房业务,如账号注册登陆,搜索房间,填写租房信息等;对于房东而言,房东都已具备业务能力,再会基本计算机操作即能完成管理业务,如发布房间、审核订单等;而对于系统管理员而言,都会具备管理系统和网络知识,所以管理员只需短时间熟悉业务需求即可上手管理。并且如果当用户不会使用,都能通过系统的联系方式联系技术人员,技术人员提供教学。所以该系统的开发具有一定的操作可行性。2.2 系统功能模块分析为了更加了解管理系统的开发方向,明确系统拥有的功能,降低开发成本和提高开发效率,需要对系统的功能
19、做一个需求分析。在整个分时租房业务中主要有3个角色,分别为:租客、房东和管理员。对于分时租房管理系统而言,最主要功能就是管理分时租房业务产生的信息的功能,为了使该分时租房管理系统有着更好地市场使用可行性,还需要为租客开发一个前台系统。2.2.1 前台系统功能模块分析一个成熟的分时租房住宿服务行业在互联网业务上都会有前台系统,有了前台系统,租客才能直接在互联网上直接进行租房操作,这也是分时租房开启互联网业务的出发点。同时有了前台系统,后台管理系统管理处理的信息才能更好地展现,现实中前后台系统相辅相成,互相依赖,而在本次课题项目中,前台系统主要是突出管理系统的对于互联网业务的重要性。前台系统的功能
20、模块分析如下:(1) 租客租房模块:1) 租客登录、注册。2) 实名信息:实名信息添加、修改等业务。3) 订单:查询生成的租房订单,对订单进行修改操作。4) 房间预订:租客填写租房信息预订房间,生成租房订单信息。(2) 房间展示模块:1) 房间展示:展示房东发布的房间信息。2) 房间搜索:条件筛选搜索房间,列表添加筛选搜索房间。3) 房间预订:租客租房提供表单,获取租房信息,生成租房订单信息。前台系统的功能模块流程如图3-2:2.2.2 后台管理系统功能分析实际开发中,后台管理系统往往会根据前台系统的业务需求进行开发,到前台系统的数据信息得到规范安全高效地管理处理。根据分时租房的业务需求,后台
21、管理系统功能模块分为:房东管理模块和管理员管理模块,前者主要用于房东通过系统简单的操作对租房业务的房间和订单进行处理;后者主要用于管理员通过系统对整个业务的管理。本次后台管理系统的功能模块分析如下:1) 房东注册、登录。2) 房间管理:对房间进行如发布、上下架、条件搜索等业务管理。3) 订单管理:订单条件查询、进行如订单审核等业务管理。(2) 管理员管理模块:1) 管理员注册、登录。2) 租客管理:对租客进行如账号冻结、实名信息查询等业务管理。3) 房东管理:对房东进行如条件搜索、账号冻结等业务管理。4) 房间管理:对房间进行如条件搜索、上下架等业务管理。2.3 数据库需求分析为了满足整个系统
22、的开发过程中,对数据库的前期分析是尤为重要,根据分时租房业务功能需求进行数据库表、序列等分析,并最终选用了Oracle数据库和SQL Developer可视化工具进行数据的储存管理,并分析了最重要的数据库表,需求如下:(1) 租客表:对应POJO中的Renter类,存储租客ID,登录名,密码等基本信息,用于登录注册验证,租房等业务;(2) 实名信息表:对应POJO中的RenterInfo类,存储租客的实名信息;(3) 房东表:对应POJO中的Owner类,存储房东ID,登录名,密码,拥有的房间编号等,用于房东登录后台进行房间管理和订单管理等;(4) 房间表:对应POJO中的Room类,存储房间
23、的相关信息;(5) 订单表:对应POJO中的Order类,存储订单信息;(6) 管理员表:对应POJO中的Admin类,存储管理员ID,登录名,密码等基本信息。第三章 开发环境及开发技术3.1 开发环境本文的课题内容是基于SSM的分时租房管理系统的设计与实现,所以本次课题主要是以软件环境运行,对于硬件方面要求不会很高。3.1.1 硬件平台与软件平台处理器:Intel(R)Core(TM) i5-6300HQ 2.30GHz 2.30GHz安装内存(RAM):12.0 GB操作系统:Windows 10 64位操作系统;数据库:Oracle 11g,SQL Developer;开发工具;Inte
24、lliJ IDEA;JSP服务器:Tomcat 9.0.30;Java环境:JDK 1.8;浏览器:Google Chrome;3.1.2 开发工具IntelliJ IDEAIDEA全称IntelliJ IDEA。IDEA是Java编程语言开发的集成环境,也是号称最智能的Java开发工具7。本课题是基于SSM的Web应用开发,主要代码语言为Java,选用了Tomcat后台服务器,目前IDEA整合了Tomcat、Resin、JBoss、Weblogic等,所以在IDEA下,可以快速启动这些应用服务器并进行应用调试,打包也非常便捷7。所以IDEA在本次开发中起到重大的作用。除了基本的智能代码助理、
25、代码自动提示、重构等,让我使用IDEA的主要有两点:IDEA支持插件,如通过安装Lombok插件可以直接对类使用注释,提高效率;对于被称为“配置地狱”的SSM框架来说,IDEA对JSP,XML的完美支持,这可以让我在开发中及时发现错误。3.1.3 后台服务器Tomcat9在网站的日常开发和调试中或项目需要访问人数较小时,Tomcat8作为一款Web轻量级应用服务器往往会会是程序员的首选服务器9。Tomcat拥有免费的、性能稳定、社区开放等优点,且先进的软件技术足够支持本次课题内容设计开发,因此Tomcat成为本课题的首选服务器。3.2 开发技术介绍3.2.1 B/S结构模式B/S结构,即Bro
26、wser/Server结构,是基于Internet环境的信息系统,采用了标准的TCP/IP协议,以Web为平台形成的。B/S结构分为三个层次:客户机、Web服务器、数据服务器。B/S结构是对C/S结构的一种变化和改进10。在管理系统开发中,绝大部分人都会选择用B/S结构模式。因为相对于C/S模式,B/S模式也是基于Java语言,能够承载高并发、高可用、高性能三高所带来的影响。B/S模式的主要逻辑业务在Server上,并且,随着未来的发展趋势,会出现更多互联网智能设备,而在Server上计算处理业务可以减少程序在设备上的负荷,对于用户层面而言,B/S模式更注重通用性10,用户使用程序无需安装软件
27、客户端,只需要安装一款浏览器就可以进入服务端使用系统进行管理。而且B/S模式直接发布在广域网上,用于无论在哪,只需要有网有设备有浏览器就可以操作,使工作效率更加高效便捷简单。3.2.2 JSP技术JSP是由Sun公司倡导,许多公司参与一起建立的动态网页技术标准。在Java基础上开发出的JSP对动态网页与静态页面进行了分离从而实现了对硬件平台摆脱绑定,先编译后运行等方式极大提升了运行效率。JSP页面由HTML代码和Java代码组合而成,其中Java代码主要作用是处理视图表示逻辑,可以理解为页面中的Servlet,将Servlet中在表示逻辑分离出来。因此该技术逐渐成为因特网上的主流开发工具11。
28、除了JSP,还有ASP.NET和PHP等动态网页技术,而这三种技术中,大多数世界成功企业都会采用JSP/Servlet。因为三者比较中,前者有着性能强:执行速度快;兼容性强,几乎所有平台支持;拓展性强等特点。3.2.3 Maven技术Maven12是一种Java技术, 是Ant的进化, 提供了一套软件项目管理的综合性方案。无论是编译, 发布, 文档还是团队协作。 Maven提供了必要的抽象, 它鼓励重用, 并做了除了软件构建以外的许多工作12。在JavaWeb开发中,需要使用到大量的jar包,如果没有使用Maven,程序员需要手动去导入,而诸多jar中存在着各种依赖关系,缺少一个依赖包或版本不
29、兼容等问题,往往都会导致程序无法运行起来。而且当每一个项目都导入jar包是,不同项目组重复一样的jar包会十分浪费程序员宝贵的电脑储存资源。Maven技术就充当了jar包的管理员身份,Maven会创建一个仓库,Maven项目通过pom.xml配置,统一到仓库中自动导入,它可以完成对项目所依赖的jar包进行有效的管理13。Maven自动导入过程中识别并且导入相关的依赖包,保留最基本的依赖,避免过多重复的jar包。除了避免人工导入jar包和遗漏依赖包等因素,方便小组开发,保证开发者项目的jar包顺利完成版本升级达到版本一致。3.2.4 Spring技术Spring是一个开源轻量级的、非入侵式的控制
30、反转(IoC)和面向切面(AOP)的容器框架14。Spring作为Java应用最广泛的框架它的两大核心是IoC和AOP。控制反转Ioc是一种设计思想,本质就是获得依赖对象的方式反转,将对象的创建转移到给第三方;AOP即通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术,利用AOP可以对不同业务逻辑部分抽离开来。Spring提供的控制反转和面向切面编程模块化架构降低了应用组件之间的耦合15。提高可重用性,提高程序的开发效率。3.2.5 SpringMVC技术SpringMVC是Spring Framework的一部分,因此和Spring兼容性好,易于同其它视图框架无缝集成, 采用控制
31、反转便于测试, 框架简单便于开发16,是基于Java实现MVC的轻量级Web框架,同时它也是一种高度可配置的MVC框架17。SpringMVC框架和其他大多数MVC框架一样,都是以请求为驱动,围绕一个Servlet分派请求和提供其他功能。SpringMVC运行原理如图2-1:图2-1 SpringMVC运行原理3.2.6 MyBatis技术MyBatis 是一款优秀的持久层开源框架,一个半自动化的ORM框架 (Object Relationship Mapping)。MyBatis框架主要包含DAO组件与SQL Map组件两大类17,可以自动化完成几乎所有的JDBC代码和需要手动设置参数以及获
32、取结果集的过程。开发中,往往会遇到很多重复的数据库语句(sql)或需要业务逻辑的数据库语句时,Mybatis提供xml标签,搭配Mapper使用,编写动态数据库语句就能轻松解决重复性和特殊业务逻辑等问题。而且不论是注解sql开发还是配置开发,都能极大的便于数据库语句的统一管理和优化,只需要改变数据库语句就可以满足对数据库的所有操作,解除程序代码和数据库语句的耦合,使整个项目逻辑更加清晰。3.2.7 Datetimepicker.js技术在网页前端开发中需要时间或时间范围选择是,往往会想到JQuery UI Datepicker日期选择插件,但是不能选择时间(小时分钟秒),只能精确到年月日。而D
33、atetimpicker.js就是基于JQuery UI Datepicker的一款可选时间插件,当开发者插入该插件时,可以得到完整的输入框,得到准确的时间年月日时分秒。3.3 本章小结本章节主要是通过本课题的开发环境和开发技术两大方面去介绍,前者介绍了硬件设备和开发工具IDEA、服务器Tomcat和数据库Oracle等软件环境的选择。后者介绍了B/S结构模式、JSP、SSM整合框架等技术,更好地了解每个技术在该课题中的特点与用处。第四章 系统总体设计4.1 系统架构模式设计在Web应用开发中,为了设计出内聚性高,耦合度低等优点的软件经常会使用分层架构开发,MVC就是其中一种经典的分层架构模式
34、,它可以使系统的输入、处理和输出抽离分开,把系统分为三层:模型(Model)、视图(View)、控制器(Controller)。它使程序结构更加清晰,并增强代码稳定性18。随着互联网技术的进步,MVC设计模型从JSP Model1的JSP+JavaBean改进成加入了Servlet作为控制器专注处理业务流程的控制,也就是经典的MVC模型JSP Model2。而项目业务流程逐渐复杂,需要数据库支持,加入了DAO层和Service层组成视图层(View),业务层(Service),持久层(DAO层)三层架构,采用了SSM框架,其中SpringMVC是一款基于Model2的MVC框架。最终确认系统架
35、构后进行整合为:(1) DAO层使用Mybatis,负责与数据库进行租房业务相关数据存取。设计首先设计持久层接口,然后通过Spring的配置文件中配置数据库连接参数和定义持久层接口的实体类。(2) Service层使用Spring,作为一个容器框架,管理业务需要的实体类,负责系统的租房业务与角色业务。首先设计接口即Impl,然后再Spring中配置或直接用注释其实现的关联,实现程序调用接口进行业务处理。(3) Controller层使用了SpringMVC,负责具体的业务功能模块流程的控制。控制的配置同样在Spring配置文件中,正对不同的业务流程会有不同的控制器。(4) View层使用了JS
36、P动态网页技术,与Controller层协同,负责为浏览器提供界面,与用户进行交互。4.2 系统功能模块设计系统分成两大前台系统与后台管理系统进行设计。4.2.1 前台系统功能模块设计前台主要功能是租客租房业务,因此前台分成以下三大模块:租客注册登录模块、租客个人中心模块、预订房间模块。再将该三大模块细分为以下子功能如图4-1:图4-1 前台功能模块设计图前台详细功能描述如下表:表4.1 前台详细功能描述表模块功能简要描述租客注册登录模块租客注册租客填写基本信息注册账号。租客登录租客填写账号密码检验登录账号。租客个人中心模块实名信息添加租客填写添加实名信息。实名信息删除租客删除现有实名信息。实
37、名信息编辑租客编辑现有实名信息。已有订单处理租客查看订单信息,修改订单信息预订房间模块房间搜索租客输入房间名、地址等信息搜索房间,并返回房间信息进行展示。房间预订租客填写租房时间、备注等信息进行预订房间,并生成订单。4.2.2 后台管理系统功能模块设计后台的主要操作用户是房东和管理员,主要功能是满足房东和管理员进行租客分时租房业务的管理。因此将后台管理系统分成后台登录注册模块、用户管理模块、房间管理模块、订单管理。再将该四大模块细分成以下子功能如图4-2:图4-2 后台功能模块设计图后台详细功能描述表:表4.2 后台详细功能描述表模块功能简要描述后台登录注册模块房东注册登录房东填写基本信息注册
38、账号;房东填写账号密码检验登录账号。管理员注册登录管理员填写基本信息注册账号;管理员填写账号密码检验登录账号。用户管理模块用户新增新增租客、房东用户账号用户信息修改修改租客、房东、管理员用户信息,冻结激活用户账号状态。用户查询查询用户及用户信息。用户删除管理员删除租客、房东用户账号。房间管理模块房间搜索用户输入房间名、地址等信息搜索房间,并返回房间信息进行展示。房间新增用户填写房间信息生成房间,供前台租客租房。房间删除用户删除房间。房间信息编辑用户进行房间名、地址、单价等信息进行编辑,冻结激活房间状态。供前台展示。订单管理订单查询用户根据不同条件查询订单。订单审核用户对订单进行信息审核,并修改
39、订单状态。换房功能用户对该订单进行换房操作。4.3 数据库设计4.3.1 概念模型设计概念模型设计通常是想现实中的事物抽象成实体,用E-R图来表示。该系统设计有以下实体:租客实体、租客实名信息实体、房东实体、房间实体、订单实体、管理员实体。租客实体属性有:租客ID、租客用户名、租客密码、租客状态。如图4-3:图4-3 租客实体属性图租客实名信息实体属性有:租客ID、信息编号、真实姓名、性别、年龄等。如图4-4:图4-4 租客实名信息实体属性图房东实体属性如图4-5:图4-5 房东实体属性图房间实体属性如图4-6:图4-6 房间实体属性图订单实体属性如图4-7:图4-7 订单实体属性图管理员实体
40、属性如图4-8:图4-8 管理员实体属性图在该系统中,各个实体之间的联系如下:某个租客拥有多份实名信息,一份实名信息对应某个租客,租客与实名信息一对多联系;某份实名信息对应多张订单,某张订单对应一份实名信息,实名信息与订单一对多联系;一个租客可以租多个房间,一个房间可以租给多个租客,所以租客与房间多对多联系;一个租客生成多张订单,一张订单对应一个租客,所以租客与订单一对多联系;一个房间对应多张订单,一张订单对应一个房间,所以房间与订单一对多联系;一个房东发布多个房间,一个房间对应一个房东,所以房东与房间一对多联系;一个房东审核多张订单,一张订单对应一个房东,所以房东与订单一对多联系;一个管理员
41、管理多个租客房间房东,一个租客房间房东被一个管理员管理,因此管理员与租客房间房东一对多联系。通过对以上实体联系进行分析,得出总体E-R图如下:图4-9 系统总体E-R图4.3.2 逻辑模型设计根据对系统实体对象所有数据项进行分析,基本确定每个数据项的数据字段类型和字段长度。主要包括租客表RNETER、租客信息表RENTERINFO、房东表OWNER、房间表ROOM、订单表ORDER、管理员表ADMIN。详细如下表所示:表4-3租客表renter字段名数据类型大小非空是否主键注释renterIDNUMBER是是租客IDrenterNameVARCHAR220是否租客用户名renterPasswo
42、rdVARCHAR220是否租客密码renterStateVARCHAR25是否租客账号状态表4-4租客信息表renterInfo字段名数据类型大小非空是否主键注释renteInfoNONUMBER是是信息编号renteIDNUMBER是否租客IDrenterRNameVARCHAR220是否租客真实姓名renterSexVARCHAR25是否租客性别renterAgeVARCHAR25是否租客年龄rentePhoneVARCHAR220是否租客手机renterIDCardVARCHAR220是否租客身份证号表4-5房东表owner字段名数据类型大小非空是否主键注释ownerIDNUMBER是
43、是房东IDownerNameVARCHAR220是否房东用户名ownerPasswordVARCHAR220是否房东密码ownerAgeVARCHAR25否否房东年龄ownerPhoneVARCHAR220否否房东手机ownerStateVARCHAR25否否房东状态表4-6房间表room字段名数据类型大小非空是否主键注释roomNONUMBER是是房间编号ownerIDNUMBER是否房东IDroomNameVARCHAR220是否房间名roomTypeVARCHAR25是否房间类型roomAddressVARCHAR220是否房间地址roomUPriceNUMBER5是否房间单价roomD
44、etailVARCHAR2100是否房间描述roomStateVARCHAR25是否房间状态表4-7订单表order字段名数据类型大小非空是否主键注释orderNONUMBER是是订单编号renterIDNUMBER是否租客IDrenterInfoNONUMBER是否租客信息编号roomNONUMBER是否房间编号bookTimeTIMESTAMP是否预订时间startTimeTIMESTAMP是否入住时间end timeTIMESTAMP是否退房时间orderStateVARCHAR25是否订单状态noteVARCHAR250否否订单备注表4-8管理员表admin字段名数据类型大小非空是否主
45、键注释adminIDNUMBER是是房间编号adminNameNUMBER是否房东IDadminPasswordVARCHAR220是否房间名4.4 本章小结本章节内容是进行系统与数据库设计,总过程分成三个步骤:首先根据系统需求分析结合SSM框架进行了系统的架构模式设计和功能模块设计,最后分别对系统数据库的概念模型和逻辑模型进行设计。第五章 系统实现5.1 部分功能代码5.1.1 前端代码为了优化用户的实际使用体验,除了需要对样式进行艺术设计,对业务表单提交等逻辑编程也尤为重要,如在修改用户信息业务中,表单提交用JS技术进行校验表信息,再用AJAX技术达到异步刷新,充分优化了系统使用流畅性。部分代码如下:图5-1 表单校验JS代码图5-2 获取修改信息AJAX代码5.1.2 算法代码系统开发最具难度是的编写算法代码实现业务逻辑,而本系统主要围绕“分时租房”,实现难点在于如何准确获取租客的居住时间,时间需要精确到年月日时分。因此首先数据库实际数据类型为TIMESTAMP,在前端JQ插件上使用了Datetimpicker.js这款插件技术获取租客精确的String类型租房入住时间与结束时间数据,然后调用Util将时间String转为TIMESTAMP,便于数据