房屋租赁标准系统.docx
《房屋租赁标准系统.docx》由会员分享,可在线阅读,更多相关《房屋租赁标准系统.docx(26页珍藏版)》请在冰豆网上搜索。
房屋租赁标准系统
数学与计算机学院
课程设计说明书
课程名称:
数据库课程设计
课程代码:
8422561
题目:
住房租赁服务系统A
年级/专业/班:
2009级信息与计算科学2班
学生姓名:
许华兴
学 号:
3128
开始时间:
2012年7月2日
完成时间:
2012年7月15日
课程设计成绩:
学习态度及平时成绩(30)
技术水平与实际能力(20)
创新(5)
说明书(计算书、图纸、分析报告)撰写质量(45)
总分(100)
指导教师签名:
年月日
摘要
随着我国市场经济的快速发展和人们生活水平的不断提高,简单的租凭服务已经不能满足人们的需求。
如何利用先进的管理手段,提高房屋租凭管理水平,是当今社会所面临的一个重要课题。
本文通过用jsp编写房屋租赁管理系统,利用软件工程原理,采用面向对象的编程方法,其开发主要包括后台数据库的建立和维护以及前端使用程序的开发两个方面,实现了房屋租赁管理的自动化和信息化。
整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成用户注册和登录,发布房源信息,修改房源信息,删除房源信息,按条件查询房源信息等功能。
本次设计采用ASP开发模式,经过实际测试证明,该设计的房屋租赁管理系统可以用于物业管理部门从事房屋租赁信息管理方面的基本需要。
关键词:
房屋租赁ASP
摘要I
1背景介绍1
1.1业务背景1
1.2技术背景1
2需求分析2
2.1功能需求分析2
2.2业务对象分析2
3系统设计3
3.1总体设计3
3.1.1系统体系结构3
3.1.2系统的数据流程图及分析:
4
3.1.3系统功能模块5
3.2详细设计5
3.2.1数据库设计5
3.2.2用户登录7
3.2.2用户注册8
3.2.3系统主页8
3.2.4添加房源信息8
3.2.5确定添加房源信息9
3.2.6修改房源信息9
3.2.7修改后的效果10
3.2.8删除房源信息10
3.2.9查询房源信息11
3.2.10退出系统11
4系统实现12
4.1hibernate数据库配置12
4.2structs-config.xml12
4.3BaseDao.java14
4.4用户注册16
4.5用户登录17
4.6添加房源信息18
4.7修改房源信息19
4.8删除房源信息19
4.9查询房源信息19
4.10退出系统20
5小结21
参考文献22
1背景介绍
1.1业务背景
利用计算机实现物业管理中的房屋租赁管理势在必行。
对于物业管理企业来说,利用计算机支持企业高效率完成房屋租赁管理的日常事务,是适应现代企业制度要求、推动企业劳动型管理走向科学化、规范化的必要条件;而房屋租赁管理是一项琐碎、复杂而又十分细致的工作,房屋的基本资料,客户资料的管理,房屋租赁管理,各项收费以及统计报表的管理,一般不允许出错,如果实行手工操作,须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行房屋租赁工作的管理,不仅能够保证各项信息准确无误、快速输出,同时计算机具有手工管理所无法比拟的优点.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高物业管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
开发本系统就是为了解决物业管理企业在房屋租赁信息管理中的一些不规范,使房屋租赁信息的管理向着规范化、简单化、有效化的方向发展。
1.2技术背景
本次租房管理系统的编写采用ASP来实现,用c#语言编写类。
开放工具使用MyEclipse6.0、用到Structs+Hibernate、数据库采用SQL2008。
2需求分析
2.1功能需求分析
1Web界面风格设计:
确定本站点风格,尽量格调一致。
2系统管理功能—为系统管理员提供对注册住房所有者和求租者信息的管理功能;
3用户注册与登录功能—为住房所有者与求租者用户提供注册功能,并为已注册用户提供登录功能;
4信息显示与查询功能—按姓名、地点、房屋面积、住房求租者、住房所有者等条件查询并显示浏览各种信息。
2.2业务对象分析
该系统的主要用户为房东和房屋租赁者。
用户记录:
反映用户的基本信息,如:
姓名,密码等。
房屋信息记录:
反映房源的信息,如:
所在区域,房屋面积,租金等。
3系统设计
3.1总体设计
3.1.1系统体系结构
图1
3.1.2系统的数据流程图及分析:
图2
3.1.3系统功能模块
图3总体模块图
3.2详细设计
3.2.1数据库设计
图4登陆界面
图5出租信息
图5-1出租者邮件信息
图5-2出租者
图5-3求租信息
图5-4求租邮件信息
图5-5求租者
3.2.2用户登录
初次登录系统需要输入用户名和密码,在用户名和密码校验成功后方可使用本系统。
如图6所示:
图6
3.2.2用户注册
进入到系统的主界面后,用户在首次使用该系统时要先注册。
该表单要求被注册用户输入用户名,密码和重复密码确定信息。
在数据库不存在相同的用户名的情况下,用户第一次和第二次密码相同时操作成功,否则失败。
如图7所示:
图7
3.2.3系统主页
该模块的功能是用户的注册和登录的导向页面,在未注册的情况下,可以用游客的身份简单的查询房源信息,但不能对数据库进行编辑操作。
如图8所示:
图8
3.2.4添加房源信息
该模块通过用户注册后,对房源信息进行管理操作,该界面为用户发布房源信息的界面,其中“标题”为将要发布房源信息显示在主界面的标题,“区县”为房源所在的位置,“租金”为出租房的租金,“联系电话”为房主的联系方式。
如图9所示:
图9添加房源信息
3.2.5确定添加房源信息
当房东添加好房源信息点击“提交”后,就会出现如下界面。
如图10所示:
图10
3.2.6修改房源信息
此模块完成房源信息的修改,如果房源信息填写错误,或者在某个期间房源信息有所变动,用户可以通过修改房源信息来更新信息。
如图11所示:
图11修改房源信息
3.2.7修改后的效果
用户点击“更新”完成对房源信息的更改操作。
点击“后退”则回到首页。
如图12所示:
图12
3.2.8删除房源信息
用户可以通过“删除”对房源信息进行删除操作。
如图13所示:
图13
3.2.9查询房源信息
查询房源信息:
输入查询的条件,可以进行房源信息的快速搜索,该系统支持模糊查询。
图14
查询结果:
图15
3.2.10退出系统
用户退出该系统,如图16所示:
图16
4系统实现
4.1hibernate数据库配置
xmlversion='1.0'encoding='UTF-8'?
>
DOCTYPEhibernate-configurationPUBLIC
"-//Hibernate/HibernateConfigurationDTD3.0//EN"
"">
erverDialect
hbn
123456
com.microsoft.jdbc.sqlserver.SQLServerDriver
4.2structs-config.xml
图17
attribute="userForm"
name="userForm"
parameter="status"
path="/user"
scope="request"
type="com.cstp.struts.action.UserAction">
attribute="hireinfoForm"
name="hireinfoForm"
parameter="status"
path="/hireinfo"
scope="request"
type="com.cstp.struts.action.HireinfoAction">
status=myHireinfo">
4.3BaseDao.java
packagecom.cstp.dao;
importjava.util.List;
importorg.hibernate.Query;
importorg.hibernate.SQLQuery;
importorg.hibernate.Session;
importorg.hibernate.Transaction;
importcom.cstp.factory.HibernateSessionFactory;
importcom.cstp.dao.IBaseDao;
publicclassBaseDAOimplementsIBaseDao{
Sessions=null;
publicSessiongetSession(){
returnHibernateSessionFactory.getSession();
}
publicbooleansave(Objectobj){
try{
s=getSession();
Transactiont=s.beginTransaction();
s.save(obj);
mit();
s.close();
}catch(Exceptione){
e.printStackTrace();
returnfalse;
}
returntrue;
}
publicbooleandelete(Objectobj){
try{
s=getSession();
Transactiont=s.beginTransaction();
s.delete(obj);
mit();
s.close();
}catch(Exceptione){
e.printStackTrace();
returnfalse;
}
returntrue;
}
publicbooleanupdate(Objectobj){
try{
s=getSession();
Transactiont=s.beginTransaction();
s.update(obj);
mit();
s.close();
}catch(Exceptione){
e.printStackTrace();
returnfalse;
}
returntrue;
}
publicObjectfindById(Integerid,Classtable){
s=getSession();
Objectobj=(Object)s.get(table,id);
returnobj;
}
publicListfindAll(Stringtable){
s=getSession();
Stringhql="from"+table;
Queryq=s.createQuery(hql);
Listlist=q.list();
s.clear();
s.close();
returnlist;
}
publicListfindBySQL(Stringsql,Classmyclass){
s=getSession();
SQLQueryq=s.createSQLQuery(sql);
q.setFirstResult
(1);
q.setFetchSize(10);
q.addEntity(myclass);
returnq.list();
}
}
4.4用户注册
注册表单设计
status=login"method="post"name="myForm"onsubmit="returnlogin()">
用户名:
|
|
密 码:
|
|
|
注册用户 |
表单验证
functionlogin(){
if(document.myForm.name.value==""){
alert("用户名不能为空");
returnfalse;
}elseif(document.myForm.password.value==""){
alert("密码不能为空");
returnfalse;
}else{
returntrue;
}
}
注册类
//用户注册
publicActionForwardregist(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse){
UserFormuserForm=(UserForm)form;
Stringname=userForm.getName();
Stringpassword=userForm.getPassword();
Usersuser=dao.getUserByName(name);
if(name.trim()==""){
returnmapping.findForward("regist");
}elseif(user!
=null){
returnmapping.findForward("regist");
}else{
Usersreguser=newUsers();
reguser.setName(name);
reguser.setPassword(password);
dao.save(reguser);
returnmapping.findForward("index");
}
}
4.5用户登录
UserDaodao=newUserDao();
//登录
publicActionForwardlogin(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse){
UserFormuserForm=(UserForm)form;
Stringname=userForm.getName();
Stringpassword=userForm.getPassword();
Usersuser=dao.getUserByName(name);
if(user==null){
returnmapping.findForward("index");
}elseif(!
user.getPassword().equals(password)){
returnmapping.findForward("index");
}else{
request.getSession().setAttribute("user",user);
returnmapping.findForward("user");
}
}
4.6添加房源信息
publicActionForwardsaveHireinfo(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse){
HireinfoFormhireinfoForm=(HireinfoForm)form;
Usersuser=(Users)request.getSession().getAttribute("user");
Hireinfohireinfo=newHireinfo();
hireinfo.setUsers(user);
hireinfo.setTitle(hireinfoForm.getTitle());
hireinfo.setTelephone(hireinfoForm.getTelephone());
hireinfo.setLinkman(hireinfoForm.getLinkman());
hireinfo.setType(hireinfoForm.getType());
hireinfo.setRoomCount(hireinfoForm.getRoomCount());
hireinfo.setHallCount(hireinfoForm.getRoomCount());
hireinfo.setSalary(hireinfoForm.getSalary());
hireinfo.setCounty(hireinfoForm.getCounty());
hireinfo.setStreet(hireinfoForm.getStreet());
hireinfo.setHouseInfo(hireinfoForm.getHouseInfo());
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");
StringcreateTime=sdf.format(Calendar.getInstance().getTime());
hireinfo.setCreateTime(createTime);
request.getSession().setAttribute("hireinfo",hireinfo);
Addressaddress=newAddress();
address.setCounty(address.getCounty(hireinfoForm.getCounty()));
address.setStreet(a