基于J2EE的房屋租赁管理系统Word文档格式.docx
《基于J2EE的房屋租赁管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于J2EE的房屋租赁管理系统Word文档格式.docx(27页珍藏版)》请在冰豆网上搜索。
Keywords:
J2EE;
RapidPrototyping;
WebApplicationServer
1.前言
改革开放以来,我国经济持续高速发展,已经完全进入了市场经济体系。
21世纪已经走过了十年,在这十年中,我国各行各业都得到了长足的发展。
最为典型的是房地产开发市场。
经济规模短短几年间增加了数倍。
随着大学扩招,城市化进程加快,越来越多的人正逐步向城市转移。
而这部分人在城市立足生存,开始基本上都是租房而居,这就使得房屋租赁市场异常的火爆。
于是,房屋租赁公司如雨后春笋般地涌现出来,租赁市场的竞争也变得激烈起来。
如何能够在激烈竞争中拔得头筹,加强信息流通,留住并发展更多的客户成为房屋租赁公司的一大课题。
首要的事,便是要解决传统的租赁管理模式,引入计算机管理海量的数据。
因而,本系统应运而生。
它能够将工作人员从传统的手工管理中解放出来,提供了房屋出租、求租、客户管理、意见反馈、企业新闻系统等功能。
能够方便、灵活地对出租、求租、客户的相关信息进行操纵、查询、统计、打印等。
更值得一提的是,本系统采用了B/S架构,极大地方便了管理人员的工作,房屋租赁公司可以在全国各地开设分店,通过Internet共同使用这一套系统,这样也降低了房屋租赁公司的运营成本。
本系统属于一个较为典型的管理信息系统(MIS)。
它具备了一个管理信息系统的基本功能,包括对用户的页面展示;
对管理员的后台管理;
对客户的自服务管理。
在软件的实现上,也就是通过JDBC驱动程序对数据库中数据进行增加、删除、修改、查询和统计。
本系统不仅仅要便于用户信息浏览、查询和操作,同时也能够对系统管理员提供生成统计分析报表功能。
此外,系统通过用户登录实现了对不同用户的权限级别进行了控制,提高了数据的安全性和可靠性。
除此之外,本系统还提供了一个新闻系统、一个用户留言簿和滚动新闻功能。
便于房屋租赁公司及时地将本公司的动向、活动向客户进行公开。
系统采用当前流行的J2EE架构,该程序可以在多个系统(如Windows、Linux、Solaris)下运行。
动态网页技术使用了JSP和Servlet,业务逻辑层用了JavaBean。
并且将数据库的操作单独封装在一个类中,较为清晰地实现了各个不同的组件之间的松耦合。
后台数据库使用了流行的SQLServer2000[1],非常易用,便于维护。
应用服务器使用了开源的Tomcat5.5,使得本系统的运行性能非常高,同时也能够便于快速扩展企业今后发展的新需求。
2.相关基础
2.1Web应用程序
如今常见的管理信息系统大体分为两个类型:
客户机/服务器(C/S)架构和浏览器/服务器(B/S)架构,前者最典型的如数据库软件Oracle的客户端管理工具、SQLServer的查询分析器和企业管理器。
Web应用程序属于B/S架构。
当下流行的Web应用程序有如下几种开发技术:
(1)ASP/ASP.NET
(2)PHP
(3)JSP
其中,以(3)JSP的应用最为广泛。
由于Java技术的广泛应用,JSP应用程序开发得到了众多企业的支持[2]。
仅仅是集成开发环境(IDE)就有:
Eclipse、NetBeans、Interstage、JBuilder等数种之多。
JavaWeb应用程序一个典型的目录结构如下图1-2-1所示:
其中,src目录下存放的是Java源代码;
build目录下存放的是Java代码编译后的class文件;
WebContent目录下是前台展示用的JSP文件;
WebContent的子目录WEB-INF目录下存放的是使用到的库文件、标签库描述文件以及WEB程序配置文件Web.xml。
图1-2-1JavaWeb程序目录结构
2.2技术与环境
2.2.1开发技术
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。
在Web容器中运行时,Jsp文件首先被解释成为一个Java文件(Servlet),然后被web服务器执行。
得益于Java的跨平台优势,用JSP开发的Web应用也是跨平台的。
即一个JSP开发的应用程序不但能够在Windows平台下运行,也可以在Linux等其他操作系统上运行。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
JSP开发技术的优点:
(1)一次编写,到处运行。
除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
(3)强大的可伸缩性。
从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理。
Java显示了其强大的威力。
(4)多样化和功能强大的开发工具支持。
Java已经有了许多非常优秀的开发工具,而且许多是基于开源协议的免费软件,这些软件一般都可以运行于多种平台之下。
最为典型的如:
EclipseIDE。
2.2.2SQL简介
SQL是StructuredQueryLanguage(结构化查询语言)[3]的缩写。
SQL是一种专门用于数据库操作的语言。
它已经成为了数据库操作的理论基础[4]。
SQL又包括2种具体的功能:
数据库定义语言DDL;
数据库操纵语言DML。
数据库定义语言包括CREATE、DROP等关键字;
数据库操纵语言包括SELECT、INSERT、UPDATE、DELETE。
SQLServer是一个关系数据库管理系统它是由Microsoft推出的。
SQLServer是一个具备完全Web支持的数据库产品,提供了对可扩展标记语言(XML)的核心支持以及在Internet上和防火墙外进行查询的能力,提供了以Web标准为基础的扩展数据库编程功能。
丰富的XML和Internet标准支持允许使用内置的存储过程以XML格式轻松存储和检索数据。
2.2.3.JDBC驱动程序
JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序。
通过JDBC驱动程序,操纵各种关系数据就变得十分容易。
换言之,有了JDBCAPI,就不必为访问SQLServer数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBCAPI写一个程序就够了,它可向相应数据库发送SQL调用。
同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。
Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。
JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。
作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。
JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。
JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。
JDBC扩展了Java的功能。
例如,用Java和JDBCAPI可以发布含有applet的网页,而该applet使用的信息可能来自远程数据库企业也可以用JDBC通过Intranet将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有Windows、Macintosh和UNIX等各种不同的操作系统)。
随着越来越多的程序员开始使用Java编程语言,对从Java中便捷地访问数据库的要求也在日益增加。
JAVA应用程序开发者们都喜欢Java和JDBC的结合,因为它使信息传播变得容易和经济。
企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。
新程序的开发期很短。
安装和版本控制将大为简化。
程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。
对于商务上的销售信息服务,Java和JDBC可为外部客户提供获取信息更新的更好方法。
2.2.4.开发工具
目前业界关于JAVA开发的工具非常多,其中既有开源免费软件,也有收费的商用软件。
典型的开源软件有Eclipse。
收费软件有NetBeans、JBuilder等。
由于Eclipse的免费并且功能强大,其便捷的插件技术使得该IDE的功能得到了无限延伸。
本次开发就采用了Eclipse作为开发工具。
基本配置如下:
Eclipse3.4(Ganemedy)JEE版
JDK1.6
2.2.5.运行环境
Java应用程序的运行环境在市场上也有不少的选择。
如:
OracleWebLogic
IBMWebsphere
FujitsuInterstage
ApacheTomcat
RedhatJBOSS
Tomcat是一套应用程序服务器(ApplicationServer),属于开源的Java中间件软件。
其功能十分强大,因此本次采用Tomcat5.5作为系统的运行环境,其使用的JDK版本为JDK1.6。
2.3方案选择
根据以上分析,最终决定采用在WindowsXPSP3下使用JSP+SQLServer开发,采用B/S架构,使用JDBC操纵数据库。
开发工具采用Eclipse3.4,这样的好处是:
(1)JSP技术功能强大,灵活方便,可扩充性、可移植性较好。
(2)SQLServer数据库易于使用,兼容性好,同时存取效率高,且较成熟,目前许多数据库应用系统都采用它。
(3)采用B/S结构能够快速构架一个应用,而不需要在客户端做任何安装,客户端只要一个浏览器即可。
JDBC主要让应用程序或WEB应用程序存取各种不同的数据源。
JDBC封装了OLE-DB复杂的接口,以极为简单的COM接口存储数据,简化了程序员数据存取的工作。
3.功能设计与实现
3.1系统结构
3.1.1需求分析
房屋租赁管理系统需求主要来自房屋登记,管理房源和管理人员。
房屋登记将用户需要登记的房屋的信息输入系统,由系统自动归类储存,随时可以查阅修改。
房屋管理人员可利用本系统,输出房屋名单,自动生成统计报表、房屋出售合同、房屋出租合同。
一般情况下,普通用户只能浏览查询房屋具体信息,而超级用户除了能查询房屋具体信息以外,还能够直接登记房屋信息,但是不能随意修房屋数据,尤其是房屋出售合同和房屋出租合同等敏感信息。
因此,用户,超级用户和房屋管理人员的的权限要明确区分开来,防止操作时因操作错误产生的数据丢失和数据错误,因此,这就需要在设计模块时加以考虑。
房屋管理人员还有一个任务是对各个人员的使用权限进行管理,对数据库中的房屋信息进行实地考核和协助客户填写房屋出售合同和房屋出租合同,并将其打印出来存档管理,在出租合同到期后即时的回收房屋使用权,并再次将此房屋出租,进入下一个处理。
基于上述需求,本系统必须具备以下功能:
1)出租登记、修改、删除等
2)多种条件模糊查询
3)房屋出租情况统计、打印
4)房屋求租登记、修改、删除
5)房屋出租合同录入
6)新闻发布系统
7)访客留言功能
3.1.2系统处理流程图
本系统基本设计按系统规划的要求规定设计,其处理流程如图3-1-1所示
房屋登记表统计处理、生成、打印,房屋出租合同的管理
管理人员,超级用户登记房屋信息
操作人员(操作菜单)
房屋登记表的输入,房屋登记表的修改删除,房屋出租合同的录入
用户(操作菜单)
房屋出租登记表的查询,确认租住信息,填写个人信息
图3-1-1处理流程
3.2各模块功能介绍
出租/求租登记模块,主要实现的是管理员以及超级用户(当地房地产公司),即时将拥有的房源具体情况(如地址,面积,户主,联系方式等)登记,经过房屋租赁公司实地考察属实后,向客户出租。
出租/求租查询模块,主要是对房源的查询,了解房源情况,在浏览房源资料的时候,在选定房源的时候,可以进行登记管理,也便于管理员修改,添加和删除,对房源进行管理。
对房源的查询方式可分为:
房源编号,户主,房源地址,面积,朝向和出售价格,出租时间等。
房源出租、求租报表统计模块,主要是管理员对当日或者当月房屋出租或者求租情况的统计,便于管理和存档,可以及时将本日或者本月情况打印出来。
出租合同管理模块,主要是针对客户在选择好房屋后,及时快捷的填写出租合同,便于管理机构管理。
用户管理模块,是便于管理员了解系统中当前客户的情况。
购房常识管理模块,是对不熟悉房屋租售情况的客户详细的介绍购房程序等等各类方便客户的各种介绍。
新闻系统模块,发布本公司的最新动态和活动等。
3.3总体结构设计
系统的概要设计中最重要的就是系统的模块化。
模块化是指解决一个复杂问题时自项向下逐层把软件系统划分成若干个模块的过程。
每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。
将系统划分为多个模块是为了降低软件系统的复杂性,提高可读性、可维护性,但模块的划分不能是任意的,应尽量保持其独立性。
也就是说,每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。
通过对整个系统的规划分析,对数据的具体要求的分析,以及对系统功能的综合考虑,提出一个基本的总体结构框架。
房屋中介管理系统的层次划分为几个方面:
用户界面,数据缓冲,数据库,输出等。
用户界面层次:
距离用户最近的层次,以图形化界面显示给用户,便于用户进行基本操作,用户可以在这里输入数据,修改数据,删除数据,设定选配标准,设定查询条件等。
用户对系统的所有输入内容在此层次上操作。
数据缓冲层次:
在这个层次中,用户所做的修改尚未提交到数据库中,而是保存在一个临时缓冲区中。
此时,所有操作是由系统本身操作,包括在数据缓冲区内增加信息,修改信息,删除信息等,也包括执行选配过程,判断查询条件的合法性等。
这一层次中,系统主要执行提交数据库之前的所有工作,确保提交数据的合法性和准确性,尽量减少数据库错误。
数据库层:
主要操作在数据库中执行,主要工作是:
将缓冲区的数据存入数据库,执行查询语句等。
由于数据是经过缓冲区检查的,所以可以大大减少数据库的非法操作,减少数据出错的情况,查询时的非正常情况大大减少。
输出层:
在这个层次中,不需要进行数据库操作和用户输入操作,这个层次的主要工作是把结果显示给用户,包括查询结果,统计图,错误信息,提示信息等。
系统架构图如下图3-3-1所示:
图3-3-1系统架构图
3.4数据库设计
3.4.1数据基本操作
数据的基本操作功能是本系统的最基本功能,指的是一个数据库管理系统软件的最基本的数据操作。
数据的基本操作包括房屋的增加,删除,修改等。
房屋信息增加功能:
用户手动增加房屋信息
房屋删除功能:
由用户选择要删除的房屋信息,点击删除后,删除该房屋信息,首先在缓冲区中删除,此时如果没有提交到数据库,则可以撤销删除操作,但如果提交到数据库了,删除后将不能恢复该信息。
房屋修改功能:
用户选择要修改的房屋信息,可以重新修改房屋的登记信息。
3.4.2查询功能
查询功能是一个数据库管理软件的必备辅助功能,当数据量大的时候,呈现给用户所有信息,肯定有很多信息是冗余的或者是无效的甚至是用户不需要的。
此时,根据用户的需要进行必要的过滤是十分必要的。
查询功能通常是根据数据的信息中不同的字段来查询。
房屋租赁管理系统中,查询功能也是一个十分重要的功能,当有很多房屋信息时,如何给用户呈现出需要的信息和过滤掉不用的信息是一个需要解决的问题。
因此,考虑到用户的需求,系统应该具有一个比较人性化的查询系统,可以根据不同的要求来进行查询。
查询的速度要快捷,查询的结果要准确。
“房屋中介信息系统”的查询系统可以分成下面几个方面来进行查询:
根据房屋地址,根据房屋状态,根据户主,根据房屋朝向等来查询。
3.4.3打印和统计功能
房屋租赁管理系统的一个重要功能是房屋租售报表统计和房屋租售报表的打印。
房屋租售报表统计和房屋租售合同均有一定的格式,特别是房屋出租和出售合同,严格按照当地房管部分的要求。
因此高质量的打印也是软件的重要功能
3.4.4其他辅助功能
房屋租赁管理系统除了具备上述所有主要功能之外,还应该具有一些必要的辅助性功能,包括用户管理,数据库连接功能,购买常识介绍功能等等。
用户管理功能:
为了保证系统的可靠性和安全性,系统应该采用用户登录的方式进入,防止非法用户的进入。
每个用户具有自己的权限,主要是管理权限和一般权限。
只有管理权限才允许增加用户,删除用户等管理功能。
而一般权限则只能进行一般的工作,没有管理用户的功能。
用户登录:
系统的启动同时要求用户根据自己的操作员号码和密码进行登录,通过验证用户的密码,达到确定用户合法性的目的。
增加用户:
只有系统管理员权限的身份才具备此功能,为系统增加一个新用户,包括用户登录名,密码,权限等信息。
其中,可以设置新增用户的权限,系统管理员、报名管理员或者报名登记员,当设定成系统管理员身份时,该拥护具有和系统管理员同样的权限。
删除用户:
只有系统管理员权限的身份才具备此功能,从系统删除一个用户,被删除的用户将不能登录本系统。
重新登录:
退出系统重新登录。
一般在新增用户后或者修改密码之后使用验证增加用户或者修改密码是否成功。
或者以不同权限登录,换一个不同的用户名登录等等。
数据库连接功能:
数据库连接信息保存在系统中,再次登陆系统不必设置数据库,但当数据库发生变动时,用户可以配置输入本机或者局域网上的数据服务器名和数据库名。
如果应用程序与数据库连接成功,下次运行程序就不会再弹出此配置窗口,除非数据库服务器有变更时会弹出。
购买常识介绍功能:
主要是针对用户对于不熟悉购买房屋或者租房屋流程,以及各种购房常识等介绍。
3.4.5数据表的设计
在完成系统的分析之后,需要设计出系统所有的关系模型,也就是说,要设计出数据库所需要的表格。
在这里,选用的是关系数据库。
因为关系数据库中的二维表格可以很清楚地描述数据之间的联系。
在这里不得不提到一个概念——范