您好,欢迎来到飒榕旅游知识分享网。
搜索
您的当前位置:首页房屋租赁管理系统的设计与实现

房屋租赁管理系统的设计与实现

来源:飒榕旅游知识分享网


论 文 题 目:基于 B/S 架构的房屋租赁管理系统的设计与实现

摘 要

I

摘要

近年来,我国经济蓬勃发展,城市化建设步伐日益加速。作为世界第一人口

大国,第二大经济体,我国城市流动人口逐年增多,社会上对房屋租赁的需求快

速增加,尤其以“北上广”为代表的一线城市,房屋出租与租赁已经成为社会生

活的重要组成。大量房屋中介机构如雨后春笋一般涌现,大量的出租、租赁业务

量产生了对高效合理的租赁业务信息管理系统的迫切需求。另一方面,计算机网

络技术在几十年来飞速发展,已经进入了社会生活的方方面面,各个传统行业纷

纷引入信息技术,极大的提高了工作效率。“房屋租赁管理系统”正是应现代化

信息化管理理念和趋势而提出形成的一种新型信息管理软件系统。该系统将充分

利用计算机网络技术的优势,极大提高房屋中介在租赁过程中的工作的时效性、

准确性,提升了工作效率。

首先对本系统及数据库技术进行了概述,结合本系统的特点需求提出本系统

采用的数据库及相应技术。其次根据实际需求,从系统总体目标、设计原则和功

能需求三个方面对本系统进行了需求分析。最后进行了详细设计和测试。

该系统分别从客户端和管理端两个端口设计了 11 个系统模块,包括用户注

册、用户登录、修改密码、信息查询、发布管理和管理员登录、用户信息管理、

新闻公告管理、房源信息管理、合同管理、会员管理。

关键词: 房屋租赁;房屋出租;管理系统;B/S 架构 北京工业大学工程硕士专业学位论文

II

Abstract

In recent years, the rapid development of economy accelerated the pace of

Chinese urbanization. As the world's most populous nation and the second largest

economic entity, China's urban floating population increased year by year. The

demand of house rental increases rapidly in metropolis, especially in Beijing,

Shanghai and Guangzhou. Housing rental and leasing has become an important part of

social life. A large number of housing intermediaries have appeared in a short period.

Such lots of renting, leasing business requires efficient and reasonable business

information management system. On the other hand, the improvement of computer

network technology has become an essential part of social life in decades. The

information technology is introduced and applied in almost every traditional business,

which improves the work efficiency. \"House renting management system\" is proposed

as a new information management software system, which aims to adapt the

modernized information management concept and trend. The system will make full

use of the advantages of computer network technology to greatly improve

house-renting process. Both the information accuracy and timeliness could be

increased.

At first, the paper introduces the useful knowledge and technologies of database

and information management system briefly. Then, according to the market demand,

the requirements analysis is conducted from three aspects, namely the system goal,

the design discipline and the functional requirement. At last, this paper illustrates the

requirements, functions, design and testing of this house renting system.

This house renting system has four types of users, the landlords, the customers,

the administrators and the unregistered. Plus, it includes eleven functional modules,

which are user register, password change, user log in, information searching, publish

management, user information management, administrator register, issue management,

housing information management, member management and contract management.

Key Words Rental housing; Management information system; BS architecture 目 录

I

目 录

摘要 ................................................................ I

Abstract ........................................................... II

第 1 章

绪论 ..................................................... 1

1.1 论文研究背景与意义 ............................................................................... 1

1.2 国内外研究现状及发展趋势 ................................................................... 1

1.3 论文的主要工作及结构 ........................................................................... 3

1.3.1 论文的主要工作 ................................................................................... 3

1.3.2 论文的主要结构 ................................................................................... 3

第 2 章

相关理论与技术概述 ....................................... 5

2.1 面向服务的架构(SOA) ............................................................................ 5

2.2 J2EE 体系 ................................................................................................. 5

2.3 中间件技术 ............................................................................................... 5

2.4 Web Services 技术 .................................................................................... 7

2.5 XML 标准 ................................................................................................. 8

2.6 本章小结 ................................................................................................... 9

第 3 章

房屋租赁管理系统的需求分析 .............................. 11

3.1 系统目标 ................................................................................................. 11

3.1.1 用户分类及其需求 ............................................................................. 11

3.2 业务流程 ................................................................................................. 13

3.3 功能需求分析 ......................................................................................... 14

3.3.1 注册用户(求租)管理子系统 ......................................................... 15

3.3.2 管理员子系统 ..................................................................................... 16

3.3.3 访客管理子系统 ................................................................................. 17

3.3.4 注册用户(房主)管理子系统 ......................................................... 18

3.4 系统用例建模 ......................................................................................... 19 北京工业大学工程硕士专业学位论文

II

3.4.1 用例分析 ............................................................................................. 20

3.5 本章小结 ................................................................................................. 23

第 4 章

房屋租赁管理系统设计 .................................... 25

4.1 系统设计原则 ......................................................................................... 25

4.2 应用技术架构 ......................................................................................... 26

4.2.1 体系结构设计 ..................................................................................... 26

4.2.2 层次调用关系 ..................................................................................... 28

4.2.3 层间数据传递 ..................................................................................... 29

4.3 设计元素识别与包设计 ......................................................................... 30

4.3.1 包图 ..................................................................................................... 31

4.4 类设计 ..................................................................................................... 33

4.4.1 实体类 ................................................................................................. 33

4.4.2 控制类 ................................................................................................. 40

4.5 数据库设计 ............................................................................................. 48

4.5.1 数据库概念设计 ................................................................................. 50

4.5.2 数据库逻辑设计 ................................................................................. 51

4.5.3 数据库物理结构设计 ......................................................................... 51

4.6 功能模块 .................................................................................................

4.6.1 注册模块 .............................................................................................

4.6.2 登录模块 ............................................................................................. 55

4.6.3 修改密码模块 ..................................................................................... 55

4.6.4 发布管理模块 ..................................................................................... 55

4.6.5 信息查询模块 ..................................................................................... 55

4.6.6 管理员登录模块 ................................................................................. 55

4.6.7 用户信息管理模块 ............................................................................. 55

4.6.8 新闻公告管理模块 ............................................................................. 55 目 录

III

4.6.9 房源信息管理模块 ............................................................................. 56

4.6.10 合同管理模块 ................................................................................... 56

4.7 本章小结 ................................................................................................. 56

第 5 章

系统实现 ................................................ 57

5.1 系统实现 ................................................................................................. 57

5.1.1 整体的界面风格 ................................................................................. 57

5.1.2 登陆界面 ............................................................................................. 58

5.1.3 左侧的菜单树 ..................................................................................... 58

5.1.4 客户信息查询与维护 ......................................................................... 59

5.1.5 合同的查询与管理 ............................................................................. 61

5.1.6 房屋出租(求租)信息的发布与查询 ............................................. 63

5.1.7 业主信息管理 .....................................................................................

5.1.8 费用科目管理 .....................................................................................

5.1.9 录入收款信息 ..................................................................................... 65

5.1.10 新闻与公告 ....................................................................................... 65

5.2 本章小结 ................................................................................................. 66

结论 ............................................................... 67

参考文献 ........................................................... 69

附 录 ............................................................. 73

致 谢 .............................................................. 91

第 1 章 绪论

-1 -

第1章 绪论

1.1 论文研究背景与意义

近几十年来,随着我国社会在发展,经济增长飞速,城市化进程不断加快,

城市人口也逐年大量增加,伴随着房地产市场的火爆,整个社会对房屋出租与租

赁的需求也迅速增长。而传统的手工记录信息的方法显然已经没有办法应对快速

升温的房屋租赁市场大量数据信息的需求。因此如何对房屋租赁业务进行高效快

捷的管理就成为亟待解决的问题。随着计算机网络的发展,各种传统行业纷纷进

入了利用计算机网络技术解决各种管理运营问题的时代,这也是房屋中介租赁机

构谋求解决问题的突破点。借助计算机网络日新月异的新技术的出现,我们试图

通过设计并建立一个“房屋租赁管理信息系统”来解决房屋中介租赁行业管理运

行中所存在的问题。该系统通过计算机技术的应用,以期提高行业工作效率,适

应现代化的社会节奏。

本文以需求分析和理论分析作为出发点,结合我国对房屋租赁行业的管理政

策和市场需求进行了需求分析,在这个基础上进行了系统的功能设计,开发了一

套含有管理端和客户端两个端口,以及基于这两个端口的十一个系统功能模块的

房屋租赁管理信息系统。本系统对房屋租赁管理信息系统的建立方法和技术实施

进行了阐述,旨在为房屋租赁中介行业从业者以及业主用户提供一个良好的计算

机软件解决平台。本系统作为生活中房屋租赁问题的信息载体,通过对租赁过程

中产生的大量业务信息的处理,可以解决大量业务信息管理和查询,既方便了中

介对业务的管理,也为租房者提供了高效准确的信息来源。

1.2 国内外研究现状及发展趋势

在近几十年信息网络技术飞速发展的带动下,国外发达国家早早进入了信息

化社会,房屋租赁市场信息化程度得到长足发展。在西方发达国家,大约有 40%

至 60%的中低收入家庭没有自己的房产,以租房来满足居住需求。下面是三个国

际化大都市的房屋租赁市场现状:

(1)纽约。在纽约,房租租赁市场可以大概分为三种,其中包括市场价租

赁、补贴租赁、价格租赁。市场价格租赁的租金顾名思义是由市场

决定,没有介入干越;补贴是为了缓和社会矛盾履行职能对低

收入者进行性补贴的租赁形式;租房介于前面二者之间,价格受到

了法律的制约,并且租房者可以享受一定优惠。 北京工业大学工程硕士专业学位论文

- 2 -

(2)柏林。根据柏林市发表数据表明,柏林市截至 2010 年,市区住房

72%归私人或私人房地产公司所有,公共住宅建筑只占 11%,但仍以各种不

同的方式对房屋租赁过程进行补贴,如支出补贴或减息,建筑费用补贴等,以保

证社会低收入者的住房成本维持在一个比较低的水平。在柏林大约有 22.5 万套

“廉租房“专供低收入群体。

(3)东京。东京的租房也比较完善。房屋租金根据社会不同阶层

不同收入段的家庭有不同的补贴,同地段同面积的房屋租金对高收入和低收入者

来说是不一样的。

国外的房租租赁市场得益于完善的,得到迅速发展。面对巨大的市场,

国外众多大型房屋租赁服务公司通过开发计算机软件建立信息化管理服务平台

来替代传统人工记录管理过程,从而大大提高工作的时效性和准确性。这样做不

仅提高了业务水平和数据处理能力,也更加赢得了客户。法国作为最早房屋中介

行业诞生的地方之一,法国的中介行业经过一百多年的发展,已经积累了一套成

熟完善的业务体系,同时具有成熟健全的法律法规作为支撑。该国的大型租赁公

司通过因特网实现了对房源和客源的信息管理,通过多重上市服务,实现了对客

源和房源两个数据库的联合管理。极大的提升了工作效率,降低了业务出错的几

率。

在国内,城市化建设经过几十年的发展,农业人口占总人口比重已经由建国

时的 90%降低到 2005 年时的 70%。大学的扩招和源源不断的农村进城务工

人员为城市带来了大量的流动人口,大量新的家庭的组建也为房屋租赁市场带来

了庞大的客源。并且随着城市化进程的加快,流动人口占城市人口总数的比例也

在不断提高。据统计我国到 2010 年底已拥有高达两亿之多的城市流动人口。政

治中心北京、经济中心上海、改革的窗口深圳、广州在改革发展的过程中也吸引

了众多海内外企业,各大公司、财团、办事机构的进驻也推动了房屋租赁行

业的发展。面对如此之多的流动人口,如此庞大的租赁市场,实行整个房屋中介

租赁行业的信息化已经迫在眉睫。目前在我国,很多中介租赁公司还在使用原始

的人工纸张记录方式,不仅信息的载体落后,面对海量的数据时人工搜索的效率

及其低下。这不仅严重影响工作效率,更存在着信息安全保密性的问题,同时导

致人力资源的浪费,人力成本的增加。

自从 20 世纪 90 年代以来,国内的房屋租赁市场发展十分迅速,对国内经济

起到了拉动投资促进消费的重要积极作用,但落后的行业信息化水平严重的阻碍

了整个行业的发展。而加入世界贸易组织后,国外的竞争者凭借其先进的信息共

享平台优势,对国内的房屋中介租赁行业造成了很大的冲击。例如来自美国的“21第 1 章 绪论

-3 -

世纪不动产”,这几年在中国发展的风风火火,捞足了利润。国内企业迎来了来

自海外的拿着“先进武器”的同行的前所未有挑战。为了占领市场,求生存、促

发展,增强公司的核心竞争力,推进国内住房租赁行业的信息化建设水平刻不容

缓。

1.3 论文的主要工作及结构

1.3.1 论文的主要工作

本文通过对数据库技术以及关系信息系统的理论与技术的认真研究,从系统

的总体设计目标、设计原则、功能需求、业务流程四点对国内外房屋租赁行业做

了大量详细的需求分析,设计开发了一套立足于我国行业现状的基于分布式数据

库技术的房屋租赁管理系统。主要研究工作如下:

1.对我国房屋租赁行业信息化需求进行研究分析,通过认真总结国内外成

功与失败的案例的经验教训,得到一个具有普适性的系统建设思路。

2.对管理信息系统技术的发展进行分析,对数据库进行选择使其能最合适

的满足需求。

3.研究和分析本文构建的系统工作模式的原理,对其可行性评估。

