毕业设计(论文)-小型房屋租赁管理系统设计与实现_第1页
毕业设计(论文)-小型房屋租赁管理系统设计与实现_第2页
毕业设计(论文)-小型房屋租赁管理系统设计与实现_第3页
毕业设计(论文)-小型房屋租赁管理系统设计与实现_第4页
毕业设计(论文)-小型房屋租赁管理系统设计与实现_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGEIV提供全套毕业论文,各专业都有学业设计题目:小型房屋租赁管理系统的设计与实现摘要如何利用现代的管理手段,提高房屋租赁管理水平,是当今租赁市场所面临的一个重要课题。论文基于MyEclipse10.0和Oracle平台设计实现了一套房屋租赁管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,整个系统主要包含了修改密码管理、房屋信息管理、房屋预订管理、出租户信息管理、求租户信息管理、房屋交易管理、租金统计管理、用户信息管理等功能。论文主要介绍了本系统的开发背景,所要完成的功能和开发的全过程。重点的说明了系统设计的重点、设计思想、难点技术和解决方案。关键词:房屋预订;B/S;房屋租赁ABSTRACTHowtousemodernmeansofmanagement,improvethehousingrentalmanagementlevel,isanimportanttaskinthecurrentrentalmarket.TheMyEclipse10.0andOracleplatformdesignandimplementationofahousingleasemanagementsystembasedon,itsdevelopmentmainlyincludestwoaspects:thebackgroundoftheestablishmentandmaintenanceofdatabaseandfront-endapplicationdevelopment,thewholesystemmainlyincludesthemodificationpasswordmanagement,housinginformationmanagement,bookingmanagement,housingrentalhouseholdsintheinformationmanagement,informationmanagementfortenants,transactionmanagement,rentalstatisticsmanagement,userinformationmanagementetc..Thepapermainlyintroducedthedevelopmentbackgroundofthesystem,completethefunctionsanddevelopmentprocessofthe.Keyexplanationsystemdesignkeypoint,designthought,difficulttechnologyandsolution.Keywords:Housingreservations;B/S;Rentalhousing目录摘要 IABSTRACT II1绪论 11.1课题研究现状 11.2开发背景与目的 12系统可行性分析 22.1操作可行性分析 22.2技术可行性分析 23系统需求分析 33.1系统设计目标 33.2系统应用现状调查 33.3系统需求描述: 33.4系统接口需求分析 43.5系统开发环境及开发工具 43.6其他需求分析 54系统总体设计 64.1系统架构设计 64.2系统功能模块划分和结构设计 64.3系统主控流程 85数据库设计 105.1数据库需求分析 105.2数据库逻辑结构设计 116系统详细设计 196.1数据库的连接 196.2系统登录界面设计 206.3系统主界面的设计 206.4个人信息管理设计 216.5房屋信息管理设计 226.6客户信息管理设计 236.7交易信息管理设计 246.8系统设置管理设计 266.9系统实现关键技术 267系统测试 287.1登录功能测试 287.2密码修改功能测试 287.3其他功能模块测试 29结束语 30参考文献 31致谢 32毕业设计第33页共32页1绪论1.1课题研究现状随着计算机技术的飞速发展,房屋租赁业务也受到了信息化时代带来的管理便利和高效的影响。从目前的应用情况上来看,国外的许多大型房屋租赁中介公司都建立了自己的信息管理平台,例如法国大部分的房屋中介公司利用Internet平台,通过运用MLS(多重上市服务)对出租房屋和客户信息之间的对接,实现了对出租房屋和客户的双重信息的有效管理。如使用“房屋租赁管理系统”软件,取代传统的手工登记模式,帮助客户实现房屋出租,房屋租赁中介自动化管理,其很大程度上提高了工作效率,并且极大的减少了出错率。国内的房屋中介行业起步较晚,国外的很多房屋中介又纷纷进入国内市场,例如美国“21世纪不动产”早已在中国全面启动,以其先进的房源信息共享平台取得了丰厚的业绩。然而国内的许多房屋租赁中介公司依然使用传统的手工记录方式,信息的载体和传播只要通过纸质媒介来完成,而需要在大量的数据中查询出所要的消息也仍然使用手工搜索的方式,这种方式会占用很多人力资源和管理成本,为了在房屋租赁市场上占有一席之地,保持自己的竞争力,房屋租赁中介公司建立自己的信息化管理平台至关重要。1.2开发背景与目的利用计算机实现物业管理中的房屋租赁管理势在必行。对于物业管理企业来说,通过利用计算机高效率的来完成房屋租赁的日常事务管理,是顺应现代的企业制度条件、促进企业的工作管理走向科技化、标准化的必需条件。由于房屋租赁中介的日常管理是一项繁杂而又格外周密的工作,出租房屋的基本信息,客户基本资料的管理,房屋交易信息管理,租金统计的管理,通常都不能够出错,如果通过手工操作,需手工填写大量表格数据,这样会消耗企业大量的人力和物力,而通过利用计算机对房屋租赁的管理,不但可以确保每项信息的正确无误和迅速输出,同时,计算机具有手工管理所无法比拟的优点,比如:迅速检索、查找简便、出错率低、存储容量大、安全性好、低成本等,这些优点可以很好的提升物业管理的工作效率,也是企业的科技化、标准化管理,和世界接轨的重要条件。本系统的开发就是为了解决物业管理企业在房屋租赁管理当中的一些不严谨,让房屋租赁的管理走向简单和有效。2系统可行性分析

