毕业设计
题 目: 在线房屋租赁管理系统
的设计与实现
在线房屋租赁管理系统的设计与实现
摘 要:在 Internet 飞速发展的今天,电子商务代表着一种新的趋势发展起来。它提供了
网上交易平台,方便了企业与客户之间的交流,提高了工作效率。
本系统是一个电子商务系统,采用 技术、Dreamweaver MX 和 SQL Server
2000 数据库管理系统作为工具进行开发。整个系统从操作简单性,界面友好性,功能实用
性出发,为房产信息发布、管理提供了一个广阔而廉价的平台,为客户提供了便捷而全面
的房屋出租信息,使客户可以快速、方便地找到条件、地点、价格合适的房源。此设计开
发主要包括个人信息管理、信息发布、房源查询、房源管理、信息交流、用户管理等功能,
基本满足房源租赁工作的需要。
本设计说明书主要介绍了本课题的研究背景、国内外研究现状、开发过程和完成的功
能,重点说明了本课题的设计思想、各个模块的详细设计过程。
关键词:房屋租赁 电子商务
1 引言
随着 Internet 在全球范围内的飞速发展与广泛应用,当今社会正向信息性发展迈进,
随之信息自动化的作用也越来越大。信息化社会可以使人们从繁杂的事务中解放出来,提
高人们的工作效率。作为发展中的房屋租赁管理系统来说,企业规模的扩大和效益的提高
必须有相应的计算机信息化管理系统作为支撑,如果没有一套适合于规模不断扩大的计算
机信息化管理系统,在规模扩大到一定程度后,管理和经营问题将会出现。目前大部分的
房屋租赁管理工作还是人工操作,工作效率很低,并且不能及时了解房东手中拥有的各类
房源的信息和市场上比较热门的房源,不能更好的满足当前客户的各种房源需求,信息缺
乏及时性。同时,手工管理还存在由于不可避免的人为因素造成数据的遗漏、误报等等弊
端。为了解决这一日益突出的问题,针对房产信息管理工作开发了凌风在线房屋租赁管理
系统。此房屋租赁管理系统的设计目标是开发一套方便实用的,并具有友好性的信息管理
系统。
研究背景与研究目的、意义
研究背景
随着 Internet 逐渐渗透入人们工作、生活中的各个角落。一种新的事物——电子商务
(Electronic Commerce)代表着人类进步的趋势得到大家的认同。电子商务是利用现代信息网
络进行商务活动的一种先进手段,作为创新的经济运行方式,其影响已经远远超过商业领
域。它对人类社会进行着全方位的改造,在各方面改变着人类相互交往的方式,为人们展
示了一个全新、璀璨的世界。电子商务的投资和运营成本相较传统商务活动非常低廉,通
常只有传统方式的百分之几,这也是电子商务能在短短几年中迅速席卷全球的重要原因。
利用电子商务企业可以构筑覆盖全球的商业营销体系,实施全球性的营销战略,增强全球
性竞争能力。电子商务已成为推动未来经济增长的最关键动力。它的发展,不仅能够有力
地推动 Internet 的发展,而且对社会的进步和经济的变革产生深远影响,更重要的是,它
本身的发展和成熟为我们提供了许许多多的机会。
研究目的及意义
由于近两年大中城市的房地产价格暴涨,导致大多数工作年限短的工薪阶层靠租房居
住,使得租房业空前兴旺,业务量很大。在线房屋租赁管理系统是为房产信息发布、管理
提供一个广阔而廉价的平台,为客户提供便捷而全面的房屋出租信息,使客户可以快速、
方便地找到条件、地点、价格合适的房源,也可以使房产公司把自己的房屋出租信息让更
多的客户知晓。让房产公司和客户在足不出户的情况下,以最短时间、最快速度、最少的
人力高效地完成房屋租赁过程中的各项工作。
课题内容简介
本课题的基本内容是开发一个基于 Web 的房屋租赁管理系统,包括数据库的合理设计,
友好的界面设计,主要实现房源查询、房源管理、信息交流等功能。此系统的主要目标是
为房产信息发布、管理提供一个广阔而且廉价的平台,让客户快速、方便找到合适的房源,
让房屋出租者及时发布自己的房屋出租信息,让客户及时找到自己所需房屋。
本系统主要实现个人信息管理,用户管理,信息发布,房源管理,房源查询,信息交
流等功能。
个人信息管理:此模块中实现用户登陆身份验证,查看个人信息,修改个人信息
的功能。用户身份验证模块实现用户合法性检查。系统根据用户身份、用户名、
密码验证其是否为合法用户。 在这个模块中还实现注册和找回密码的功能。
信息发布:此模块一方面提供的是最新房源发布、中介推荐的功能,以方便用户
查看,并起到提示作用。这个信息是面向所有的用户,并不需要登录。另一方面
提供的是用户出租、求租房源信息的发布以及预约看房、预定房源信息的发布。
房源管理:此模块主要包括房源信息管理和房源租赁管理。房源信息管理中包括
了房源的添加、删除与更新操作。房源租赁管理模块中实现用户的租房与退房等
功能。进行房源租赁操作时,需要查看当前房源是否处于流通状态、是否有房以
及是否有人预订等。
房源查询模块提供用户与系统查询房源的功能,包括对房源类型、房源结构、房
源区域、房源面积、房源价位的查询等。
用户管理模块主要包括了添加管理员、删除用户、查询用户以及设置用户信誉度
等功能。
信息交流:此模块提供了在线论坛功能,便于用户之间及时沟通租房信息以及最快
了解房源信息。
可行性分析
(1) 技术上的可行性分析
用 Dreamweaver MX 来设计静态的网页和站点管理,可以方便的维护从而实现动静的
结合。它把网页布局和内容分离,在布局设计好之后将其存储为模板,这样相同布局的页
面可以通过模板创建,因此能够极大提高工作效率。
是建立在.NET Framework 之上的,可以使用 Visual Basic、c#这样的程序设
计语言,并且它在第一次执行时进行编译,之后的执行不需要重新编译就可以直接运行,
速度和效率比较高,它也可以实现代码和内容的完全分离,使得维护方便。另外,
与 Framework 及 Microsoft Internet 信息服务(IIS)协同工作以提供 Web 应
用程序的安全性。
SQL Server 2000 具有较强的 Web 功能,具有可扩展性、可移植性、可兼容性。
(2) 技术上的可行分析
本课题是主要采用单机开发,在学校即可完成资料查找和调研分析,开发过程中充分
考虑了各个模块之间的独立性和可维护性,所以开发成本和运行成本以及维护成本都比较
低。
(3) 操作上的可行性分析
本系统是一个基于 Web 的房屋租赁管理系统,用户只需熟练操作计算机,和对此系统
使用做简单的了解即可方便使用。无论通过局域网还是互联网,都能在浏览器中直接对房
源进行录入、浏览、修改、删除、查阅等房源管理工作。在操作使用上十分方便,房东和
客户通过 Web 浏览器就可使用本系统。所有的操作通过浏览器完成,客户端不需要配置其
他应用软件,用户不需培训。因此,在操作使用上,本系统简单、方便,易于使客户接受,
因而是十分可行的。
(4) 法律上的可行性分析
此房屋租赁管理系统由本人开发研制而成,在法律上并未侵害他人权利,无须承担任
何法律责任,所以在法律方面开发此系统是完全可行的。
2 需求分析
概述
为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的
深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,
不能真正满足用户需求的程序只会令用户失望,给开发者带来麻烦。需求分析是软件定义
时期的最后一个阶段,它的基本任务是准确地回答系统必须做什么这个问题。所以需求分
析是一个很重要的阶段,用于需求分析的结构化分析方法都遵守下述准则:
(1)必须理解并描述问题的信息域
(2)必须定义软件应完成的功能
(3)必须描述作为外部事件结果的软件行为
(4)必须对描述信息、功能和行为的模型进行分解,用层次的方法展示细节
本系统的主要目的是房屋租赁的网络化管理,使房屋租赁工作更加容易,从而提高工作效
率,降低管理成本。在线房屋租赁管理系统提供一个网上房屋租赁的平台,可以让客户在
足不出户的情况就可以选择自己喜欢或者需要的房源,让房东及时、方便、灵活的管理房
源。
业务流、数据流分析
业务流分析
业务流程图(transaction flow diagram,简称 TFD), 就是用一些规定的符号及连接来
表示某个具体的业务处理过程。在对系统的组织结构和功能进行分析时,需从一个实际业
务流程的角度将系统调查中有关该业务流程的资料都串起来作进一步的分析。业务流程分
析可以帮助我们了解该业务的具体处理过程,发现和处理系统的调查工作中的错误和疏漏,
修改和删除原系统的不合理部分,在新系统基础上优化业务处理流程。
在线房屋租赁管理系统的业务流程:首先由系统管理员根据用户的需要将某些信息保
存到数据库中,然后再进行发布。系统管理员还可以根据用户的表现情况设置用户信誉度,
用户可以进行查看修改个人信息,查询房源,发布信息的功能。此外,系统管理员可以对
数据库里的信息进行添加、修改和删除操作。
本系统的业务流程图如图 所示
图 在线房屋租赁管理系统的业务流程图
数据流分析
数据流程分析主要包括对信息的流动、传递、处理、存储等的分析。数据流程分析的
目的就是要发现和解决数据流通中的问题。数据流图(Data Flow Diagram)是一种图形化
技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。
在线房屋租赁管理系统的数据流程为:系统管理员经过身份验证可以查看和修改自己
的个人信息,更新房源操作,查询房源。用户经过身份验证可以查看和修改自己的个人信
息,查询房源。系统管理员和用户都可以发布出租,求租,预约看房,预定房源信息。
根据对系统的流程分析,得出系统的数据流图如图 所示
图 在线房屋租赁管理系统顶层级数据流图
本系统的一级数据流图如图 所示
已注册用户
注册
未注册用户
登录系统
系统管理员
所有用户
查询信息
发布信息
修改信息
添加信息
删除信息
结果
保存
自动写入后台
数据库
管
理
员
在线房屋租赁管
理系统
各种信息管理
登录信息
查询信息
查询结果
发布交流信息
交流信息反馈
、发布新房 推荐信息
、发布租房 预约信息
用
户
查询信息
查询结果
、发布租房 预约信息
信息管理
发布交流信息
交流信息反馈
图 在线房屋租赁管理系统一级数据流图
本系统的二级数据流图之一(注册登录图)如图 所示
图 在线房屋租赁管理系统二级数据流图之一(注册登录图)
用户
身份
验证
1
用户
个人
信息
管理
用户信息表
房源
查询
2
预约
租赁
管理员
用户信息表
房源信
息管理
发布
信息
3
房源信息表
产生租
房信息
求租信息表
管
理
员
信
息
用户信息 查询条件
用
户
信
息
修
改
后
的
个
人
信
息
预约
信息
预约信息表
预
约
结
果
管理员求租信息
求
租
信
息
管
理
员
信
息
用户
用户
房
源
信
息
用户信息表
租
房
信
息
用户
房
源
信
息
出租信息表
修
改
后
的
管
理
员
信
息
出
租
房
源
信
息
要发布的房源信息
更新后的房源信息
房源信息
注册
用户信息
错误提示
注
册
失
败
用户信息表
注
册
成
功
验证
登录信息
错误提示
无效登录信息
合
法
管
理
员
合
法
用
户
管
理
员
登
录
信
息
本系统的二级数据流图之二(查询图)如图 所示
图 在线房屋租赁管理系统二级数据流图之二(查询图)
本系统的二级数据流图之三(发布信息图)如图 所示
图 在线房屋租赁管理系统二级数据流图之三(发布信息图)
数据字典
数据表是进行数据访问与存取的工具。对于任何一个数据库应用系统,它的数据处理
的工具和对象均是数据表,界面只是一种外在的表现,因此系统中各种各样的界面制作的
目的,就是通过界面中的控件实现对数据表中的数据进行存取、访问等操作,因此我们要
设计各种需要的数据表。数据字典是关于数据的信息的集合,也就是对数据流图中包含的
所有元素定义的集合。数据流图和数据字典共同构成系统的逻辑模型。只有数据流图和对
数据流图中每个元素的精确定义放在一起,才能构成系统的规格说明。
填写
查询条件 查询
显示
有效的查询条件
错误提示
无效的查询条件
查询结果
填写
提交
出错提示
检验
待发布的信息 填写的信息
错
误
填
写
的
信
息
正确填写的信息
发布
无效的信息
有效的信息
出租信息
用户信息
求租信息
预约看房信息
预定房源信息
本系统的数据字典如下:
:名字 用户信息
:别名 无
:描述 记录用户信息
:定义 用户信息=用户编号+用户
昵称+真实姓名+性别+密码+
邮箱+qq+邮编+
电话+权限级别+联系地址
:位置 用户验证中心
:名字 用户昵称
:别名 用户名
:描述 标识用户的凭证
:定义 用户名=1{字符}10
:位置 用户信息
个人信息管理
用户管理
:名字 密码
:别名
:描述 验证用户是否合法的唯一凭
证
:定义 密码=1{字符}10
:位置 用户信息
个人信息管理
用户管理
:名字 邮箱
:别名 e-mail
:描述 取回密码凭证
:定义 邮箱=1{字符}50
:位置 用户信息
个人信息管理
:名字 权限级别
:别名
:描述 验证用户类型
:定义 权限级别=1{数字}5
:位置 用户信息表
个人信息管理
:名字 回帖
:别名
:描述 记录回复帖子的信息
:定义 回帖=回帖编号+回复
帖子标题+ 回复帖子内
容+回复帖子时间+被回
复帖子编号+回复人
:位置 帖子管理
:名字 回帖编号
:别名
:描述 标志帖子的唯一标志
;定义 回帖编号={数字}
:位置 回帖
帖子管理
:名字 回复帖子标题
:别名
:描述 所回复帖子标题
;定义 回复帖子标题=1{字
符}200
:位置 回帖
帖子管理
:名字 回复帖子内容
:别名
:描述 记录回复帖子的内容
:定义 回复帖子内容=1{字
符}200
:位置 回帖
帖子管理
:名字 回复帖子时间
:别名
:描述 记录回复帖子的时间
:定义 回复帖子内容={日期}
:位置 回帖
帖子管理
:名字 被回复帖子编号
:别名
:描述 记录回复帖子的内容
:定义 被回复帖子编号=1{数
字}5
:位置 回帖
帖子管理
:名字 出租信息
:别名
:描述 储存出租房屋信息
:定义 出租信息=房屋编号+
房屋类型+房屋结构+房
屋区域+房屋价格+面积+
地址+装修情况+楼层+发
布日期+有效期+发布人
: 位置 出租管理部分
:名字 房屋编号
:别名 房屋ID
:描述 标志房屋的标志
:定义 房屋编号=1{字符}10
:位置 出租信息
出租管理部分
:名字 发布人姓名
:别名
:描述 标志出租信息的发布人
:定义 发布人姓名=1{字符}10
:位置 出租信息
出租管理部分
用户信息
个人信息管理部分
:名字 有效期
:别名
:描述 出租房屋信息的有效天
数
:定义 有效期=1{字符}10
:位置 出租信息
出租管理部分
:名字 房屋类型
:别名
:描述 标志房屋类型的凭证
:定义 房屋类型=1{字符}10
:位置 出租信息
出租管理部分
房屋类型
房屋类型管理部分
:名字 房屋结构
:别名
:描述 标志房屋结构的标志
: (定义 房屋结构=1 字符}10
:位置 出租信息
出租管理部分
房屋结构
房屋结构管理部分
:名字 房屋区域
:别名
:描述 标志房屋区域的标志
;定义 房屋区域=1{字符}10
:位置 出租信息
出租管理部分
房屋区域
房屋区域管理部分
:名字 发布日期
:别名
:描述 发布人发布信息的具体
时间
:定义 发布日期={日期}
:位置 出租信息
出租管理部分
:名字 房屋区域表
:别名
:描述 标志房屋区域
:定义 房屋区域表=房屋编号+
房屋区域名称
:位置 房源管理部分
:名字 房屋编号
:别名
:描述 标志房屋区域的唯一标
志
:位置 房屋区域表
:名字 求租信息
:别名
:描述 储存求租房屋信息
:定义 求租信息=房屋编号+
房屋类型+房屋结构+房
屋区域+房屋价格+面积+
地址+装修情况+楼层+发
布日期+有效期+发布人
: 位置 求租管理部分
:名字 房屋编号
:别名 房屋ID
:描述 标志房屋的标志
:定义 房屋编号=1{字符}10
:位置 求租信息
求租管理部分
:名字 发布人姓名
:别名
:描述 标志出租信息的发布人
:定义 发布人姓名=1{字符}10
:位置 求租信息
求租管理部分
用户信息
个人信息管理部分
:名字 有效期
:别名
:描述 求租房屋信息的有效天
数
:定义 有效期=1{字符}10
:位置 求租信息
求租管理部分
:名字 房屋类型
:别名
:描述 标志房屋类型的凭证
:定义 房屋类型=1{字符}10
:位置 求租信息
求租管理部分
房屋类型
房屋类型管理部分
:名字 房屋结构
:别名
:描述 标志房屋结构的标志
: (定义 房屋结构=1 字符}10
:位置 求租信息
求租管理部分
房屋结构
房屋结构管理部分
:名字 房屋区域
:别名
:描述 标志房屋区域的标志
;定义 房屋区域=1{字符}10
:位置 求租信息
求租管理部分
房屋区域
房屋区域管理部分
:名字 发布日期
:别名
:描述 发布人发布信息的具体
时间
:定义 发布日期={日期}
:位置 求租信息
求租管理部分
:名字 房屋结构
:别名
:描述 标志房屋结构
:定义 房屋结构=房屋编号+房
屋名称
:位置 房源管理部分
:名字 房屋编号
:别名
:描述 标志房屋结构的唯一标
志
:位置 房屋结构
:名字 预约看房信息
:别名
:描述 储存预约看房信息
:定义 预约看房信息=房屋编
号+预约人+联系电话+
预约日期+有效期+备注
:位置 预约看房管理部分
:名字 房屋编号
:别名 房屋ID
:描述 标志房屋的标志
:定义 房屋编号=1{字符}10
:位置 预约看房信息表
预约看房管理部分
:名字 预约人
:别名
:描述 标志预约看房信息的发
布人
:定义 预约人=1{字符}10
:位置 预约看房信息
预约看房管理部分
用户信息
个人信息管理部分
:名字 有效期
:别名
:描述 预约看房信息的有效天
数
:定义 有效期=1{字符}10
:位置 预约看房信息
求租管理部分
:名字 预约日期
:别名
:描述 预约人预约信息的具体
时间
:定义 预约日期={日期}
:位置 预约看房信息
预约看房管理部分
:名字 房屋类型
:别名
:描述 标志房屋类型
:定义 房屋类型=房屋编号+
房屋类型名称
:位置 房源管理部分
:名字 房屋编号
:别名
:描述 标志房屋类型的唯一标
志
:位置 房屋类型表
:名字 预定房源信息
:别名
:描述 储存预定房源信息
:定义 预约房源信息表=房屋编
号+预定人+联系电话+预
定日期+有效期+备注
:位置 预定管理部分
:名字 房屋编号
:别名 房屋ID
:描述 标志房屋的标志
:定义 房屋编号=1{字符}10
:位置 预定房源信息
预定管理部分
:名字 预定人
:别名
:描述 标志预定房源信息的发
布人
:定义 预定人=1{字符}10
:位置 预定房源信息
预定房源管理部分
用户信息
个人信息管理部分
:名字 有效期
:别名
:描述 预定房源信息的有效天
数
:定义 有效期=1{字符}10
:位置 预约看房信息
求租管理部分
:名字 预定日期
:别名
:描述 预定人预定信息的具体
时间
:定义 预定日期={日期}
:位置 预定房源信息
预定房源管理部分
:名字 房屋区域
:别名
:描述 标志房屋区域
:定义 房屋区域=房屋编号+房
屋区域名称
:位置 房源管理部分
:名字 房屋编号
:别名
:描述 标志房屋区域的唯一标
志
:位置 房屋区域
:名字 发帖
:别名
:描述 记录发布帖子的信息
:定义 发帖=发帖编号+帖子
标题+帖子内容+发萜时
间+回复帖子树+浏览帖
子数
:位置 帖子管理
:名字 发帖编号
:别名
:描述 标志帖子的唯一标志
;定义 发帖编号={数字}
:位置 发帖
帖子管理
:名字 帖子标题
:别名
:描述 所发帖子的标题
:定义 帖子标题=1{字符}200
:位置 帖子管理部分
发帖
:名字 帖子内容
:别名
:描述 记录所发帖子的内容
:定义 帖子内容=1{字
符}200
:位置 帖子管理部分
发帖
:名字 发帖时间
:别名
:描述 记录所发帖子的时间
: ( )定义 发帖时间= 日期
:位置 帖子管理部分
发帖
:名字 回复帖子数
:别名
:描述 记录回复帖子数
:定义 回复帖子数=1{数
字}5
:位置 帖子管理部分
发帖
:名字 浏览帖子数
:别名
:描述 记录浏览帖子数
:定义 浏览帖子数=1{数字}5
:位置 帖子管理部分
发帖
3 系统设计
系统总体结构设计
系统总体结构设计是要根据系统分析的要求和组织的实际情况来对新系统的总体结
构形式进行大致设计,它是一种宏观、总体上的设计和规划。其系统功能结构图如 所
示
图 系统功能结构图
个人信息管理模块
该部分功能对用户的注册资料进行管理,包含了用户注册、用户登录和取回密码 3 部
分。授予用户和管理员不同的权限,登录的若是普通用户进入用户页面,是系统管理员就
进入管理员页面。对于系统资源,无论是数据或行为,对确定的一组用户都有访问限制。
例如对于有的用户只允许读操作,不能进行写操作;有些资源只有管理者才可以访问和操
作等等。同时用户经过身份验证可以进入用户中心查看个人资料和修改个人资料的功能。
信息发布模块
本模块主要实现系统管理员和普通用户信息的发布。系统管理员在这一模块实现的功
能比普通用户大。系统管理员可以发布最新房源信息,中介推荐信息,出租房源信息,求
租房源信息,预约看房信息,预定房源信息。最新房源是对房源的添加,系统管理员按照
房源的发布日期罗列出一系列最新房源。中介推荐包括中介推荐公司以及推荐房源。此模
块中,用户必须登录才可以发布出租房源、求租房源、预约看房,预定房源信息。
房源管理模块
房源管理功能包括 2 个模块:房源信息管理,房源租赁管理。房源信息管理包括对房
源的添加、删除、与更新操作。更新操作中包括对房源目前的状态进行管理。房源的状态
包括房源的已租、待租、预定状态。同时系统管理员可以及时对房源的类型、房源的结构、
房源的区域进行添加、删除、更新操作。房源租赁管理中是系统管理员及时查看房源的状
态,查看该房是否可以出租等功能。
最
新
房
源
信
息
发
布
出
租
房
源
信
息
发
布
中
介
推
荐
求
租
房
源
信
息
发
布
预
订
房
源
信
息
发
布
预
约
看
房
信
息
发
布
房
源
信
息
管
理
房
源
租
赁
管
理
按
房
源
类
型
查
询
按
房
源
区
域
查
询
按
房
源
面
积
查
询
添
加
管
理
员
删
除
用
户
浏
览
用
户
设
置
用
户
信
誉
度
信息发布 房源管理 房源查询 信息交流 用户管理
在线房屋租赁管理系统
按
房
源
价
位
查
询
个人信息管理
登
陆
身
份
验
证
查
看
个
人
信
息
修
改
个
人
休
息
在
线
论
坛
按
房
源
区
域
查
询
房源查询模块
房源查询模块包括按照房源类型、房源结构、房源区域、房源价格、房源面积的查询。
在这一模块中,用户的查询比较自由。如果用户只对房源的类型有要求,可以只输入房源
类型的条件,其他条件可以不输入,就可以只显示所要房源类型的查询。
信息交流模块
该部分功能主要是实现用户和管理员、用户与用户之间的交互,用户需要什么房源,
对房源的评价等等都可以在该版块实现。同时用户在本模块中可以直接了解到部分房源的
好坏。用户和管理员都可以发送帖子和查看帖子。另外管理员可以删除恶意的帖子。
用户管理模块
用户管理模块添加管理员、删除用户、查询用户、浏览用户的功能。此模块中如果系
统管理员不需要这个有权对其进行删除操作,用户输入用户名,可以查询到自己所需用户
的信息。同时,用户可以浏览该网站所有已经注册过的用户,可以显示总共应有的用户数。
系统流程图
系统流程图是概括的描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘组成
系统的每个部件(程序,文档,数据库,人工过程等)。系统流程图表达的是数据在系统各部件之间流
动的情况,而不是对数据进行加工处理的控制过程,所以系统流程图描绘的是物理数据流图。通过对本
系统的分析,得出本系统的注册登录流程图如 所示
图 注册登录流程图
欢迎主界面
注册/登录界面
是否为新用户
、输入用户名 密码
是否符合
数据库信息
upower是否为1
N
Y
Y
N
管理员界面 用户界面
退出
本系统的房源查询流程图如 所示
图 房源查询流程图
信息发布流程图如 所示
图 房源查询流程图
开始
按房
屋类
型查
询
按房
屋区
域查
询
按房
屋结
构查
询
按房
屋价
格查
询
按房
屋面
积查
询
此房屋存在
显示查询结果
结束
开始
管理员 用户
是否登录
发布新房信息
发布租房预约
信息
发布成功
结束
登录
Y
N
中介推荐
信息交流流程图如 所示
图 信息交流流程图
系统数据模型
E-R 图
E-R 图(实体-关系图)提供了表示实体、属性和联系的方法。
* 实体型 :用矩形表示,矩形框内写明实体名
* 属性:用椭圆型表示,并用无向边与其相应实体连接起来
* 联系:用菱形表示,菱形框内写明联系名,并用无向边与其有关实体连接。
本系统采用 E-R 图的方法进行数据库概念结构设计。系统 E-R 图如 所示:
进入论坛界面
查看帖子
、 ,标题 浏览帖子数 回
复帖子数
发表帖子
回复帖子回复帖子
退出
发表帖子
NY
Y
Y
N
浏览帖子
N
图 在线房屋租赁管理系统 E-R 图
关系模型
E-R 图向关系模型的转换要解决的问题是如何将实体和实体间的联系转换为关系模式
在线房屋租赁管理系统的数据模型如下:
用户信息(用户编号,用户昵称,用户真实姓名,密码,E-MAIL 帐号,性别,联系
电话,地址,qq,权限级别)
出租信息(房屋编号,房屋类型,房屋结构,房屋区域,房屋面积,房屋地址,房
屋价格,装修情况,楼层,发布人,联系电话,发布日期,有效期,备注)
求租信息(房屋编号,求租类型,求租结构,求租区域,求租面积,求租地址,求
租价格,装修情况,楼层,求租人,联系电话,发布日期,有效期,备注)
预约看房信息(房屋编号,预约人,联系电话,预约日期,有效期,备注)
预定房源信息(房屋编号,预定人,联系电话,预定日期,有效期,备注)
房屋结构信息(结构编号,结构名称)
房屋类型信息(类型编号,类型名称)
房屋区域信息(区域编号,区域名称)
发帖表信息(发帖编号,帖子标题,帖子内容,发帖时间,发帖人,回复帖子数,
浏览帖子数)
回帖表信息(回帖编号,回帖标题,回帖内容,回帖时间,回帖人,被回复的帖子
用户 房源
管理员
租赁
预约
管
理
管
理
类型
发布日期有效期
编号 姓名 密码
性别 E-mail
联系电话
编号
类型
面积 楼层
级别
日期
姓名
用户信誉度
建成日期
区域
密码
编号
地
址
状态类型
收发
帖子 编号
标题
收发时间
内容
编号)
数据库设计
(1)用户信息表(userinfo)
表 1 用户信息表的逻辑结构
字段名称 数据类型 字段大小 主键 说明
uid int 4 No 用户编号
uname char 10 Yes 用户昵称
urname char 10 No 真实姓名
uemail varchar 50 No 邮箱
upassword char 10 No 密码
usex char 10 No 性别
tel varchar 50 No 电话
post char 10 No 邮编
uaddress varchar 50 No 地址
qq char 10 No qq
upower int 4 No 权限级别
(2) 出租信息表(rent)
表 2 出租信息表的逻辑结构
字段名称 数据类型 字段大小 主键 说明
hid int 10 Yes 房屋编号
htype char 10 No 房屋类型
hcounty char 10 No 所属区域
hstructure char 10 No 房屋结构
harea int 10 No 房屋面积
price int 10 No 房屋价格
haddress varchar 50 No 房屋地址
hrepair char 10 No 装修情况
hfloor char 10 No 楼层
validate char 10 No 有效期
uname char 10 No 发布人
publishtime datetime 8 No 发布日期
qq char 10 No qq
tel varchar 50 No 联系电话
remarks varchar 200 No 说明
(3) 求租信息表(qiurent)
表 3 求租信息表的逻辑结构
字段名称 数据类型 字段大小 主键 说明
hid int 4 Yes 房屋编号
htype char 10 No 房屋类型
hcounty char 10 No 所属区域
hstructure char 10 No 房屋结构
harea int 4 No 房屋面积
price int 4 No 房屋价格
haddress varchar 50 No 房屋地址
hrepair char 10 No 装修情况
hfloor char 10 No 楼层
validate char 10 No 有效期
uanme char 10 No 求租人
publishtime datetime 8 No 发布日期
qq char 10 No qq
tel varchar 50 No 联系电话
remarks varchar 50 No 说明
(4) 预约看房信息表(yuyue)
表 4 预约看房信息表的逻辑结构
字段名称 数据类型 字段大小 主键 说明
hid int 4 Yes 房屋编号
validate char 10 No 有效期
uname uname 10 No 预约人
publishtime datetime 8 No 预约时间
qq char 10 No qq
tel varchar 50 No 联系电话
remarks varchar 50 No 说明
(5)预定房源信息表(yuding)
表 5 预定房源信息表的逻辑结构
字段名称 数据类型 字段大小 主键 说明
hid int 4 Yes 房屋编号
validate char 10 No 有效期
uname char 10 No 预定人
publishtime datetime 8 No 发布日期
char char 10 No qq
tel char 10 No 联系电话
remarks varchar 50 No 说明
(6)发帖表(post)
表 6 发帖表的逻辑结构
字段名称 数据类型 字段大小 主键 说明
postid int 4 Yes 发帖编号
subject varchar 200 No 帖子标题
message varchar 200 No 帖子内容
date datetime 8 No 发帖时间
uname char 10 No 发帖人
replies int 4 No 回复帖子数
views int 4 No 浏览帖子数
(7)回帖表(answer)
表 7 回帖表的逻辑结构
字段名称 数据类型 字段大小 主键 说明
replyid int 4 Yes 回帖编号
subject varchar 200 No 回复帖子标题
message varchar 200 No 回复帖子内容
date datetime 8 No 回帖时间
uname char 10 No 回帖人
postid int 4 No 被回复帖子编号
(8)房屋类型表(htype)
表 8 房屋类型表的逻辑结构
字段名称 数据类型 字段大小 主键 说明
tyid int 4 Yes 类型编号
tyame char 10 No 类型名称
(9)房屋结构表(hstructure)
表 9 房屋结构表的逻辑结构
字段名称 数据类型 字段大小 主键 说明
stid int 4 Yes 结构编号
stame char 10 No 结构名称
(10)房屋区域表(hcounty)
表 10 房屋区域表的逻辑结构
字段名称 数据类型 字段大小 主键 说明
tyid int 4 Yes 类型编号
tyame char 10 No 类型名称
4 主要模块及详细设计
系统模块简介
本课题所研究的在线房屋租赁管理系统主要由六个部分组成,即个人信息管理模块
(包含用户登录身份验证,查看个人资料,修改个人资料)、信息发布模块(包括最新房
源信息发布、中介推荐信息发布、出租信息发布、求租信息发布、预约看房信息发布、预
定房源信息发布)、房源管理模块(包括房源添加、删除、修改、房源类型、房源结构、
房源区域的添加、删除、修改)、房源查询模块(包括按照房源类型、房源结构、房源区
域、房源面积、房源价格查询)、信息交流模块(包括查看帖子、发送帖子、回复帖子、
删除帖子)、用户管理模块(包括添加管理员、查询用户、浏览用户、删除用户、设置用
户信誉度)。
个人信息管理模块
个人信息管理模块功能简介
个人信息管理模块对使用本系统的用户进行用户名、密码、用户身份的验证,确保了
系统的安全性。本模块具有五项功能:一、实现用户注册和登录。若是已注册的用户,可
以进入用户界面进行相应操作。若是新用户则登录本系统之前要先注册;二、所有用户可
以查看自己的注册信息;三、所有用户都可以修改自己的个人信息,如密码、联系电话等
基本资料;四、用户如果忘记密码可以通过邮箱取回密码。
个人信息管理模块的详细设计
(1)用户注册与登录模块设计
此界面的主要功能是对使用本系统的用户进行用户名、密码、用户身份的验证,只有
合法的用户才能使用本系统。对于初次使用本系统的用户需要注册才能登录用户界面。登
录模块拖入两个 TextBox 控件,用来输入用户名和密码。用户登录时根据 upower 的值是
否为 1 来判断其是否为管理员,如果是管理员,登录时进入管理员界面,普通用户进入普
通用户界面。此外,该界面还提供出错处理,如用户注册时用户名与用户列表中重名,用
户信息填写不完整等等异常。
用户登录界面如 所示
图 用户登录成功图
实现登录的代码如下:
string strconn= ["dsn"]; //连接本地计算机的 BMS 数据库
SqlConnection cn= new SqlConnection (strconn); //创建 SqlConnection 对象
();打开数据库
string mysql= "select * from userinfo where uname='"+ +"'and
upassword='"+ +"'";
SqlCommand cm=new SqlCommand (mysql,cn); //创建Command对象
SqlDataReader dr= (); //执行ExecuteReader ()方法
if( ())
{
Session["uname"]=dr["uname"].ToString(); //保存当前用户名及用户权限
Session["upower"]=dr["upower"];
if(Session["upower"].ToString()=="1")
{
(""); //进入管理人员界面
}
else
{
(""); //普通用户,界面不变
}
}
else
{
("<script language='javascript'>alert('对不起,输入的用户名/登录密
码不正确!')</script>");
}
为了增强系统移植性,我们使用 连接数据库。如果以后数据库的名称,或
者密码等改变的话,只要在 中进行改变就行了,而不需要对每个数据库连接都
进行改写。在 中写入以下代码:
<appSettings>
<add key="dsn" value="Data Source=;UID=sa;PWD=;DATABASE=house"/>
</appSettings>
用户注册时会首先显示凌风在线房屋租赁系统的协议,如果选择不同意协议,返回首页。
如果同意协议,显示用户注册的界面,如图 所示
图 用户注册图
其中用户名称、真实姓名、登录密码、确认密码、联系电话、电子邮箱为必填项,这
些是通过验证控件实现的,如果为空,会提示此项不能为空,否则不能进行注册。
实现提交的部分代码如下:
if(()) //如果读到数据,执行以下操作
{
("<script language='javascript'>alert('该用户已经被注册')</script>");
();
}
else //读不到数据,将该用户加入到数据库的用户信息表中
{
();
sql="Insert into
userinfo(uname,urname,upassword,ucard,uaddress,tel,uemail,qq,upost,usex)
values('"+()+"','"+()+"','"+
m()+"',
'"+()+"','"+()+"','"+()+"',
'"+()+"','"+()+"','"+()+"'
,'"++"')"; //把所输入的数据插入到数据表中
try //捕捉异常信息
{
cmd=new SqlCommand(sql,connection);
();
("<script language='javascript'>alert('恭喜您,注册成功')</script>");}
catch
{
("<script language='javascript'>alert('注册失败')</script>");
}
用户如果对自己刚刚注册的信息感到不满意,可以重填。连接数据库的代码与登录代
码相似,就不再叙述了。
(2)查看个人资料界面设计
此界面的主要功能是普通用户经过身份验证进入相应界面,点击用户中心,打开我的
资料按扭,就出现了用户注册时的个人资料。此功能是通过在 Dreamweaver MX 里做好表
格,使用 DataList 控件绑定实现的,因为用户昵称是唯一的,所以通过读取用户昵称,可
以查看到已经注册的个人资料。查看个人资料的界面如图 所示
图 查看个人资料界面图
实现此功能的代码如下:
private void Page_Load(object sender, e)
{
// 在此处放置用户代码以初始化页面
s=Session["uname"].ToString().Trim(); //上一页的用户名保存在Session对象里,用户名传
递到此页
}
private void Bind() //绑定DataList
{
string strconn=(String)["dsn"];
SqlConnection cn=new SqlConnection(strconn); //连接数据库
();
string query="Select
uid,uname,urname,upassword,usex,ucard,uemail,uaddress,ucard,upost,qq,tel,upower from
userinfo where uname='"+().Trim()+"'"; //选取所输入用户名的信息
SqlDataAdapter da=new SqlDataAdapter(query,cn); //查询数据库
DataSet ds=new DataSet();
(ds,"userinfo");
=["userinfo"].DefaultView;
();}
(3)修改个人资料界面设计
此界面主要功能是用户修改自己的个人资料,用户进入用户中心,修改自己的个人资
料。从数据库中把通过用户名把自己的个人信息读出来,利用 select 语句查找用户,然后
再进行修改。修改个人资料界面如图 所示
图 修改个人资料界面
读取数据的代码如下:
private void read()
{
name =Session["uname"].ToString(); //取得上一页面传递过来的参数值
SqlCommand cmd = new SqlCommand("select upassword,upost,uaddress,tel,qq from userinfo
where uname='"+().Trim()+"' ",cn); //创建SQL命令对象
(); //打开数据连接
//创建数据读取器
try
{
SqlDataReader dr = ();
if(()) //如果取到数据
{
//显示取到的数据
= dr["upassword"].ToString();
= dr["uaddress"].ToString();
= dr["upost"].ToString();
= dr["qq"].ToString();
= dr["tel"].ToString();
}
}
catch(Exception error)
{
(());
}
finally
{
(); //关闭数据连接
}
}
修改的代码如下:
string sql="update userinfo set
upassword='"+()+"',uaddress='"+()+"',tel='"+TextBox5.
()+"',
qq='"+()+"',upost='"+()+"' where
uname='"++"'"; //修改表中指定的记录
SqlCommand cmd=new SqlCommand(sql,cn);
();
try
{
();
("<script language='javascript'>alert('恭喜你,修改成功!')</script>");
}
catch
{
("<script language='javascript'>alert('对不起,修改不成功!')</script>");
}
finally
{
();
}
房源管理模块
房源管理模块的功能简介
此模块包括房源信息管理和房源租赁管理两个模块。房源信息管理模块包括房源的添
加、删除、更新,房屋类型,房屋结构,房屋区域的添加、删除、更新。房屋租赁管理包
括对房源的状态进行管理。房源的状态包括待租、已租、预定。待租状态包括预约看房。
房源管理模块详细设计
此模块的主要功能是对房源的添加、删除、更新,房源类型、结构、区域的添加、删
除与更新进行管理。用 DataGrid 控件绑定房源信息表。然后管理员可以对房源进行删除与
更新操作。房源的添加通过管理员发布信息功能来实现。同时此页面可以显示网站共有的
房屋数。
编辑的代码如下:
public void DataGrid1_Edit(object sender,DataGridCommandEventArgs e)
{
=(int);
DataGridDataBind();
}
更新的代码如下:
private void DataGrid1_Update(object
source, e)
{ string strconn= ["dsn"];
SqlConnection conn=new SqlConnection(strconn);
string strsql="update house set
hcounty=@hcounty,hadddress=@haddress,hrepair=@hrepair,htype=@htype,state=@state,hstructur
e=@hstructure,harea=@harea where hid=@hid";
SqlCommand cmd=new SqlCommand();
=strsql;
=conn;
//给SqlCommand对象定义一个参数变量,然后给参数赋值
(new SqlParameter("@hid",));
(new SqlParameter("@hcounty",,10));
(new SqlParameter("@haddress",,50));
(new SqlParameter("@hrepair",,10));
(new SqlParameter("@htype",,10));
(new SqlParameter("@state",,10));
(new SqlParameter("@hstructure",,10));
(new SqlParameter("@harea",));
(new SqlParameter("@hfloor",,10));
(new SqlParameter("@remarks",,50));
(new SqlParameter("@price",));
["@hid"].Value=[0].Text;
["@hcounty"].Value=((TextBox)("hcounty")).Text;
["@haddress"].Value=((TextBox)("haddress")).Text;
["@state"].Value=((TextBox)("state")).Text;
["@hstructure"].Value=((TextBox)("hstructure")).Text;
["@harea"].Value=((TextBox)("harea")).Text;
["@hfloor"].Value=((TextBox)("hfloor")).Text;
["@remarks"].Value=((TextBox)("remarks")).Text;
["@price"].Value=((TextBox)("price")).Text;
["@htype"].Value=((TextBox)("htype")).Text;
["@hrepair"].Value=((TextBox)("hrepair")).Text;
();
try
{
();
="<b>编辑成功<b>";
=-1;
}
catch
{
="<b>编辑失败<b>";
["color"]="red";
}
();
DataGridDataBind();
();
}
取消的代码如下:
public void DataGrid1_Cancel(object sender,DataGridCommandEventArgs e)
{
=-1;
DataGridDataBind();
}
显示网站的房屋数代码如下:
private void gethouse()
{
string strnum1="select count(*) as count from house ";
SqlCommand cmdnum1=new SqlCommand();
=strnum1 ;
=cn;
();
dr=();
if (())
{
num1=(drnum1["count"].ToString());//统计房屋总数
}
();
="本网站共有房屋数:"+();
}
房源查询模块
房源查询模块的功能简介
此模块包括 5 个方面的查询,分别为按照房源类型、房源结构、房源区域、房源面积、
房源价格的查询。无论输入 5 个条件中的任何一个,都可以有相应的信息,实现的是综合
查询功能。用户可以查到自己所需的出租、求租、预约看房、预定房源信息。
房源查询模块详细设计
此模块主要实现综合查询功能。查询功能通过连接数据库使用 SQL 语句实现。通过
DropdownList 的数据绑定把房屋类型、房屋区域、房屋结构绑定到下拉列表中。先判断下
拉列表和文本框的值,使用并列的 if 语句,最后将值保存在 Session 对象里,在另一页面
里显示查询结果。查询界面如图 所示
图 户查询房源界面
房屋类型的 DropDownList 的绑定方法如下:
private void Dropdownbind1()
{
string strconn=["dsn"];
SqlConnection cn1=new SqlConnection(strconn);
string sql1="Select distinct tyname from htype "; //选取要绑定的列
SqlCommand cmd1= new SqlCommand(sql1 ,cn1);
SqlDataAdapter sd1=new SqlDataAdapter(cmd1);
DataSet ds1 = new DataSet();
();
();
(ds1,"house");
= ["house"];
="tyname";
();
}
房屋结构的DropDownList的绑定方法和以上相似,只需将string sql1="Select distinct tyname
from htype "改成string sql1="Select distinct stname from hstructure "; 把
="tyname"中的tyname换成cyname。房屋区域中改变方法类似,
就不再赘述。
点击查询,可以显示查询结果,如图 所示
图 用户查询结果图(一)
查询的代码如下:
string htype=;
string hcounty=;
string hstructure=;
if(("出租"))
{
string sqlStr;
sqlStr="select htype,hcounty,hstructure,price,harea,publishtime from rent
where 1=1 "; //指定要绑定的数据库字段
if(()!="")
{sqlStr+=" and htype like '%"+htype+"%'";}
//判定房屋类型的值,选取房屋类型的值
if(()!="")
{sqlStr+=" and hcounty like '%"+hcounty+"%'";}
//判定房屋区域的值,选取房屋区域的值
if(()!="")
{sqlStr+=" and hstructure like '%"+hstructure+"%'";}
//判定房屋结构的值,选取房屋结构的值
if(!=""&&!="")
{
m=();
n=();
sqlStr+=" and harea between " +m+ " and " +n;
}
//选取房屋面积的范围
if(!=""&&!="")
{
p=();
q=();
sqlStr+=" and price between " +p+ " and " +q;
}
//选取房屋价格的范围
Session["sql"]=sqlStr;
//将结果保存在Session变量里
("")
//查询结果显示在另一页
此次查询有两页记录,实现分页的代码如下:
private void DataGrid1_PageIndexChanged(object
source, e)
{
=; //取得当前页索引值
startIndex=+*;
//当前页的页码等于当前页索引值与DataGrid页面大小的乘积
BindGrid();
}
点击查看,可以查看房子的具体信息,其中查看为超链接按扭,URL 字段为 hid(房屋
编号),URL 格式字符串为
房屋编号可以获取唯一的房屋信息。 为所要查看的页面。由于此页面只显示一
个表格的形式,所以在 HTML 里定义了一个函数,用来显示设置页面的大小。此函数为
<script language="javascript">
function newwin(url)
{
var popup;
url=url;
popup=
(url,null,"width=450,resizable=yes,left=2,height=458,menubar=no,toolbar=no,scrollbars=yes,status=yes");
(); //定义所要显示窗口的大小
}
</script>
然后在查看按纽的 HTML 里调用这个函数,就可以实现所需要的效果,如图 所示
图 用户查询结果图(二)
具体实现代码如下:
private void read()
{
//创建SQL命令对象
ViewState["hid"]=["hid"];
tit=(ViewState["hid"].ToString());
=["hid"];利用Request对象获取房屋编号
SqlCommand cmd = new SqlCommand("select
hid,htype,hcounty,hstructure,hfloor,price,harea,haddress,validate,publishtime,hrepair,uname,tel,qq
remarks from rent where hid="+tit ,cn);
//打开数据连接
();
//创建数据读取器
try
{
SqlDataReader dr = ();
//如果取到数据
if(())
{
//显示取到的数据
= dr["htype"].ToString();
= dr["hcounty"].ToString();
= dr["hstructure"].ToString();
= dr["hfloor"].ToString();
= dr["price"].ToString();
= dr["harea"].ToString();
= dr["haddress"].ToString();
= dr["validate"].ToString();
= dr["publishtime"].ToString();
= dr["hrepair"].ToString();
= dr["uname"].ToString();
= dr["tel"].ToString();
= dr["qq"].ToString();
= dr["remarks"].ToString();
}
}
catch(Exception error)
{
(());
}
finally
{
//关闭数据连接
();
}
}
信息交流模块
信息交流模块的功能简介
信息交流模块支持系统管理员、普通用户之间的在线交流。用户需要什么房源,以及
对房源的评价都可以在该模块实现。用户和管理员都可以发送帖子、查看帖子、回复帖子。
管理员有权对恶意的帖子进行删除。
信息交流模块的详细设计
此模块的主要功能是实现用户登录、用户注册、发送帖子、浏览帖子、浏览标题、增
加标题。用户登录功能实现方法与个人信息管理管理模块中类似。发送帖子界面、浏览帖
子界面和回复帖子界面这三部分构成了论坛主界面。
用户登录界面需要用户输入用户昵称和密码内容,当用户提交后,服务器就要对提交
的信息进行登录界面的后台处理,对提交的用户和密码进行判断,如果用户名不存在的话,
就提示你还没有注册,如果用户名已经存在,那么就对密码和上次登录时间进行判断,如
果密码不对,则显示出错信息。用户登录界面如图 所示
图 信息交流登录图
其代码与首页中登录代码类似,就不再祥述。
登录成功进入论坛界面,用 DataGrid 绑定帖子的编号,标题,作者,回复帖子数,浏览帖
子数,以及两个超链接按扭,分别链接回复和浏览两个界面,另外,用户可以直接在此页
面发帖,如图 所示
图 论坛界面图
进入论坛,用户可以看到所发帖子的标题、作者,回复帖子数,浏览帖子数,用户可以发
帖子,回复帖子,浏览帖子。发送帖子与注册类似,回复一次,回复帖子数自动加 1,浏
览一次,浏览帖子数自动加 1。
点击浏览按狃可以进入浏览帖子界面如图 所示
图 浏览帖子界面图
实现此功能的代码如下:
sub=Request["sub"].ToString(); //获取上一页面的值
=sub; //把所获取的值赋给Label5
string sql="update post set views=views+1 where subject='"+sub+"'";
//将浏览帖子数加1
();
SqlCommand myCommand=new SqlCommand(sql,cn);
();
();
SqlCommand cmd = new SqlCommand("select uname,date,message from post
where subject='"+sub+"'",cn);
Bind(); //调用绑定方法
(); //打开数据连接
//创建数据读取器
try
{
SqlDataReader dr = ();
if(()) //如果取到数据
{
//显示取到的数据
name1 = dr["uname"].ToString();
date1 = dr["date"].ToString();
message2=dr["message"].ToString();
=name1;
=date1;
=message2;
}
}
catch(Exception error)
{
(());
}
finally
{
//关闭数据连接
();
}
回复帖子界面和发送帖子界面类似,通过 Session 变量把登录的用户名传递到回复帖子界
面,利用 Request 对象获取回复帖子的标题,用户直接对感兴趣的标题进行回复。
用户管理模块
用户管理模块功能简介
此模块是由系统管理员实现的。管理员可以查询、删除、浏览用户,同时可以对用户
信誉度的设置。其中查询采用的是模糊查询,输入用户名,可以查询出一些用户的信息。
同时在查询页可以对所查用户的编辑与删除。浏览用户是显示所有的用户,可以在本页编
辑与删除,以及对用户信誉度的设置。
用户管理模块详细设计
用户管理模块中的查询功能实现的是模糊查询,用户只需要输入用户名,就可以查询
到所需的用户,查询出结果后,可以删除用户。系统管理员可以浏览网站所有的用户信息,
同时可以统计出网站所拥有的用户数,以及管理员对用户级别的设置。
查询页面时需先用 DataGrid 控件对用户信息进行绑定,然后再对其进行查询、删除等
功能。同样浏览页面也是要用 DataGrid 控件对用户信息进行绑定。添加管理员
DataGrid 绑定的代码如下:
private DataSet GetProductData()
{
string SQLStatement="SELECT
uid,uname,urname,upassword,usex,uemail,tel,uaddress,upost,qq FROM userinfo where uname
like '%"++"%'";//SQLStatement是一个SQL语句(string型的)
;SqlDataAdapter myCommand = new SqlDataAdapter(SQLStatement,cn); //声明Command对
象:myCommand ,设置Command命令的类型为Text类型
=;
DataSet myDataSet = new DataSet();//创建DataSet对象实例
(myDataSet, "userinfo");//把从表Products返回的数据填充myData
return myDataSet; //最后返回myDataSet对象
}
protected void BindGrid1()
{
=GetProductData().Tables["userinfo"].DefaultView;
();
();
}
查询的代码如下:
string sqlStr;
string name=;
sqlStr="select uid,uname,urname,upassword,usex,uemail,tel,uaddress,upost,qq FROM userinfo
where uname like '%"++"%'"; //从数据库中选取符合条件的记录
();
SqlCommand cm=new SqlCommand(sqlStr,cn);
SqlDataReader Dr= ();
if(()) //如果从数据库中读到数据
{
="查询的用户如下";
();
SqlDataAdapter da=new SqlDataAdapter(sqlStr,cn);
();
DataSet ds=new DataSet();
(ds,"image1");
=["image1"].DefaultView;
();}
else
{="对不起,没有此用户!";
}();
();
BindGrid1();
删除的代码如下:
string sqlCom="delete from userinfo where uid=@uid"; //从表中删除符合条件的记录
SqlCommand cmd=new SqlCommand(sqlCom,cn);
(new SqlParameter("@uid",));
//创建一个变量
["@uid"].Value=([0].Text);
//给变量赋值
();
try
{
();
lastEditedPage=;
if(()==1 &&
==1)
{
if(>1)
{
lastEditedPage=lastEditedPage-1;
}
else
{
lastEditedPage=0;
}
}
=lastEditedPage;
BindGrid1();
}
catch(SqlException err)
{
(());
}
添加管理员界面如图 所示
图 用户添加管理员
在下拉列表中可以看到本网站现有的管理员,此功能通过使用 DropDownlist 控件绑定
实现的,方法在本文上面已做叙述。因为本网站管理员的级别为 1,所以把管理员添加进
数据库时,需把管理员的级别设为 1,具体添加管理员的代码如下:
string strConn="Server=(local);User id=sa;Database=house";
connection=new SqlConnection(strConn);
string sql;
sql="Select * from userinfo where uname='"+()+"'"; //从数
据库中提取符合条件的信息
SqlCommand cmd=new SqlCommand(sql,connection);
();
SqlDataReader Reader=();
if(()) //从数据库中取到数据
{
("<script language='javascript'>alert
('该管理员已存在')</script>");
();
}
else
{
();
sql="Insert into userinfo(uname,upassword,upower)
values('"+()+"','"+()+"','1')";
//将用户名,密码,管理员的级别插入到用户信息表中。
try
{
cmd=new SqlCommand(sql,connection);
();
("<script language='javascript'>alert('恭喜您,管理员
添加成功')</script>");}
catch
{
("<script language='javascript'>alert('管理员添加失败')</script>");}
finally
{
();
();
}
}
6 系统评价
系统主要功能
本课题主要是解决房屋租赁管理系统中所涉及到的基本信息,目标是在房客和房东之
间搭起一座桥梁,它使客户可以快速、方便地找到条件、地点、价格合适的房源,可以使
房产公司把自己的房屋出租信息让更多的客户知晓。使租赁房屋做到数据的信息化、快速
化和网络化。本系统主要包括个人信息管理、用户管理、信息发布、房源管理、房源查询、
信息交流等重要模块。
系统特色/优点介绍
本系统综合了各地方房屋租赁管理系统的特点,从界面设计到系统设置都是从方便用
户的角度出发。系统的特色归纳如下:
(1) 本系统根据网上房屋租赁的实际需求和需要进行设计和开发的,切合实际,具有很
强的实用性。
(2) 本系统可以运行在多种操作系统平台上(Windows NT/Windows 2000/Windows XP)。
数据库管理系统采用 SQL Server 2000,采用操作简单方便的 Dreamweaver MX 开发环境,系
统的应用规模可以根据用户的需要动态配置。
(3) 及时全面地处理各种错误异常,特别是对用户提交的信息进行判断,若出现输入错
误或信息为空的现象,系统就会及时给予用户出错提示。
(4) 功能强大,综合性强。
(5) 有机结合计算机自动处理与人工处理。
(6) 用户界面友好,模块清晰,操作简单,使用方便,一看就懂,一学就会。
(7) 安全性好,可靠性高。
(8) 扩充性好,发展潜力大;引入了身份验证模块保密工作做到了实处。
系统存在不足
系统不足:由于时间比较仓促, 的精髓学习的还不够深入,所以本系统还不
是太完善,功能还不是很强大,有些功能还不能实现,再者由于作者的美工技术与审美观
的关系,本系统的界面不是太美观,显得很粗糙,在色调上的搭配,需要进一步装饰和美
化。同时,对数据库操作的性能有待进一步优化:部分功能程序代码过长。
改进方案
由于本系统的功能和界面设计还不能达到理想的效果,所以需要继续改进和完善本系
统。对于此系统要从美观、功能和技术上三个方面做重点改进和完善。提高审美观点,可
使用 photoshop、fireworks 等图片处理工具修饰图片,力求给用户提供美观友好的界面;
简化程序代码,可使不同界面之间能共享一些方法、函数和变量。在功能方面要扩大此系
统的功能,以前没有时间实现的现在要实现出来并且进行功能的补充。技术方面的改进表
现在系统虽然基本上实现了功能要求,但很多方面没有考虑仔细,例如有些页面很多方面
相同,可以直接使用用户控件,这方面考虑得还不够完善。另外,数据库的关系模式可以
进一步规范化,减少冗余现象。
结 论
随着 Internet 在中国的广泛运用,人们日常生活中越来越多地使用这项新的技术来为自
己的工作和学习服务。本系统在采用 Web 技术的房屋租赁管理方面进行了一次有益的尝试。
它是一个软件系统,采用 B/S 方式的三层体系结构,程序的 Web Service 部分即中间层采
用了 C#语言编制,并将这些文件(后缀.cs)编译成 dll 动态链接库文件,再使用
技术编写了 Web 应用程序实现对动态链接库的调用,实现了 Code-Behind 代码分离绑定和
重用,使程序界面清晰,便于修改。并且在程序设计时,采用多模块化结构设计。
在线房屋租赁管理系统涉及了租赁和查询房源的管理,基本覆盖了房源租赁管理活动。
能够实现用户发布信息、查询房源、浏览各种房源信息、更新资料等功能。在数据库方面
使用了 SQL Server 2000 数据库,利用 中的数据库访问模型 进行 SQL
语句查询。虽然本系统能够完成以上功能,但还存在缺陷。比如,数据库设计和代码还需
要进一步优化。