收藏 分销(赏)

数据库原理课程设计-房屋租赁管理系统.doc

上传人:人****来 文档编号:4941688 上传时间:2024-10-20 格式:DOC 页数:34 大小:2.55MB 下载积分:12 金币
下载 相关 举报
数据库原理课程设计-房屋租赁管理系统.doc_第1页
第1页 / 共34页
数据库原理课程设计-房屋租赁管理系统.doc_第2页
第2页 / 共34页


点击查看更多>>
资源描述
各专业全套优秀毕业设计图纸 各专业全套优秀毕业设计图纸 成 绩 评 阅 人 评阅日期 数据库原理课程设计 题目: 房屋租赁管理系统 班 级: 网络12-1 学 号: 34 姓 名: 指导老师: 2014年 10月 3 日 目录 1.需求分析 2 1.1功能分析 2 1.2工作流图 2 1.3数据流图 3 1.4数据字典 3 2.概念模型设计 5 3.逻辑结构设计 7 4.功能设计 7 5.功能模块的实现 8 5.1 系统界面 8 5.2主要源代码 13 6.总结 33 7.参考文献 33 1.需求分析 1.1功能分析 某房屋租赁公司欲建立一个房屋租赁服务系统,统一管理房主和租赁者信息,以便快速地提供租赁服务。该系统具有以下功能: l 登记房主信息。对于每名房主,系统需登记其姓名、住址和联系电话。 l 登记房屋信息。所有在系统中登记的房屋都有一个唯一的识别号(对于新增加的房屋,系统会自动为其分配一个识别号)。除此之外,还需登记房屋的地址、房型(如平房、带阳台的楼房、独立式住宅等)、最多能容纳的房客数、租金及房屋状态(待租赁、已出租)。一名房主可以在系统中登记多个待租赁的房屋。 l 登记租赁者信息。所有想通过该系统租赁房屋的租赁者,必须事先在系统中登记个人信息,包括:姓名、住址、电话号码、身份证编号、性别。 l 租赁房屋。已经在系统中登记的租赁者,可以得到一分系统提供的待租赁房屋列表。一旦租赁者从中找到合适的房屋,就可以提出看房请求。系统会安排租赁者与房主见面。对于每次看房,系统会生成一条看房记录。 l 收取手续费。每成功一次租赁服务,系统根据租赁价格按比例生成费用清单。 l 变更房屋状态。当租赁者与房主达成租房或退房协议后,房主向系统提交变更房屋状态请求。 l 用户论坛。租赁者在论坛上寻找合租对象、与房主进行交流。 1.2工作流图 1.3数据流图 1.4数据字典 该数据库字典如下表: 库表登记 表名 中文名 handingcharges 手续费登记表 houseowner 房主信息表 houses 房屋信息表 renter 租赁者信息表 rentered 已出租的房屋表 seehistory 看房记录表 手续费登记表handingcharges houseower_name 房主的名字 houseid 房屋的编号 house_address 房屋的地址 rent_value 房屋的租金 handlingcharge 房屋的手续费 房主信息表houseowner houseower_name 房主的名字 houseower_address 房主的地址 houseower_phone 房主的电话 房屋信息表houses houseid 房屋的编号 houseower_name 房主的名字 house_address 房屋的地址 rent_value 租金 people_number 容纳最大的人数 house_type 房屋的类型 house_state 房屋的状态 租赁者信息表renter renter_id 租赁者的编号 renter_name 租赁者的姓名 renter_sex 租赁者的性别 renter_address 租赁则的地址 renter_phone 租赁者的电话 identity_card 租赁者的身份证 已出租的房屋表rentered houseid 房屋的编号 rentered_name 租赁者的姓名 看房记录表seehistory rentername 看房的租赁者 houseid 房屋编号 2.概念模型设计 图 1 房主的E-R实体图 图 2 房屋的E-R实体图 图 3 租赁者的E-R实体图 图 3 实体及其联系的E-R图 3.逻辑结构设计 由图1转换为关系模型:房主(姓名,地址,电话) 由图2转换为关系模型:房屋(编号,房主名字,地址,租金,容纳人数,类型,状态) 由图3转换为关系模型:租赁者(编号,名字,性别,地址,电话,身份证) 由图4转换为关系模型:看房记录(租赁者的姓名,房屋的编号) 手续费(房屋编号,手续费) 已租赁房屋(租赁者,房屋的编号) 4.功能设计 图 5 功能结构图 5.功能模块的实现 5.1 系统界面 图 6 系统登录界面 图 7 系统主界面 图 8 登记房屋 图 8 租赁者申请看房记录 图 9 更变房屋状态 图 10 查看租房记录 图 11 手续费 图 12 待租赁房屋 图 13 查看个人信息 图 14 修改个人信息 图 14 修改密码 图 15 注册页面 5.2主要源代码 (1)index.jsp <%@ page contentType="text/html;charset=GBK" language="java" import="java.util.*"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>房屋租赁系统</title> </head> <frameset rows="210,*" cols="*", frameborder="No" border="0" framespacing="0"> <frame src="jsp/top.jsp" name="top" scrolling="no" norresize> <frame src="jsp/first.jsp" name="main" scrolling="yes"> </frameset> <noframes><body> </body></noframes> </html> (2)first.jsp <%@ page contentType="text/html;charset=GBK" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>欢迎光临</title> </head> <body> <table align="center" width="579" height="300" border="0" celpadding="0"> <tr> <td align="center" valign="top" bgcolor="#FFFFFF"> <p>&nbsp;</p> <table width="568" height="178" border="0" cellpadding="0" cellspacing="0" background="../images/background.gif"> <tr> <td>&nbsp;</td> </tr> </table> </td> </tr> </table> </body> </html> (3)top.jsp <%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; Date date=new Date(); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> </head> <body> <div align="center" class="style1"> <table width="753" height="193" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="166" height="150" colspan="8" background="../images/banner.jpg">&nbsp;</td> </tr> <tr> <td width="120" height="20" background="../images/date.jpg" ><span class="style6"> <%=date.getYear()+1900%>年<%=date.getMonth()+1%>月<%=date.getDate()%>日 </span></td> <td width="92" height="20" align="center" background="../images/bar.jpg"> <a href="information/houseowner.jsp" target="main">登记房主</a> </td> <td width="92" height="20" align="center" background="../images/bar.jpg"> <a href="information/house.jsp" target="main">登记房屋</a> </td> <td width="92" height="20" align="center" background="../images/bar.jpg"> <a href="information/Renter.jsp" target="main">登记租赁者</a> </td> <td width="92" height="20" align="center" background="../images/bar.jpg"> <a href="information/userchat.jsp" target="main">用户论坛</a> </td> </tr> </table> </div> </body> </html> (4)house.jsp <%@ page contentType="text/html;charset=GBK" language="java" import="java.util.*"%> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=GBK" /> <script type="text/javascript"> function bt_submit_onclick() { location.replace('./SurWetland.jsp'); } function checkForm() { var subform = document.form_s; var houseower_name = subform.houseower_name.value; var house_address = subform.house_address.value; if(monitor_units==""||monitor_units.replace(/(^\s*)|(\s*$)/g,"")=="") { alert("房主姓名不能为空!"); subform.monitor_units.focus(); return false; } if(farmername=="" || farmername.replace(/(^\s*)|(\s*$)/g,"")=="") { alert("人工湿地名称不能为空!"); subform.farmername.focus(); return false; } subform.action="bb" } function file_check(){ var subform = document.form_uqfile; var file=subform.file1.value; if(file == ""){ alert('请选择要上传的文件'); return false; }else{ subform.action="/iep/afile.do?files="+file; subform.submit(); } } //弹出选择历史 function LineQueryOpen() { var subform = document.form_s; var monitor_units = subform.monitor_units.value; var farmername = subform.farmername.value; if(monitor_units==""||monitor_units.replace(/(^\s*)|(\s*$)/g,"")=="") { alert("检测单位不能为空!"); subform.monitor_units.focus(); return false; } if(farmername=="" || farmername.replace(/(^\s*)|(\s*$)/g,"")=="") { alert("人工湿地名称不能为空!"); subform.farmername.focus(); return false; } window.showModalDialog('/iep/SurWetland.do?method=findEvents&&farmername='+farmername, '','dialogWidth:1000px; dialogHeight:420px;'); } </script> <style type="text/css"> </style> <title>登记房屋</title> </head> <body> <table align="center" cellpadding="0" cellspacing="0"> <tr> <td> <form name="form_s" action="bb" method="post" > <br /> <table> <tr> <td> 房主姓名: </td> <td> <input name="houseower_name" value="${houseower_name}" onfocus="this.value=''" type="text" style="width: 90px; margin-left: 5px; height: 20px; font-size: 12px;" onblur="if(this.value.replace(/^ +| +$/g,'')=='')alert('请输入房主姓名!')" /> </td> </tr> <tr> <td> &nbsp;&nbsp; </td> </tr> <tr> <td> 房屋地址: </td> <td> <input name="house_address" value="${house_address}" onfocus="this.value=''" type="text" style="width: 90px; margin-left: 5px; height: 20px; font-size: 12px;" onblur="if(this.value.replace(/^ +| +$/g,'')=='')alert('请输入房屋地址!')" /> </td> </tr> <tr> <td> &nbsp;&nbsp; </td> </tr> <tr> <td> 房屋租金: </td> <td> <input name="rent_value" type="text" value="${rent_value}" onfocus="this.value=''" style="width: 90px; margin-left: 5px; height: 20px; font-size: 12px;" onblur="if(this.value.replace(/^ +| +$/g,'')=='')alert('请输入房屋租金!')" /> </td> </tr> <tr> <td> &nbsp;&nbsp; </td> </tr> <tr> <td> 最多能容纳的房客数: </td> <td> <input name="people_number" value="${people_number}" onfocus="this.value=''" type="text" style="width: 90px; margin-left: 5px; height: 20px; font-size: 12px;" onblur="if(this.value.replace(/^ +| +$/g,'')=='')alert('请输入最多能容纳的房客数!')" /> </td> </tr> <tr> <td> &nbsp;&nbsp; </td> </tr> <tr> <td> 房屋类型: </td> <td> <select name="house_type" size=1 > <option value="平房">平房</option> <option value="带阳台的楼房">带阳台的楼房</option> <option value="独立式住宅">独立式住宅</option> </td> </tr> <tr> <td> &nbsp;&nbsp; </td> </tr> <tr> <td> 房屋状态: </td> <td> <select name="house_state" size=1 > <option value="待租赁">待租赁</option> <option value="已出租">已出租</option> </td> </tr> </table> <br> <table> <tr> <td> &nbsp;&nbsp; </td> </tr> </table> <table> <tr> <td width="450"> &nbsp;&nbsp; </td> <td> <input name="submit" type="submit" value="提交" style="width: 80px; margin-left: 5px; height: 25px; font-size: 12px;" /> </td> <td width="20"> &nbsp;&nbsp; </td> <td> <input name="button" type="button" value="重置" onClick="document.form_s.reset();" style="width: 80px; margin-left: 5px; height: 25px; font-size: 12px;" /> </td> <td width="20"> &nbsp;&nbsp; </td> <td> <INPUT type="button" value="历史数据" accessKey="btnQuery" onclick="LineQueryOpen()" style="width: 80px; margin-left: 5px; height: 25px; font-size: 12px;" /> </tr> </table> </form> </body> </html> (5)houseinfo.jsp <%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <%@page import="java.sql.ResultSet"%> <%@page import="java.sql.ResultSetMetaData"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> </head> <body> <table align="center" cellpadding="0" cellspacing="0"> <tr> <td> &nbsp;&nbsp; </td> </tr> <tr> <td> &nbsp;&nbsp; </td> </tr> <tr> <td> 待租赁房屋列表 </td> </tr> </table> <% ResultSet rs=(ResultSet)request.getAttribute("result"); ResultSetMetaData rd=rs.getMetaData(); int columnNum=rd.getColumnCount(); %> <table align="center" cellpadding="5" cellspacing="10"> <tr> <td>房屋编号</td> <td>房主姓名</td> <td>房屋地址</td> <td>房屋租金</td> <td>房屋最大容纳人数</td> <td>房屋的类型</td> <td>请求看房</td> </tr> <% while(rs.next()){ int id=rs.getInt(1); %> <tr> <td><%=id%></td> <td><%=rs.getString(2)%></td> <td><%=rs.getString(3)%></td> <td><%=rs.getInt(4)%></td> <td><%=rs.getString(5)%></td> <td><%=rs.getString(6)%></td> <td> <a href="ee?id=<%=id%>" onClick="alert('已申请看房请求!');">申请</a> </td> </tr> <%} rs.close();%> </table> </body> </html> (6)renter.jsp <%@ page contentType="text/html;charset=GBK" language="java" import="java.util.*"%> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>登记房主</title> </head> <body> <table align="center" cellpadding="0" cellspacing="0"> <tr> <td> <form name="form_s" method="post" action="cc"> <br /> <table> <tr> <td> 姓名: </td> <td> <input name="renter_name" value="${renter_name}" onfocus="this.value=''" type="text" style="width: 90px; margin-left: 5px; height: 20px; font-size: 12px;" onblur="if(this.value.replace(/^ +| +$/g,'')=='')alert('请输入房主姓名!')" /> </td> </tr> <tr> <td> &nbsp;&nbsp; </td> </tr> <tr> <td> 性别: </td> <td> <input name="renter_sex" value="${renter_sex}" onfocus="this.value=''" type="text" style="width: 90px; margin-left: 5px; height: 20px; font-size: 12px;" onblur="if(this.value.replace(/^ +| +$/g,'')=='')alert('请输入性别!')" /> </td> </tr> <tr> <td> &nbsp;&nbsp; </td> </tr> <tr> <td> 住址: </td> <td> <input name="renter_address" value="${renter_address}" onfocus="this.value=''" type="text" style="width: 90px; margin-left: 5px; height: 20px; font-size: 12px;" onblur="if(this.value.replace(/^ +| +$/g,'')=='')alert('请输入住址!')" /> </td> </tr> <tr> <td> &nbsp;&nbsp; </td> </tr> <tr> <td> 联系电话:&nbsp; </td> <td> <input name="renter_phone" type="text" value="${renter_phone}" onfocus="this.value=''" style="width: 90px; margin-left: 5px; height: 20px; font-size: 12px;" onblur="if(this.value.replace(/^ +| +$/g,'')=='')alert('请输入联系电话!')" /> </td> </tr> <tr> <td> &nbsp;&nbsp; </td> </tr> <tr> <td> 身份证号码: </td> <td> <input name="identity_card" value="${identity_card}" onfocus="this.value=''" type="text" style="width: 90px; margin-left: 5px; height: 20px; font-size: 12px;" onblur="if(this.value.replace(/^ +| +$/g,'')=='')alert('请输入身份证号码!')" /> </td> </tr> <tr> <td> &nbsp;&nbsp; </td> </tr> </table> <br> <table> <tr> <td> &nbsp;&nbsp; </td> </tr> </table> <table> <tr>
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服