2.1操作可行性分析操作可行性主要是指用户使用的舒适性,因此界面设计时要充分考虑管理人员的习惯,使得操作简单便宜:数据录入迅速、规范、可靠;统计准确,制表灵活,适应力强,容易扩充。具有易用性、灵活性、开放性与可视性等,这些基本都可以实现。如今的计算机早已进入千家万户,硬件成本的下降,导致购买计算机成本降低。本系统是利用自己的计算机作为软件开发平台,使开发出的系统具有友好的用户界面、良好的安全设置,这让用户能够快速掌握系统的使用。所以在操作上是可行的.2.2技术可行性分析技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。本系统采用的是Java和Html开发语言以及Oracle数据库。前台界面运用了LigerUI,LigerUI是基于JQuery开发的一系列控件组,包括表单、布局、表格等等常用UI控件,使用LigerUI可以快速创建风格统一的界面效果。LigerUI视图简洁明了,操作较为简便,采用Json格式传递数据。具有不错的Grid表格处理能力。而后台运用了JFinal系统架构,JFinal是基于Java语言的极速Web开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有Ruby、Python等动态语言的开发效率。所以技术上是可行的。由以上操作和技术两方面的分析可以看出、本系统的开发时机成熟、从多种角度考虑,都是可行的,采用本系统,能够使整个系统内部所有的信息工作简化、提高工作效益。由于采用统一的数据信息,使相关人员能够快速的查询所需要的数据、资料及其它信息的,使信息快速高效运行。3系统需求分析3.1系统设计目标利用企业已有的软硬件环境及科学的管理方式开发方案,建立房屋租赁管理系统,实现房屋租赁的计算机自动化管理。本系统应与物业管理企业原有的房屋租赁管理制度相一致,并达到操作过程中的直观、方便、实用、安全等要求。3.2系统应用现状调查当前,许多物业管理企业的房屋租赁信息管理都是记录在纸张上,人力资源所占用的比例比较大,通常是各个主要负责人用书面形式在管理房屋租赁信息的,效率非常低下。而且容易造成数据打印、汇总、房屋信息更新不及时,数据容易丢失、损坏,不易保存且保密性很差,给公司和客户带来损失。3.3系统需求描述:本系统业务描述如下:(1)用户登陆管理功能:①本系统共分有两类用户(系统管理员、普通用户),各类用户分别享有不同的权限,但是都必须要登录,并由系统判定其权限后才可以使用本系统;②管理员可添加用户,确定用户功能权限,并可修改、删除和查看用户信息;用户可以修改自己的密码和查看个人资料;(2)房屋信息管理功能:①普通用户和管理员可以添加房屋信息,并设置状态(包括“已出租”、“未出租”、“已预订”、“洽谈中”);②普通用户和管理员可以修改和删除未出租的房屋;③普通用户和管理员可查询和统计所有的房屋状态清单;④求租客户可预定租房,缴纳订金过后,由普通用户或者管理员在预定租房中添加客户预订租房,(系统将自动将房屋信息标记为“已预订”);⑤普通用户和管理员可以修改和删除预定租房的房屋和客户信息;⑥普通用户和管理员可以查询所有预订的房屋和客户清单。(3)客户信息管理功能:①普通用户和管理员可以添加出租客户以及求租客户信息;②普通用户和管理员可以修改和删除出租客户和求租客户信息;③普通用户和管理员可查询和统计所有的客户信息清单;(4)交易信息管理功能:①普通用户和管理员可以添加房屋出租交易信息,并设置状态(包括“交易成功”、“洽谈中”、“已预订”、“交易失败”);②求租客户预定租房,缴纳订金过后,可与房东商谈租房事宜,此时由普通用户或者管理员修改交易信息中的状态为“洽谈中”,(系统将自动将房屋信息标记为“洽谈中”);③房东与住户签订租房合同后,普通用户和管理员将修改交易信息为“交易成功”(系统将自动将房屋信息标记为“已出租”);④假如房东与住户商谈不成功,则普通用户和管理员将修改交易信息为“交易失败”(系统将自动将房屋信息标记为“未出租”);⑤普通用户和管理员可以查看到住户应缴纳租金后向客户发出消息提醒,催促其按时缴纳租金;⑥普通用户和管理员可查询、添加、修改和删除所有的交易信息以及租金统计信息;(5)系统设置管理功能:此模块用于管理员和系统开发人员使用,方便管理员和系统开发人员添加,删除以及修改需要的菜单等。3.4系统接口需求分析对于交互式系统来说,人机界面设计和数据设计、体系结构设计及过程设计一样重要。人机界面设计的质量直接影响用户对软件产品的评价,所以我们对人机界面的设计要给予足够重视。所以本系统采用了Windows