4.完成房屋租赁管理信息系统的结构整体设计与功能模块的设计与实现。

1.3.2 论文的主要结构

本文共分六章。

第一章,介绍本文的研究意义和背景,国内国外的研究现状和本文主要的工

作;

第二章,介绍本系统的设计和实现过程中涉及到的相关理论与计算机技术;

第三章,对本系统进行结构化的需求分析和用例分析;

第四章,介绍本系统的结构以及数据库设计;

第五章,介绍本系统的实现以及测试;

结论。

北京工业大学工程硕士专业学位论文

- 4 -

第 2 章 相关理论与技术概述

-5 -

第2章 相关理论与技术概述

本房屋租赁管理信息系统的全面架构、安全、系统功能等设计选择了面向服

务架构(SOA)和 J2EE 开发体系,采用了中间件、Web Services、XML 的技术。

本章将在下面分别对这些技术进行描述:

2.1 面向服务的架构(SOA)

面向服务的架构是将各个互不相干的计算机系统合理的整合,以达到信息和

计算机资源的共享与重用。

传统应用集成的方法,包括 EAI、点对点,成本都很高。而且这些集成方法

往往结构复杂、死板。以上集成方法在当今社会不断快速发展的行业业务面前都

捉襟见肘。但是面向服务的架构的应用开发与集成可以很好的解决这些问题。

2.2 J2EE 体系

鉴于本系统为企业级商用系统,必须保证系统高度的可用、可靠、可扩展性。

目前主流计算平台技术首选 J2EE 的企业标准。

作为当今主流技术体系、工业标准,市场上已经涌现出大量基于 J2EE 的产

品和相关厂家,并且不乏优秀产品,以该标准构建的平台,具备稳定、可靠、高

扩展性的优点。。

因为 J2EE 技术室基于 JAVE 语言开发的,由于 Java 的优良特性,尤其是款

平台特性,所以 J2EE 可以跨平台运行,这保证了系统良好的兼容性和可扩展性。

中间件技术

中间件技术具有以下特点:可以在多种 OS 和硬件平台运行;能够满足大量

应用的需要;支持分布式的计算、能够提供跨硬件、网络、OS 平台的透明的服

务或应用的交互功能;支持标准协议与接口。

2.3 中间件技术

中间件技术具有以下特点:可以在多种 OS 和硬件平台运行;能够满足大量

应用的需要;支持分布式的计算、能够提供跨硬件、网络、OS 平台的透明的服

务或应用的交互功能;支持标准协议与接口。

中间件具有以下优点: 北京工业大学工程硕士专业学位论文

- 6 -

加快开发进程;降低开发风险;与网络通信服务无关性;应用可维护性;增

加产品吸引力、提高程序间交换信息透明度;高可靠性和可用性;高可扩展性。

中间件在例如负载均衡、事务管理以及基于 WEB 的计算等分布式的服务于

客户之间起到了承上启下的作用。

由于中间件能保证应用软件的稳定性,保护企业投资、实现软件功能扩展,

以及很大程度上降低了由不同硬件构成的分布式处理环境的复杂程度,所以得到

了越来越多的用户的注意。中间件在管理信息系统中应用特点如下:

1. 异构系统整合

在房屋租赁管理信息系统建设中,由于涉及较多的开发人员,所以会遇到不

同的操作系统、硬件平台、和应用之间互通互联的问题。中间件技术对不同的网

络环境有非常强的适应性,使得开发人员不必担心异构系统带来的问题,并且保

护了原有的硬件设备的投资,从而实现了经济性。

2. 通讯可靠性保障

房屋租赁管理信息系统正常运行需要大量网络通讯数据,中间件在这里负责

信道的建立与维护,数据的传输和校验,断点续传、故障恢复等工作,使应用数

据传输可靠性得到保障。

3. 应用系统运行效率

房屋租赁管理信息系统的正常运行需要保证该系统的通信和处理的能效,这

一方面取决于硬件系统的性能和网络带宽,另一方面也依赖于对这二者的有效调

度和控制的能力。中间件为降低系统对硬件的要求在以下两个方面保障系统的运

行效率:(1) 通讯效率:不管在哪一种业务模式下,通讯效率是否能够得到保障对

提高真个业务系统的性能都有及其重要的意义。在不同网络状况下中间件技术采

取相应的办法,将数据进行压缩,从而达到通讯效率的保障的效果。(2) 业务处

理效率:主机处理数据的效率、通讯的效率和数据库处理数据的效率决定了业务

系统的处理效率。中间件技术通过对数据库和主机资源的有效控制可以防止系效

率系统的情况的出现。

4. 系统可用性

在网络线路某一点发生故障时,中间件可以自动切换到其他正常线路;在某

设备故障时,中间件将业务处理自动交给服务器集群中的其他主机。保证系统不

会瘫痪。

5. 系统伸缩性 第 2 章 相关理论与技术概述

-7 -

中间件技术支持将多台计算机联合组成服务器组,以协同计算的方式增加数

据业务处理能力,这样达到适应不断变化的业务的需要。

6. 开发标准、简单

为了房屋租赁管理信息系统的顺利进行得到保障,需要开发工作做到标准、

清晰、简单、有层次,能够使应用开发资源从繁琐的故障恢复、异构处理、效率

保证等工作中释放出来,全力专注于业务开发。中间件正是这种产品。

7. 安全性

中间件技术提供了多个层面的安全功能:为防止非法程序使用可以对认证服

务程序和客户程序的合法性;为防止非法访问对通讯双方的合法性进行认证;可

以检查用户的合法性;为防止数据失窃对传输数据进行加密。

8. 维护管理简单方便

房屋租赁管理信息系统设计的地理范围较广,为对应用系统进行方便的监控

管理,可以采用中间件的工具统一管理,在专门的管理机上由专门的管理员进行

统一维护管理。

2.4 Web Services 技术

Web 服务使用标准的 Web 协议向用户提供有用的功能的应用程序,将功能

纲领性的体现在因特网或企业内网上。可以将 Web Services 看成 Web 上面的组

件程序。

实现支持简单数据描述的技术,是在整个 Web 中实现 Web 服务以及实现

Web 服务的一类基本结构的关键所在。这种技术即为 XML。利用 XML,Web

Services 必须完成三件任务:服务描述、服务发现以及基本的缆线格式。

SOAP:SOAP 是一种基于 XML 的协议,用于在分布式环境中发送消息,并

执行远程过程调用。使用 SOAP,不用考虑任何特定的传输协议。简单对象访问

协议(SOAP)是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB

上交换结构化的和固化的信息。 SOAP 可以和现存的许多因特网协议和格式结

合使用,包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途

网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大

量的应用程序。

Web 服务描述语言(WSDL)。

WSDL 为 Web 说明语言, WSDL 文件是一个 XML 文档,用于说明以及如北京工业大学工程硕士专业学位论文

- 8 -

何一组 SOAP 消息。

WSDL 文件以 XML 架构标准为基础,用于说明消息格式的表示法,所以

WSDL 与编程语言无关,而且以标准为基础,因此说明适用于从不同平台、以不

同开发语言访问的 Web 服务接口。WSDL 定义了服务位置,和使与服务进行通

信的协议。

“SOAP 发现”:SOAP 用来定义消息的 XML 格式,包含在一堆 SOAP 严肃

中的,结构正确的 XML 就是 SOAP 消息。

当这三种功能层实现后,开发者就可以很容易找到 Web 服务,将之示例为

一个对象,然后再将之集成到应用程序中,从而构建出一个包括丰富功能的基本

架构。如此,获得的应用程序就可以与 Web 服务进行反向通信了。

2.5 XML 标准

XML 即 eXtensible Markup Language 的缩写,翻译成中文就是“可扩展的标

记语言”。XML 是一套规则,用来定义予以标记,被标记的文档被分为很多部分,

然后根据这些标记来标识。XML 同时也是元标记语言(元标记语言就是用来定义

其他与一些特定的领域有关、结构化、语义的标记语言的句法语言)。

同一个 XML 原文档通过将内容、结构、表现互相分离,做到在只写一次的

条件下用不同的方法表现:在手机上、在个人电脑上、在掌上电脑等设备上翻译

成语言等。

与生俱来的跨平台性。XML 可以很方便的在异构系统之间作为交流媒介来

使用,而且对于各种资料它都“通俗易懂”。无论是二进制信息还是文本信息,

都可以使用 XML 进行标注与描述。由于 XML 解释器很多都是用 JAVA 语言编

写,所以兼容性很好,可以运行在各种 java 虚拟平台上。并且易于下载,在英

特网上到处都是。

良好的生命力。SGML 是一套国际标准,已经诞生几十年之久。其一个著名

应用实例便是 HTML,还有著名的 Adobe 公司的 FrameMaker 软件的内部格式即

为 SGML。设计 SGML 的初衷就是为文档提供 50 年以上寿命,即 50 年以后该

文档仍然可以方便的被系统访问并且不需要其他额外兼容性的考虑。但是因为

SGML 的高复杂性,所以只有一些大型系统采用了其标准。XML 为 SGML 的

网络精简版,具有 SGML 的优点的同时也具备了良好的生命力。

结构化文档。XML 文档具有很强的描述能力,因为它本身就是结构化和自

描述的。通过 XML 技术完全的分离开数据与表现,核心应用系统可以做到只关第 2 章 相关理论与技术概述

-9 -

心数据,不需要关心其表现形式,从而达到很方便的实现各种数据自动化流转与

处理。

2.6 本章小结

本章对房屋租赁管理信息系统的相关技术理论进行了阐述。

北京工业大学工程硕士专业学位论文

- 10 -

第 3 章 房屋租赁管理系统的需求分析

-11 -

第3章 房屋租赁管理系统的需求分析

3.1 系统目标

随着互联网技术的不断发展,人们的生活方式正在迅速改变着,越来越多的

人喜欢在网上查询生活信息。网上房屋租赁管理也成为时下一种潮流并且高效的

方式,internet 使各种角色突破了空间和时间障碍联系在一起,扩大了交易范围,

节约了交易成本。一个可用性高,安全性高,可靠性高的房屋租赁信息管理系统,

无疑会为大众带来方便,从而在对社会有益的同时,还会带来巨大的经济效益。

实际生活中,客源分散,数据量大,数据存在时效性是系统设计不得不考虑

的问题,因此本系统利用了网络的多层次应用体系结构以及分布式数据库技术,

可以使各地的用户快速访问分布于不同节点上的数据,并且分布式数据库合理的

数据分布可以降低通信开销,缓解 web 服务器压力,从而提高系统的稳定性。

web 服务器控制各节点之间的交互,并将各节点的信息集中起来,完成对客源和

房屋的统计与管理。总的来说,分布式数据库技术的引入,形成了分布访问集中

计算的格局,有利于系统的维护与扩展。

由于本系统是一个中介性质的系统,因此该系统面向的用户是一个房屋中介

管理机构。总体目标如下:

寻租者和房主能够及时查询需要的房屋信息,可以随时通过网站注册并登陆

账号。

用户可以自行查询房屋相关信息,查看合同及有关管理条例,通过网站与房

主签订租住合同。

提供简洁的友好界面,方便用户进行操作。

能够以优质便捷的服务,吸引尽量多的房主和租户到该网站来交易,从而从

中收取一定得中介费用,带来可观的经济效益。

系统能够跟踪和监督整个交易的过程,防止违法犯罪情况的发生,为房屋租

赁提供一个安全可靠规范的平台。

3.1.1 用户分类及其需求

系统的开发是为了最终满足客户需求,无论系统的规模如何,满足客户的功

能需要都是第一位的。通过系统的调研和分析,我们将本系统的用户分为三类: 北京工业大学工程硕士专业学位论文

- 12 -

第一类是系统的管理者。他们可以自己录入出租和求租信息,也负责对其他

非管理者录入的出租或者求租信息进行审核。录入系统运行所需要的一些基本数

据,对签订的房屋租赁合同进行监督。

第二类是系统的注册用户。注册成为系统的会员,可以方便的通过已有的基

础数据,如小区信息和物业信息等等,发布出租或者求租信息,方便的查询租房

费用的各种信息,杜绝不合理和乱收费的现象,同时,可以查询出租者的信息,

可以在线浏览合同的模板。

第三类是非注册用户即游客。游客可以不用注册,直接登录系统进行浏览。

游客可以通过查询页面,方便的查询相关的租房信息或者求租信息。另外,可以

通过提交个人信息申请成为注册用户

综合这三类的用户,本系统包含了如下的一些基本功能:

用户管理:方便的对用户进行管理,新用户注册、修改密码、修改用信息、

删除用户和查询用户等内容。

合同管理:合同模板的录入、合同的在线签订、合同的审批、合同的履行情

况监督等。

房屋出租管理:方便的进行房屋出租信息的发布和修改,同时可以方便地按

照区域、户型、是否合租、房屋状况等内容进行综合查询。

房屋求租管理:通过系统发布求租信息,系统根据客户的需要提出可行的租

房建议信息,根据后台数据库自动进行匹配查询。

基础信息管理:系统管理者通过基础信息管理,录入楼盘信息、物业信息、

楼宇状态、费用科目编码、基础代码等内容,是系统正常运转的基础。

统计报表:对房屋的当前状态进行盘点,方便按日期、户型、租住状态等项

目进行统计和分析。

基本功能与用户的对应关系表如图 3-1:

第 3 章 房屋租赁管理系统的需求分析

-13 -

房屋租赁管理系统

管理员

注册用户

游客

图 3- 1 基本功能与用户关系图

Figure 3- 1 Relationships of the Features and the Users

3.2 业务流程

