《房屋租赁信息管理系统(共35页).doc》由会员分享,可在线阅读,更多相关《房屋租赁信息管理系统(共35页).doc(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上毕业设计房屋租赁信息管理系统学生姓名学 号学 院计算机与信息工程学院专 业计算机科学与技术班 级指导教师职 称湖 南 商 学 院2013年5月湖南商学院本科毕业设计(论文)诚信声明本人郑重声明:所呈交的本科毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 本科毕业设计(论文)作者签名: 年 月 日专心-专注-专业内容摘要随着互联网络的
2、发展,现实生活中各行各业都向着网络化发展,其中房屋出租也由传统的张贴广告发展到互联网。当下,经济快速发展,越来越多的人对房屋的租赁有更大的需求,如何高效快速的获取有效的房屋信息,又不通过第三方中介通过收取手续费来提供信息,是本系统开发的意义所在。本系统提供了出租,求租,留言和查询等几个主要功能。普通游客通过访问该网站可以浏览该网站其他注册用户发布的出租和求租信息。如果想通过本系统发布免费的出租,求租信息需要注册成为该网站的会员。发布后的信息,若通过管理员的审核,将在前台页面显示,其他浏览该网站的用户可以看到该条信息。本系统是一个基于JAVA EE开发的WEB系统,采用B/S结构,使用SERVL
3、ET+JSP开发模式。由于该网站是小型应用网站,所以数据库使用的是MYSQL,其中前台界面使用了CSS+DIV实现网页的布局,还用到了当下流行的前台框架bootstrap。关键词房屋租赁;JSP;SERVLET;B/S;WEB系统ABSTRACTAlong with the development of the Internet, all walks of life are all in real life to network development, including rental housing also has developed from a traditional AD post
4、ed to the Internet. At present, rapid economic development, more and more people have a greater demand on housing rental, how efficient and rapid access to effective information, and not through a third party mediation by charging fees to provide information, is the meaning of this system developmen
5、t.This system provides a rental, inquiry, message and the query and so on several major functions. Regular visitors by accessing the website of other registered users can browse the web site, rental and price information. If you want to release free rent by this system, soliciting the information ne
6、ed to be registered as members of the site. After the release of information, if through the administrator of the audit, will be at the front desk page shows, other users can browse the site to see this message.This system USES the traditional SERVLET + JSP development mode. Because the site is a sm
7、all application, so using a MYSQL database, including the front desk interface using a CSS + DIV realization of web page layout, also use the bootstrap current popular front desk framework.KEY WORDSHouse lease; The JSP; The Servlet; B/S; WEB system目 录1. 绪论.11.2 系统开发背景与意义.11.2 系统的设计过程. .21.3 本文主要内容和章
8、节安排.22. 系统需求分析.32.1 用户角色分析.32.2 功能需求分析.52.2 数据需求分析.73. 系统总体设计.83.1 总体框架.83.2 开发平台与语言.83.3 软件结构.103.4 数据库逻辑设计.104. 系统详细设计.124.1 数据库的设计与实现.124.2 功能模块的设计与实现.174.2.1 登录注册模块.174.2.2 租赁信息发布模块.184.2.3 租赁信息查询模块.204.2.4 租赁信息审核模块.214.2.5 用户中心管理模. .225. 系统测试. .235.1 Tomcat服务器的检测.235.2 检测MySQL数据库是否连接成功.245.3 用户
9、管理功能测试.255.4 房屋租赁信息发布功能测试.265.5 房屋租赁信息查询功能测试.26总结与展望.28参考文献.29致谢.31房屋租赁信息管理系统1. 绪 论本系统是一个简单的WEB房屋租赁管理系统,网民可以通过本网站获取系统用户发布的出租房屋信息和求租房屋信息。本系统与其他大型房屋租赁管理系统网站的最大区别就是不通过第三方中介提供房源信息,减免了中介费用,是真正从用户角度出发,为用户利益考虑的房租租赁管理系统。1.1 系统开发背景与意义随着整个社会经济的进步,城市现代化建设步伐不断加快,现在房屋租赁已开始转变为社会生活的一个重要组成部分。所以无论是房屋出租抑或是房屋求租,现在都面临着
10、巨大的需求。 现在社会上存在这大量的房屋中介现象,但是不论是对于房东来说还是对于求租者来说,面对各种各样的的中介公司让人感到无从下手,大量的复杂的房产信息让他们感受到很彷徨,甚至迷茫,难以快速、准确地从众多房屋信息中找到比较适合自己的房屋信息。其次,出租和承租双方在进行交易的时候还要通过中介,这样使得这个交易过程更加冗长繁琐。而且,中介公司一般会收取一定比例的中介费用,这给房屋租赁者带来了很多大的负担。所以,我们需要提供一些没有中介公司参与其中的房屋出租者与房屋求租者的房屋信息,以此来弥补中介公司的很多不足。以房屋租赁信息管理系统作为毕业设计的题目的意义在于,伴随着经济的发展,越来越多的人开始
11、从农村涌进城市谋生,当前住房问题越来越紧张,人们对住房信息的需求越来越庞大,集中、有效、详细的住房信息能够为广大房屋需求者提供方便。因此,随着网络的发展,互联网开始走进千家万户,现在人们的生活基本上离不开电脑。人们日常生活中的各种需求也能通过互联网得到供应。各种网站的出现,与房屋租赁信息有关的版面越来越受到大家的欢迎。我选择这个课题,是因为这个系统与我们的日常生活息息相关。人们的生活离不开衣食住行,所以住房问题是我们不可逃避的话题,同时也是我们比较熟悉的问题,从生活需求出发,使得我的毕业设计更具有现实意义。比如随着我们毕业走向社会,我们首先要面对的就是住房问题,但是在人生地不熟的环境中,很难得
12、到实用可靠的住房信息。所以如果有个集中有效的途径获得房源信息,能给我们的生活带来极大的方便。房屋租赁系统,能给需要租房的人提供丰富的房源信息,从这里选择适合自己的房子居住。1.2 系统的设计过程本课题的开发要求基于WEB数据库来实现,通过查找大量资料,找出本类型网站的基本需求,然后从分析用户身份认证方面的问题出发,结合本次毕业设计的相关算机网络安全等),选择所熟悉的开发工具和开发平台(如myeclipse,tomcat等)进需求分析转化为功能需求,搭建本系统的基本框架,写出系统的主要实现方法1.3 本文主要内容和章节安排要部分,章节安排为:完成相应的功能。2. 系统构成与工作原理鉴于当前房租租
13、赁信息管理系统的发展现状与未来趋势,本系统旨在考虑到房屋租赁系统信息发布实时性与便捷性,本系统采用B/S模式进行开发。本章将从用户角色分析、功能需求分析和数据需求分析三个主要方面进行系统需求分析。2.1 用户角色分析我们通常描述系统和参与者之间的相互作用是通过用例图来实现。用例图是从用户的角度出发来对如何使用系统的一种描述方式。这里我们先解释几个用例图中用到的名词,见下图2.1所示。图2.1 用例图名词介绍通过分析,本房屋租赁信息管理系统的角色可以分为三类,分别为普通用户,系统会员和系统管理员。不同的角色在系统中有不同的权限和功能。该房屋租赁信息管理系统的管理员,注册会员和普通用户的用例图分别
14、如下图所示。任何普通用户即通过浏览器浏览该房屋租赁体统但没有注册成为该系统用户的游客,可以浏览、查看经过审核的所有房屋租赁信息。 图2.1 普通用户用例图系统会员,即已注册成为该系统用户的网民,通过登录成功该系统,可以发布个人的房屋租赁信息。图2.2 注册用户用例图拥有系统管理员身份的人,登录该系统后可以对系统注册用户发布的出租和求租信息进行审核,只有通过管理员审核后的租赁信息才会在前台显示,其他用户才能得到该租赁信息的详细情况。图2.3 管理员用例图2.2 功能需求分析在本房屋租赁信息管理系统中,从实际出发,通过分析,确定本系统应该具备登录注册功能,房屋租赁信息发布功能,房屋租赁信息查询功能
15、,房屋租赁信息审核功能,用户个人中心管理功能等五个基本功能模块。软件的主要模块和功能如下:(1)登录注册要想使用该房屋租赁系统的功能,必须注册成为该系统的用户。注册时用户需要选择一个头像,填写“用户名”,“密码”,“联系方式”,“性别”和“联系方式”等基本信息。其中用户名是用户用来登录该系统的帐号,具有唯一性,因此在用户注册时系统需要检查此用户名是否已经存在。只有成功登录该系统的用户才能免费发布房屋租赁信息,用户登录时需要填写“用户名”和“密码”两个验证信息。(2)房屋租赁信息发布房屋租赁类型分为“出租”、“整组”、“合租”三种。用户在发布房屋租赁信息时需要选择发布信息的类型。发布租赁信息需要
16、填写的信息有“标题”、“期望租金”、“期望地点”,其中发布“出租”信息还可以选择提供“房屋设备”、“房屋简介”、“房屋图片”等详细情况,发布“求租”信息同样可以附加“求租要求”、“个人图片”等信息,以便其他用户更加了解你的需求和信息。用户发布的租赁信息需要通过后台管理员的审核才能供其他用户使用。(3)房屋租赁信息查询通过“房屋租赁信息查询”功能,用户可以根据不同的查询条件来过滤需要的租赁信息。本系统提供的查询条件包括根据“租赁类型”查询,根据“房屋地址”查询,根据“租赁信息标题”查询。在得到的租赁信息列表页面用户点击某条信息的标题,进入该信息的详细信息界面,查看该租赁信息的详情,并且可以针对该
17、条信息留言。(4)房屋租赁信息审核系统管理员的主要工作就是审核前台用户发布的房屋租赁信息。所以“房屋租赁信息审核”功能是系统管理员才能操作的。管理员通过登录后台管理系统,审核前台用户提交的房屋租赁信息。只有通过了管理员审核的信息才能在系统前台界面显示,才能被其他浏览该系统的用户看见。(5)用户个人中心管理通过“用户个人中心管理”模块,系统用户可以修改个人基本信息和登录密码,其中个人基本信息包括修改“头像”,“用户名”,“性别”,“联系方式”等。在用户个人中心界面按照“发布时间”逆序列出用户所有的租赁信息,包括信息的“标题”,“期望租金”,“期望地点”,“审核状态”等,同时提供了删除租赁信息的操
18、作,用户可以删除已经不需要的租赁信息。此删除操作为数据库的物理删除,意味着用户本人也不能再查看该条信息的情况。系统主要功能模块之间的关系通过系统功能结构图来反应,通过系统功能结构图简单明了的表现出它们的相互关系。系统功能需求如图2.4所示。图4 系统功能结构图 2.3 数据需求分析通过对系统的功能需求分析,我们可以初步得出该系统所需的数据库表的设计情况。该系统将有六张表,分别为角色表,用户表,出租房屋表,求租房屋表,求租类型表和留言表。其中角色表包括两个角色,为普通会员和管理员;求租类型表分为整组跟合租两种。出租表,求租表,用户表和留言表之间的关系为:一个用户可以发布一条或多条出租求租信息,同
19、时也可正对他人发布的信息,进行留言。一个用户可以针对一条信息发布多条留言。系统数据库表的E-R图如下图2.5所示。图2.5 数据库E-R图3. 系统总体设计3.1 总体框架本系统是基于WEB的房屋租赁信息管理系统,系统采用当下流行的B/S构架。图3.1 B/S模式体系结构原理图3.2 开发平台与语言在本系统的开发中,选用JAVA作为开发语言,采用了MyEclipse作为系统编程工具,Tomcat作为web服务器,JSP作为系统前端开发语言,MySQL作为数据库。其中前端使用到了bootstrap框架,使用了AJAX异步访问技术。开发本系统的软硬件基本配置如表3.2所示:表3.2 系统的软硬件基
20、本配置硬件配置软件配置服务器端处理器:Intel Pentium 4 2.4G(R);内存:1G;硬盘:80GB;显示器:1366 x 768 分辨率,32位色;输入设备:鼠标、键盘。操作系统:Windows 7;数据库:MySQL;开发工具包:JDK1.6.0;JSP服务器:Tomcat6.0;客户端处理器:Intel Pentium 4 1.8G;内存:1G;显示器:1366 x 768 分辨率,32位色;输入设备:鼠标、键盘。操作系统:Windows XP浏览器:Google Chrome 26.0.1410.64 m 。本系统采用的系统平台及工具说明如下:据库管理系统与Windows
21、7操作系统进行。Tomcat是一个免费的web服务器,能自动检测到部署在其webapp目录下的打成war包的项目,并将其解压。所以部署应用程序在tomcat下很容易。MyEclipse可以快速的部署项目到Tomcat服务器。由于B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的用的。下面主要介绍我在本系统中使用到的前端框架Bootstrap。Bootstrap是一种轻量级的开发前端的框架,提供了各式各样的前端插件,能美化我们的前端界面,在节省开发时间的同时,使前端质量大大提升。Bootstrap是推出的一个开源的用于前端开发的工具包。它由Twitter的设计师Mark Ott
22、o和Jacob Thornton合作开发,是一个CSS/HTML框架。Bootstrap提供了优雅的HTML和CSS规范,它即是由动态语言Less写成。Bootstrap一经推出后颇受欢迎,一直是GitHub上的热门开源项目,包括NASA的MSNBC(微软全国广播公司)的Breaking News都使用了该项目。在下载的压缩包中你可以看到如下的文件结构和内容。所有文件按逻辑进行分类存储,并且提供了编译和压缩两个版本的文件。图3.3 Bootstrap的基本结构如上图3.3所示,这就是Bootstrap的基本结构:编译后的文件可以快速应用于任何web项目。我们提供了编译版的CSS和JS文件 (b
23、ootstrap.*),也同时提供了编译并压缩之后的CSS和JS文件 (bootstrap.min.*)。图片文件是使用 工具进行压缩的,这个工具是Mac平台上用于压缩PNG文件的一个app。3.3 软件结构系统的程序结构主要是严格按照MVC方式进行的开发的,注意系统层次结构和功能模块之间的联看相关的房屋求租以及房屋出租等信息。文档的结构主要根据整个软件开发过程中的流程来书写。尽量做到思路清晰,文章结构层次清晰。本系统的主要流程图如下图3.4所示。图3.4 系统整体流程图3.4 数据库逻辑设计本系统的数据库逻辑设计就是将图2.5所示的E-R图转换为关系模型,即将图2.5所示的所有实体和关系转换
24、成一系列的关系模式。将数据库E-R图转换成为关系模型,得到角色表(role)、用户基本信息表(user)、出租信息表(rent_out)、求租信息表(rent_in)、租赁类型表(type)、留言表(message)六张数据库表。(1)角色表(role)Role表用来记录该系统用户的角色。目前系统持久化的角色有两种,系统注册用户和系统管理员。(2)出租信息表(rent_out)Rent_out表用来记录用户发布的出租信息。由于用户发布的出租信息与求租信息,有很多不同的要求,所以把出租求租两者分开。因此,需要一张单独的出租表来记录出租信息,方便后台管理。(3)求租信息表(rent_in)Rent
25、_in表用来记录用户发布的求租信息。由于用户发布的出租信息与求租信息,有很多不同的要求,所以把出租求租两者分开。因此,需要一张单独的求租表来记录求租信息,方便后台管理。(4)租赁类型表(type)Type表用来记录房屋租赁类型,包括出租、整组和合租三种租赁类型。(5)用户基本信息表(user)User表用来存放用户基本信息。本系统在设计时普通会员和管理员共用同一张表,由于普通会员和管理员拥有不同的身份,所以有角色字段来区分二者的身份,系统根据角色决定登录后跳转到前台还是后台界面。(6)留言表(message)Message表用来记录留言信息。当用户查看出租信息详情时,可以对该条记录的发布者留言
26、,方便用户之间的交流。同时,也为其他浏览该条信息的用户提供消息。4 系统详细设计本章将从数据库和功能实现两个方便,综合运用业务流程图、程序设计流程图、图形界面和关键代码四种方式来说明系统的详细设计。本系统包括对登录注册功能,房屋租赁信息发布功能,房屋租赁信息查询功能,房屋租赁信息审核功能,用户个人中心管理功能等5大模块的实现。根据我们在学校所学的数据库方面的知识以及结合平常的实践经验,我们知道数据库设计的好坏将对系统产生重大的影响,数据库是为应用提供服务的,好的数据库设计首先应该要能满足应用系统的业务需求以及准确的表达数据之间的关系。其次好的数据库设计要能保证数据的准确性和一致性,通过建立表字
27、段的各种约束条件保证数据的健壮。最后,要能提高数据查询的效率。通过对系统的功能需求分析,我们可以初步得出该系统所需的数据库表的设计情况。这个过程是对现实世界数据的抽象,即模型。从抽象出数据到将数据存进数据库整个过程我们图4.1描述。图4.1 数据抽象到存储的过程该系统将有六张表,分别为角色表,用户表,出租房屋表,求租房屋表,求租类型表和留言表。其中角色表包括两个角色,为普通会员和管理员;求租类型表分为整组跟合租两种。出租表,求租表,用户表和留言表之间的关系为:一个用户可以发布一条或多条出租求租信息,同时也可正对他人发布的信息,进行留言。一个用户可以针对一条信息发布多条留言。本系统采用mysql
28、5.0作为数据库。在安装好数据库后,将数据库root用户的密码改为“password”,然后在mysql中创建数据库,命名为“webhouse”。使用mysql建表工具workbench建立表与表之间的关系。你可以用MySQL Workbe建立、以及数据库管理功能。其中建立表之间的关系如下。图4.2 数据库表之间的关系下面针对上述表的设计,给出具体的说明。(1)角色表(role)Role表用来记录系统角色。目前系统持久化的角色有两种,系统管理员和系统注册用户。该表是user表的外键,不同的角色登录系统后能进行不同的操作。各个字段详细设计说明如表4.3所示。表4.3 角色表列名类型约束说明Rol
29、e_idintPrimary key主键Role_nameVarchar(10)Not null角色名(2)用户基本信息表(user)该表记录用户的基本信息,其中user_name唯一,是登录系统时的帐号。各个字段详细设计说明如表4.4所示。表4.4 用户基本信息表列名类型约束说明user_idintPrimary key主键user_nameVarchar(20)Not null, unique用户名passwordpasswordNot null密码roleintNot null角色telephoneVarchar(11)Not null 联系电话 head_imagetextNot nu
30、ll头像sexcharNot null性别(3) 租赁类型表(type)Type表用来记录求租信息的类型,分为出租、整组跟合租三种。其中各个字段详细设计说明如表4.5所示。表4.5 租赁类型表列名类型约束说明Type_idintPrimary key主键Type_nameVarchar(10)Not null类型名 (4)求租表(rent_in)该表记录求租信息。其中publisher为外键,是该条信息的发布者。Rent_in_type记录求租类型,1为整组,0为合租。Legal记录该条信息是否审核通过,若通过,则在前端显示该条记录,否则不显示该条记录。但是用户自己可以看到该条记录的相关状态。
31、Checked记录该条信息是否已审核。其中各个字段详细设计说明如表4.6所示。表4.6 求租表列名类型约束说明in_idintPrimary key主健publisherintForeign key发布者(外键)Publish_timedatetimeNot null发布时间PictureTextNot null图片titleVarchar(10)Not null标题AddressVarchar(45)Not null求租地址Rent_in_typeintNot null求租类型MoneyfloatNot null期望租金PicturesTextNot null个人图片DetailtextNo
32、t null特别说明LegalcharNot null是否审核通过CheckedCharNot null是否审核Checked_timeDatetimeNot null审核时间(5) 出租表(rent_out)该表记录求租信息。其中publisher为外键,是该条信息的发布者。Legal记录该条信息是否审核通过,若通过,则在前端显示该条记录,若没通过,则前端不显示该条记录。但是用户自己可以看到该条记录的相关状态。Checked记录该条信息是否已审核。其中各个字段详细设计说明如表4.7所示。表4.7 出租表列名类型约束说明Out_idintPrimary key主健publisherintFor
33、eign key发布者(外键)Publish_timedatetimeNot null发布时间equipmentTextNot null房屋设备titleVarchar(10)Not null标题AddressVarchar(45)Not null出租地址MoneyfloatNot null期望租金PicturesTextNot null个人图片DetailtextNot null特别说明LegalcharNot null是否审核通过CheckedCharNot null是否审核Checked_timeDatetimeNot null审核时间(6)留言表(message)Message表是记录
34、留言。系统当前登录用户,可以观看其他用户发布的租赁信息,并且可以在该条信息的详细页面进行留言。其中sender为该条留言信息的留言者,getter为该条留言信息的接收者,rent_in和rent_out在同一条记录中,只能有一个有值,即该条留言信息是针对哪一条出租信息或者哪一条求租信息发布的。其中各个字段详细设计说明如表4.8所示。表4.8 留言表列名类型约束说明Message_idintPrimary key主健senderintForeign key, Not null留言者(外键)GetterintForeign key, Not null接收者(外键)ContentTextNot nu
35、ll留言内容DatedatetimeNot null留言时间Rent_inIntForeign key, Not null求租留言Rent_outintForeign key, Not null出租留言 系统注册模块实现了系统用户的添加功能。该功能需要用户填写“用户名”、“密码”和“联系电话”,“性别”和“上传头像”等基本信息。从安全性和系统的可维护性方面考虑,系统对用户输入的信息将进行前台后台验证。这五项均为必填项,在输入框后进行提示,系统采用ajax技术动态验证用户输入的结果,。用户注册成功后,可以实现登录系统来发布免费的租赁信息等功能。其中创建用户程序流程图如图4.9所示。图4.9 创建用户程序流程图4.2.2房屋租赁信息发布模块房屋租赁信息包括出租信息和求租信息两种。由于出租信息和求租信息的发布内容大致相同,所以界面的代码的编写在同一个JSP里面。该界面的使用DIV布局,样式使用的是前端框架bootstrap提供的table样式中的一种,整个界面看起来简单干净。出租房屋信息的发布是通过表单提交来实现的,当用户点击发布免费信息按钮后,系统跳转到租赁信息发布页面。该功能页面需要接收“标题”、“租金”、“地点”、“设备”、“特点简介”和上传房屋图片等六项基本信息。由于浏览器的版本不同,从安全性方面考虑,只能获取到上传文件的文件名,不能获取上传文件的全路径,如
限制150内