的通用图形界面,界面具有一致性,简洁明了美观,便于用户操作。3.5系统开发环境及开发工具3.5.1系统开发环境(1)软件:=1\*GB3①Windows7操作系统=2\*GB3②JDK1.6=3\*GB3③MyEclipse10.0开发工具=4\*GB3④Oracle数据库(2)硬件:=1\*GB3①一台性能一般的个人计算机3.5.2系统的开发工具(1)JDK1.6JDK(JavaDevelopmentKit)是Java开发工具包的缩写。它是一种用于构建在Java平台上发布的应用程序、applet和组件的开发环境,是一切java应用程序的基础,所有的Java应用程序都是构建在这个之上的。而本系统采用的开发语言之一就是Java,所以在开发之前必须安装好JDK,而本机选择安装的版本是比较主流的JDK1.6。(2)MyEclipse10.0本系统采用MyEclipse10.0作为后台开发工具。该版本使用最高级的桌面和Web开发技术,包括HTML5和JavaEE6,支持JPA2.0、JSF2.0、Eclipselink2.1以及OpenJPA2.0.对检索功能以及错误查询功能更加强大,包括对JS文件的错误查询。MyEclipse10.0能够完整的支持本系统所使用的两种开发语言Java和Html,所以MyEclipse10.0是非常合适作为本系统开发工具的。(3)Oracle数据库Oracle数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完善的管理数据的功能;作为一种关系型数据库,它是一个完整的相关产品;作为一个分布式的数据库,它实现了分布式处理功能。并且只要在一种机型上学习了Oracle知识,就能运用于在各种类型的机器上。相对于其他数据库来说,Oracle数据库的优势很多,所以本系统选择Oracle数据库为底层支持平台。3.6其他需求分析本系统应具有良好的可维护性、可靠性、可理解性以及高效率。便于用户的理解和操作。可维护性包含了可读性、可测试性等含义。可靠性一般包含正确性和健壮性。开发过程中,应在各个矛盾的目标之间作衡量,并在有限的条件下(经费、时间、可用的软、硬件资源等),以便使上述各个方面都得到最大限度的满足。4系统总体设计4.1系统架构设计系统主体架构采用MVC设计模式即MVC框架,MVC全名是ModelViewController,是模型(Model)-视图(View)-控制器(Controller)的缩写,一种软件设计典范,用一种业务逻辑和数据显式分离的方法组织代码,将业务逻辑聚集到一个部件里面,在界面和用户围绕数据的交互能被改进和个性化定制的同时而不需要重新编写业务逻辑。使系统业务逻辑与用户应用界面分开。它的工作原理如图4.1所示:图4.1MVC模式的工作原理图本系统采用MVC结构设计,用户通过界面向业务逻辑层发送请求,业务逻辑层遵守一定的逻辑规则将请求处理之后进行数据库操作,然后将数据库返回的数据封装成以类的形式返回给用户界面层。这种方式在一定程度上增加了数据库的安全性。上面的View(视图)显示数据(数据库记录),Controller(控制器)处理输入(写入数据库记录),Model(模型)表示应用程序核心(比如数据库记录列表)。4.2系统功能模块划分和结构设计系统的总体设计的主要内容之一的就是系统模块结构设计,其任务是合理的进行模块的分解和定义,把每个子系统划分成一个个模块,并通过模块结构图把分解的模块按层次结构联系起来。模块结构图是结构设计中描述系统结构的图形工具。作为一种文档,它必须严格的定义模块的名字、功能和接口,同时还应当在模块结构图上反映出结构化设计的思想。系统逻辑模型中数据流图模块是逻辑处理模块,该模型并不表明模块的物理组成和实现,同样的,也看不出模块的层次关系,因此在系统结构设计中要将数据流图中的每个逻辑模块进行进一步的分解,用模块结构图来确定系统的层次结构关系,并且将系统的逻辑模型转换为物理模型。小型房屋租赁管理系统包括普通用户模块以及系统管理员两个基本模块。其中系统管理员模块又可以详细划分为个人信息管理模块、房屋信息管理模块、客户信息管理模块、交易信息管理模块和系统设置管理模块。而普通用户模块又可以详细划分为个人信息管理模块、房屋信息管理模块、客户信息管理模块、交易信息管理模块,本系统采用Html+Java+Oracle设计模式,Html页面用于给用户提供界面,提交参数及显示结果。通过Java处理参数并连接数据库,从数据库中获得用户请求的信息再交付给Java处理交付个用户显示在Html页面。4.2.1系统的数据流程分析整个系统从总体上由个人信息管理、房屋信息管理、客户信息管理、交易信息管理以及系统设置五大部分组成,每一部分主要功能如下:1.个人信息管理:①实现查看用户的个人信息②实现用户密码的修改2.房屋信息管理:①出租房屋基本信息的管理②实现房屋预定功能3.客户信息管理:①出租户基本资料管理②求租户基本资料管理4.交易信息管理 ①交易信息,分基础信息、房屋信息、房东信息、房客信息等 ②租金统计,分客户信息、房屋信息等5.系统设置功能:①用户基本信息,增删改查用户,分配修改用户角色等