系统的数据流程大致描述如下:管理员通过系统录入楼宇和业主的基本信

息,注册房主可在选择相应的楼宇信息后发布房屋出租信息,注册租户通过查询

选择自己需要的出租信息,了解房屋出租的相关信息,如户型、楼层、费用等,

最终选定之后建立一份完整的租房合同。其主要业务流程图如 3-2 所示: 北京工业大学工程硕士专业学位论文

- 14 -

用户信息表

新用户注册

个人信息

我的发布

我的收藏

通过

用户登录

房屋信息

个人信息

用户

主页

管理员 管理员登录

功能选择

房源分类

帮助中心

初级搜索

高级搜索

通过 后台管理

搜索列表

房源列表

帮助中心

房源数据

游客

图 3-2 房屋租赁系统主要业务流程

Figure 3-2 Main Flow of House Renting System

3.3 功能需求分析

房屋租赁管理系统实现一个网上房屋租赁的管理系统软件,它要实现管理包

括人事、销售、购买、广告等信息,包括 4 个子系统,主要结构图见图 3-3:

房屋租赁管理系统

图 3- 3 系统主要结构图

Figure 3- 3 system structure 第 3 章 房屋租赁管理系统的需求分析

-15 -

3.3.1 注册用户(求租)管理子系统

求租用户管理子系统主要负责管理求租者需要的信息,可以为用户提供查询

浏览房屋信息、系统信息,提交合同,处理合同等功能。如图 3-4 所示,当用户

查询某房屋时,本子系统显示房屋信息,并且支持分类查找的功能;当用户查询

帮助信息时,本子系统将显示帮助中心,向用户提供服务支持;当用户或系统管

理员管理收藏夹时,本子系统将显示当前收藏夹信息; 当用户确定租住时,本

子系统将自动调用合同模板帮助用户填写合同内容,并生成合同。

注册用户

(求租)

个人信息库 房屋信息库

查询浏览房屋

生成并提交合同

合同

管理历史合同

投诉与建议

用户投诉与建议

个人信息 房屋信息

系统信息

系统信息

房屋信息

个人信息

房屋查询条件

合同信息

合同

合同

合同信息及状态

投诉与建议

投诉与建议

补充合同信息

历史合同信息

反馈信息

反馈信息

系统信息

管理收藏夹

收藏信息

收藏夹

收藏信息 收藏信息

图 3- 4 求租管理子系统数据流图

Figure 3- 4 DFD of Renting Management System

输入数据流包括:房屋信息、个人信息、系统信息、反馈信息、订单信息等。

内部处理逻辑:内部处理逻辑包括“查询浏览房屋信息”、“管理收藏夹”、“生成

并提交合同”、“管理历史合同”、“投诉与建议”等部分。

“查询浏览房屋信息”是向租户发布系统消息以及房屋列表,当有租户有查

询浏览信息的请求时,将相信信息反馈给用户。“管理收藏夹”显示该用户收藏

夹中的内容,并由用户对收藏夹进行管理和维护。“生成并提交合同”是当有新

合同时,将会显示该合同详细的信息,然后生成订单,最后将新合同提交给用户;

如果存在有未处理的未完成合同,系统将显示该未完成合同信息,如果订单状态北京工业大学工程硕士专业学位论文

- 16 -

为等待租户付款,那么租户进行付款处理并标记为已付款,若合同状态为等待租

户评价,则租户可根据喜好进行评价打分,然后标记该合同为完成。“管理历史

合同”:如果有租户查看合同信息,系统则从合同库中读取相应的合同,然后将

此合同信息反馈给用户,租户可以对合同进行管理。“投诉与建议”将租户对系

统、房源的评价、建议与投诉加入用户投诉与建议库,并从用户投诉与建议库中

读取未发送给用户的反馈信息,当有未处理的反馈信息时,系统提取该反馈的详

细信息,然后将其发送给相应用户。输出数据流:该子系统的输出数据流包括:

合同信息、房源查询条件、建议与评价三点。

3.3.2 管理员子系统

管理员子系统主要负责管理人事、广告以及系统等信息。本子系统可提供监

控房屋、广告信息,管理各类用户信息,发布系统信息,进行信息反馈等功能。

当用户查询广告申请时,系统显示广告申请信息;当用户管理投诉与意见时,显

示用户投诉与意见;当发出警告信息时,更新系统信息。

管理人员

处理用户的建

议及投诉

审核用户信息

监控房屋楼宇

信息

用户信息库

审核用户信息结果

用户信息

用户信息

用户信息

用户建议及投诉

反馈信息

用户投诉与建

房屋信息库

商品信息

各类信息

用户建议与投诉

反馈信息

系统信息

系统信息 系统信息发布系统信息

图 3- 5 管理员子系统

Figure 3- 5 DFD of Administrator Management System

管理员子系统的输入数据流包括:房源信息、系统信息、建议与评价、用户信息。

管理员子系统内部处理逻辑包括“发布系统信息”、“审核用户信息”、“监控房源

信息”、“处理用户的建议与投诉”。“发布管理信息”是若管理员发布系统信息,第 3 章 房屋租赁管理系统的需求分析

-17 -

则将系统信息加入系统信息库;“审核用户信息”指从用户信息库中提取未审核

的用户信息,当有未审核的用户信息时,则显示某一用户申请的详细信息,然后

管理员阅读该信息,进行用户身份的真实性审核,如果用户信息有效,则管理员

查看用户是否符合标准,若符合则管理员填写“同意成为注册用户”,否则填写

“用户信息审核不通过原因”;“监控房源信息”即管理员读取房源信息,如果发

现有违法违纪现象,则发送系统消息;“处理用户的建议及投诉”包括从用户投

诉与建议库中读取投诉与建议,当有未处理的建议或投诉时,则显示该建议或投

诉,然后管理员对其进行阅读,针对相应建议或投诉进行反馈或改进管理系统。

管理员子系统输出数据流包括系统信息、用户信息、反馈信息等三条。

3.3.3 访客管理子系统

访客管理子系统主要负责管理访客浏览及注册信息,可提供查询浏览房屋及

系统信息,提交注册申请的功能。当访客申请成为注册用户时,显示用户信息表

项;当访客查询某房屋时,显示房屋信息。

游客

系统消息房屋信息库

系统消息房屋信息

用户信息库

用户信息 申请注册用户

用户信息

查询房屋等信息

房屋信息

系统信息

查询浏览房屋

条件

图 3- 6 访客管理子系统

Figure 3- 6 DFD of Unregistered User Management System

访客管理子系统输入数据流包括房屋信息、系统信息和用户信息。

本子系统内部处理逻辑部分包括“查询浏览房屋信息”和“申请注册用户”。“查

询浏览房屋信息”包括向访客发布系统消息,当访客有查询浏览房源的请求时,

系统将房源信息反馈给访客;“申请注册用户”指访客提交申请信息。 北京工业大学工程硕士专业学位论文

- 18 -

访客管理子系统输出数据流包括房源查询条件和用户注册信息。

3.3.4 注册用户(房主)管理子系统

注册用户(房主)管理子系统主要负责管理房主、房屋信息以及交易信息,

可提供管理维护房屋信息,申请房屋广告置顶,查看系统信息,处理合同,处理

建议投诉等功能。当审核确认某订单时,显示此订单的具体信息;当管理个人房

屋时,显示房屋信息;当处理买方评价建议时,显示买方的评价建议。

注册用户

(房主)

房屋信息库

系统消息

用户建议与投

处理租户的投

诉和建议

查看系统消息

管理维护房屋

信息

房屋信息

房屋信息

建议与投诉

反馈

建议与评价

建议与评反价馈

系统消息

系统消息

反馈

建议与评价

建议与评价

反馈

合同

处理合同

管理历史合同

合同

合同

合同信息

合同信息

合同信息

合同信息

图 3- 7 注册用户(房主)管理子系统

Figure 3- 7 DFD of User Management System

注册用户(房主)子系统输入数据流包括:房屋信息、系统信息、合同信息、反

馈信息等

内部处理逻辑块包括“处理租户的建议与投诉”、“建议与投诉”、“查看系统消息”、

“管理维护房屋信息”、“处理合同”、“管理历史订单”等。“处理租户的建议与

投诉”包括读取租户的建议与评鉴,当有需要处理的评价信息时,显示某评价信

息的详细内容,然后针对租户提出的评价进行反馈。“建议与投诉”包括对租户、

管理人员进行建议或提出投诉;从用户建议与评价中读取新的反馈信息。“查看

系统消息”是房主发布系统信息。“管理维护房屋信息”包括读取房屋信息,如

果未添加房屋,则加入房屋信息,否则即对房屋信息进行维护管理,然后将新的第 3 章 房屋租赁管理系统的需求分析

-19 -

房屋信息添加至房屋信息库。“合同处理”从订单库中读取所有相应房主状态为

“新提交”的合同,当有未审核的新合同时,显示其中某一合同的详细信息,然

后阅读合同,若合同有效,则房主标注“审核通过”,合同状态改为“等待租户

付款”,否则房主标注“未通过审核的原因”。从订单库中读取所有相应房主的状

态为“已付款”的合同,当有“已付款合同”时,显示该合同详细信息,然后准

备交接房源,最后标记合同状态为“已同意”。“管理历史订单”,如果有房主查

看合同信息,则从合同库中读取相应合同,再将此合同详细信息反馈给房主,然

后房主对合同进行管理。

本子系统输出数据流包括:合同信息、房屋信息、投诉和管理和反馈信息。

3.4 系统用例建模

此系统作为一个应用于中介机构的系统,将注册用户、游客、管理者以及三

者的功能需求有机联系起来。使用用例图对系统进行建模如图 3-8 所示:

管理员

用户

游客

注册用户

发布系统信息

管理并反馈投诉与建议

成为注册用户

查询房源信息

<>

<>

修改个人信息 登录系统

<>

<>

<>

<> <>

<>

<>

<>

审核确认合同

提交合同

建议与投诉

管理收藏夹

管理房源信息

<>

<>

<>

<>

<>

警告非法用户

<>

剔除非法用户

图 3- 8 系统用例图

Figure 3- 8 System Case 北京工业大学工程硕士专业学位论文

- 20 -

3.4.1 用例分析

用例:登陆系统。本用例允许注册用户和管理员输入自己的用户名和密码,登陆

到本系统。本用例参与者分别为注册用户和管理员。登陆系统事件流包括常规流

程和备选流程。登陆系统的前提条件是用户名和密码输入正确;后置条件为若登

陆成功,则进入各自相应系统。

常规流程包括:用户进入系统点击登陆;系统要求用户输入用户名和密码;

用户进入系统。

备选流程包括:用户名不存在,即在第二步中,如果用户名输入错误,则

系统显示用户名不存在,要求重新输入;密码不正确,即在第二步中,如果密码

输入错误,则系统显示密码错误,要求重新输入密码。

用例:修改个人信息。本用例允许注册用户和管理员修改自己的用户名,联系方

式,密码等用户信息。本用例参与者为注册用户和管理员。用例事件流包含:用

户点击个人信息管理;系统要求用户重新输入个人信息;用户输入个人信息并保

存;系统更新用户的个人信息。用例前提条件是用户已经成功登陆系统。用例后

置条件为用户个人信息得到更新。

用例:申请成为注册用户。本用例允许游客通过填写一定量的个人信息,而成为

系统中的注册用户,参与者为访客。用例中的事件流包括:游客点击注册;系统

要求游客输入个人信息;游客输入个人信息并确认;如果个人信息有格式错误这

些固有问题则需要重新输入;如果填写无误则系统会接受游客的申请。用例前提

条件是游客可以在任何时刻执行该用例。用例的后置条件为如果用例执行成功

(即填写全部合格的用户信息),游客的申请会被批准,成为注册用户。

用例:查询房源。本用例允许游客和注册用户输入查询条件,获取满足条件的房

源,并查看其详细信息,用例参与者为游客与注册用户。本用例事件流包含常规

流程和备选流程两种

常规流程:系统要求游客或注册用户输入一个或多个查询条件(小区名称、

价格上下限、所在地等); 游客或注册用户输入后,系统显示一个满足条件的清

单;游客或注册用户可按价格等对房源进行排序;游客或注册用户选择某一房源,

可查看其详细信息。

备选流程:无满足条件的商品: 在第 2 步中,如果不存在满足条件的房源,

系统将显示“无法找到”,用例结束。

本用例前提条件为游客或注册用户可在任何时刻执行该用例;后置条件为如果用第 3 章 房屋租赁管理系统的需求分析

-21 -

例执行成功,系统中所有满足条件的房源均被找到并展示给用户。

用例:管理收藏夹。本用例允许注册用户管理自己的收藏夹,用例参与者为注册

用户。用例事件流包括:注册用户进入自己的收藏夹;注册用户对收藏夹中的房

屋信息进行增、删、改的操作;收藏夹的信息得到更新。本用例前提条件为注册

用户必须成功登陆;后置条件为注册用户的收藏夹得到更新。

用例:提交订单。本用例允许注册用户向卖家提交订单,参与者为注册用户。

本用例包含以下事件流:注册用户进入自己的收藏夹或者直接浏览该商品;注册

用户点击成交;系统要求注册用户填写一系列的合同信息;注册用户填写合同信

息并确认;如果填写有误,则系统要求注册用户重新填写;如果填写正确,则系

统接受注册用户合同并提交给房主。

用例的前提条件是注册用户必须成功登陆;后置条件是如果用例执行成功,注册

用户的合同被系统接受并提交给房主。

用例:审核确认订单。本用例允许注册用户确认来自租户的订单,并给出“通过”

或者“不通过”的审核结果,用例参与者为注册用户。本用例包含如下事件流:

