苏州房屋租赁发布平台系统
摘 要
当今社会己进入信息社会时代,信息己经受到社会的广泛关注,被看作社会和科学技术发展的三大支柱(材料、能源、信息)之一。信息是管理的基础,是进行决策的的基本依据。在一个组织里,信息己作为人力、物力、财力之外的第四种能源,占有重要的地位。然而,信息是一种非物质的,有别于基本资源的新形式的资源。信息也是管理的对象,必须进行管理和控制。房屋发布租赁平台系统是将IT技术用于房屋发布租赁信息的管理, 它能够收集与存储房屋发布租赁信息的档案信息,提供更新与检索房屋发布租赁信息档案的接口;提高工作效率。系统采用JSP为编程语言。论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点的说明了系统设计的重点、设计思想、难点技术和解决方案。
关键词:房屋发布租赁信息,管理,系统,开发
Student self-help travel system
Abstract
Today's society has entered the era of information society, information has been widespread concern in society, as the three pillars of the social and scientific and technological development (materials, energy, information) one. Information management, decision-making basis forIn an organization, the information has the energy of the fourth addition to the human, material and financial resources to occupy an important position. However, information is a non-material resources of the new form is different from the basic resources.Information is also managed objects, management and control. Rental management system is IT technology for the management of rental information, file storage housing rental information it can collect, update and retrieve the rental information file interface; improve work efficiency. The system uses JSP as programming language. The paper introduces the development background of the subject, to complete the development and function of the process. Focus on a description of the focus of system design, design ideas, difficult technology and solutions.
Key words: Rental, management,system,development
随着科技发展和社会进步,尤其是计算机大范围的普及,计算机应用逐渐由大规模科学计算的海量数据处理转向大规模的事务处理和对工作流的管理,这就产生了以台式计算机为核心,以数据库管理系统为开发环境的管理信息系统在大规模的事务处理和对工作流的管理等方面的应用,特别是在房屋发布租赁信息管理[1]之中的应用日益收到人们的关注。
近年来我国信息事业发展迅速,手工管理方式在房屋发布租赁信息管理等需要大量事务处理的应用中已显得不相适应,采用IT技术提高服务质量和管理水平势在必行。目前,对外开放必然趋势使信息行业直面外国同行单位的直接挑战,因此,信息行业必须提高其工作效率,改善其工作环境。这样,房屋发布租赁信息管理的信息化势在必行。
在传统的房屋发布租赁信息管理中,其过程往往是很复杂的,繁琐的,房屋发布租赁信息管理以房屋发布租赁信息管理为核心,在此过程中又需要经过若干道手续,因为整个过程都需要手工操作,效率十分低下,且由于他们之间关联复杂,统计和查询的方式各不相同;且会出现信息的重复传递问题,因此该过程必须实现信息化。
随着计算机技术和网络技术的飞速发展,各中介都相继采用信息技术对房屋发布租赁信息有关信息进行管理。然而,也注意到许多单位,并没有很好地运用现代信息技术对房屋发布租赁信息等信息进行管理,很多房屋发布租赁平台系统将所有的管理事务全都交给管理员来完成,如果信息有任何的增删改查,都需要通过管理员来完成,非常麻烦。如何开发一个实用的房屋发布租赁平台系统,是摆在设计者面前的一大难题。 通过对房屋发布租赁平台系统进行深入分析和研究,本文从功能模块、数据格式、通用性三个方面进行细化,提出房屋发布租赁平台系统设计的理论依据和实现的方法。设计系统的数据层、逻辑层、界面层,重点体现数据格式的规范,也为通用性的实施提供保障。最后在系统开发环节,从技术层面实现代码的可重用性及系统的通用性,从而使系统的设计更具实用性和通用性。总之我觉得
现在逐渐发展起来的信息系统可以让房屋发布租赁信息管理变得非常灵活,每一种角色都有自己的权限,保证了信息的安全性以及管理的简易性。因此,基于MVC 的房屋发布租赁平台系统将会是以后的趋势。所以我通过开发一个房屋发布租赁平台系统来完成以便能更好的衔接。
1.2 主要研究的目的及内容本课题的目的是使房屋发布租赁信息管理清晰化,透明化,便于操作,易于管理。通过功能模块的优化组合实现不同的管理细节,使管理过程实现最大程度的自动化[2]与信息化,并能自动对人工操作环节进行复查,使房屋发布租赁平台系统出错率降至最低。在传统的房屋发布租赁信息管理中,各种管理工作往往是很复杂烦琐的。房屋发布租赁信息管理的特点是信息处理量比较大,所管理的种类比较繁多,而且由于消费、缴费等单据发生量特别大,关联信息多,查询和统计的方式不尽相同。在管理过程中经常会出现信息的重复传递,因此房屋发布租赁信息管理必须实现计算机化[3]处理。我们系统[3]开发的总体任务是实现房屋发布租赁信息管理的系统化、规范化、自动化、信息化与智能化,从而达到提高房屋发布租赁信息管理效率[4]的目的。
1.3 国内外发展情况1.3.1 研究方法房屋发布租赁信息管理是信息行业业务流程过程中十分重要且必备的环节之一,在信息行业业务流程当中起着承上启下的作用,其重要性不言而喻。但是,目前许多信息行业在具体的业务流程处理过程中仍然使用手工操作的方式来实施,不仅费时、费力,效率低下,而且无法达到理想的效果。针对上述问题,采用软件工程的开发原理[5],依据软件流程过程规范,按照需求分析、概要设计、详细设计、程序编码、测试、软件应用、软件维护等过程开发了一个房屋发布租赁平台系统。采用JSP[6]作为开发工具,结合Mysql数据库,数据库设计遵循3范式,解决了房屋发布租赁平台系统中存在的数据安全性[7]、数据一致性以及系统运行速度等问题。
1.3.2 设计思路(1)系统应符合房屋发布租赁信息管理的规定,满足信息行业相关人员日常使用的需要,并达到操作过程中的直观,方便,实用,安全等要求;
(2)系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护[8]人员补充,维护[9];
2 应用需求分析与可行性分析伴随着信息行业的蓬勃发展和人们办公自动化意识的增强,房屋发布租赁信息管理部门的的工作也越来越繁重,原来的房屋发布租赁平台系统已经不能完全满足相关人员使用的需要。为了协助信息行业开展房屋发布租赁信息管理工作,提高工作效率,充分利用信息行业的现有资源,开发更好的房屋发布租赁平台系统势在必行。
房屋发布租赁平台系统是将IT技术用于房屋发布租赁信息的管理, 它能够收集与存储患者信息,提供更新与检索的接口;协助信息行业开展房屋发布租赁信息管理工作提高工作效率。
房屋发布租赁平台系统采用B/S[10]结构、结合网络数据库开发技术来设计本系统。开发语言采用JSP,数据库使用Mysql数据库。完成以下基本功能:
本系统是一个独立的系统,用来解决房屋发布租赁信息的管理问题。采用JSP技术构建了一个有效而且实用的房屋发布租赁信息管理平台,目的是为高效地完成对房屋发布租赁信息的管理。
1、系统分为三类用户:系统管理员[11],注册用户,游客;
2、系权限管理:系统需要经过有效的身份验证可以登录(非验证进入为游客身份)。用户的身份不同,使用的系统资源也不同。游客只可以浏览房屋发布租赁信息(无发布、留言功能)。注册用户可以修改个人资料,查询并发布房屋发布租赁信息。房源发布者可以修改自己的房屋发布租赁信息。系统管理员拥有对用户删改查功能,对房屋发布租赁信息的审批,删改查功能,拥有发布系统信息功能[12];
3、房屋发布租赁信息发布功能:注册用户登录后,按照房屋发布租赁信息格式发布售/购房信息;
4、留言及回复功能[14]:注册用户对房屋发布租赁信息发布者发表留言,信息发布者恢复留言;
5、个人资料管理功能:注册用户可修改个人资料;
6、房源速配功能:根据查询信息配对出房屋发布租赁信息;
7、房屋发布租赁信息导出下载功能:根据房源速配信息,导出excel表格并下载;
8、系统管理功能:可审批,删除房屋发布租赁信息等。
9、系统管理员统计买房、卖房信息量,统计结果[16]显示为饼图、柱图。
房屋发布租赁平台系统具有标准房屋发布租赁平台系统所具有的现实中完整的房屋发布租赁信息管理步骤,完全的虚拟现实实现。真正实现节约资源、提高效率、业务处理的同时真正实现房屋发布租赁平台系统的功能作用。
2.1 应用需求分析服务器
硬件
处理器:Intel 酷睿
内 存:512M 或更大
硬 盘:120G 或更大
软件
Microsoft Windows 7
Microsoft ACCESS
Microsoft IIS 6.0 或更高版本
Microsoft Office 2007
客户机
硬件
无特殊要求,只要能上连接互联网即可
软件
Microsoft Windows 7
Microsoft IE 6.0 或更高版本
表2-1
系统的性能要求通常指系统需要的存储容量以及后援存储,重新启动和安全性,运行效率等方面的考虑。
硬件系统环境:Core 5600、1G MB(RAM)、120GB(HD)。系统运行时对数据的保密性要求不高对一般的数据不要求进行加密。此外,对其它软件几乎没有依赖性,程序健壮性较好
2.2 运行需求分析硬件条件:酷睿 CPU、1G RAM、10G硬盘以上的PC机;打印机;局域网。
软件条件:Windows 7 IE6.0以上
2.3 其他需求分析本系统有较好的可维护性、可靠性、可理解性、效率。易于用户理解和操作。可维护性包括了可读性、可测试性等含义。可靠性通常包括正确性和健壮性。开发过程中,在各种矛盾的目标之间作权衡,并在一定的限制的条件下(经费、时间、可用的软、硬件资源等),使上述各方面最大限度的得到满足。
2.4可行性分析2.4.1 经济可行性经济可行性研究是对组织的经济现状和投资能力进行分析,对系统建设运行和维护费用进行估算,对系统建成后可能取得的社会和经济效益进行估计。由于本系统是作为毕业设计由我们自己开发的,在经济上的投入甚微,系统建成之后将为今后房屋发布租赁信息管理提供很大的方便,估算新系统[17]的开发费用和今后的运行、维护费用,估计新系统将获得的效益,并将费用与效益进行比较,看是否有利。开发、运行和维护费用主要包括:
购买和安装房屋发布租赁信息的费用:计算机硬件、系统软件、 机房、电源、空调等;
软件开发费用:若由实习单位的技术人员开发,则该项费用可以计入下面的人员费
用一项;人员费用:系统开发人员、操作人员和维护人员的工资、培训费用等;消耗品费用:系统开发所用材料、系统正常运行所用消耗品,例如水、电费,打印纸、软盘、色带等开支。所有开支都不大,所以经济上是可行的。
2.4.2 技术可行性技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。房屋发布租赁平台系统用的是JSP开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面:由于目前BS模式软件相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。
2.4.3 运行可行性对新系统运行后给现行系统带来的影响(包括组织机构、管理方式、工作环境等)和后果进行估计和评价。同时还应考虑现有管理人员的培训、补充,分析在给定时间里能否完成预定的系统开发任务等。
运行可行性是对组织结构的影响,现有人员和机构和环境对系统的适应性及人员培训补充计划的可行性。当前我国信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行性的。
本系统的开发,是典型的Mis开发,主要是对数据的处理,包括数据的收集,数据的变换,及数据的各种报表形式的输出。采用流行的JSP+Mysql体系,已无技术上的问题。
2.4.4 时间可行性从时间上看,在两个月的时间里学习相关知识,并开发房屋发布租赁平台系统,时间上是有点紧,但是不是不可能实现,通过两个多月的努力功能应该基本实现。
2.4.5 法律可行性① 所有技术资料都为合法。
② 开发过程中不存在知识产权问题。
③ 未抄袭任何已存在的房屋发布租赁平台系统,不存在侵犯版权问题。
④ 开发过程中未涉及任何法律责任。
综上所述,本系统的开发从技术上、从经济上、从法律上都是完全可靠的。
2.5 系统开发步骤一般说来,管理信息系统的建立与应用可以划分成总体规划、系统开发和系统运行三个阶段,其中系统开发阶段还可进一步分为系统分析、系统设计和系统实施等工作环节。上述各个阶段排列成一个严格的线性开发序列,在每个工作阶段均产生完整的技术文档作为下一阶段工作的指导和依据,每一阶段都应对文档进行评审,确信该阶段工作已完成并达到要求后才能进入下一阶段,同时在以后的工作中不能轻易改变前面经过评审的成果。
上述开发方式的主要优点是便于开发工作的组织和管理,并且可大大降低管理信息系统开发的复杂性。国内外许多系统开发的实例都证明这是一种行之有效的开发方式。
国外曾有人对一些软件项目开发各阶段的工作量进行了统计,结果表明,在开发过程中各工作阶段所占全部工作量的比重分别达到系统分析:系统设计:编程:模块调试:系统调试=20%:15%:20%:25%:20%。由此可见,程序编写在开发工作中只占很小比例,而调试工作却占整个开发工作量的一半左右,因此“系统开发就是编程”的习惯说法显然是片面的。另据统计,在建立管理信息系统的三个阶段中,总体规划和系统开发阶段的工作量约占整个工作量的2/3,而运行、维护阶段要占1/3,这说明一个管理信息系统开发后,仍应十分重视它的维护工作,以便使系统不断完善并充分发挥其作用。
3 相关技术简介3.1 JSP技术简介JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP主要优先如下:
(1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比JSP/PHP的局限性是显而易见的。
(3)强大的可伸缩性。从只有一个小的war文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。这一点与JSP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
3.2 mysql数据库Mysql最初的开发者的意图是用Mysql和他们自己的快速低级例程(ISAM)去连接表格。不管怎样,在经过一些测试后,开发者得出结论:Mysql并没有他们需要的那么快和灵活。这导致了一个使用几乎和Mysql一样的API接口的用于他们的数据库的新的SQL接口的产生,这样,这个API被设计成允许为用于Mysql而写的第三方代码更容易移植到Mysql。
Mysql的概述
Mysql是一个关系型数据库管理系统。目前Mysql被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了Mysql作为网站数据库。
Mysql的特性
1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性
2.支持Mac OS、Windows等多种操作系统
3.为多种编程语言提供了API。这些编程语言包括C、C++、Eiffel、Java、Perl、Python、Ruby和Tcl等。
4.支持多线程,充分利用CPU资源
5.优化的SQL查询算法,有效地提高查询速度
6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名
7.提供TCP/IP、JDBC和JDBC等多种数据库连接途径
8.提供用于管理、检查、优化数据库操作的管理工具
9.可以处理拥有上千万条记录的大型数据库
Mysql的应用
与其他的大型数据库例如Oracle、DB2等相比,Mysql自有它的不足之处,如规模小、功能有限等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,Mysql提供的功能已经绰绰有余。
Mysql管理
可以使用命令行工具管理Mysql数据库,也可以使用sqlserver自带的企业管理器来进行管理,界面友好,操作简单。
Mysql存储引擎
master Mysql的默认数据库,最为常用。拥有较高的插入,查询速度,但不支持事务
InnoDB 事务型数据库的首选引擎,支持ACID事务,支持行级锁定.
BDB 源自Berkeley DB,事务型数据库的另一种选择,支持COMMI和ROLLBACK等其他事务特性
Memory 所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在Mysql重新启动时丢失.
Merge 将一定数量的MyISAM表联合而成一个整体,在超大规模数据存储时很有用.
Archive 非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive拥有高效的插入速度,但其对查询的支持相对较差.
Federated 将不同的Mysql服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用.
Cluster/NDB 高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用.
CSV 逻辑上由逗号分割数据的存储引擎.
BlackHole 黑洞引擎,写入的任何数据都会消失.
另外,Mysql的存储引擎接口定义良好。有兴趣的开发者通过阅读文档编写自己的存储引擎。
Mysql最常见的应用架构
单点(Single),适合小规模应用
复制(Replication),适合中小规模应用
集群(Cluster),适合大规模应用。
3.3 JDBCJDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名。
有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC ,就不必为访问access数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。
Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如JDBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。
3.4 B/S模式分析C/S模式主要由客户应用程序(Client)、服务器管理程序(Server)和中间件(middleware)三个部件组成。客户应用程序是系统中用户与数据进行交互的部件。服务器程序负责有效地管理系统资源,如管理一个信息数据库,其主要工作是当多个客户并发地请求服务器上的相同资源时,对这些资源进行最优化管理。中间件负责联结客户应用程序与服务器管理程序,协同完成一个作业,以满足用户查询管理数据的要求。
B/S模式是一种以Web技术为基础的新型的MIS系统平台模式。把传统C/S模式中的服务器部分分解为一个数据服务器与一个或多个应用服务器(Web服务器),从而构成一个三层结构的客户服务器体系。
第一层客户机是用户与整个系统的接口。客户的应用程序精简到一个通用的浏览器软件,如Netscape Navigator,微软公司的IE等。浏览器将HTML代码转化成图文并茂的网页。网页还具备一定的交互功能,允许用户在网页提供的申请表上输入信息提交给后台,并提出处理请求。这个后台就是第二层的Web服务器。
第二层Web服务器将启动相应的进程来响应这一请求,并动态生成一串HTML代码,其中嵌入处理的结果,返回给客户机的浏览器。如果客户机提交的请求包括数据的存取,Web服务器还需与数据库服务器协同完成这一处理工作。
第三层数据库服务器的任务类似于C/S模式,负责协调不同的Web服务器发出的SQ请求,管理数据库。
B/S模式首先简化了客户端。它无需象C/S模式那样在不同的客户机上安装不同的客户应用程序,而只需安装通用的浏览器软件。这样不但可以节省客户机的硬盘空间与内存,而且使安装过程更加简便、网络结构更加灵活。假设一个企业的决策层要开一个讨论库存问题的房屋发布租赁信息,他们只需从房屋发布租赁信息室的计算机上直接通过浏览器查询数据,然后显示给大家看就可以了。甚至与会者还可以把笔记本电脑联上房屋发布租赁信息室的网络插口,自己来查询相关的数据。其次,它简化了系统的开发和维护。系统的开发者无须再为不同级别的用户设计开
发不同的客户应用程序了,只需把所有的功能都实现在Web服务器上,并就不同的功能为各个组别的用户设置权限就可以了。各个用户通过HTTP请求在权限范围内调用Web服务器上不同处理程序,从而完成对数据的查询或修改。现代企业面临着日新月异的竞争环境,对企业内部运作机制的更新与调整也变得逐渐频繁。相对于C/S,B/S的维护具有更大的灵活性。当形势变化时,它无须再为每一个现有的客户应用程序升级,而只需对Web服务器上的服务处理程序进行修订。这样不但可以提高公司的运作效率,还省去了维护时协调工作的不少麻烦。如果一个公司有上千台客户机,并且分布在不同的地点,那么便于维护将会显得更加重要。
再次,它使用户的操作变得更简单。对于C/S模式,客户应用程序有自己特定的规格,使用者需要接受专门培训。而采用B/S模式时,客户端只是一个简单易用的浏览器软件。无论是决策层还是操作层的人员都无需培训,就可以直接使用。B/S模式的这种特性,还使 MIS系统维护的限制因素更少。
最后,B/S特别适用于网上信息发布,使得传统的MIS的功能有所扩展。这是C/S所无法实现的。而这种新增的网上信息发布功能恰是现代企业所需的。这使得企业的大部分书面文件可以被电子文件取代,从而提高了企业的工作效率,使企业行政手续简化,节省人力物力。
鉴于B/S相对于C/S的先进性,B/S逐渐成为一种流行的MIS系统平台。各软件公司纷纷推出自己的Internet方案,基于Web的财务系统、基于Web的ERP。一些企业已经领先一步开始使用它,并收到了一定的成效。 B/S模式的新颖与流行,和在某些方面相对于C/S的巨大改进,使B/S成了MIS系统平台的首选。本系统也采用B/S结构开发。
4 系统分析4.1系统实现目标伴随着信息行业的蓬勃发展和人们办公自动化意识的增强,房屋发布租赁信息管理部门的的工作也越来越繁重,原来的房屋发布租赁平台系统已经不能完全满足相关人员使用的需要。为了协助信息行业开展房屋发布租赁信息管理工作,提高工作效率,充分利用信息行业的现有资源,开发更好的房屋发布租赁平台系统势在必行。
房屋发布租赁平台系统是将IT技术用于房屋发布租赁信息的管理, 它能够收集与存储患者信息,提供更新与检索的接口;协助信息行业开展房屋发布租赁信息管理工作提高工作效率。
房屋发布租赁平台系统采用B/S结构、结合网络数据库开发技术来设计本系统。开发语言采用JSP,数据库使用Mysql数据库。完成以下基本功能:
本系统是一个独立的系统,用来解决房屋发布租赁信息的管理问题。采用JSP技术构建了一个有效而且实用的房屋发布租赁信息管理平台,目的是为高效地完成对房屋发布租赁信息的管理。
1、系统分为三类用户:系统管理员,注册用户,游客;
2、系权限管理:系统需要经过有效的身份验证可以登录(非验证进入为游客身份)。用户的身份不同,使用的系统资源也不同。游客只可以浏览房屋发布租赁信息(无发布、留言功能)。注册用户可以修改个人资料,查询并发布房屋发布租赁信息。房源发布者可以修改自己的房屋发布租赁信息。系统管理员拥有对用户删改查功能,对房屋发布租赁信息的审批,删改查功能,拥有发布系统信息功能;
3、房屋发布租赁信息发布功能:注册用户登录后,按照房屋发布租赁信息格式发布售/购房信息;
4、留言及回复功能:注册用户对房屋发布租赁信息发布者发表留言,信息发
布者恢复留言;
5、个人资料管理功能:注册用户可修改个人资料;
6、房源速配功能:根据查询信息配对出房屋发布租赁信息;
7、房屋发布租赁信息导出下载功能:根据房源速配信息,导出excel表格并下载;
8、系统管理功能:可审批,删除房屋发布租赁信息等。
9、系统管理员统计买房、卖房信息量,统计结果显示为饼图、柱图。
房屋发布租赁平台系统具有标准房屋发布租赁平台系统所具有的现实中完整的房屋发布租赁信息管理步骤,完全的虚拟现实实现。真正实现节约资源、提高效率、业务处理的同时真正实现房屋发布租赁平台系统的功能作用。
4.2 系统体系结构在系统功能分析的基础上,做系统功能模块图如下:
word/media/image1.gif
表4-2
4.3 主控流程图word/media/image2.gif
4.4 系统ER图
word/media/image3.gif
5 系统设计本系统不仅要求功能完善,而且还要界面友好,因此,对于一个成功的系统设计,功能模块的设计是关键。
5.1 概要设计在系统需求分析阶段,搞清楚了软件“做什么”的问题,形成了目标系统的逻辑模型。现在我们所要做的就是要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现系统的需求。首先,我们需要描述的是系统的总的体系结构。
5.2 系统结构设计系统的概要设计中最重要的就是系统的模块化。模块化是指解决一个复杂问题时自项向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。
将系统划分为多个模块是为了降低软件系统的复杂性,提高可读性、可维护性,但模块的划分不能是任意的,应尽量保持其独立性。也就是说,每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。
在系统的概要设计中采用结构化设计以需求分析阶段产生的数据流图为基础,按一定的步骤映射成软件结构。首先将整个系统化分为几个小问题,小模块。然后,进一步细分模块,添加细节。
5.3详细设计5.3.1 管理员登陆界面对于一个完整的房屋发布租赁平台系统,不仅要求功能强大、操作简单,还
要有良好的设计风格和另人爽目的界面。登录界面对于整个系统来说是非常重要的,因为它设置了进入本系统的用户和口令,防止非法用户进入系统,破坏系统安全和所保存的数据,只有合法的管理员在输入正确的密码后方可进入系统,否则将提示密码或用户名输入错误,并询问用户是否重新输入。这样就对使用者有了限制,增加了系统的安全性和保密性,便于控制和管理,有利于系统的维护。
word/media/image4.jpeg
String method = request.getParameter("method");
if(method.equals("mreg")){ //会员注册
String username = request.getParameter("username");
String password = request.getParameter("password");
String realname = request.getParameter("realname");
String sex = request.getParameter("sex");
String age = request.getParameter("age");
String address = request.getParameter("address");
String email = request.getParameter("email");
String str=cBean.getString("select id from member where username='"+username+"'");
if(str==null){
int flag=cBean.comUp("insert into member(username,password,realname,sex,age,address,email,regtime) " +
"values('"+username+"','"+password+"','"+realname+"','"+sex+"','"+age+"','"+address+"','"+email+"','"+date+"')");
if(flag == Constant.SUCCESS){
request.setAttribute("message", "注册成功请登录!");
request.getRequestDispatcher("login.jsp").forward(request, response);
}
else {
request.setAttribute("message", "操作失败!");
request.getRequestDispatcher("reg.jsp").forward(request, response);
}
}
else{
request.setAttribute("message", "该用户名已存在!");
request.getRequestDispatcher("reg.jsp").forward(request, response);
}
}
else if(method.equals("mupreg")){ //会员修改注册资料
String member=(String)session.getAttribute("member");
String realname = request.getParameter("realname");
String sex = request.getParameter("sex");
String age = request.getParameter("age");
String address = request.getParameter("address");
String email = request.getParameter("email");
int flag=cBean.comUp("update member set realname='"+realname+"',sex='"+sex+"',age='"+age+"'," +
"address='"+address+"',email='"+email+"' where username='"+member+"'");
if(flag == Constant.SUCCESS){
request.setAttribute("message", "操作成功!");
request.getRequestDispatcher("member/info/index.jsp").forward(request, response);
}
else {
request.setAttribute("message", "操作失败!");
request.getRequestDispatcher("member/info/index.jsp").forward(request, response);
}
}
else if(method.equals("mlogin")){//会员登录
String username = request.getParameter("username");
String password = request.getParameter("password");
String str=cBean.getString("select id from member where username='"+username+"' and password='"+password+"' and ifuse='在用'");
if(str==null){
request.setAttribute("message", "登录信息错误!");
request.getRequestDispatcher("login.jsp").forward(request, response);
}
else{
session.setAttribute("member", username);
request.getRequestDispatcher("member/index.jsp").forward(request, response);
}
}
else if(method.equals("lost")){ //丢失密码
request.setAttribute("message", "新密码已经发到注册邮箱!");
request.getRequestDispatcher("login.jsp").forward(request, response);
}
else if(method.equals("memberexit")){ //退出登录
session.removeAttribute("member");
request.getRequestDispatcher("index.jsp").forward(request, response);
}
else if(method.equals("muppwd")){//会员修改密码
String member=(String)session.getAttribute("member");
String oldpwd = request.getParameter("oldpwd");
String newpwd = request.getParameter("newpwd");
String str=cBean.getString("select id from member where username='"+member+"' and password='"+oldpwd+"'");
if(str==null){
request.setAttribute("message", "原始密码信息错误!");
request.getRequestDispatcher("member/info/editpwd.jsp").forward(request, response);
}
else{
int flag=cBean.comUp("update member set password='"+newpwd+"' where username='"+member+"'");
if(flag == Constant.SUCCESS){
request.setAttribute("message", "操作成功!");
request.getRequestDispatcher("member/info/editpwd.jsp").forward(request, response);
}
else {
request.setAttribute("message", "操作失败!");
request.getRequestDispatcher("member/info/editpwd.jsp").forward(request, response);
}
}
}
5.3.2 房屋发布租赁管理房屋发布租赁信息管理模块是本系统中一个基础的部分,在本模块中包括对房屋发布租赁信息的增删改功能,确保资料的安全。增加了系统的安全性和保密性,便于控制和管理。
word/media/image5.jpeg
String method = request.getParameter("method");
if(method.equals("addcz")){ //发布出租
// String lx="";String dd=""; String mj="";String cx="";String ss="";String zj="";String lxr="";String dh="";
String lx = request.getParameter("lx");
String dd = request.getParameter("dd");
String mj = request.getParameter("mj");
String cx = request.getParameter("cx");
String ss = request.getParameter("ss");
String zj = request.getParameter("zj");
String lxr = request.getParameter("lxr");
String dh = request.getParameter("dh");
String member=(String)session.getAttribute("member");
int flag=cBean.comUp("insert into cz(lx,dd,mj,cx,ss,zj,lxr,dh,member,sj) " +
"values('"+lx+"','"+dd+"','"+mj+"','"+cx+"','"+ss+"','"+zj+"','"+lxr+"','"+dh+"','"+member+"','"+date2+"') ");
if(flag == Constant.SUCCESS){
request.setAttribute("message", "操作成功!");
request.getRequestDispatcher("member/cz/index.jsp").forward(request, response);
}
else {
request.setAttribute("message", "操作失败!");
request.getRequestDispatcher("member/cz/index.jsp").forward(request, response);
}
}
else if(method.equals("upcz")){ //修改出租
String id = request.getParameter("id");
String lx = request.getParameter("lx");
String dd = request.getParameter("dd");
String mj = request.getParameter("mj");
String cx = request.getParameter("cx");
String ss = request.getParameter("ss");
String zj = request.getParameter("zj");
String lxr = request.getParameter("lxr");
String dh = request.getParameter("dh");
int flag=cBean.comUp("update cz set lx='"+lx+"',dd='"+dd+"',mj='"+mj+"',cx='"+cx+"',ss='"+ss+"',zj='"+zj+"',lxr='"+lxr+"',dh='"+dh+"' where id='"+id+"'");
if(flag == Constant.SUCCESS){
request.setAttribute("message", "操作成功!");
request.getRequestDispatcher("member/cz/index.jsp").forward(request, response);
}
else {
request.setAttribute("message", "操作失败!");
request.getRequestDispatcher("member/cz/index.jsp").forward(request, response);
}
}
else if(method.equals("delcz")){ //删出租
String id = request.getParameter("id");
int flag=cBean.comUp("delete from cz where id='"+id+"' ");
if(flag == Constant.SUCCESS){
request.setAttribute("message", "操作成功!");
request.getRequestDispatcher("member/cz/index.jsp").forward(request, response);
}
else {
request.setAttribute("message", "操作失败!");
request.getRequestDispatcher("member/cz/index.jsp").forward(request, response);
}
}
else if(method.equals("delcz2")){ //删出租
String id = request.getParameter("id");
int flag=cBean.comUp("delete from cz where id='"+id+"' ");
if(flag == Constant.SUCCESS){
request.setAttribute("message", "操作成功!");
request.getRequestDispatcher("admin/cz/index.jsp").forward(request, response);
}
else {
request.setAttribute("message", "操作失败!");
request.getRequestDispatcher("admin/cz/index.jsp").forward(request, response);
}
}
5.3.3 评论信息模块本模块主要实现评论信息的增加、删除、修改、浏览等操作。如下图所示:
word/media/image6.jpeg
//留言
else if(method.equals("addczly")){ //删
String content = request.getParameter("content");
《房屋租赁系统毕业论文》相关文档:
毕业论文计划书范文3篇09-26
工商企业管理毕业论文指导书10-18
毕业论文结束语范文(30篇)10-29
推荐几篇优秀的大学毕业论文范例(共5篇)11-13
我国特许经营的发展现状及趋势(毕业论文,仅供参考哦)11-29
毕业论文心得体会(精选5篇)12-03
会计监督毕业论文开题报告范文12-06
毕业论文工作计划格式(四篇)12-23
研究生毕业论文工作计划表01-31
房屋租赁系统毕业论文02-03