②模块菜单管理,增加修改菜单等4.2.2系统功能模块图租金统计租金统计小型房屋租赁管理系统个人信息房屋信息客户信息交易信息系统设置个人信息查看出租房信息管理预定租房管理小型房屋租赁管理系统个人信息房屋信息客户信息交易信息系统设置个人信息查看出租房信息管理预定租房管理财务管理财务财务管理定金收取租金收取押金收取租金管理定金退还押金退还统计报表财务财务管理预定单统计租户信息表求租客户房屋统计历史租户现有合同历史合同定金统计用户密码修改出租户基本资料求租户基本资料租金统计信息管理交易信息管理用户信息管理模块信息管理图4.2系统功能模块图4.3系统主控流程从上面的系统功能结构图和系统主要各功能模块定义,我们对本系统有了一个大概的了解。下面从系统流程方向给出使用该系统的主控流程,系统管理员或是客户首先进入登录模块,输入正确的用户名和密码进入各自的管理模块,然后可在相应的模块中进行需要的操作。完成相应的操作后可以安全退出该管理模块,下次登录还是按照这样的步骤进行。其流程图如图4.3所示:图4.3系统流程图5数据库设计数据库设计(DatabaseDesign)是指对于一个给定的应用环境,构造最优的数据库模式,确立数据库及其应用系统,让其能够有效的快速的存储数据,使各种用户的应用需求(信息要求和处理要求)得到满足。数据库设计对一个系统来说十分重要,由于数据库结构的好坏会直接对系统的效率及实现效果产生影响,所以有效的合理的数据库结构设计将会提高数据存储的效率,可以保证数据的完整和一致性。下面将依次从数据库需求分析,数据库概念结构设计,数据库逻辑结构设计阐述本系统在数据库方面的设计。在数据库管理系统的支持下,数据完全独立于应用程序,并且能被多个用户或程序共享,其关系如图5.1所示。应用程序1应用程序1数据库管理系统数据库管理系统数据库应用程序2应用程序2应用程序3应用程序3图5.1应用程序与数据库的关系5.1数据库需求分析通过上述系统功能的分析,得出小型房屋租赁管理系统系统具有如下需求信息:(1)系统用户包括系统管理员和普通用户。(2)不同的用户角色拥有不同的权限,需要对权限进行验证。(3)系统管理员可以添加用户,添加成功后可以登录系统进行相关权限的操作。(4)系统管理员可以对系统、个人信息、房屋信息、客户信息、交易信息、系统设置进行管理。另外,也可以对系统进行整体管理。综上所述,我们设计如下所示的数据项和数据结构。用户信息表:包括的字段名有用户ID、编码、用户姓名、年龄、性别、密码、角色ID、联系电话、住址、身份证号码、邮箱、备注、创建人、创建时间、最后修改人、最后修改时间。角色信息表:包括的字段名有角色ID、角色名称、备注、创建人、创建时间、最后修改人、最后修改时间。模块信息表:包括的字段名有模块ID、模块名称、备注、创建人、创建时间、最后修改人、最后修改时间。菜单信息表:包括的字段名有菜单ID、菜单编码、菜单名称、菜单所在路径、菜单所属模块ID、备注、创建人、创建时间、最后修改人、最后修改时间。角色-菜单表:包括的字段名有主键ID、角色ID、菜单ID、备注。出租房屋信息表:包括的字段名有房屋ID、房屋居室、房屋面积、预期租赁价格、补充描述、租赁时间、房屋地址、客户ID、房屋编码、房屋出租状态、备注、创建人、创建时间、最后修改人、最后修改时间。预定租房信息表:包括的字段名有订单ID、订单编号、预订房ID、求租户ID、订金、订金有效期、计划租期、计划起租日期、预订日期、备注、创建人、创建时间、最后修改人、最后修改时间。出租户信息表:包括的字段名有出租户ID、出租户编码、出租户姓名、年龄、性别、出租户联系电话、出租户家庭住址、出租户身份证号码、邮箱、备注、创建人、创建时间、最后修改人、最后修改时间。求租户信息表:包括的字段名有求租户ID、求租户编码、求租户姓名、年龄、性别、求租户身份证号码、联系电话、家庭住址、邮箱、房型(居室)要求、面积要求、意向价位、意向租期、意向地段、意向房屋编码、备注(其他要求)、创建人、创建时间、最后修改人、最后修改时间。交易信息表:包括的字段名有交易ID、交易编码、租赁房ID、房客ID、交易时间、租金、佣金(手续费)、交易状态、押金、租期、备注、创建人、创建时间、最后修改人、最后修改时间。租金统计表:包括的字段名有收费ID、收费编号、租金年份、租金月份、已交租金、欠费金额、房屋ID、备注、创建人、创建时间、最后修改人、最后修改时间。5.2数据库逻辑结构设计数据库的概念结构设计结束后,下一步我们要做的是将上面数据库的概念结构转化为Oracle数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。在这里我们将着重介绍该系统中的以下这些表。(1)用户信息表该表表示的是系统用户的一些基本信息。其中,USERID是用户ID,它是该表的主键,不能为空。一个USERID号唯一确定一个用户,用来方便数据库查询等操作。USERNAME表示USERID号对应的用户姓名,USERCODE表示USERID号对应的用户编码,PASSWORD是用来登录系统的密码,其它字段名是USERID对应用户的另一些基本属性。如表5.1所示:表5.1WS_USER表字段名称字段说明数据类型和长度是否为空主键否USERID用户IDNUMBERnotnull是USERCODE用户编码VARCHAR2(22)null否USERNAME用户姓名VARCHAR2(50)null否PASSWORD密码VARCHAR2(22)null否ROLEID用户角色NUMBER(1)null否AGE年龄NUMBER(3)null否SEX_ID性别NUMBER(1)null否PHONENUMBER手机号码VARCHAR2(11)null否ADDRESS家庭住址VARCHAR2(200)null否IDCARD身份证号码VARCHAR2(18)null否EMAIL邮箱VARCHAR2(50)null否REMARK备注VARCHAR2(200)null否CREATED_BY创建人VARCHAR2(30)null否CREATION_DATE创建事件DATEnull否LAST_UPDATED_BY最后修改人VARCHAR2(30)null否LAST_UPDATE_DATE最后修改时间DATEnull否(2)角色信息表该表表示的是角色的基本信息。同样地,ROLEID是角色ID,它是该表的主键,不能为空。一个ROLEID只能唯一确定一个角色。另外,该表中包括了角色的其他一些基本信息,如角色名称。如表5.2所示:表5.2WS_ROLE表字段名称字段说明数据类型和长度是否为空主键否ROLEID角色IDNUMBERnotnull是ROLENAME角色名称VARCHAR2(10)null否REMARK备注VARCHAR2(200)null否CREATED_BY创建人VARCHAR2(30)null否CREATION_DATE创建时间DATEnull否LAST_UPDATED_BY最后修改人VARCHAR2(30)null否LAST_UPDATE_DATE最后修改时间DATEnull否(3)模块信息表该表表示的系统模块的基本信息。同样地,MODULEID是表示系统模块ID,它是该表的主键,不能为空。用来方便对系统模块的增删改查等操作。另外该表包含了系统模块名称等信息。如表5.3所示:表5.3WS_MODULE表字段名称字段说明数据类型和长度是否为空主键否MODULEID模块IDNUMBERnotnull是MODULENAME模块名称VARCHAR2(100)null否REMARK备注VARCHAR2(200)null否CREATED_BY创建人VARCHAR2(30)null否CREATION_DATE创建时间DATEnull否LAST_UPDATED_BY最后修改人VARCHAR2(30)null否LAST_UPDATE_DATE最后修改时间DATEnull否(4)菜单信息表MENUID表示菜单ID,是该表的主键,不能为空。MENUNAME表示MENUID一一对应的菜单名称。MENUURL表示MENUID对应的菜单对应的路径。其中PARENT_ID是该表的外键,是外连接WS_MODULE表的主键MODULEID。另外该表中包含系统菜单的其他信息。如表5.4所示:表5.4WS_MENU表字段名称字段说明数据类型和长度是否为空主键否MENUID菜单IDNUMBERnotnull是MENUCODE菜单编码VARCHAR2(20)null否MENUNAME菜单名称VARCHAR2(20)null否MENUURL菜单所在路径VARCHAR2(250)null否PARENT_ID菜单所属模块NUMBERnull否REMARK备注VARCHAR2(200)null否CREATED_BY创建人VARCHAR2(30)null否CREATION_DATE创建时间DATEnull否LAST_UPDATED_BY最后修改人VARCHAR2(30)null否LAST_UPDATE_DATE最后修改时间DATEnull否(5)角色-菜单表每个不同的角色进入系统是相对应了不同的菜单,此表就表示每个角色对应了哪些菜单,RMID是该表的主键,不能为空。ROLEID和MENUID是该表的外键。其中ROLEID为角色信息表的主键,MENUID为菜单信息表的主键。如表5.5所示:表5.5WS_ROLEMENU表字段名称字段说明数据类型和长度是否为空主键否RMID主键IDNUMBERnotnull是ROLEID角色IDNUMBERnull否MENUID菜单IDNUMBERnull否REMARK备注VARCHAR2(200)null否(6)出租房屋信息表当一般出租户有房屋出租时,需要在在系统中添加或者修改等操作,会涉及到此表。HOUSE_ID是该表的主键,不能为空,唯一的确定一套或者一间房屋。CUSTOMER_ID是该表的外键,为出租户信息表的主键。LEASESTATE表示房屋出租状态,用数字表示,0表示洽谈中,1表示未出租,2表示已出租,3表示已预定。另外该表中包含出租房屋的其他信息。如表5.6所示:表5.6HOUSE表字段名称字段说明数据类型和长度是否为空主键否HOUSE_ID房屋IDNUMBERnotnull是HOUSE_CODE房屋编码VARCHAR2(20)null否LEASESTATE房屋出租状态NUMBER(1)null否RESIDENCE房屋居室VARCHAR2(20)null否ACREAGE房屋面积VARCHAR2(20)null否PRICE预期租赁价格VARCHAR2(20)null否DESCRIBE补充描述VARCHAR2(100)null否TIME可租赁时间VARCHAR2(40)null否SITE房屋地址VARCHAR2(100)null否CUSTOMER_ID客户IDNUMBERnull否REMARK备注VARCHAR2(200)null否CREATED_BY创建人VARCHAR2(30)null否CREATION_DATE创建时间DATEnull否LAST_UPDATED_BY最后修改人VARCHAR2(30)null否LAST_UPDATE_DATE最后修改时间DATEnull否(7)预订租房信息表当有求租户看上某个房屋,需要预订时,会涉及到对此表的操作。SUBSCRIBE_ID是该表的主键,不能为空。HOUSE_ID和TENANT_ID是该表的外键,其中HOUSE_ID为出租房屋信息表的主键。TENANT_ID为求租户信息表的主键。另外该表中包含预订租房的其他信息。如表5.7所示:表5.7SUBSCRIBE表字段名称字段说明数据类型和长度是否为空主键否SUBSCRIBE_ID订单IDNUMBERnotnull是SUBSCRIBE_CODE订单编号VARCHAR2(20)null否HOUSE_ID预订房IDNUMBERnull否TENANT_ID求租户IDNUMBERnull否SUBSCRIPTION订金VARCHAR2(20)null否PERIOD_OF_VALIDITY订金有效期VARCHAR2(40)null否TENANCY计划租期VARCHAR2(40)null否PLANS计划起租日期VARCHAR2(40)null否PLANS_DATE预订日期VARCHAR2(40)null否REMARK备注VARCHAR2(200)null否CREATED_BY创建人VARCHAR2(30)null否CREATION_DATE创建时间DATEnull否LAST_UPDATED_BY最后修改人VARCHAR2(30)null否LAST_UPDATE_DATE最后修改时间DATEnull否(8)出租户信息表该表表示的是出租户的一些基本信息。其中,CUSTOMER_ID是出租户ID,它是该表的主键,不能为空。一个CUSTOMER_ID号唯一确定一个出租户,用来方便数据库查询等操作。CUSTOMER_NAME表示CUSTOMER_ID号对应的出租户姓名,CUSTOMER_CODE表示CUSTOMER_ID号对应的出租户编码,SEX_ID表示出租户性别,用数字表示,1代表男,2代表女。其它字段名是CUSTOMER_ID对应出租户的另一些基本属性。如表5.8所示:表5.8CUSTOMER_INFO表字段名称字段说明数据类型和长度是否为空主键否CUSTOMER_ID出租户IDNUMBERnotnull是CUSTOMER_CODE出租户编码VARCHAR2(20)null否CUSTOMER_NAME出租户姓名VARCHAR2(50)null否AGE年龄NUMBER(3)null否SEX_ID性别NUMBER(1)null否PHONENUMBER联系电话VARCHAR2(11)null否ADDRESS家庭住址VARCHAR2(100)null否IDCARD身份证号码VARCHAR2(40)null否EMAIL邮箱VARCHAR2(50)null否REMARK备注VARCHAR2(200)null否CREATED_BY创建人VARCHAR2(30)null否CREATION_DATE创建时间DATEnull否LAST_UPDATED_BY最后修改人VARCHAR2(30)null否LAST_UPDATE_DATE最后修改时间DATEnull否(9)求租户信息表该表表示的是求租户的一些基本信息。其中,TENANT_ID是求租户ID,它是该表的主键,不能为空。一个TENANT_ID号唯一确定一个求租户,用来方便数据库查询等操作。TENANT_NAME表示TENANT_ID号对应的求租户姓名,TENANT_CODE表示TENANT_ID号对应的求租户编码,SEX_ID表示求租户性别,用数字表示,1代表男,2代表女。HOUSE_CODE是该表的外键,与房屋信息表的HOUSE_CODE相连接。其它字段名是TENANT_ID对应求租户的另一些基本属性。如表5.9所示:表5.9FORTENANTS表字段名称字段说明数据类型和长度是否为空主键否TENANT_ID求租户IDNUMBERnotnull是TENANT_CODE求租户编码VARCHAR2(20)null否TENANT_NAME求租户姓名VARCHAR2(50)null否AGE年龄NUMBER(3)null否SEX_ID性别NUMBER(1)null否PHONENUMBER联系电话VARCHAR2(11)null否ADDRESS家庭住址VARCHAR2(100)null否IDCARD身份证号码VARCHAR2(40)null否EMAIL邮箱VARCHAR2(50)null否RESIDENCE房型(居室)要求VARCHAR2(20)null否ACREAGE面积要求VARCHAR2(20)null否PRICE意向价位VARCHAR2(20)null否TIME意向租期VARCHAR2(40)null否SITE意向地段VARCHAR2(100)null否HOUSE_CODE意向房屋编码VARCHAR2(20)null否REMARK备注(其他要求)VARCHAR2(200)null否CREATED_BY创建人VARCHAR2(30)null否CREATION_DATE创建时间DATEnull否LAST_UPDATED_BY最后修改人VARCHAR2(30)null否LAST_UPDATE_DATE最后修改时间DATEnull否(10)交易信息表该表表示的是房屋租赁交易的一些基本信息。其中,TRANSACTION_ID是交易信息ID,它是该表的主键,不能为空。一个TRANSACTION_ID号唯一确定一笔交易信息,用来方便数据库查询等操作。TRANSACTION_CODE表示TRANSACTION_ID号对应的交易单号,SUCCESS表示交易信息的状态,用数字表示,0为洽谈中,1交易失败,2为交易成功,3为已预订。HOUSE_ID和TENANT_ID是该表的外键。其中HOUSE_ID是出租房屋信息表的主键,TENANT_ID是求租户信息表的主键。其它字段名是TRANSACTION_ID对应交易信息的另一些基本属性。如表5.10所示:表5.10TRANSACTION_INFO表字段名称字段说明数据类型和长度是否为空主键否TRANSACTION_ID交易IDNUMBERnotnull是TRANSACTION_CODE交易单号VARCHAR2(20)null否HOUSE_ID租赁房IDNUMBERnull否TENANT_ID求租户IDNUMBERnull否TIME交易时间VARCHAR2(40)null否RENT租金VARCHAR2(20)null否COMMISSION佣金,手续费VARCHAR2(20)null否DEPOSIT押金VARCHAR2(20)null否LEASE_TERM租期VARCHAR2(40)null否SUCCESS交易状态NUMBER(1)null否REMARK备注VARCHAR2(200)null否CREATED_BY创建人VARCHAR2(30)null否CREATION_DATE创建时间DATEnull否LAST_UPDATED_BY最后修改人VARCHAR2(30)null否LAST_UPDATE_DATE最后修改时间DATEnull否(11)租金统计信息表该表表示的是所有已成功交易的房屋所需缴纳租金的一些基本信息。其中,STATISTICS_ID是收费ID,它是该表的主键,不能为空。一个STATISTICS_ID号唯一确定一笔成功交易所应该缴纳的租金的所有信息,用来方便数据库查询等操作。STATISTICS_CODE表示STATISTICS_ID号对应的收费单号。HOUSE_ID是该表的外键,出租房屋信息表的主键。其它字段名是STATISTICS_ID对应租金统计的另一些基本属性。如表5.11所示:表5.11RENT_STATISTICS表字段名称字段说明数据类型和长度是否为空主键否STATISTICS_ID收费IDNUMBERnotnull是STATISTICS_CODE收费单号VARCHAR2(20)null否YEAR租金年份VARCHAR2(20)null否MONTH租金月份VARCHAR2(20)null否HAVE_PAY已交租金VARCHAR2(20)null否ARREARAGE欠费金额VARCHAR2(20)null否HOUSE_ID出租房屋IDNUMBERnull否REMARK备注VARCHAR2(200)null否CREATED_BY创建人VARCHAR2(30)null否CREATION_DATE创建时间DATEnull否LAST_UPDATED_BY最后修改人VARCHAR2(30)null否LAST_UPDATE_DATE最后修改时间DATEnull否6系统详细设计6.1数据库的连接该系统的数据库采用的是Oracle,继承Jfinal框架中JFinalConfig类,重写configPlugin方法,配置名为datasources的txt文件,其作用是建立连接,发送SQL语句,处理返回的结果。该系统与Oracle数据库连接的部分代码如下:publicvoidconfigPlugin(Pluginsme){//配置C3p0数据库连接池插件 C3p0Pluginc3p0Plugin=newC3p0Plugin( getProperty("jdbcUrl"), getProperty("user"), getProperty("password").trim(),"oracle.jdbc.driver.OracleDriver"); me.add(c3p0Plugin); //添加自动绑定model与表插件 AutoTableBindPluginatbp=newAutoTableBindPlugin(c3p0Plugin,SimpleNameStyles.LOWER); atbp.setShowSql(true); //设置Oracle数据库方言 atbp.setDialect(newOracleDialect()); //配置属性名(字段名)大小写不敏感容器工厂 atbp.setContainerFactory(newCaseInsensitiveContainerFactory()); me.add(atbp);}配置的datasources.txt文档中的代码如下:driverClass=oracle.jdbc.driver.OracleDriverjdbcUrl=jdbc:oracle:thin:@:1521:housefilters=stat,walluser=wangshuangpassword=w123456这里需要注意的是datasources.txt文档中jdbcUrl是数据库所在的路径,user是连接数据库的用户名,password是连接数据的密码。6.2系统登录界面设计对于一个完整的小型房屋租赁管理系统系统而言,不仅要求功能齐全、操作简单,还要有良好的设计风格和简洁的系统界面。登录界面对于整个系统来说是最基本的但是十分地重要,因为它设置了进入本系统的用户和口令,防止非法用户进入系统,破坏系统安全和所保存的数据,只有合法的用户在输入正确的密码后方可进入系统,否则将提示密码或用户名输入错误。这样就对使用者有了限制,增加了系统的安全性和保密性,便于控制和管理,有利于系统的维护。其用户登录界面如图6.1所示所示:图6.1用户登录界面如果用户输入的用户名或者密码不合法时就会调用alert命令语句给出警告信息。用户需仔细检查重新输入。这也是为了增加系统安全性。如果当用户输入的用户名或者密码合法时,就要进入后台,运行SQL查询语句来验证登录账号和登录密码信息是否正确。验证通过后,还需要根据传进来的用户名查找用户角色所属,然后根据角色显示该角色所拥有的模块和菜单。6.3系统主界面的设计当用户登录验证成功进入小型房屋租赁管理系统,首先映入眼帘的就是系统主界面,所以一个成功的管理系统的主界面是应该让人看着赏心悦目,使用简单,操作简洁,用户所需要使用的一切功能都能一目了然。如图6.2所示:图6.2系统主界面当用户登陆成功进去主界面时,系统会根据登陆时的用户名运行SQL查询语句来查找用户所属角色,然后根据角色显示该角色所拥有的模块以及模块下的菜单。6.4个人信息管理设计点开个人信息模块,里面有两个菜单,个人信息和修改密码。点开个人信息,在左边增加一个TAB,能够查看当前用户的基本信息,点开修改密码,将会出现修改密码的界面,如图6.3.和图6.4所示:图6.3个人信息图6.4修改密码修改密码时需要先输入旧密码,也就是现在用的密码,然后输入两次新密码,两次新密码要相同,如果不相同,系统会弹出错误提示,然后进入数据库修改密码,先验证旧密码,旧密码验证通过,再update新密码。6.5房屋信息管理设计房屋信息模块下有两个子菜单,为出租房信息管理和预定租房管理,包含了增加、删除、修改、查询等功能,界面如图6.5和图6.6所示:图6.5出租房信息图6.6预定租房信息出租房信息管理中,可以增加、删除、修改、查询出租房的所有信息,出租状态不同,所标志的颜色也不一样,让用户能够一目了然,不容易看错。预定租房信息里可以查看到详细信息,包括预定租房基础信息,房屋信息,出租户信息,租户信息等,当添加一个未出租的房屋预订时,那么添加的这个房屋在房屋信息菜单里面的房屋出租状态会自动更换为“已预订”。6.6客户信息管理设计客户信息模块下有两个子菜单,为出租户信息和求租户信息,界面和功能类似,求租户信息多了一个房屋意向信息,界面如图6.7和图6.8所示:图6.7出租户信息图6.8求租户信息当有新的客户需要登记或者原有客户资料有变动时,就需要在次模块中添加或者修改,在求租户信息模块中可以点击展开查看房屋意向信息。6.7交易信息管理设计交易信息模块下,有两个子菜单,为交易信息和租金统计,在交易信息中,点开明细查询,可以看到交易基础信息、房屋信息、房东(出租户)信息、房客(求租户)信息等。在租金统计中,点开明细查询,可看到房客(求租户)信息,界面如图6.9和图6.10所示:图6.9交易信息图6.10租金统计 交易信息中,当交易状态改为“交易成功”时,出租房屋信息的出租状态会自动改为“已出租”,当交易状态改为“交易失败”时,出租房屋信息的出租状态会自动改为“未出租”,交易状态改为“洽谈中”时,出租房屋信息的出租状态会自动改为“洽谈中”,交易状态改为“已预订”时,出租房屋信息的出租状态会自动改为“已预订”。6.8系统设置管理设计此模块只有当管理员进入本系统时才会显示,也只允许管理员才能够进行操作管理。此模块下拥有两个子菜单,分别为用户信息管理和模块管理,界面如图6.11和图6.12所示:图6.11用户信息图6.12模块管理 在用户管理模块当中,管理员可以添加新的用户,可以删除已有用户,修改用户的资料以及分配权限。在模块管理当中,管理员可以修改本系统中所有的菜单信息。6.9系统实现关键技术6.9.1JFinal框架技术JFinal是基于Java语言的极速WEB开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有Ruby、Python等动态语言的开发效率。JFinal采用微内核全方位扩展架构,全方位是指其扩展方式在空间上的表现形式。JFinal由Handler、Interceptor、Controller、Render、Plugin五大部分组成。JFinal架构十分简单,顶层是一个责任链模式变种,ActionHandler内部结构也十分简单,是一个Command模式变种。6.9.2LigerUI技术LigerUI是基于JQuery开发的一系列控件组,包括表单、布局、表格等等常用UI控件使用LigerUI可以快速创建风格统一的界面效果。LigerUI为我们提供了大多数UI控件的使用,如:Accordion,Combobox,Menu,Dialog,Tabs,Validatebox,Datagrid,Window,Tree等等。开发者不需要编写复杂的JavaScript,也不需要对CSS样式有深入的了解,开发者需要了解的只有一些简单的Html标签,就能够利用LigerUI轻松的打造出功能丰富并且美观的UI界面。当然LigerUI作为开发框架的话也存在不少的Bug,用户查找解决方法时不像EasyUI那样容易找到解决方法。但是是开源的,可以修改源代码来解决自己的问题。6.9.3B/S模式分析B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如NetscapeNavigator或InternetExplorer,服务器安装Oracle、Sybase、Informix或

SQLServer等数据库。浏览器通过WebServer同数据库进行数据交互。B/S最大的好处是,我们可以在任何地方不用安装专门的软件而进行操作,只要你有一台能上网的计算机就可以使用,客户端零安装、零维护。系统非常容易扩展。使用B/S结构的越来越多,尤其是由于需求而促进了AJAX技术的发展,它的程序也可以在客户端的计算机上进行部分处理,从而大大降低了服务器的负担;而且增加了交互性,能进行局部实时刷新。7系统测试7.1登录功能测试用户登录过程中,若输入的用户名或密码不正确,给出相应警告。如图7.1所示:图7.1用户名或密码错误提示界面如果输入的用户名和密码正确则登录成功,自动跳转到房屋租赁管理系统后台管理界面。7.2密码修改功能测试进入系统后,选择密码修改菜单,若输入新密码不合法、旧密码不正确以及两次新密码不同,给出相应警告。如图7.2、图7.3和图7.4所示:图7.2输入新密码不合法提示界面图7.3输入旧密码错误提示界面图7.4两次输入新密码不相同提示界面7.3其他功能模块测试剩下的几个模块,比如出租房信息、预定租房、出租户信息、求租户信息、交易信息、租金统计、用户信息、模块管理等,界面基本一致,功能大致相同,很多功能的测试结果基本相同,比如预定租房系统,当填入信息为空时,会给出相应警告,如图7.5所示: 图7.5某些字段为空的提示界面每一条信息都会存在一个唯一的编码,如果添加一条新的信息时,与已存在信息的编码重复,那么系统就会弹出一个已存在XX编码已存在的错误提示框,如图7.6所示:图7.6编码重复的错误提示界面结束语经过几个月的努力,小型房屋租赁管理系统系统最后得以顺利完成。由于对房屋租赁管理需求做得不够细致,系统还存在许多业务逻辑方面的问题,有些特殊的业务流程也存在很多欠缺的地方。另外,系统的人性化设计、系统界面设计以及代码优化设计等方面也存在一些不足的地方。毕竟个人的能力还是有限的,还有很多知识需要继续学习、探讨和研究。通过对该系统的设计和实现,当然也使我了解并掌握了许多关于房屋租赁管理和JFinal框架以及MVC设计模式方面的知识。在系统开始设计和制作之前,我们应该做好充分的准备工作。首先,我认为在做系统的需求分析之前,应该着重熟悉下房屋租赁这个行业的相关资料以及设计和实现该系统的开发工具、开发语言和关键技术。同时可以为系统后期的设计和实现收集好相关重要的信息资料。其次,为了开发出能够真正的满足用户需求的软件产品,必须清楚地了解用户所有的需求。对用户需求的深入了解是作为软件开发工作获得成功的先决条件,不论后期的设计以及编码工作完成的如何完美,无法真正满足用户需求的程序只会令用户失望。所以在系统设计和实现之前,我们要做好充足的需求分析。然后,我们应该理清思路,有计划一步一步的进行,绝不能乱了阵脚。不要哪个模块都做一点,这样只会让工作效率低下,最后可能导致哪一个都做不好。还有应该根据软件开发过程一步一步地完成。最后,我觉得一个人的品质非常重要。一个系统设计和实现必须经过问题定义,可行性研究,需求分析,概要设计,详细设计,编码和单元测试,综合测试以及最后的维护这几个阶段,每个阶段有每个阶段的任务,这时候我们需要有耐心一步一步地把它们完成。当然,在整个设计和实现的过程中,我们也会遇到很多方面上的问题,这时候我们需要的是坚持,绝不容许自己就此放弃。参考文献[1]郭赢发.《数据库原理与应用》(修订版)[M].西安:西安电子科技大学出版社,1999.[2]BruceEckel.《Java编程思想》[M].机械工业出版社,2003.[3]BradGreen,ShyamSeshadri.AngularJS[M].USA:O'ReillyMedia,Inc,USA,2013.[4]王珊,萨师煊.数据库系统概论(第四版)[M].高等教育出版社,2006.[5]Goodman.D.JavaScriptHandbook[M].FosterCityCA:IDGBooks,2002.[6]BruceEckel.ThinkinginJava(4thRevisededition)[M].USA:PrenticeHall,2006.[7]KarenMorton,KerryOsborne,RobynSands,朱浩波.OracleSQL高级编程[M].北京:人民邮电出版社,2011.[8]陈宗斌.Ajax权威指南(第一版)[M].北京:机械工业出版社,2009.[9]李松峰,曹力.JavaScript高级程序设计(第3版)[M].北京:人民邮电出版社,2012.[10]迈耶.CSS权威指南(第3版)[M].北京:中国电力出版社,2008.致谢岁月如歌,光阴似箭,大学四年的生活虽然即将结束,但是未来的路还很长。在这里,非常感谢我的指导老师严权峰老师,感谢您在百忙之中对我毕业设计细心的指导,新锐的启发,认真的审阅。另外,还要感谢这四年以来教导过我的老师们。真心祝福您们一切都好。感谢我的室友们一直以来的陪伴,大家一起努力维系着寝室那份家的融洽。在这四年里,我们一起疯,一起闹,一起快乐,一起悲伤,一起走过了1000多个日日夜夜。转眼之间,我们都要毕业了,我们要各奔东西了,只希望在你们的回忆里有个我,只希望以后还有再聚时。愿大家一切都顺利!最后要感谢我的爸爸妈妈,你们的养育之恩,无以回报。是你们教会了我很多做人的道理。我知道你们一直在背后默默的支持和帮助我。才使得我有今天的成就。在未来的日子里,我会更加努力坚持并实现我的梦想,希望不会辜负你们的期望。我也会尽我所能让你们过得更加幸福快乐。基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制HYPERLINK"

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论