房主收到新的合同信息;房主打开合同,系统为其展示该合同的详细信息;房主

判断这个合同是否合理;若合同合理,则通过,租户收到合同确认信息,状态更

改为“已确认”;若合同不合理,则否认,租户收到拒绝信息,状态更改为“被

拒绝”。本用例的前提条件是注册用户必须成功登陆;后置条件为合同状态被正

确更新。

用例:建议与投诉。本用例允许注册用户对网站的管理提出建议,或者对其他用

户的非法行为进行投诉,参与者为注册用户。本用例事件流包括:注册用户点击

建议与投诉;系统要求用户填写建议或投诉内容;注册用户填写完成并确认;如

果填写有误,则需要重新填写;如果填写正确,系统接受注册用户的建议与投诉

并提交给管理员审核。

用例的前提条件是注册用户必须成功登陆;后置条件则为如果用例执行成功,管

理员会收到注册用户的建议或投诉。

用例:管理房源信息。本用例允许注册用户对自己的房源信息进行修改和管理,

参与者为注册用户(房主)。用例事件流包括:注册用户点我的出租;用户可以

对房源信息进行增、删、改等操作;用户修改完成后保存;用户的房屋信息得到

更新。

本用例前提条件是注册用户必须成功登陆;而后置条件为用户的店铺信息得到更北京工业大学工程硕士专业学位论文

- 22 -

新。

用例:发布系统信息。本用例允许管理员发布系统信息,用例参与者为管理员。

用例事件流包括:管理员点击发布系统信息;系统要求管理员填入要发布的信息;

管理员填写完系统信息并确认;如果填写有误,则系统要求管理员重新填写;如

果填写正确,则系统将系统信息发布到网站里。

用例的前提条件是管理员必须成功登陆;后置条件是如果用例执行成功,系统将

会把系统信息发布到网站里。

用例:警告非法用户。本用例允许管理员向非法用户发布警告信息,参与者是管

理员。用例事件流包括:管理员收到来自的用户的投诉;管理员经过核实发现的

确存在某些用户有非法行为;管理员点击发布警告信息;系统要求管理员填写警

告信息;管理员填写一系列警告信息并确认;如果填写有误,则系统要求管理员

重新填写;如果填写正确,则系统将警告信息发布到被投诉的非法注册用户的个

人页面

本用例前提条件是管理员必须成功登陆;后置条件为如果用例执行成功,系统将

警告信息发布到被投诉的非法注册用户的个人页面。

用例:管理并反馈投诉与建议。本用例允许管理员管理并反馈来自注册用户的投

诉与建议,参与者为管理员。本用例事件流包括:管理员打开用户的投诉或建议

列表;管理员可以按时间、性质等对列表进行排序;管理员打开某个投诉或建议

浏览其详细信息;管理员点击反馈;系统要求管理员填写反馈信息;管理员填写

一系列反馈信息并确认;如果填写有误,则系统要求管理员重新填写;如果填写

正确,则系统将反馈信息发布到该注册用户的个人页面里,并把该条投诉与建议

的状态更新成“已反馈”。本用例的前提条件是管理员必须成功登陆;后置条件

为如果用例执行成功,系统将反馈信息发布到该注册用户的个人页面里,并把该

条投诉与建议的状态更新成“已反馈”。

用例:剔除非法用户。本用例允许管理员管理剔除某个非法用户,取消其注册用

户资格,用例的参与者是管理员。用例事件流包含:管理员对某个非法用户进行

警告之后,其不但没有改正自己的行为,反而继续从事非法的交易;管理员点击

剔除非法用户;系统要求管理员输入用户账号;管理员填写用户账号并确认;如

果填写有误,则系统要求管理员重新填写;如果填写正确,则系统删除该用户的

发布信息,并封掉该用户的账号。

本用例的前提条件是管理员必须成功登陆,后置条件是如果用例执行成功,系统

删除该用户的发布信息,并封掉该用户的账号。 第 3 章 房屋租赁管理系统的需求分析

-23 -

3.5 本章小结

本章从目标、业务流程、功能、用例建模几个方面对本系统进行了需求分析。

北京工业大学工程硕士专业学位论文

- 24 -

第 4 章 房屋租赁管理系统设计

-25 -

第4章 房屋租赁管理系统设计

经过之前的需求分析,我们的问题已经不再是行不行和做什么,而是我们到

底该怎么做,系统已经确定的功能我们该如何实现的问题。在此阶段我们要确定

系统的总体架构和数据库设计。

数据库设计对我们的开发非常重要,可以说是系统开发的基础,数据库设计

的好,可以帮助我们在后续的开发过程中少走弯路。随着互联网经济的发展,数

据库的设计越来越不拘泥于课本上的教条,设计相对灵活。随着存储成本的降低,

数据库的设计趋向于适量的冗余,数据的适当冗余有利于高效的进行报表的查询

和数据的统计。

本系统采用 Spring+Struts+JDBC 的经典 MVC 架构模式。Struts 进行流程控

制,Spring 进行业务流转,JDBC 用来同数据库进行交互。本系统舍弃了 Hibernate

而使用 JDBC,是因为 Hibernate 对多表的联合检索支持的并不是特别理想。MVC

软件系统架构划分可以分为三个逻辑层:业务逻辑层、表示层和数据持久层。三

层逻辑层次和两层逻辑层次的最大的区别在于,三层逻辑层次将业务逻辑层抽象

为中间层,表示层如果要访问底层的关系数据库需要通过业务逻辑层组件间

接访问。这样整个系统的可扩展性、可伸缩性和可靠性就大大提高了;同时提高

了客户端多样性界面的实现可能性,并且对企业业务流程的管理和集中支持提供

了更好的技术和实现支持。

4.1 系统设计原则

实用性

房屋租赁管理系统是建立在大量调查研究的基础上,基于分布式数据库开发

的大型房租租赁信息共享平台。该平台的开发,解决了以往在房屋租赁中出现的

信息录入慢,保存不准确,租赁信息真实性低,查询不方便等问题。通过平台的

使用使租房信息和费用信息等内容更加透明。平台的层次结构清晰,用户界面友

好,充分发挥了分布式数据库的有点,为业主和租房者提供及时准确的信息。

安全性和稳定性

鉴于房屋租赁市场涉及的数据量巨大,因此本系统应有较高的安全性和可靠

性。首先,硬件设备应尽量使用先进技术保证系统的容错性;其次,软件系统也

应该具有较高的水准,由此可以看到使用分布式数据库技术的优点:灵活的体系北京工业大学工程硕士专业学位论文

- 26 -

结构,更适合分布管控、数据共享,且比集中式数据库有更高的可靠性及安全性;

在多层数据管理方面,要全面考虑数据的备份和储存,保证系统的可靠及安全;

在数据传输方面,应实现物理隔离以提高远程访问数据的安全保密性。另外,为

了防止数据库灾难,应同时建立数据系统的应急处理机制,备份机制和恢复机制

等措施来确保数据的可用性。

灵活性

随着经济的发展以及流动人口的日益增多,对房屋的需求也越来越多,开发

便捷灵活的房屋租赁系统的重要性日益凸显。分布式数据库技术包括各场地局部

数据库自治的特性,此特性使得局部事务管理和控制能在本地得到解决,只有当

涉及其它场地数据时才通过网络服务器进行全局集中型事务处理。另外,分布式

数据库系统可以产生程度各异的自治性,从完全场地自治到几乎完全的集中控

制,具有很高的灵活性。除此之外,分布式系统具有可扩充性,当需要增加新的

数据应用时,可在系统中快捷简便得增加新节点而并不影响已有系统的正常运

行,而且,这种扩充性并不受结点计算机的存储容量和处理器能力的。

4.2 应用技术架构

本项目统一采用 J2EE 规范实施,并以之为基础,采用成熟的开源框架和软

件,一起建成一个易于扩展、高可用度、稳定的技术框架。

4.2.1 体系结构设计

采用面向对象的房屋租赁管理系统的设计,按照结构的逻辑功能,可以将系

统体系结构分为五个层次:客户层、表现层、业务(逻辑)层、集成层和(数据)

资源层,以实现用户、逻辑和数据的相互关联有序的关系。其层的逻辑架构如图

4-1 所示: 第 4 章 房屋租赁管理系统设计

-27 -

图 4-1 逻辑架构层次图

Figure 4-1 Logic Architecture

客户层

客户层(Client Tier)是用来访问系统的与用户交互的工具和设备,针对本

系统的 B/S 结构以及系统应用范围特点,客户层只是终端上的浏览器。并且,

客户层展现的效果须遵循《BS 架构系统的用户界面规范》。

表现层

表现层(Presentation Tier) 用来实现“用户界面”。它负责接收客户端的 HTTP

请求,提供数据封装、访问控制、会话管理、交易分发、系统登陆等功能。本层

须采用 Struts 或 JSF 为框架,但允许在特殊情况下采用普通 JSP 页面。采用 Struts

和 JSF 是都应遵循业界相关的技术实施规范。表现层必须在设计架构时能满足业

务层不同框架切换以保证架构整体扩展性。

业务层

业务层(Business Tier) 作为 J2EE 的核心层,负责实现各个实体类及其内部包

含的业务逻辑以及接收展示曾分发的交易要求。业务层基本框架应采用 EJB 或

Spring,同时须满足业界相关技术实施规范。业务层包括业务控制层和业务服务北京工业大学工程硕士专业学位论文

- 28 -

层。

集成层

集成层(Integration Tier) 负责在实体类与数据层之间建立映射。当业务层有

数据访问时屏蔽不同的数据存储访问技术和同外部系统整合技术的差异,为业务

层提供标准统一的内外部资源的访问。集成层数据存储访问技术规定采用

TopLink 或者 Hibernate。当有特殊需求时,可采用 JDBC 技术进行直接访问。

资源层

资源层(Resource Tier)主要就是存储的数据、文件等,系统采用关系型数据

库进行数据存储。数据存储的结构和逻辑是设计重点,必要时刻,可以增加冗余

项引进容错概念,以进行安全检查。

4.2.2 层次调用关系

图 4-2 系统各层调用关系

Figure 4-2 Calling Sequence

通过图 4-2,可以看到在接收到客户端用户的请求后,系统将按照顺序调用

每层的对象,顺序为表现层、业务(控制)层、业务(服务)层、集成层、资源

层,如此完成该次请求的处理。

由图可见,一个业务服务(BS)可以调用数个数据访问对象(DAO),一个第 4 章 屋租赁管理系统设计

-29 -

用例控制器(UCC)可以组装数个业务服务。粒度和可复用度变得越来越精细。 整个流程是单项依赖的,即某层中所有组件并不会对其上层产生依赖。当然,

表现层的组件要求跟它相关的业务层组件是必须存在的,但反之后者不会要求任

何前者必须存在。同样,业务层组建会要求提供特定接口的数据访问组建必须存

在,但后者不需要知道任何前者的信息。

作为面向表现层的服务出口,用例控制器应该严格保证方法之间的分隔。同

时不能相互调用用例控制器中的公共方法。若有多个用例控制层的公共方法要求

同样的逻辑支持,应当将此逻辑作为用例控制器内部的非公共方法,或者将该逻

辑抽取出来作为业务服务。为降低层内的耦合性,每一层的内部不能相互调用。

业务服务是业务逻辑的主要实现者,为实现业务逻辑可以相互调用。但应在

详细设计中对其中的公共逻辑充分抽取归纳,同时为避免使业务服务层的调用关

系区域网状结构,应将公共逻辑作为较底层的业务服务,尽可能获得树状的业务

服务层的调用关系。此设计的质量的好坏在 B/S 的结构好坏上有着直接的体现。

数据访问对象承载着数据访问功能,两者之间应严格保持不相关性,不同的

数据对象之间不能相互调用,并且,数据访问对象的逻辑组织由业务服务进行操

作。

4.2.3 层间数据传递

在系统的隔层之间传递数据使用的是大量存在于系统中的数据对象,其传递

关系如图 4-3 所示。数据存储和查找命令从客户端发出,到表现层,到业务控制

层,到业务服务层,到集成层,最后到物理数据层,再反向传输,将操作结果和

查询内容反馈给用户。鉴于系统是面向对象设计,从业务逻辑到对象实例的逻辑

传输也是不容忽视的一部分。

北京工业大学工程硕士专业学位论文

- 30 -

图 4-3 架构分层示意图(数据传递)

Figure 4-3 Structure(Data Transfer)

4.3 设计元素识别与包设计

本节将详细描述系统的设计元素和对象实体,以及相应设计类之间的逻辑联

系。 第 4 章 房屋租赁管理系统设计

-31 -

4.3.1 包图

图 4-4 包的关系图

Figure 4-4 Package Relationship

图 4-4 是包的关系图,包的类型包括边界类,即界面、控制类和实体类,箭

头标记了他们的访问调用关系。

第一排是用户界面包,是用户可以直接看到或者直接操作的。其中,包“查

询与浏览房源界面”,包括“查询房源”;包“合同管理界面”,包括“提交合同”

和“审核确认合同”;包“投诉与建议界面”,包括“管理并反馈投诉与建议”和

“建议与投诉”;包“登陆系统管理界面”,包括“登陆系统”、“申请成为注册用

户”和“修改个人信息”;包“系统消息管理界面”,包括“发布各种信息”和“剔

除非法用户”;包“注册用户个人管理界面”,包括“管理个人信息”。

第二排是控制类包,用于进行用户和底层数据库的控制。其中,包“查询与

浏览房屋控制”,包括“查询房屋控制类”和“服务评价控制类”;包“合同管理

