目录
摘要 1
Abstract 2
前言 3
第一章 绪论 4
1.1 研究背景 4
1.2 研究现状及问题 5
1.3 研究目标 6
1.4 本文组织结构 6
第二章 系统开发环境 7
2.1 Android技术 7
2.2 Android系统框架 7
2.3 Android系统搭建 8
2.4 JSP技术 9
2.5 Mysql数据库 9
2.6 本章小结 10
第三章 系统分析 11
3.1 可行性分析 11
3.1.1技术可行性 11
3.1.2 经济可行性 11
3.1.3 操作可行性 12
3.2 设计目标及其原则 12
3.3 系统功能需求概述 13
3.4 系统流程分析 13
3.4.1 注册流程 13
3.4.2 登录流程 14
3.4.3 用户查询流程 15
3.4.4 订单流程 16
3.5 系统用例分析 17
3.5.1 管理员用例 17
3.5.3 用户用例 17
3.6 界面需求分析 18
3.7 本章小结 19
第四章 数据库设计 20
4.1 数据库设计原则 20
4.2 数据库概念设计 20
4.3 数据库实体 21
4.4 数据库表设计 23
4.4.1 管理员信息表 23
4.4.2 评论信息表 23
4.4.3 合租人信息表 23
4.4.4 房屋信息表 24
4.4.5 会员信息表 24
4.5 本章小结 24
第五章 系统实现 25
5.1 管理员登录界面 25
5.2 管理员主界面 25
5.2.1 用户信息界面 26
5.2.2 房源管理界面 26
5.2.3 租房信息订单界面 27
5.3 用户注册界面 27
5.4 用户登录界面 28
5.5 用户主功能 28
5.5.1房源详情界面 28
5.5.2收银台界面 29
5.5.3我的订单界面 29
5.5.4发布房源界面 30
5.5.5我的合租界面 30
5.5.6 房源关键词搜索 31
5.5.7 房源排序 31
5.6 本章小结 32
第六章 系统测试 33
6.1 系统测试目的 33
6.2 功能测试 33
6.3 安全测试 34
6.4 性能测试 34
6.5 本章小结 34
第七章 总结 35
参考文献 36
致谢 37
前言
房屋租赁作为现今我国居民的重要生活方式,对租房市场的管理已成为重要的事情,如何在适应现今快速的生活节奏下,开发出能满足用户租房需求的系统是一个重要的议题。在满足以往房租租赁市场的情况下,现有的租房管理信息系统更应能够达到快捷、高速、满足用户随时随地查看和操作的需求,在碎片化的时间内,完成租房过程。
为此,需要设计并开发一个易于操作,界面友好、高效的基于手机客户端的租房管理信息系统。为了更好的完成本次设计,本文研究和分析了我国相关的房屋租赁市场现状,对目前现存的房屋租赁方式进行了分析对比,同时,对市场上现存的基于web的租房软件和基于手机端的租房应用进行了研究,充分学习和发现其拥有的有点和长处,同时在研究过程中发现存在的不足,为了整理出未来的发展方向。
本文主要完成的任务主要包括以下几点:
(1)查阅相关的背景资料,了解系统发展的必然性及现存系统的优缺点。
(2)通过在MyEclipse软件中运用java语言编写相关的模块以实现预期功能。
(3)在软件编写完成后,完整一系列的系统检测以保证系统能够正产、顺利的运行。
第一章
绪论
本章主要介绍关于租房管理信息系统的研究背景即租房市场的发展趋势、发展现状等;关于租房中介方式、基于web的租房系统、基于手机终端的租房系统的发展现状;在现存的运行模式下未来租房系统的发展方向和目标。
1.1研究背景
相比于西方房地产市场的发展,我国房地产市场的整体发展较晚,但在进入21世纪之后,随着我国整体经济水平的上升和房地产制度的不断改革和深化,我国房地产事业在短期内得到了快速的发展[1]。房价作为发展的一个最明显的指标,也揭示了房地产事业的发展速度。以北京为例,10年前,北京四环的房价仅为1万元每平方米。而现今北京四环的房价则上涨为每平方米10万元,10倍速的增长速度,远远大于居民薪资的增长水平,因此,越来越多的人难以承受高昂的房价。同时,随着我国城市化水平的进一步增长,越来越多的务工人员及应届毕业生选择留在大城市寻找更多的工作机会,因此,也造成了城市人口密度的进一步上升。如此高的人口密度与城市住房的供给量相比,也造成了城市房屋供需水平的不对等,进一步影响房价的上涨。大量进城务工人员,由于难以在工作初期支付高昂的购房费用,通常会选择租房最为立足于城市的基础。基于以上几种原因,为我国租房市场的发展提供了依据,也迫使人们为解决与租房市场相关的问题,逐步开发与之相适应的租房系统。
在房屋租赁市场发展的同时,我国的互联网行业也在飞速发展。特别是移动互联网的发展,也为租房管理系统的设计与实现提供了一个发展依据。所谓移动互联网,即指移动和互联网的有机结合,包含了移动随身随时随地和互联网开放、互动、共享的双重优势[2]。因此,在移动互联网发展的大背景下,也要求租房管理系统能满足移动互联的需求,能够满足用户随时、随地查看所需信息,通过移动手机终端、包括:智能手机、ipad等工具,在线完成租房的过程。
现今,智能手机已成为我国居民的必备生活物品,在大街上或公共交通工具上,我们时常能看到人们利用手机完成各项生活需求,例如:观看视频、及时通讯等,而设计并实现一个基于Android的租房管理信息系统正式顺应这种发展背景的最好体现。人们可充分利用日常休息、等候公交等相对碎片化的时间来完成租房交易中的各个流程。
1.2 研究现状及问题
目前,我国租房市场仍处于发展的初期阶段。在最早期的租房市场中,人们大多采用房屋中介的方式协助完成整个租房过程。房主将可供出租的房屋通过租房中介登记,租客在中介处查询所需的房源信息,并进一步通过中介联系房主,最终完成整个的租房流程。在这种租房模式下,每一个流程都需要租房中介的参与,以中间人的角色承担房主与租客之间的联系人,大大降低了整个过程的效率,双方也因此要支付给租房中介一定比例的中介费用。同时,在这种方式下,大多采用人工登记的方式,有较高的易错性、数据库范围较小(大多只能存储一定区域内的房源信息)、数据更新速度慢,种种原因导致租房过程的效率很低。
在互联网发展的影响下,逐渐有一些房屋中介开发了基于web的租房系统,租房中介将收集到的房源信息发布到网络上,以便使用户可以通过连接到网络查看到有关的信息,这一发展也使数据库扩大并能得到及时的更新。但基于web的应用通常是通过个人电脑使用的,由于人们无法满足随时随地的携带个人电脑,因此,这一发展虽然在效率上有所提升,但仍没有达到人们对于高效的需求。
随着移动终端价格的不断降低,智能手机开始大量占据市场,人们也因此逐渐转变为移动上网用户。由于智能手机便于携带、操作简单[3],相比于传统的人工中介的模式,开发一个基于移动终端的租房系统所需的资金也相对较低,企业不必支付高昂的人工费用和店面租金,只需提供较为完善的网络服务,就可以基本满足用户需求。因此,越来越多的人开始开发基于移动终端的应用程序,开发基于租房管理信息系统的移动终端也成为一个发展潮流。
目前,许多大型的企业已经开发出基于移动终端设备的租房应用,能够基本满足用户的需求。但现存的一些租房系统仍存在一些问题:
(1)租房软件大多将重点集中与私人房屋的租赁,对写字楼、商务等资源的覆盖范围较小[4]。
(2)租房软件对租房合同成交后的后续处理不完善,例如房租的缴纳、水电等第三方费用的收缴及账单详情、房屋保修等问题。
1.3 研究目标
本文主要目的在于开发一个基于Android的租房管理信息系统,能够基本满足用户的日常需求,并在满足基本需求的基础上力求做到方便管理和操作,用户能够通过手机及时查看和处理租房相关的问题,不受时间、地点的限制,系统直观简洁、易于操作;提供一定量的后续操作,力求能够在系统中满足一定程度的租房后续问题,例如房租的缴纳、入住、退租等问题。
1.4 本文组织结构
本文主要分为六个章节,其主要内容分别如下:
第一章:绪论。主要从整体上介绍关于我国房屋租赁市场的发展背景,租房系统的发展现状,本设计的发展目标。
第二章:介绍系统开发环境、系统开发所采用的相关技术。
第三章:对系统进行可行性分析,介绍系统功能,描述各模块流程。
第四章:描述数据库设计的几项原则,数据库表格设计、概念设计、数据库实体。
第五章:以图片方式详细展示系统已实现的功能。
第六章:描述系统测试目的,对当前租房管理信息系统进行了那些测试。
第七章:对全文进行总结同时对自身在毕设过程中的表现进行总结。
第二章
系统开发环境
2.1 Android技术
安卓技术是指用于编写开发可安装在安卓系统手机平台的一种编程方法的总称。安卓最早是由google公司在2007年推出的,具有公开源代码和免费使用的特点,是目前最受欢迎的嵌入式操作系统之一[5]。安卓系统的最大优点在于其开放性,指安卓系统作为一种开源的操作系统,用户很容易将自己的开发的软件实施到该操作系统上。便捷的加入方式,也会吸引越来越多人的参与。其次是便于用户开发,由于安卓操作系统本身提供多种API,移植性和可扩展性良好,也给用户开发安卓系统提供了很大便利。
2.2 Android系统框架
Android平台从上到下由应用程序、应用程序框架、系统库、Android运行时和Linux内核5部分构成[6],其结构如图2-1所示:
图2-1 Android系统框架
在安卓平台内通常包含多种由java编写的应用程序,程序多样化,通常以通讯、视频、地图、购物、拍照类程序为主。应用程序框架则是安卓开发的基础,大多数程序是在框架提供的各种接口的基础上进行程序开发。
2.3 Android系统搭建
配置安卓环境,关键是进行JDK的安装和配置,然后进行编程环境的安装,本系统采用eclipse进行代码编写,再安装好安卓SDK,主要用于帮助后续安装虚拟安卓平台,ADT、AVD共五部分。
JDK的安装:主要是一个安装包,代开安装包根据提示进行安装,安装完后查看JDK是否安装成功。如图2-2所示。
图2-2 查看JDK安装成功
Eclipse安装:主要是由Java开发的,因为Java的代码属于开源代码。而且它的跨平台及适应多种语言的支持。
Android SDK安装: 主要是由安卓系统自己开发的软件一个软件包。
ADT的安装:安装的流程如图2-3所示。选择“OK”根据提示进行下一步的安装操作。
图2-3 ADT的安装步骤图
创建AVD:主要是在Eclipse中选择创建的信息内容,容纳后点击新建,输入名字根据需求选择设置,选择完毕后点击Create AVD,AVD创建成功。如图2-4所示:
图2-4 创建AVD
2.4 JSP技术
Jsp技术是一种动态网页技术,通俗来讲,就是将Java与html的结合再加上数据库(sql)从而实现动态页面。Jsp技术通过在服务器端相应和处理用户通过客户端(通常是request)发送的请求,进行处理后,将结果返回给客户端。Jsp通常可在多个平台上运行,在任意一个开发平台上进行开发后,由于其兼容性和可移植性良好,进而可直接在多个其他平台上运行,且代码基本不需要进行大的变动。
2.5 Mysql数据库
相比于sql sever等大型数据库,mySQL主要服务于中小型的企业,其能存储的数据量比较适中,在运行期间,也不会占用系统大量的内存,对硬件环境要求较低,因此也是当下比较受欢迎的一款数据库产品。mySQL是一个关系型数据库系统,他的优势是将不同的数据想对应的保存在不同的表中,极大的提高了数据库的逻辑性,帮助访问数据库的操作提高速度。其次是他的可移植性,为多种编程语言提供了编译器和API接口,便于操作。
2.6 本章小结
本章主要介绍了实现基于Android的租房管理信息系统所需要的相关技术。介绍安卓的发展历史及其特点,通过介绍安卓系统框架总体介绍安卓应用程序开发的方式。详细介绍开发安卓应用程序所需配置的环境和配置方法及本系统开发过程中应用到的jsp技术和mySQL数据库的应用。
第三章
系统分析
3.1 可行性分析
可行性分析是判断一个系统是否可以开发的基础,通过对多方面进行可行性分析,充分全面的进行衡量,避免一有想法就盲目的进行系统开发,而造成不必要的经济和人力损失。通常在系统开发的初期阶段、从技术角度、经济角度、操作角度等进行分析,保证系统能够高效的开发。
3.1.1技术可行性
从软件角度看,本系统采用java语言进行编写,运用eclipse环境进行构建,将数据通过mySQL数据库进行保存,使用基于SSH的框架进行设计,整体的技术难度不高,代码编写相对简单,代码的编写量也不是很多。
从硬件角度看,如今智能手机已全面普及,任何一个安卓系统的手机都能应用此系统,即非常易于得到的硬件就能保证系统的正常运行。
3.1.2 经济可行性
经济可行性是决定一个系统能否顺利开发的关键因素,只有在经济基础能满足需求的情况下,系统的开发才能够顺利进行。
在设计与开发阶段,系统所需的软件编译环境大多是很容易得到的编程环境,很容易通过网络途径下载并安装这类编程软件,而在系统开发过程中及完成后,所需实施的硬件设备,也很容易得到,任何一个现在智能的安卓手机都可满足需求,或者通过构建虚拟环境来模拟安卓操作系统从而达到检验和实施本系统的目的。
在后续维护阶段,用户可通过自行上传房源信息等操作不断扩展数据库中的数据量,并在订单成交后,系统自行下架此房源,智能化的操作管理大大降低了人工管理的需求,因此,后续对于系统维护的费用也相对较低。
总体而言,本系统的开发对资金的需求量很低,但却能解决大部分租房相关的问题,性价比高,非常适合开发。
3.1.3 操作可行性
操作可行性指在完成相关的软件开发后,用户对于该软件是否是易于操作的。本系统基于安卓系统进行开发,与大多数安卓应用一样,系统设计的较为简洁、易于操作,用户可在界面上了解每个模块的功能,并根据关键字选择选择进行相应的操作。凡是有使用过智能手机的人,都能够轻松的完成系统的相关操作。
3.2 设计目标及其原则
本系统旨在高效而便捷的完成租房过程中涉及到的相关问题,包括用户的登录和注册、根据关键词搜索相关的房源并可选择通过价格排序,选择合适房源后进入页面查看房屋详细信息。同时,用户可自行发布房源信息,所发布的房源信息可自行加入到数据库中,也可对中意的房源进行合租人的寻找(类似豆瓣租房小组功能)。可通过系统与房主进行联系,约定看房时间、了解更多房屋详情,在线生成租房订单并完成房租缴纳、后续退租等功能。已完成订单的租客可对房源发表真实评价以反馈给后续的租客。
设计原则主要包括以下几个方面:
(1)安全性原则:要求对于使用本系统的用户来讲是安全的,即用户在注册登录过程中被要求填写的个人信息,不会轻易泄露。特别是保障个人信息不会被二次开发利用,即通过系统现有数据库掌握到的信息,进一步分析出用户并未提交的信息[7],危害用户的个人信息安全。
(2)先进性原则:要求所开发设计出的系统能充分符合大环境的技术更新速度,在系统开发过程中,不断更新自己的设计思路,由于计算机编程技术发展迅速,也要求开发人员及时学习新的知识,更新开发模式或框架等,不要产生开发出来的系统落后于技术发展的结果。
(3)有效性原则:主要指功能的有效性,即要求所设计出的系统能充分满足用户的功能需求,切实解决用户查询、完成订单等租房相关的问题。
(4)可拓展性原则:在开发系统的过程中,要充分考虑系统未来更新、功能增加、复用的需求,尽量使各个模块独立开发、框架简单,结构清晰、保证对功能上的增减改善不会影响到现有模块的正常使用,便于以后对系统进行拓展。
3.3 系统功能需求概述
系统功能需求主要建立在用户需求的基础上,要尽可能实现用户在租房过程中所涉及到的各个环节操作。本系统主要功能模块如下:
(1)用户登录注册模块:在用户注册界面中完成基本信息填写,同时验证用户身份
(2)信息发布模块:用户自行发布房源信息,包括图片、房源位置、价格、面积等
(3)房屋查询模块:用户根据自身需求,进行选择,可通过关键字进行查询、并选择价格排序、距离排序
(4)私信功能:提供用户之间联系的功能,用户可私下了解房屋的详细信息,沟通联系方式、预约看房时间
(5)订单跟踪:用户完成订单后,可随时查看已完成订单信息,进行后续网上缴租并可在租期结束后在线完成退租登记工作
(6)寻找合租人:对于发布为合租方式的房源信息,用户可通过系统寻找合租人
3.4 系统流程分析
3.4.1 注册流程
用户进入系统后,在系统提示下填写基本信息进行注册,系统需检测用户名是否存在,检测通过后检查两次输入的密码是否一致,都无问题后,将数据保存到数据库中,用户注册成功,完成注册。
图3-1 用户注册流程图
3.4.2 登录流程
已注册过的用户进行登录操作时,需输入用户名和密码,系统检测用户名是否为空,密码是否为空,都不为空的情况下检测用户名密码是否匹配,一致则登录成功,任何一个输入检测出为空则会提示相应的输入不能为空。用户名密码无法匹配的会跳回到开始界面,重新输入。
图3-2 登录流程图
3.4.3 用户查询流程
用户在进入系统后,可查看系统在默认排序下的房源,或通过关键词进行搜索,对搜索出的结果可进行排序,若在此过程中都没有找到合适的房屋信息,可换关键词重新搜索。
图3-3 查询流程图
3.4.4 订单流程
用户对于已寻找到的满意的房源,在与房主进行沟通确认后,进入到租房关系确认阶段,用户可通过系统支付房租,并在约定日期到期后,进行房屋退租。
图3-4 订单流程图
3.5 系统用例分析
系统进行用例分析的作用主要是在需求分析阶段,通过用例图将系统需求内的关系直观的展现出来。用例分析技术是面向对象的需求分析技术,它从外部用户和外部系统的角度,分析和考察系统的行为,把需求与设计完全分离开来[8]。用例最早出现于电信系统的开发过程中,现已逐步发展为进行系统设计阶段的重要步骤。在进行分析阶段,也对用例表示有一定的要求:一个用例只能代表一个单一的事务,多个实例不能共用用例;用例执行后必须对系统的发展能产生一定的结果,不能存在无用用例。
本设计主要包括两个用例。
3.5.1 管理员用例
管理员主要用于管理系统的后端操作,即数据库部分。要求其实现的主要功能包括登录、用户管理、房源信息管理、订单后台查询管理。
图3-5 管理员用例
3.5.3 用户用例
用户作为系统的主要使用者,其所能完成的功能较多,包括注册登录、搜索最新房源信息、寻找合租人、查看修改个人资料、发布出租信息。
图 3-6 用户用例
3.6 界面需求分析
界面是用户使用软件所能接收到的第一直观感受。软件界面也是用户与计算机进行信息狡猾的中间载体,因此,软件界面的质量,直接关系到应用系统的性能能否充分发挥,能否使用户准确、高效、轻松、愉快地工作,所以软件的友好性、易用性对于软件系统至关重要[9]。
本次设计的界面力求做单简单美观大方,现今各手机平台的应用越来越多,在用户无法第一时间完全掌握系统拥有的功能时,应力求将界面设计的美观以吸引到更多人的兴趣,特别是“颜控”的人群。对于大多数人而言,漂亮的东西在同类竞品中肯定更能吸引目光,因此一个美观的界面是系统能否成功的基础。其次对每个模块的操作,将关键词设计的突出,以引导用户完成系统所能提供的功能。在同一界面中尽量安排有相互关联的功能,避免用户在完成一系列操作时要重复进入退出这一界面,因此页面模块的布局也格外重要。在进行界面设计时,可多体验同类租房管理系统的布局,以其中较为成熟的一个为原型,结合自己的功能模块需求,设计系统的界面。
3.7 本章小结
本章主要分析了开发此系统的可行性,分别从技术角度、经济角度、操作角度进行详细分析,并得出系统可以进行开发的结论。进而根据系统的设计的目标,具体分析本系统所要达到的效果及在开发过程中要注意的问题,总结设计出系统的总功能,分模块介绍各个单元的具体功能,并通过流程图、系统用例的形式具体解释分析各模块、各个功能的具体属性,为具体实施开发过程打下基础。最后,具体分析了本系统在界面需求上的相关要求。