资源描述
房屋信息发布系统
目 录
引 言 1
1问题提出 2
2可行性分析 3
2.1技术可行性 3
2.2经济可行性 3
2.3法律可行性 3
2.4操作可行性分析 3
3需求分析 4
3.1对功能的规定 4
3.2数据流图 4
3.3 E-R图 6
3.4数据字典 6
3.5对性能的规定 8
3.5.1 精度 8
3.5.2 时间特性要求 8
3.5.3 灵活性 8
3.6 运行环境的设备规定 8
4概要设计 9
5数据库设计 10
6详细设计 12
7代码设计与实现 13
8性能测试与分析 18
结束语 19
致谢 20
参考文献 21
引 言
在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。为了提高房屋信息发布活动的效率,增加房屋信息发布活动的效益,我们开发了网上房屋信息发布系统。
网上房屋信息发布系统基于Internet的服务方式,提供多种安全和协作功能,保证跨地域和低成本的开展房屋信息发布项目,同时采用安全、规范的房屋信息发布流程控制和管理手段,保证供求各方公平有序的竞争,采用动态可调整流程,可以适应多变的商业环境,易于系统维护和降低管理成本,提供全面的安全控管能力,保护系统和用户的安全性,全面支持开放标准,确保系统的互操作性。
编写此论文,是为了对前一阶段的工作作一个总体性的概括,并有助于他人了解该系统。由于自己学识有限及时间仓促,系统还存在许多待完善和指正的地方,请各位老师多提宝贵意见。
1 问题提出
随着计算机技术的日益成熟, internet 网络的全球化,计算机在我们的生活中得到了越来越广泛的应用。而房屋的交易和租赁活动也日益频繁,但是采用传统人工方式办理,工作繁重,工作量大,耗费时间多效率低下,为了解决传统房屋信息发布的种种不足,有必要开发出一套基于B/S(Browser/Server)模式的高效率、低成本、安全的网上房屋信息发布系统。它将传统的信息发布活动"搬迁"到Internet网络上,充分发挥Internet技术的优势,实现了对房屋信息方便快捷的管理,节省人力物力资源,提高了信息发布于查询的效率,是协助求租方和承租方、出售方和求购方进行交易的一种有效工具。
2 可行性分析
2.1技术可行性
根据网上房屋信息发布系统的开发目标,在技术上利用ASP是完全可以实现的。ASP开发容易,使用记事本就可以进行编写代码,另外,将Dreamweaver结合起来,可以使开发更方便快捷;它的语言相容性好,与所有的ActiveX Script语言都相容,除了可结合HTML,VBScript、Java Script、Active X服务器组件来设计外,并可经由“plug-In”(外挂组件模组)的方式,使用其他厂商(Third Party)所提供的语言;易于操纵数据库,它可以轻易地通过ODBC(Open Database Connectivity)驱动程序连接各种不同的数据库,例如:Acess、Foxpro、dBase、Oracle等等;并且学习起来容易,ASP提供了五种方便能力强大的内建对象:Request、Response、Sever、Application以及Session,同时,若使用ASP内建的“Application”对象或“Session”对象所撰写出来的ASP程序可以在多个网页之间暂时保存必要的信息。这就是我们采用ASP作为开发工具的原因。
2.2经济可行性
在因特网上进行房屋信息的发布与查询活动,无论是对于求购方、求租方还是出售方、出租方来说,都可以大大节省成本、时间消耗,提高了信息发布于查询的工作效率,推动和促进了信息发布于查询活动的进行。
2.3法律可行性
本网上房屋信息发布系统符合国家房产行业相关法律规范。
2.4操作可行性分析
系统的简洁、易于操作使得用户能在较短的时间内对系统熟练操作,即使不懂计算机的人,几乎也不用专门的培训学习,就能上手。
3 需求分析
3.1对功能的规定
本网站为求购方和出售方在信息交互工程中提供了大量的信息,更有利于双方的信息查询。有利于降低一整套有利于降低用户信息发布活动成本、增强房屋信息发布活动的广泛性、竞争性和透明度的解决方案。
该网上房屋信息发布系统分成前台信息系统和后台管理系统两大模块,前台信息系统包括注册、登录、查看房屋信息、发布房屋信息、搜索房屋信息几个模块,后台管理系统主要实现用户管理,房屋信息的审核、修改、添加等功能。
对于我们来说,一个有效的网上房屋信息发布系统平台应符合这样的要求:必须是构架在交互式网络平台之上,最大限度地方便用户;应有数据库的支持,所有数据(文本素材、数字……)合理地组织在数据库中,最大程度地减少冗余度;应是动态的,页面内容随着客户端交互访问而不断变更;应有引人入胜的良好用户界面,风格明快、使用简便;应能方便地进行维护与管理,对于网站内容的更新替换,全部通过友好界面在数据库中实现;应有一定的安全性,设定权限,非管理人员不得进入数据库中维护操作。
3.2 数据流图
功能级数据流图
图3.1功能级数据流图
1)用户注册数据流图
图3.2用户注册数据流图
2)用户登录数据流图
图3.3用户登录数据流图
3)发布房屋信息数据流图
图3.4发布房屋信息数据流图
4)查看房屋信息数据流图
图3.5查看房屋信息数据流图
3.3 E-R图
图3.6 E-R图
3.4 数据字典
房屋信息=编号+位置+发布类型+房屋地址+物业类型+房屋结构+卫生间+基础设施+
设备情况+建筑面积+装修程度+楼层+电梯+房价+房价单位+登记日期+
有效天数+联系人+联系电话+联系QQ或MSN+联系E-mail+备注
编号=1{数字}3
位置=16{字母}40
发布类型=4{字母}4
房屋地址=20[字母|数字]40
物业类型=16[字母|数字]40
房屋结构=8{字母}8
卫生间=2{数字}2
基础设施=20[字母|数字]40
设备情况=20[字母|数字]40
建筑面积=4{数字}20
装修程度=6{字母}8
楼层=2{数字}8
电梯=2{字母}2
房价=2{数字}8
房价单位=2{字母}6
登记日期=年+月+日
有效天数=1{数字}3
联系人=4{字母}16
联系电话=7[数字|字符]12
联系QQ或MSN=1[数字|字母]20
用户电子邮件=15[字母|数字]30
备注=2[字母|数字|字符]
用户注册信息=用户编号+用户名+用户密码+性别+联系电话+用户电子邮件+
提示问题+提示问题答案+联系地址+个人介绍
用户编号=3{数字}3
用户名=6[字母|数字]20
用户密码=6[字母|数字]14
性别=2{字母}2
联系电话=11[数字]11
用户电子邮件=15[字母|数字]30
提示问题=10[字母|数字]50
提示问题答案=10[字母|数字]50
联系地址=10[字母|数字]50
个人介绍=2[字母|数字]50
管理员信息=管理员编号+管理员名称+密码+权限
管理员编号=3{数字}3
管理员名称=6[字母|数字]20
密码=6[字母|数字]14
权限=1[数字]1
数字=1..9
字母=a..z+A..Z
年=2005.. 2010
月=1..12
日=1..31
3.5对性能的规定
3.5.1 精度
在进行向数据库文件提取数据时,要求数据记录定位准确,在往数据库文件中添加数时,要求输入数据准确
3.5.2 时间特性要求
a. 响应时间应在人的感觉和视觉事件范围内;
b. 更新处理时间,随着系统的版本升级,该系统将相应的进行更新。
3.5.3 灵活性
当需求发生某些变化时,系统操作方式、数据结构、运行环境基本不会发生变化,变化只是将对应的数据库文件内的记录改变,或将过滤条件改变即可。
3.6 运行环境的设备规定
浏览器端
1. 至少具有奔腾600配置的计算机;
2. Microsoft鼠标或其它兼容鼠标;
3. 最少100MB的硬盘空间。
4. 最少64MB的RAM存储器。
5. VGA显示器或更高。
6. Win98, Win2000中文版或更高版本。
7. 一般计算机外设,如:打印机、扫描仪。
服务器端
1. 至少具有奔腾600配置的计算机;
2. Microsoft鼠标或其它兼容鼠标;
3. 最少100MB的硬盘空间;
4. 最少64MB的RAM存储器;
5. VGA显示器或更高;
6. Win98, Win2000中文版或更高版本。
4概要设计
系统功能结构图如下,通过下图,我们可以清楚的了解系统所实现的主要功能:
图4.1 系统功能结构图
5数据库设计
在网上房屋信息发布系统的数据库中,主要包括下面的几个表:
用户信息表
表5.1用户信息表
房屋信息表
表5.2房屋信息表
其中,“有效天数” 是用来表示该信息的到期时间,系统根据它来判断信息是否到期,信息超过有效天数时,该信息会被自动删除;“审核”是用来表示是否被管理员审核。当“审核”=“0”时,表示未被审核。当管理员对其进行审核后,“审核”=1。主页上显示的信息就是通过查询房屋信息表中“审核”=1的信息。
管理员信息表
表5.5管理员信息表
6详细设计
网上房屋信息发布的工作流程包括用户注册,用户登录,查看房屋信息发布信息,查看房屋信息,发布房屋信息发布信息,申请权限,修改用户信息,管理员登录,管理员用户管理等,下面就其中的几个模块进行简要介绍:
查看房屋信息
图6.1查看房屋信息
发布房屋信息
图6.2发布房屋信息
7代码设计与实现
该系统分为前台信息子系统和后台管理子系统两大模块, 其中前台信息子系统包括用户登录、查看房屋信息、发布房屋信息、搜索房屋信息几个模块,后台管理子系统主要实现房屋信息管理和用户管理,下面分别就前台系统个别模块代码的开发作一简要说明。
前台信息系统
登录部分,界面如下
图7.1 用户登录界面
部分代码如下,主要检验用户输入数据的合法性:
<%
dim segment
segment=0
uname =trim(request("username"))
upass =request("password")
if uname="" then
segment=0
else
sql = "select * from info where username='"&uname&"'"
Set rs = Server.CreateObject ("ADODB.RecordSet")
rs.Open sql,conn,1,1
if rs.bof or rs.eof then
segment=2
else if rs("password")=upass then
segment=1
end if
end if
end if
%>
用户输入帐号及密码后的处理代码如下:
<%else if segment=1 then
Response.Write("<font size=6 color='#FFFFFF'>欢迎您回来!</font>")
Session("uname")=uname
Response.Write("<br><font color='#FFFFFF'> <a target='_top' href='addhouse.asp'>")
Response.Write("<font size=5 color='#FFFFFF'>我要发布房屋信息</a></font>")
'Response.Write(Session("uname"))
else if segment=2 then
Response.Write("<font size=5>用户名或密码错误!</font> ")
end if
end if
end if
%>
发布房屋信息部分,界面如下:
图7.2发布信息界面
关键代码实现如下:
<%
sql = "select * from house"
Set rs = Server.CreateObject("ADODB.RecordSet")
if request("联系人")="" or request("联系电话")="" or request("房价")="" then
if request("联系人")="" then response.write "联系人不能为空<BR>"
if request("联系电话")="" then response.write "联系电话不能为空<BR>"
if request("房价")="" then response.write "房价不能为空,必须填写<BR>"
response.end
end if
indate = Now()
rs.Open sql,conn,1,3
rs.addnew
rs("位置")=request("位置")
rs("发布类型")=request("发布类型")
rs("房屋地址")=request("房屋地址")
rs("物业类型")=request("物业类型")
rs("房屋结构")=request("房屋结构")
rs("卫生间")=request("卫生间")
rs("基础设施")=request("基础设施")
rs("装修程度")=request("装修程度")
rs("设备情况")=request("设备情况")
rs("建筑面积")=request("建筑面积")
rs("楼层")=request("楼层")
rs("房价")=request("房价")
rs("房价单位")=request("房价单位")
rs("有效天数")=request("有效天数")
rs("联系人")=request("联系人")
rs("联系电话")=request("联系电话")
rs("联系QQ或MSN")=request("联系QQ或MSN")
rs("联系E-mail")=request("联系E-mail")
rs("备注")=request("备注")
rs("电梯")=request("电梯")
rs("审核")=0
rs.update
rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing
%>
下面的部分代码是用来判断输入的信息是否合法:
<script Language="JavaScript" Type="text/javascript">
function FrontPage_Form1_Validator(theForm)
{
if (theForm.位置.value == "")
{
alert("请在 位置 域中输入值。");
theForm.位置.focus();
return (false);
}
if (theForm.位置.value.length > 20)
{
alert("在 位置 域中,请最多输入 20 个字符。");
theForm.位置.focus();
return (false);
}
if (theForm.房屋地址.value == "")
{
alert("请在 房屋地址 域中输入值。");
theForm.房屋地址.focus();
return (false);
}
if (theForm.房屋地址.value.length > 50)
{
alert("在 房屋地址 域中,请最多输入 50 个字符。");
theForm.房屋地址.focus();
return (false);
}
搜索房屋信息部分,界面如下:
图7.3 搜索信息界面
部分代码如下:
<%
leixing=request("leixing")
diqu=request("diqu")
jiegou=request("jiegou")
sql = "select * from house where 发布类型='"&leixing&"' and 位置='"&diqu&"' and 房屋结构='"&jiegou&"' order by 编号 desc "
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.open sql,conn,1,1
if rs.bof or rs.eof then
response.Write("没有检索到符合要求的信息! 请点击 <a href=index.asp>返回</a>")
response.End()
end if
%>
8性能测试与分析
经测试,下列模块:用户登录、查看求租信息、查看求购信息、查看出售信息、查看出租信息,发布求租信息、发布求购信息、发布出售信息、发布出租信息和房屋信息搜索功能均已基本实现,但在测试运行过程中,我们发现,用户要更改自己的信息或是删除自己发布的信息必须要通过管理员才能实现,这也是我们没有考虑到的。另外,系统运行过程中,我们还发现房屋信息的搜索条件太少,我们会进行进一步调试和完善。
结束语
本课题的设计已基本完成,作为一个比较完整的网上房屋信息发布系统,它具有界面友好、操作简单、易于维护等特点,初步达到了预期设计的目的。在这次毕业设计的过程中,我学到了很多,不仅初步掌握了asp技术,而且从实践的角度熟悉了软件工程的思想;通过和小组同学合作,共同设计开发一个应用系统,对自己的动手能力和全面分析问题的能力以及团队合作精神是一个很好的培养。
本课题在功能设计上充分考虑了用户的需求,使用户不需要培训就可以很好的使用这套系统,从而方便了用户。虽然程序设计已经完成,并投入了测试阶段的使用,但由于时间仓促,我们的能力有限,该系统是否能长期安全稳定地运行下去,对我们来说还是一个考验。此外,在系统的运行过程中,我们还应努力发现新的需求,以期望能够做出版本的改进和提高。
参考文献
[1]蒙新. ASP编程技术与综合实例演练[M].北京:清华大学出版社,2001.07
[2]石志国,王志良.ASP精解案例教程[M]. 北京:清华大学出版社,2004.01
[3]张固,汪晓平.ASP网络应用系统典型模块开发实例解析[M].北京:人民邮电出版社,2004.07
[4]龙马工作室.Dreamweaver MX 2004中文版完全自学手册[M].北京:人民邮电出版社,2004.04
[5]龙马工作室编著.Dreamweaver MX中文版完全自学手册[M].北京:人民邮电出版社,2003.02
[6]宣小平,但正刚,张文毅著. ASP数据库系统开发实例导航[M].北京:人民邮电出版社,2003.01
[7] 赵杰,李涛,王国业编著.毕业设计指导及案例剖析---数据库应用访问[M].北京:清华大学出版社,2005.03
[8] 王珊.数据库系统概论[M].高等教育出版社,2004.04
[9] 叶汶华.ASP.NET网页制作教程[M].广西师范大学出版社大学书店,2004.01
[10]石志国.ASP动态网站编程[M].北京:清华大学出版社,2004.3
20
展开阅读全文