控制”,包括“提交合同控制类”和“审核确认合同控制类”;包“投诉与建议控

制”,包括“投诉与建议控制类”;包“登陆系统管理控制”,包括“登陆系统控

制类”、“修改个人信息控制类”和“申请成为注册用户控制类”;包“系统消息

管理控制”,包括“剔除非法用户控制类”和“用户交流反馈控制类”

第三排是实体类包,是底层数据的数据结构。其中,包“用户”,包括“管

理员”、“注册用户”和“所有用户信息”;包“房源”,包括“房屋”;包“系统北京工业大学工程硕士专业学位论文

- 32 -

消息”,包括“反馈”和“投诉与建议”;包“合同”,包括“合同”。

通过以上的结构化面向对象设计,可以清楚得看到边界类、控制类和实体类

与包的从属关系。相应的边界类、控制类和实体类设计说明如表 4-1:

表格 4-1 类设计

Table 4-1 Classes Design

类型 类名 类作用

边界类 HouseQueryView

查询房源界面

SubmitOrderView

提交合同界面

CheckOrderView

审核确认合同界面

FeedbackView

反馈用户界面

AdviceView

投诉与建议界面

LoginView

登陆界面

ModifyInforView

修改个人信息界面

RegisterView

注册界面

ReleaseInforView

发布系统信息界面

KickView

剔除非法用户界面

控制类 HouseQueryHandler 查询房屋

SubmitOrderHandler 提交订单

CheckOrderHandler 审核确认订单

AdviceHandler 投诉建议

LoginHandler

登陆管理

ModifyInfoHandler

修改个人信息 第 4 章 房屋租赁管理系统设计

-33 -

表 4-1 列出了各个类对象的类型、软件设计中的名称以及类的作用,通过上

表和包的关系图,可以对此房屋租赁系统的逻辑结构设计有个宏观上的把握和了

解。

4.4 类设计

在面向对象的设计中,类的设计是系统实现的基础。类的设计包括类的成员

数据和成员函数。成员数据,是类的属性,是类本身具有的数据描述;成员函数,

是与类相关的操作,是类本身的逻辑业务。本节将具体描述各实体类和控制类的

属性作用和业务逻辑。

4.4.1 实体类

用户:用户实体就是本系统的使用者,是其他用户实体的父类,如管理人员、

房主等。

用户实体的成员数据,包括用户名和密码,如表 4-2

RegisterHandler

注册成为新用户

FeedbackHandler 反馈用户

KickHandler

剔除非法用户

实体类 User 用户

Administrator

管理员

Customer

注册用户

UserInfo

所有用户信息

House

房源

Feedback

反馈

Advice

投诉建议

Order

合同 北京工业大学工程硕士专业学位论文

- 34 -

表格 4-2 用户类属性

Table 4-2 Properties of User Class

属性名 属性含义 数据类型 缺省值 可见性

UserID

用户名 String -

Password

密码 String -

用户实体的成员函数,包括登录系统,退出系统和接受信息。登录系统,将

先连接数据库,之后判断用户名与密码是否匹配,是则登录成功,否则登录不成

功。退出系统,将先连接数据库,之后将用户从系统断开。接受信息,将先连接

数据库,并返回用户收到的信息列表。具体描述如表 4-3

表格 4-3 用户类操作

Table 4-3 Operations of User Class

操作名 操作的含义 可见性 参数列表 返回值类型

名称 类型

Login

登陆系统 - UserID String boolean

Password String

Logout

退出系统 - UserID String boolean

ReceiveInfor

接受信息 - UserID String List

管理人员:管理人员继承自用户,具有高权限,以便管理整个系统。

管理人员实体的成员数据包括用户名和密码,如表 4-4

表格 4-4 管理员类属性

Table 4-4 Properties of Administrator Class

属性名 属性含义 数据类型 缺省值 可见性

UserID

用户名 String -

Password

密码 String -

管理人员实体的成员函数,部分继承自用户,包括登录系统,退出系统,接第 4 章屋租赁管理系统设计

-35 -

受信息,发布系统信息和剔除非法用户。发布系统信息,先连接数据库,管理员

将信息发布到系统中。剔除非法用户,先连接数据库,管理员将用户名匹配的用

户从系统中删除。具体描述如表 4-5

表格 4-5 管理员类操作

Table 4-5 Operations of Administrator Class

操作名 操作的含义 可见性 参数列表 返回值类型

名称 类型

Login

登陆系统 - UserID String boolean

Password String

Logout

退出系统 - UserID String boolean

ReceiveInfor

接受信息 - UserID String List

ReleaseInfor

发布系统信息 - infor Feedback boolean

KickOut

剔除非法用户 - userID String boolean

房主:房主实体,部分继承自用户,是房子的拥有者。

房主实体的成员数据, 包括用户名,密码和房屋序号。如下表

表格 4-6 房主类属性

Table 4-6 Properties of Leader Class

属性名 属性含义 数据类型 缺省值 可见性

UserID

用户名 String -

Password

密码 String -

House

房屋序号 Long -

房主实体的成员函数,完全继承自用户,包括登录系统,退出系统和接受信

息。具体描述如表 4-7

北京工业大学工程硕士专业学位论文

- 36 -

表格 4-7 房主类操作

Table 4-7 Operations of Leader Class

操作名 操作的含义 可见性

参数列表

返回值类型

名称 类型

Login 登陆系统 -

UserID String

boolean

Password String

Logout 退出系统 - UserID String boolean

ReceiveInfo 接受信息 - UserID String List

用户信息:存储用户序号列表,以便进行查找、删除等操作。

用户信息实体的成员数据包括用户数量和用户名数据,如下 4-8

表格 4-8 用户信息类属性

Table 4-8 Properties of User Information Class

属性名 属性含义 数据类型 缺省值 可见性

UserNum

用户数量 Long -

UserIDList

用户名数组 List -

用户信息实体的成员函数包括添加和删除用户信息。添加用户信息,先连接

数据库,之后根据用户信息构造数据库语句,将其添加到现有用户信息数据库中。

删除用户信息,先连接数据库,之后循环查找用户列表,发现有匹配相应用户数

据的用户,根据其编号构造数据库语句,将其从现有数据库中删除。具体描述如

表 4-9

表格 4-9 用户信息类操作

Table 4-9 Operations of User Information Class

操作名 操作的含义 可见性 参数列表 返回值类型

名称 类型

addUser

添加用户信息 - UserID String boolean

delUser

删除用户信息 - UserID String boolean 第 4 章 房屋租赁管理系统设计

-37 -

房屋

房屋信息实体的成员数据,主要包含房屋出租编号、输入联系人、详细地址、

楼层、总层数、价格、详细地址、房龄、户型居室、面积、朝向、交通状况、是

否装修、用户编号、联系电话等信息,如表 4-10

表格 4-10 房屋类属性

Table 4-10 Properties of House Class

名 属性含义 数据类型 缺省值 可见性

Index

房屋编号 Long +

Price

房屋出租价格 Double +

Floor No.

楼层 Int +

Address

地址 String +

BuildDate

房屋年限 int +

Area

面积 Double +

Type 户型 String +

房屋信息实体的成员函数,包括修改房屋信息。修改房屋信息,要先连接数

据库,传入新的房源信息,根据新信息构造数据库语句,更新数据库。描述如表

4-11 所示

表格 4-11 房屋类操作

Table 4-11 Operations of House Class

操作名 操作的含义 可见性 参数列表 返回值类型

名称 类型

modifyHouseInfo

修改房屋信息 - houseInfo House boolean

反馈:用于向用户反应管理员或房主对用户建议的回答和信息

反馈实体的成员数据包括反馈者编号、反馈时间、反馈内容以及原始建议,

如表 4-12 所示

北京工业大学工程硕士专业学位论文

- 38 -

表格 4-12 反馈类属性

Table 4-12 Properties of Feedback Class

属性名 属性含义 数据类型 缺省值 可见性

CustomerID

反馈者 ID String -

Date

反馈时间 String -

Content

反馈内容 String -

OriginalAdvice

原始建议 String -

反馈实体的成员函数,包括修改反馈内容。修改反馈内容,先连接数据库,

根据内容信息构造数据库语句,之后更新数据库。具体描述如表 4-13 所示

表格 4- 13 反馈类操作

Table 4-13 Operations of Feedback Class

操作名 操作的含义 可见性 参数列表 返回值类型

名称 类型

modifyContent

修改反馈内容 - Content String boolean

建议:建议是系统使用者对系统和相应人员提出的投诉建议

意见建议实体的成员数据,包括投诉建议者编号,投诉建议时间和投诉建议

内容,如表 4-14 所示

表格 4-14 建议类属性

Table 4-14 Properties of Advice Class

属性名 属性含义 数据类型 缺省值 可见性

UserID

投诉建议者 ID String -

Date

投诉建议时间 String -

Content

投诉建议内容 String -

意见建议实体的成员函数,包括修改投诉建议内容。修改投诉建议内容,先

连接数据库,根据内容信息构造数据库语句,之后更新数据库。具体描述如表

4-15 所示 第 4 章 房屋租赁管理系统设计

-39 -

表格 4- 15 建议类操作

Table 4-15 Operations of Advice Class

操作名 操作的含义 可见性 参数列表 返回值类型

名称 类型

modifyContent

修改投诉建议内容 - Content String boolean

合同

合同实体的成员数据,包括合同号,日期,房主,房客,房屋等相关信息,

如表 4-16 所示

表格 4-16 合同类属性

Table 4-16 Properties of Order Class 属性名 属性含义 数据类型 缺省值 OrderID

合同号 String +

Date

日期 String +

RentID

房主账号 String +

LiveID

可见性

房客账号 String +

HouseID

房屋 ID String +

Price

房屋价格 int +

Address

房屋地址 String +

TradingWay

交易方式 int +

State

合同状态 String +

合同实体的成员函数,包括确认和取消合同。确认合同,在连接数据库之后,

将合同状态标记为“以确认”,并构造数据库语句更新数据库。取消合同,若用

户点击取消或者在超时的情况下,将取消合同,连接数据库之后,将合同状态标

记为“已取消”,并构造数据库语句更新数据库。具体描述如表 4-17 所示 北京工业大学工程硕士专业学位论文

- 40 -

表格 4-17 合同类操作

Table 4-17 Operations of Order Class

操作名 操作的含义 可见性 参数列表 返回值类型

名称 类型

confirmOrder

确认合同 - boolean

cancelOrder

取消合同 - boolean

4.4.2 控制类

系统主要的控制类是主要的业务逻辑设计,为房屋信息浏览查询,提交合同,

登录,修改信息,注册,反馈和剔除用户。

房屋信息浏览查询

用户提交查询命令,通过匹配关键字将符合条件的房屋列出来,并支持对列

表进行排序操作,如依照房屋类型排序、依照价钱排序。

表格 4-18 房屋信息浏览查询类属性

Table 4-18 Properties of House Information Query Class

属性名 属性含义 数据类型 缺省值 可见性

HouseList 房屋列表 List -

表格 4- 19 房屋信息浏览查询类操作

Table 4-19 Operations of House Information Query Class

操作名 操作的含义 可见性 参数列表 返回值类型

名称 类型

getHouseList

查询房屋 - keyword String List

upperPrice float

lowerPrice float

type String 第 4 章 房屋租赁管理系统设计

-41 -

orderList

对列表进行排序 List

Pseudo-code

private List getHouseList(String keyword, float lowerPrice,

String type){

连接 DB;

构造 SQL 查询语句;

查询 DB 获取 ResultSet 返回值(包括 4 个字段:keyword、upperPrice, upperPrice、float

lowerPrice、type);

循环读取 ResultSet,对其中每行数据,分别构造 House 对象;

将所有 House 对象加入到 HouseList 中;

返回 HouseList;

}

private List orderList (){

if (way == 按价格进行排序)

按价格进行排序;

else if (way == 按距离进行排序)

按距离进行排序;

else …

}

return HouseList;

}

提交合同控制

给请求填写或修改合同的用户分别显示空合同和原始合同,输入或更改之后

允许其提交合同,并在将合同写入数据库之前,进行必要的合同格式检查,将结

果返回给用户。

北京工业大学工程硕士专业学位论文

- 42 -

表格 4-20 提交合同控制类属性

Table 4-20 Properties of Submit Order Control Class

属性名 属性含义 数据类型 缺省值 可见性

Order

当前订单 Order -

表格 4- 21 提交合同控制类操作

Table 4-21 Operations of Submit Order Control Class

操作名 操作的含义 可见性 参数列表 返回值类型

名称 类型

checkOrderInfor

检查格式 - boolean

submitOrder

提交合同 - boolean

Pseudo-code

private boolean checkOrderInfor (){

检查 this.Order 的格式是否符合要求;

符合则返回 true ,否则返回 false;

}

private boolean submitOrder (){

连接 DB;

构造数据库语句将 Order 发布到系统中,更新数据库;

成功则返回 true ,否则返回 false;

}

登录控制

用户在输入用户名和密码之后,经过检查匹配度向用户反馈登录成功与否的

信息,并允许登录成功的用户进行相关操作,对于登录不成功的用户,只能允许

其以游客权限访问相关信息和进行有限的操作。

第 4 章 房屋租赁管理系统设计

-43 -

表格 4- 22 登陆控制类属性

Table 4-22 Properties of Login Control Class

属性名 属性含义 数据类型 缺省值 可见性

UserID

用户名 String -

Password

用户密码 String -

表格 4- 23 登陆控制类操作

Table 4-23 Operations of Login Control Class

操作名 操作的含义 可见性 参数列表 返回值类型

名称 类型

checkID

检查是否正确 - boolean

Pseudo-code

private boolean checkID (){

连接 DB;

构造数据库语句将 this.UserID 送去查询;

if (无结果)

告诉用户“此用户不存在!”;

else 构造数据库语句将 this.UserID 与 Password 送去查询;

if (匹配)

则允许用户登陆;

else

告诉用户“密码不正确!”;

}

修改信息控制

获得用户的修改指令,修改用户提交的相关信息,可以支持简单的错误检查。

北京工业大学工程硕士专业学位论文

- 44 -

表格 4- 24 修改信息控制类属性

Table 4-24 Properties of Modify Information Control Class

属性名 属性含义 数据类型 缺省值 可见性

User

当前用户 User -

表格 4- 25 修改信息控制类操作

Table 4-25 Operations of Modify Information Control Class

操作名 操作的含义 可见性 参数列表 返回值类型

名称 类型

checkInfor

检查格式是否正确 - boolean

set…

更改某个参数 - boolean

Pseudo-code

private boolean checkInfor (){

检查 this.User 的格式是否符合要求;

符合则返回 true ,否则返回}

private boolean set… (){

if (checkInfor () == true)

User….==…;

连接 DB;

构造数据库语句更新数据库; 成功则返回 true ,否则返回}

注册控制

false;

false;

对申请注册的用户,包括管理员、房主和租房者,在进行检查之后,将其信

息放入用户信息

第 4 章 房屋租赁管理系统设计

-45 -

表格 4- 26 注册控制类属性

Table 4-26 Properties of Registration Control Class

属性名 属性含义 数据类型 缺省值 可见性

PreUser

当前申请 Customer -

表格 4- 27 注册控制类操作

Table 4-27 Operations of Registration Control Class

操作名 操作的含义 可见性 参数列表 返回值类型

名称 类型

checkInfor

检查格式是否正确 - boolean

submitApply

提交申请 - boolean

addUser

将用户加入系统 - boolean

Pseudo-code

private boolean checkInfor (){

检查 this.PreUser 的格式是否符合要求;

符合则返回 true ,否则返回 false;

}

private boolean submitAd (){

if (checkInfor () == true){

连接 DB;

构造数据库语句将 PreUser 申请发布到系统中,更新数据库;

return true;

}

return false;

}

北京工业大学工程硕士专业学位论文

- 46 -

private boolean AddUser (){

if (submitAd () == true){

连接 DB;

构造数据库语句将 PreUser 申请发布到系统中;

if (用户名没被使用)

return true;

}

return false;

}

反馈控制

对反馈进行控制,以便用户更好的查询和管理反馈意见

表格 4- 28 反馈控制类属性

Table 4-28 Properties of Feedback Control Class

属性名 属性含义 数据类型 缺省值 可见性

FeedBack

当前反馈 FeedBack -

FeedBackList

反馈列表 List -

表格 4- 29 反馈控制类操作

Table 4-29 Operations of Feedback Control Class

操作名 操作的含义 可见性 参数列表 返回值类型

名称 类型

checkInfor

检查格式是否正确 - boolean

orderFeedBack

对反馈进行排序 - way String boolean

Release FeedBack

发布反馈 - boolean

Pseudo-code

private boolean checkInfor (){ 第 4 章 房屋租赁管理系统设计

-47 -

检查 this. FeedBack 的格式是否符合要求;

符合则返回 true ,否则返回 false;

}

private boolean orderFeedBack (){

if (way == 按时间进行排序)

按时间进行排序;

else if (way == 按性质进行排序)

按性质进行排序;

else …

}

}

private boolean Release FeedBack (){

连接 DB;

构造数据库语句将 this. FeedBack 申请发布到系统中,更新数据库;

成功则返回 true ,否则返回 false;

}

剔除用户控制

接受管理员的命令,匹配其试图剔除的用户,将其从数据库中删除

表格 4- 30 剔除用户控制类属性

Table 4-30 Properties of Kick Out Control Class

属性名 属性含义 数据类型 缺省值 可见性

UserID

非法用户 ID String -

北京工业大学工程硕士专业学位论文

- 48 -

表格 4- 31 剔除用户控制类操作

Table 4-31 Operations of Kick Out Control Class

操作名 操作的含义 可见性 参数列表 返回值类型

名称 类型

KickOut

剔除非法用户 - boolean

Pseudo-code

private boolean KickOut (){

连接 DB;

构造数据库语句将用户 ID 为 this.UserID 从系统中删除,更新数据库;

成功则返回 true ,否则返回 false;

}

4.5 数据库设计

根据前面的需求分析我们可以看到,房屋租赁管理系统的实体主要有四个:

管理员、用户、房屋出租信息、房屋求租信息。

管理员实体图:

管理员编号管理员

管理员名称

管理员性别

权限

密码

图 4- 5 管理员实体

Figure 4-5 Administrator

用户实体图 第 4 章 房屋租赁管理系统设计

-49 -

用户编号用户

注册时间

用户名

地址

密码

图 4-6 用户实体

Figure 4-6 User

房屋出租信息实体图

房屋出租信息的实体主要包含房屋出租编号,输入联系人、电话、地址、价

格、房龄、楼层、户型、交通、朝向、面积、装修情况、用户编号等信息。

房屋出租信息

用户编号

交通情况

第几层

共几层

几室几厅

是否装修

面积朝向

房龄

价格

详细地址

联系电话

房屋出租编号

图 4-7 房屋出租信息

Figure 4-7 Rent House Information

房屋求租信息实体图

房屋求租信息的实体主要包含房屋求租编号,输入联系人,电话,地址,价

格,楼层,楼高,房龄,户型,交通,朝向,面积,装修情况,用户编号等信息。京工业大学工程硕士专业学位论文

- 50 -

房屋求租信息

用户编号

交通情况

第几层

共几层

几室几厅

是否装修

面积朝向

房龄

价格

详细地址

联系电话

房屋求租编号

图 4-8 求租信息

Figure 4-8 Wanted House Information

系统 E-R 图

通过以上的实体图,我们不难总结出系统的整体 E-R 关系。一个管理员管理

多名用户,每一个用户都可以添加多条的出租信息,每一房屋信息对应一种业务

类型。具体的 E-R 图如图 4-9:

用户 管理 管理员

新增房屋

图 4-9 系统 E-R 图

Figure 4-9 E-R

4.5.1 数据库概念设计

对用户要求描述的环境描述一个模型,这个模型应该是避开具体的细节,而

是抽象的,能够通过把环境中各个地方聚集分类并加以概括,可以反映环境中各

个部门之间的信息的结构于动向,信息之间的关系与各部门对信息查询存储加工

的要求。这就是用户想要描述的现实环境的概念数据模型。 第 4 章 房屋租赁管理系统设计

-51 -

4.5.2 数据库逻辑设计

逻辑设计的主要工作是将真实环境的数据模型设计成适应于某一种数据库

所支持的逻辑模式,并且还要处理一些应用领域对应的逻辑子模式。

根据本系统的 E-R 图,概念结构是的信息结构。逻辑结构设计就是把

E-R 图转换位于选用的 DBMS 产品所支持的数据模型符合的逻辑结构。数据库

逻辑机构设计包括主要的四个关系模式,分别是管理员、用户信息、房屋出租、

房屋求租等关系模式:管理员关系模式,包括管理员编号、名称、密码、权限、

性别。用户信息关系模式,包括用户编号、名称、密码、地址、注册时间。求租

信息关系模式,包括求租编号、输入联系人、电话、地址、楼层、价格、户型、

交通、楼高、朝向、面积、装修情况、用户编号等。出租信息关系模式包括求租

编号、输入联系人、电话、地址、楼层、价格、户型、交通、楼高、朝向、面积、

装修情况、用户编号等。

4.5.3 数据库物理结构设计

数据库的物理结构设计一取决于具体设备的物理设计,二要依据具体数据库

系统的储存结构和方法。对某应用程序任务选定最好的存储结构、方法和路径

在上面数据库分析的基础上,设计了以下的数据库表的结构:

管理员表

表格 4- 32 管理员表

Table 4-32 Administrator Table

字段 类型 长度 是否为空 说明

管理员编号

int 10

否 管理员编号(主键)

管理员名称

varchar 20

否 管理员名称

密码

varchar 20

否 密码

权限

varchar 20

否 权限

性别

char 2

否 0 男 1 女

用户表 北京工业大学工程硕士专业学位论文

- 52 -

表格 4- 33 用户表

Table 4-33 User Table

字段 类型 长度 是否为空用户编号

int 10

否 用户编号(主键)

用户名

varchar 20

否 用户名

密码

varchar 20

说明

否 密码

地址

varchar 50

否 地址

注册时间

time 10

否 注册时间(yyyy-mm-dd)

出租信息表

表格 4- 34 出租信息表

Table 4-34 Renting Information Table

字段 类型 长度 是否为空 说明

房屋出租编号

int 10

否 房屋出租编号(主键)

联系电话

varchar 20

否 联系电话

联系人

varchar 20

否 联系人

详细地址

varchar 50

否 地址

价格

int 10

否 价格

第几层

int 5

共几层

int 5

房龄

int 3

几室几厅

varchar 10

第 4 章 房屋租赁管理系统设计

-53 -

交通

varchar 20

朝向

varchar 20

面积

int 10

是否装修

char 2

用户编号

int 10

求租信息表

表格 4- 35 求租信息表

Table 4-35 Required House Information Table

字段 类型 长度 是否为空 说明

房屋求租编号

int 10

否 房屋出租编号(主键)

联系电话

varchar 20

否 联系电话

联系人

varchar 20

否 联系人

详细地址

varchar 50

否 地址

价格

int 10

否 价格

第几层

int 5

共几层

int 5

房龄

int 3

几室几厅

varchar 10

交通

varchar 20

朝向

varchar 20

北京工业大学工程硕士专业学位论文

- -

面积

int 10

是否装修

char 2

用户编号

int 10

4.6 功能模块

在该系统中,包括管理员和注册用户可以登陆,浏览英特网查找相关的信息,

发布房屋信息,但访客只能浏览查询相关信息。所以本系统分为不同模块。主要

功能模块之间的关系,如图 4-10 所示。

房屋租赁管理系统

客户端 管理端

图 4- 10 房屋租赁管理系统结构图

Figure 4- 10 House Renting Management System

4.6.1 注册模块

若访客想注册为永和,则需要按照系统提示输入相关的资料,包括用户名、

验证码、密码、确认密码。注册时按照个人或者公司的区别分别注册永和,而系

统管理员则可以在后台管理系统中分别设置个人与中介公司会员注册后是否可

以马上发布租赁信息和可发条数,也能够对具体某会员设置不同的信息发布次

数,这样可以作为服务商的一种收费运营模式。 第 4 章 房屋租赁管理系统设计

-55 -

4.6.2 登录模块

用户连接到系统后输入用户名密码,系统按照该信息到数据库中寻找所有用

户的信息,如查无此用户,则显示登录失败,提示注册。用户如果登陆,则只可

以浏览、查询相关房产信息与本系统发布的新闻公告,以及联系本系统管理员,

通过电子邮件的方式表述自己的意见建议。

4.6.3 修改密码模块

用户登录系统后点击“修改密码”,根据提示输入用户名,老密码,再次确

认老密码,确认码,可以对密码进行更改。

4.6.4 发布管理模块

用户登录系统以后,能够发布出租、求租、合租的相关信息。用户在主页面

点击“租赁管理”功能菜单下面的“房屋出租信息发布”按键,即可在界面列表

中显示所有出租信息。若该会员的属性中设置了发布信息不需审核,则该会员发

布的信息将直接进入已发信息。用户可以将信息进行修改、删除、退回待审核。

4.6.5 信息查询模块

本系统具备多种查询的功能,可以按照关键字或者各种单项或者组合信息查

询。查询关键字单项可以包括新房、出租房、二手房、求租、出租、置换、求购,

出售等类别,也可以面积、户型、区域、价格等不同条件组合查询。用户可以自

己设定检索结果页显示条数。

4.6.6 管理员登录模块

管理员登陆后能对其他注册会员进行管理,可执行查看、插入、维护、修改、

删除等操作。

4.6.7 用户信息管理模块

管理员登录以后可以对注册会员进行管理,能查看所有系统注册会员,执行

插入、修改、维护、删除等操作。

4.6.8 新闻公告管理模块

管理员登录成功以后可以对通过在系统页面中植入外部网站显示最新的业

界新闻动态和本系统的公告,并可执行查看、插入、修改、维护、删除等管理。 北京工业大学工程硕士专业学位论文

- 56 -

4.6.9 房源信息管理模块

管理员登录后能查看系统记录的所有房源信息、执行修改、维护、删除等操

作。

4.6.10 合同管理模块

管理员登录后能查看系统所有的合同信息,执行修改、维护、删除等管理。

4.7 本章小结

本章阐述了本系统的设计原则,并对技术架构、设计元素与包、类、数据库、

功能模块进行了说明与设计。

第 5 章 系统实现

-57 -

第5章 系统实现

5.1 系统实现

界面是最终和用户进行交互的,界面设计的是否友好,是否符合作业人员的

操作习惯,直接影响到人们对系统的第一印象。在本系统中,要实现基于 B/S 的

体系结构,因此用户界面采用客户端图形化界面,采用 JSP 技术加以实现,客户

端通过浏览器载入界面并执行。

5.1.1 整体的界面风格

图 5-1 整体界面

Figure 5-1 Home Page

系统的整体页面风格简洁。左侧是系统的菜单树,右侧是功能显示区。本系

统在进行界面设计时遵循普通人从左向右,从上而下的习惯,使用户能够专注主

要流程操作,提高了软件的易用性。

系统的最左侧是系统的功能菜单,包括本系统所有业务功能;上面是用户相

关管理功能区;中间和右下部分为业务区。

北京工业大学工程硕士专业学位论文

- 58 -

5.1.2 登陆界面

图 5-2 登陆界面

Figure 5-2 Login Screen

打开浏览器,输入系统地址,即出现如图 5-2 所示的登陆界面。

如果已经在本房屋管理信息系统注册为用户,只需输入用户名与密码点击

“登陆”按键即可进入本系统。

如果不是本系统的用户,请联系系统管理员进行系统注册,然后才能登陆本

系统。详细情况请参照本文下面的客户信息管理与维护的相关内容介绍。

5.1.3 左侧的菜单树

为了保持功能菜单的简介明了,提高系统易用性,将主功能菜单放在了系统

的左边,同时遵循避免超过三层目录的原则以保持其简介易操作性。

自上而下分别是合同管理、租赁管理、统计管理、基础信息、系统管理五大

板块。点击相应的菜单选项会在中间的业务操作区显示相应的业务功能模块。如

图 5-3 所示:

第 5 章 系统实现

-59 -

图 5-3 菜单树

Figure 5-3 Menu

5.1.4 客户信息查询与维护

图 5-4 客户信息查询与维护

Figure 5-4 Customer maintenance and information query

打开功能树下第一个功能模块“合同管理”里面的第一个子菜单“客户信息

维护”,出现上面的图 5-4 。在客户信息列表里可以看到客户的名称、性别、性

质(个人或企业)、年龄、联系电话、住址、客户登记等个人信息以及系统录入

时间及录入人等系统信息。其中客户等级与客户在本系统中的业务量及缴纳的相

应业务产生的费用挂钩。在页面上方是查询模块,可以根据单选或多选信息对客

户进行查询。 北京工业大学工程硕士专业学位论文

- 60 -

点击图 5-4 中间偏右的“查询”按钮会弹出系统根据所选条件所列出的客户

列表,详见图 5-5:

图 5-5 用户查询结果列表

Figure 5-5 User query results list

如果想要注册新用户,则需要通过注册页面将个人信息录入系统。点击图

5-4 或 5-5 右上方的“新建”按钮,则弹出用户注册界面。如图 5-6 所示。用户

需要在系统内录入自己的用户编码、登陆用户名、姓名、公司、部门、电话、邮

箱、以及最重要的密码。录入完毕核对无误后点击保存左上角“保存”按钮即完

成在本系统中的注册。本系统中用户分为个人用户和企业用户,图 5-5 示例的是

个人用户,公司用户的注册与之基本相同,只是增加了相应的对于该公司的基本

信息的录入,如图 5-6 所示。 第 5 章 系统实现

-61 -

图 5-6 个人用户注册界面

Figure 5-6 Personal User Registration Interface

图 5-7 企业用户注册界面

Figure 5-7 The Enterprise User Registration Interface

5.1.5 合同的查询与管理

功能树第一个子目录下第二个模块为合同的查询与管理,点击图 5-3 中的合

同列表,弹出界面如图 5-8 所示。我们可以从图中看到每件合同的编号,业务归

口公司、起止日期、合同双方、合同金额以及合同状态等。我们也可以从页面上

部的查询框进行条件查询。 北京工业大学工程硕士专业学位论文

- 62 -

图 5-8 合同列表

Figure 5-8 The list of the contract

如何向系统录入新的合同呢,点击图 5-8 界面中右边的“新建”按键,会弹

出如图 5-9 所示的合同录入页面。

图 5-9 合同录入界面

Figure 5-9 The Input Interface of The Contracts

在合同录入界面,需要录入房屋租赁合同中的甲乙双方的信息,房屋的信息,

租金租期等重要信息,而合同的正文,则有专门的文本框记录在系统中,随时可

以调出以供查阅。需要说明的是,在本系统内记录的合同只有存档功能,并不能

像真实纸面合同那样具有法律效力,这也是各种信息化管理系统现在都亟需解决

的法律问题。 第 5 章 系统实现

-63 -

5.1.6 房屋出租(求租)信息的发布与查询

本系统既然命名为房屋租赁管理信息系统,那么它的核心业务就是房屋租赁

功能。首先需要将房屋出租信息录入系统并在网络上可以被其他用户看到。图

5-10 即为出租人将出租信息在本系统发布的页面。

图 5-10 房屋出租信息发布页面

Figure 5-10 Rental housing information page

可以看到在发布页面房主须录入详细的内容,其中包括楼宇信息、楼层信息、

居室户型、装修情况、租金预期、联系人方式等内容。当信息录入系统后,我们

可以在房屋出租信息发布菜单内查阅它,如图 5-11 所示:

图 5-11 房屋出租信息查询页面

Figure 5-11 Rental housing information query page

在该页面用户可以看到关于该房源详细的信息。 北京工业大学工程硕士专业学位论文

- -

类似的,房屋求租信息的发布于查询与出租活动的页面形式内容基本相同,

这里不再赘述。

5.1.7 业主信息管理

基础信息部分第一个是业主信息管理,里面是所有的房屋业主信息。操作方

法和用户信息管理模块类似。

图 5-12 业主信息维护页面

Figure 5-12 Owner Information Maintenance Page

5.1.8 费用科目管理

用于定义日常收费项目,但是不包括房屋租金和押金。本系统支持三种费用

计算形式:

按用量计费:单价×(期末数-期初数)

按户计费:即一家住房收取定额的费用。

按面积计费:单价×面积

可以根据实际情况定义以上三种形式的任意费用项目。 第 5 章 系统实现

-65 -

图 5-13 费用设置

Figure 5-13 Cost Setting

5.1.9 录入收款信息

系统支持中介公司对各种费用的录入,方便中介公司或系统平台运营商进行

记账管理。

图 5-14 收款录入界面

Figure 5-14 Cash input interface

5.1.10 新闻与公告

本系统通过网页嵌入技术,将其他大型综合类房产网站嵌入本系统业务操作

区,达到业内最新新闻发布的效果 北京工业大学工程硕士专业学位论文

- 66 -

图 5-15 新闻页面

Figure 5-15 News

5.2 本章小结

以上是对此房屋租赁管理系统的框架和主要页面和程序风格的简单介绍,介

绍了系统的核心配置文件是如何进行配置的。通过程序的 mvc 结构,将前台页

面和后台数据库有机的结合到一起。其中的一些技术细节在此不再过多的描述,

详见附录。通过开发平台和 mvc 架构的使用,使系统的实现过程更加的流畅,

减少了工作量,降低了工作的难度,提高了开发效率。

结论

-67 -

结论

本文在认真的市场需求调研和对最新数据库技术与计算机管理系统技术的研

究的基础上,分别从系统建设目标、设计的原则、功能、业务流程等几个方面对

房屋租赁管理信息系统进行了详细需求的分析。设计并开发了一套基于分布式技

术的适合我国国情的房屋租赁管理信息系统。本文所做的主要工作如下:

分析和研究了我国房屋租赁市场的信息化现状和需求,结合国际国内失败和

成功的案例,提出适合我国国情的的房屋租赁管理系统的设计方向思路。

研究分析计算机技术的发展,对数据库进行了选型设计。

对本文中设计的房屋租赁管理信息系统进行可行性研究分析。

用模块化开发思路,完成本系统的整体与各个功能的设计开发。

对本系统进行了测试。

本系统是为适应现代化社会信息化需求而应运而生的一套适合我国国情的房

屋租赁管理信息系统,可以极大的提高房屋中介行业的工作准确性和实效性,能

更快捷准确方便的统计分析各类信息,为广大用户提供了一个不错的中介平台。

本系统采用了 B/S 分布式架构开发,这种架构分为客户端和服务端,把系统

核心部分集中在服务器端,使得系统的开发、维护、使用大大简化,更加方便了

系统的部署,迎合了时下的软件发展潮流。采用 B/S 分布式开发,使得本系统适

用场景更加广泛多样,既可以用于某单个中介机构,也可以作为一个电子商务平

台用于众多机构或个人,最后达到运营盈利的目的。使得系统得到更好的商业化

运作。

北京工业大学工程硕士专业学位论文

- 68 -

参考文献

-69 -

参考文献

[1] 王民川.基于 web 的房屋出租管理系统[J],科技向导,2011,(21)

[2] 魏培嫌, 魏陪李.房屋出租管理系统的设计与实现[J],电脑知识与技术,2009,(4)

[3] 叶依广, 潘文辉.南京市房屋租赁市场现状与发展对策探讨[J],南京农业大学学报(社

会科学版),2003,(3)

[4] 宁凡, 厉星星.网上房屋租赁系统的设计与开发[J],信息化研究,2008,(12)

[5] 李宁.基于 PHP 的房屋租赁管理系统[J],电脑知识与技术,2010,(22)

[6] 姜宏, 李敏强, 寇纪淞.管理信息系统软件体系结构的合约模式[J],计算机工程与应

用,2001,(21)

[7] 张海潘.软件工程导论(第四版)[M].北京:清华大学出版社,2003.

[8] 饶若楠, 尤晋元.基于统一建模语言的分布式企业信息系统软件体系结构模型[J],上

海变通大学学报,2000,(7)

[9] 张巨俭, 甘仞初.管理信息系统的发展方向及实现技术[J],计算机应用研究,2003

[10] 林树泽.JAVA 完全自学手册[M].北京:机械工业出版社,2009.1

[11] 楚蓓蓓.数据库技术的发展现状及趋势[J],计算机工程与应用,2003(18) [12]PHILIP

A. BERNSTEIN, NATHAN GOODMAN. Concurrency Control in Distributed

Database Systems

[J].Computing Surveys.1981 (6).

[13] R.Mirandola, D.Hollinger. A new approach to performance modeling of

Client/Server Evaluation.1997

distributed database architectures [J].Performance

[14] 陈敏.数据库技术的现状及发展趋势[J],图书馆自动化总,1999,(5)

[15] Walborn G D, Chrysanthis P K.Supporting semantics-based transaction Processing

in mobile database applications[J]. Symposium on Reliable DistributedSystems,2002

[16] 高伟华, 蓝雯飞, 王伟.移动数据库分析及设计[J].软件导刊,2009

[17] 宁克俭.数据库技术的发展述评[J],电脑技术,2003,(3)

[18] 王新房, 陈春娥, 肖胜.基于 GIS 的灌区管理信息系统的设计与实现[J],陕西工学

院学报,2003,(4)

[19] 王住航, 傅静涛, 蒋玉明.基于 B/S 的房屋管理信息系统的设计与实现[J],技术与北京工业大学工程硕士专业学位论文

- 70 -

市场,2010,(10)

[20] 仁泰明.基于 B/S 结构的软件开发技术[M],西安:西安电子科技大学出版社,2006,

1-35

[21] 沈中林.基于 B/S 模式的高校科研管理信息系统的设计[J],中国民航学院学报,2004,

(5)

[22] 萨师煊.数据库系统概论〔M〕.北京:高等教育出版社,2006.92 一 112

[23] Shaw M , Garlan D . Software architecture : perspecfives on an emerging

discipline[M].EnglewoodCliffs.Prentice Han,1996

[24] 邹竹彪.JSP 网络编程从入门到精通[M].北京:清华大学出版社,2007.6

[25] 王建明.征服 JSP 企业网站开发[M].北京:科学出版社,北京科海电子出版社,2008.5

[26] 申吉红, 廖学峰,余健.JSP 课程设计案例精编[M].北京:清华大学出版社,2007.2

[27] 郭珍, 王国辉.JSP 程序设计教程[M].北京:人民邮电出版社,2008.5

[28] 李睦芳, 官斯文.站长札记--JSP 动态网页编程精[M].北京:电子工业出版社,2007.5

[29] 张新曼,精通 JSP-WEB 开发技术与典型应用[M].北京:人民邮电出版社,2007.2

[30] Anil Hemrajani. Agile Java Development with Spring, Hibernate and

Eclipse[M].Sums, 09 May, 2006

[31] 邓子云.JSP 网络编程从基础到实践[M].北京:电子工业出版社,2007.5.1

[32] 陈庄.信息资源组织与管理.北京:北京大学出版社,2011.1.

[33] 薛华成.管理信息系统.北京:清华大学出版社,2007.8.

[34] 戴建中.电子商务概论(第 2 版).北京:清华大学出版社,2012.1.

[35] 李国华.基于 GIS 的房屋租赁系统:[学位论文],2005.5.1.

[36] Efraim Turban, David King,Judy Lang.Introduction to Electronic Commerce.

北京:中国人民大学出版社,2011.8.

[37] 荆林波, 黄浩, 赵京桥.中国城市电子商务影响力报 2012.北京:社会科学文献出版

社,2012.6.

[38] 徐斌.中国房地产大趋势:影响每个中国人生活的经济热点.北京:中国经济出版社,

2010.10. 参考文献

-71 -

[39] 张桂珠, 刘丽, 陈爱国 .Java 面向对象程序设计(第 2 版)北京邮电大学出版社

[40] 毕广吉.Java 程序设计实例教程[M]. 北京:冶金工业出版社,2007 年

[41] 王保罗.Java 面向对象程序设计[M]. 北京:清华大学出版社,2003 年

北京工业大学工程硕士专业学位论文

- 72 -

附 录

-73 -

附 录

系统采用经典的 MVC 架构,将页面的显示和数据的计算分开。通过一个通

用的系统开发平台,方便的生成系统的基本框架和主要的页面和程序代码。我们

对生成的代码做少量的修改,就可以达到我们预期的效果。使用开发平台大大提

高了开发的效率,减少了开发中的错误,同时,代码的格式更加规范,阅读性更

强,是目前多数的软件公司都采用的方法。下面我们用房屋出租信息发布为例,

简单介绍一下系统实现的整个程序的架构。

通过开发平台我们只需要选择数据库中的表,同时命名对应数据库表的

三层数据结构名称,分别是 VIEW 层、DAO 层和 SERVICE 层。VIEW 层负责从

页面将传递的数据进行封装,SERVICE 层负责对封装的数据进行处理,而 DAO

层负责与数据库进行交互,执行相应的增删改查操作,完成对数据的修改。同时

生成必要的配置文件和数据字典,方便程序的调用和日后的修改和维护。其具体

的文件夹架构如下:

系统的文件夹结构与普通的 web 系统一致,cdp 文件夹放的是系统的数

据库字典和主要的配置文件。Setting 文件夹是系统的设置文件,build 文件夹时

已经编译好的 class 文件,src 放的是原始的 java 文件,webcontent 放置的系统的

jsp 页面文件。

在生成文件的基础上,对每个文件夹的主要文件说明如下:

cdp 文件夹系统的数据字典文件和主要配置文件 北京工业大学工程硕士专业学位论文

- 74 -

描述了系统的三层架构的主要信息。其中,BusinessModuleConfig.xml

是系统的模型配置文件,定义了此业务模块的程序的名称和路径,以及主要页面

的名称和路径。系统页面使用同一的命名规范,list 打头表明是列表查询页面,

edit 打 头 是 数 据 的 修 改 页 面 , display 打 头 是 系 统 的 明 细 显 示 页 面 。

struts-rent.processdefinition.xml 是与此模块相关的 struts 配置文件。

settings 文件夹

是系统的一些核心配置

附 录

-75 -

build 文件夹

在 build 文件下的 classes 文件夹下是如下的文件结构,主要是编译后的 java

文件和一些数据字典、配置文件等。选择几个主要的文件,描述如下:

MSSQL-DATADIC-TestExcel-rent.dd.xml 是数据字典文件,根据我们选择的

数据库表,生成对应的数据库字典文件,页面显示根据数据库字典文件进行字段

的匹配,当数据库设计发生变动的时候,我们只需要修改数据字典文件即可,不

需要对页面进行调整。

-

-

AddRentInformation

add_rent_information

rent.model.AddRentInformation

房屋出租信息表

3

NRentid

-

NRentid

N_RENTID

true 北京工业大学工程硕士专业学位论文

- 76 -

32

房屋出租编号

Integer

1

false

true

true

1

true

false

-

CTel

C_TEL

false

20

联系电话

String

2

true

true

true

1

true

false

· 附 录

-77 -

是否装修

String

13

true

true

true

1

true

false

-

CNo

C_NO

false

10

用户编号

Integer

14

true

true

true

1

true

false

北京工业大学工程硕士专业学位论文

- 78 -

src 文件夹

系统的主要后台程序代码都在这个文件夹下,主要是如下图所示的三层结

构。

Dao 主要是数据执行层,与数据库进行交付,主要实现的是数据库增删改查

的方法,自动生成的代码看上去十分简洁,各种备注信息也比较齐全,可读性强。

具体的代码风格如下:

RentDao.java

package rent.rent.dao;

import com.cdp.framework.dao.jpa.QueryDaoJpa;

import java.text.SimpleDateFormat;

import java.util.List;

import com.cdp.framework.support.datadic.printer.PageInfo;

import com.cdp.framework.web.action.ParameterWrapper;

import com.cdp.framework.sys.PropertyResource;

import javax.persistence.Query;

import rent.model.AddRentInformation;

import com.cdp.framework.util.StringUtils;

import java.util.Date;

/**

* @author zhangxuchao

* @date 2014-4-16 15:52:18

*/

public class RentDao extends QueryDaoJpa {

/** 附 录

-79 -

* Auto created by CDP Platform.

* Delete method

*/

public void deleteAddRentInformation(String id) {

super.delete(id, AddRentInformation.class);

}

/**

* Auto created by CDP Platform.

* Dao get method

*/

public AddRentInformation getAddRentInformation(String id) {

return (AddRentInformation) super.get(id, AddRentInformation.class);

}

/**

* Auto created by CDP Platform.

* Dao list method

*/

@SuppressWarnings(\"unchecked\")

public List getAddRentInformationList() {

String ql = \"select addRentInformation from AddRentInformation

addRentInformation\";

String ctql = \"select count(addRentInformation) from

AddRentInformation addRentInformation\";

PageInfo pageInfo = (PageInfo)

ParameterWrapper.getWrapper().get(\"com.ccri.cdp.framework.web.PagePolit\");

return (List) super.find(ql, ctql, null, pageInfo);

}

/**

* Auto created by CDP Platform. 北京工业大学工程硕士专业学位论文

- 80 -

* Dao save method

*/

public void saveAddRentInformation(Object o ){

this.entityManager.persist(o);

}

/**

* Auto created by CDP Platform.

* Dao update method

*/

public void updateAddRentInformation(AddRentInformation o ){

super.update(o);

}

·

/**

* Auto created by CDP Platform.

* Dao search method

*/

public List searchAddRentInformation

( AddRentInformation addRentInformation, String sortName ) {

StringBuffer sql = new StringBuffer(\"select addRentInformation from

AddRentInformation addRentInformation where 1=1\");

StringBuffer csql = new StringBuffer(\"select count(addRentInformation) from

AddRentInformation addRentInformation where 1=1\");

SimpleDateFormat df = new SimpleDateFormat(\"yyyy-MM-dd HH:mm:ss\");

String driverNm =

PropertyResource.getResource(\"props.config\" ).getString( \"db.1.jdbc.driverClass

Name\" );

}

Service 层主要进行数据的处理

package rent.rent.service; 附 录

-81 -

import rent.rent.dao.RentDao;

import javax.annotation.Resource;

import java.util.List;

import rent.model.AddRentInformation;

import org.springframework.transaction.annotation.Transactional;

/**

* @author zhangxuchao

* @date 2014-4-16 15:52:08

*/

public class RentService {

@Resource(name=\"rentDao\")

private RentDao rentDao;

/**

* Auto created by CDP Platform.

* Service save method

*/

@Transactional

public void saveAddRentInformation(AddRentInformation

addRentInformation){

rentDao.saveAddRentInformation(addRentInformation);

}

/**

* Auto created by CDP Platform.

* Service get method

*/ 北京工业大学工程硕士专业学位论文

- 82 -

public AddRentInformation getAddRentInformation(String id){

return rentDao.getAddRentInformation(id);

}

/**

* Auto created by CDP Platform.

* Service update method

*/

@Transactional

public void updateAddRentInformation(AddRentInformation

addRentInformation){

rentDao.updateAddRentInformation(addRentInformation);

}

/**

* Auto created by CDP Platform.

* Service list method

*/

public List getAddRentInformationList(){

return rentDao.getAddRentInformationList();

}

/**

* Auto created by CDP Platform.

* Service delete method

*/

@Transactional

public void deleteAddRentInformation(String id){

rentDao.deleteAddRentInformation(id);

}

附 录

-83 -

/**

* Auto created by CDP Platform.

*/

@Transactional

public void deleteAllSelectedAddRentInformation(String [] ids){

AddRentInformation o = null;

for (String s : ids ){

o = rentDao.getAddRentInformation(s);

if (null != o)

rentDao.delete(o);

}

}

/**

* Auto created by CDP Platform.

* Search method

*/

public List

searchAddRentInformation(AddRentInformation addRentInformation,String

sortName){

return rentDao.searchAddRentInformation(addRentInformation,sortName);

}

}

View 层主要是数据的抽取和封装

package rent.rent.view;

import java.io.IOException;

import java.net.InetAddress;

import java.io.FileNotFoundException;

import java.net.UnknownHostException; 北京工业大学工程硕士专业学位论文

- 84 -

import javax.servlet.http.HttpServletRequest;

import rent.model.AddRentInformation;

/**

* @author zhangxuchao

* @date 2014-4-16 15:52:00

*/

public class RentView extends AjaxView {

@Resource(name=\"rentService\")

private RentService rentService;

/**

* 取得所有 AddRentInformation

* @return

*/

public String getAddRentInformations() {

initPageInfo();

List addRentInformation =

rentService.getAddRentInformationList();

setParameter(\"AddRentInformations\

//转换日期格式为

JsonConfig config = new JsonConfig();

config.registerJsonValueProcessor(Date.class, new

DateJsonValueProcessorService(\"yyyy-MM-dd\"));

JSONArray ja= JSONUtils.toJsonArray(addRentInformation,

config);

PageInfo pageInfo = (PageInfo)

ParameterWrapper.getWrapper().get(

\"com.ccri.cdp.framework.web.PagePolit\"); 附 录

-85 -

return getJsonPageinfo(ja, pageInfo);

}

``````

// 信息传入界面

setParameter(\"AddRentInformation\

return \"editAddRentInformation\";

/**

* Auto created by CDP Platform.

*/

public String deleteAllSelectedAddRentInformation(){

String[] ids = ((String)getParameter(\"selectedIds\")).split(\

for(int i=0; irentService.deleteAddRentInformation(ids[i]);

}

return \"deleteAddRentInformation\";

}

public String displayAddRentInformation(){

// 此处要根据主键类型来判断采用哪种类型做主键

String id = (String) getParameter(\"id\");

Object o = rentService.getAddRentInformation(id);

setParameter(\"AddRentInformation\

return \"displayAddRentInformation\";

}

}

webcontent 文件夹

北京工业大学工程硕士专业学位论文

- 86 -

此文件夹主要放 jsp 页面,jsp 页面中主要使用 structs 标签,页面显示规范

整齐。其主要的页面风格如下:

<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\"

pageEncoding=\"UTF-8\"%>

<%@ include file=\"/common/support/jsp/head/taglibs.jsp\"%>

<%@ include file=\"/common/support/component/common/sys.jsp\"%>

<%@ taglib prefix=\"fmt\" uri=\"http://java.sun.com/jsp/jstl/fmt\" %>

${_config['system.name'] }

\" type=\"text/css\"

media=\"all\" />

function closeWindow(){

var parentWindow = parent.Ext.getCmp(\"winView\");

if (parentWindow){

parentWindow.hide();

} }

附 录

-87 -

北京工业大学工程硕士专业学位论文

- 88 -

${add_rent_information.C_TEL}:${AddRentInformation.CTel}${add_rent_information.C_PERSON}:${AddRentInformation.CPerson}${add_rent_information.C_ADDRESS}:${AddRentInformation.CAddress}
${add_rent_information.N_PRICE}:${AddRentInformation.NPrice}${add_rent_information.N_FLOOR}:${AddRentInformation.NFloor}${add_rent_information.N_TOTAL_FLOOR}:

${AddRentInformation.NTotalFloor}
${add_rent_information.N_AGE}:${AddRentInformation.NAge}${add_rent_information.C_NUM_ROOM}:

${AddRentInformation.CNumRoom}${add_rent_information.C_TRANS}:${AddRentInformation.CTrans}
${add_rent_information.C_ORI}:${AddRentInformation.COri}${add_rent_information.N_AREA}: ${AddRentInformation.NArea}${add_rent_information.C_ISFIX}:

${AddRentInformation.CIsfix}
${add_rent_information.C_NO}:${AddRentInformation.CNo}

struts-rent.xml 是 Struts 框架的最核心配置文件,通过此文件夹的配置,控

制着页面的跳转。系统根据程序返回值不同动态的选择跳转的页面,是系统的核附 录

- -

心配置文件。风格如下:

Foundation//DTD Struts

Configuration 1.2//EN\" \"struts-config_1_2.dtd\">

type=\"org.springframework.web.struts.DelegatingActionProxy\"

name=\"memoryForm\" scope=\"request\" input=\"/login.jsp\">name=\"displayAddRentInformation\" path=\"/jsp/rent/displayAddRentInformation.jsp\"

redirect=\"false\"/>path=\"/jsp/rent/listAddRentInformation.jsp\" redirect=\"false\"/>name=\"editAddRentInformation\" path=\"/jsp/rent/editAddRentInformation.jsp\"

redirect=\"false\"/>path=\"/rentView.do?action=listAddRentInformation\" redirect=\"true\"/>name=\"deleteAllSelectedAddRentInformation\"

path=\"/rentView.do?action=listAddRentInformation\" redirect=\"true\"/>name=\"updateAddRentInformation\"

path=\"/rentView.do?action=listAddRentInformation\" redirect=\"true\"/>name=\"searchAddRentInformation\" path=\"/jsp/rent/listAddRentInformation.jsp\"

redirect=\"false\"/>

历时将近3个月的时间终于将这篇论文写完,在论文的写作过程中遇到了无

数的困难和障碍,都在同学和老师的帮助下度过了。尤其要强烈感谢我的论文指

导老师刘老师,他对我进行了无私的指导和帮助,不厌其烦的帮助进行论文的修

改和改进。另外,企业导师王振宇先生也给我提供了很多方面的支持与帮助。在

此向帮助和指导过我的各位老师表示最中心的感谢!

感谢这篇论文所涉及到的各位学者。本文引用了数位学者的研究文献,如果

没有各位学者的研究成果的帮助和启发,我将很难完成本篇论文的写作。

感谢我的同学和朋友,在我写论文的过程中给予我了很多你问素材,还在论文的

撰写和排版的过程中提供热情的帮助。

由于我的学术水平有限,所写论文难免有不足之处,恳请各位老师和学友批

评和指正!

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sarr.cn 版权所有 赣ICP备2024042794号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务