分析报告
1 前言
1.1论文选题的理由和实际意义
随着住房制度改革不断深化和居民收入水平的提高,住房成为新的消费热点。2003年以来,房屋价格持续上扬,大部分城市房屋销售价格上涨明显。随之而来国家出台了多项针对房地产行业的,希望能引导房地产市场的健康发展。而房屋中介行业是房地产业的重要组成部分,房屋中介贯穿在房地产业经济运行的全过程之中,为房地产业的生产、流通和消费提供了多元化的中介服务 。房屋中介行业做为一个管理房屋信息的机构,其对信息的管理应该准确,无误。因此利用所学过的软件工程设计思想,数据库等知识设计一个房屋中介管理的软件对于提高该中介公司的工作效率变得尤为重要。
1.2国内外关于该课题的研究现状及趋势
在Internet 信息时代下,信息是最值钱的也是最不值钱的,所以我们就要和信息息息相关,随时了解信息的最新动态和抓住信息的适用价值来达到信息的最大价值。网络技术的飞速发展加快了信息时代的脚步,方便了人们在与网络的情况下就可以了解任何信息,利用网络筛选地自己有用的信息。 在Internet信息时代的发展下我们的生活也随着步入信息时代 ,人们的经经济水平的提高伴随着消费水平的提高,住房的消费迎来新的发展时期,房地产也随着快速的发展占领了市场的主导地位。房价也在逐年的增加,在这样的情况下,国家也出台了很多的希望房价的增速,从来让房地产市场的发展维持在一个稳定发展状态。房屋中介也是在房地产的发展中产生的,它作为一个中介结构,对信息要求要准确无误。
从总体上来看,目前国内的网上房屋中介系统很多,而且是针对大城市和生活水平比较高的城市和打算选择一些地理环境好交通方便的人员考虑的,很难找到适合外出人员务工居住的房屋,但针对小的县城就比较少,基本上只有人工的房屋中介而且很少,对于要买房的人来说这样很难找到自己满意的房屋,且比较性不大买主很被动,在小的中介里面去的话一般就和买主签订看房单,一旦签订的话就选择性就很少,直到买主买好房子以后才会停止。国内网上房屋中介系统的目的也很多,主要有:有的是房地产公司装门制作的用来宣传自己的房屋,让更多的人对自己公司的房屋有个整体的了解,利用网上房屋中介来提高自己公司的形象和收益、用于拉广告赚钱等。而事实上是:网上房屋中介系统的管理并未
达到预期的效果,有的根本访问人数很少,有的虽然访问的人很多,但成交的数量是有限的。虽然网上房屋中介系统存在的问题还是不少,但是中国在网上房屋中介的发展仍然是有很大的潜力。从以下两方面来说明: 第一方面是外部环境因素的变化,由于中国现在社会的房展、外来人口的增加,流动人口的增多,支撑网上房屋中介正在朝着很好的方面发展,而中国原来的房屋中介也将在激烈的竞争中得到完善;主要原因是中国人口多,信息时代的进步使更多的人习惯在网上找到适合自己相应的信息,节省了时间和精力,这样的情况下使网上房屋中介拥有很多的潜在用户。这些条件都为网上房屋中介的发展带来了机遇。 第二方面是内在潜质的因素,网上房屋中介能够借鉴淘宝网的销售模式,进而进行创新,利用中国特有的人口优势来克服中国不利的外部条件因素。减少了在看房时候带来各种各样的麻烦。 网上房屋中介的迅速发展为电子商务的发展提供了很好的契机,但网上房屋中介设计还有许多的不足,如:个人信息的保密程度和签订合同时是否可以在线签订等问题,所以健康的网上房屋中介系统是所买房和租房人的心愿研究方法。网上房屋中介系统是基于Microsoft visual studio 2005 进行开发和使用Microsoft SQL Server 2005作为后台数据库,开发语言使用ASP.NET,的特点在于其灵活性、简易性和可管理性。可以使系统更加灵活、便于使用。
2.需求分析
通过实际调查,要求房屋中介管理系统应该具有一下功能:
(1)由于操作人员的计算机知识普遍偏低,因此要求系统具有良好的人机界面;
(2)如果系统的使用对象较多,则要求有较好的权限管理;
(3)方便的数据查询,支持自定义条件查询;
(4)自动匹配房源和求房意向信息;
(5)使用垃圾信息处理机制释放空间;
(6)在相应的权限下,删除数据方便简单、数据稳定性强;
(7)数据计算自动完成,尽量减少人工干预。
3. 系统设计
房屋中介管理系统在出租者和求租者之间起到了桥梁的作用,是一款非常实用的软件,它主要由用户信息管理、出租信息管理、求租信息管理、房源管理、常用工具和系统管理等模块组成,具体规划如下。
(1)用户信息管理模块
该模块主要包括求租人员信息设置、出租人员信息设置、人员信息控制等功能。
(2)求租管理模块
该模块主要包括房源查询设置、房源状态浏览、求租意向设置等功能。
(3) 员工管理模块
该模块主要包括录入员工信息、员工信息控制等功能。
(4)出租管理模块
该模块主要包括房型设置、楼层设置、幢/座设置、装修程度设置、朝向设置、用途设置等功能。
(5) 交费管理
该模块主要包括收费设置、收费记录等功能。
(6) 业务统计
该模块主要包括成交业务量统计等功能。
(7) 窗体布局
该模块主要包括层叠排列、水平排列、垂直平铺等功能。
(8) 常用工具
该模块主要包括记事本、计算器、Word、Excel等功能。
(9) 系统管理
该模块主要包括口令设置、退出系统、数据备份、数据恢复、清理无效信息等功能。
3.1定义
1、系统名称:房屋中介管理系统
2、数据库管理软件:Microsoft SQL Server
3、数据库设计采用软件:Microsoft Office Visio 2003
4、系统采用C/S体系结构:Client (客户端)负责提供表达逻辑、显示用户界面信息、访问数据库服务器;Server (服务器)端用于提供数据服务。
5、运行平台:windows 2000/xp/linux
6、数据库的安全性设计:(登录用户、数据库用户、数据库角色等方面是如何设置的)
3.2系统模块图
功能分析:
出租房屋信息管理:查询
出售房屋信息管理:查询
求组房屋信息管理:查询
求购房屋信息管理:查询
3.3 E-R图
3-3-1出租房屋信息E-R图
3-3-2出售房屋信息E-R图
3-3-3求租人信息E-R图
3-3-4求购人信息E-R图
3.4数据表
(1)出租房屋信息数据字典
属性名 | 存储代码 | 类型 | 备注 |
身份证号 | Rno | char | 用户编号 |
姓名 | Rname | char | 用户姓名 |
联系电话 | Contact | char | 联系电话 |
房屋种类 | housestyle | char | 出租房屋种类 |
每月价格 | Price | int | 出租房屋期望价格 |
出租房屋面积 | 面积 | int | 出租房屋的面积 |
房屋地址 | Address | char | 房屋地址 |
属性名 | 存储代码 | 类型 | 备注 |
身份证号 | Rno | char | 用户编号 |
姓名 | Rname | char | 用户姓名 |
联系电话 | Contact | char | 联系电话 |
房屋种类 | Housestyle | char | 出售房屋种类 |
出售价格 | Price | int | 出售房屋期望价格 |
出售房屋面积 | 面积 | int | 出售房屋的面积 |
房屋地址 | Address | char | 房屋地址 |
数据结构名 | 组成 |
用户信息 | 编号、姓名、密码、用户级别(普通用户,管理员) |
出租房屋信息 | 身份证号、姓名、联系电话、房屋种类、每月价格、出租房屋面积、房屋地址等 |
出售房屋信息 | 身份证号、姓名、联系电话、房屋种类、价格、出售房屋面积、房屋地址、备注信息等 |
求租房屋信息 | 身份证号、姓名、联系电话、房屋种类、求租价格、求租房屋面积、备注信息 |
求购房屋信息 | 身份证号、姓名、联系电话、房屋种类、求购求租价格、求购房屋面积、备注信息 |
数据流名 | 数据流来源 | 数据流去向 | 组成 |
出租房屋信息 | 普通用户 | 管理员 | 出租、求租房屋统计表 |
出售房屋信息 | 普通用户 | 管理员 | 出售、求购房屋统计表 |
求租房屋信息 | 普通用户 | 管理员 | 出租、求租房屋统计表 |
求购房屋信息 | 普通用户 | 管理员 | 出售、求购房屋统计表 |
常识性知识信息 | 管理员 | 普通用户 | 常识性知识提醒信息 |
数据存储名 | 输入的数据流 | 输出的数据流 | 组成 |
出租、求租房屋统计表 | 出租房屋信息 求租房屋信息 | 出租、求组房屋信息及其统计数据 | 出租房屋信息及统计信息 求租房屋信息及统计信息 |
出售、求购房屋统计表 | 出售房屋信息 求购房屋信息 | 出售、求购房屋信息及其统计数据 | 出售房屋信息及统计信息 求购房屋信息及统计信息 |
常识性知识信息表 | 常识性知识信息 | 常识性知识信息 | 常识性知识信息 |
3.5.1 触发器
1.当删除房源信息表中某一房源信息信息时,触发客源信息表,提示无法删除
create trigger T删除房源信息表记录
on dbo.房源信息表
for delete
as
if(select count(*)from deleted inner join 客源信息表
on deleted.编号 = left(客源信息表.客户编号,4))>0
begin
raiserror('客源信息表存在此编号,禁止删除!',10,1)
rollback transaction
end
2.当修改售房信息表时,同时修改房源信息表的当前状态属性
create trigger T修改售房信息表记录
on dbo.售房信息表
for update
as
if(select count(*) from inserted )>0
begin
update 房源信息表 set 状态 = (select 当前状态 from inserted)
where (编号) = (select 编号 from deleted)
3.5.2 视图
(1)用于查询可售房源视图定义如下:
CREATE VIEW 可售房源视图
AS
SELECT 编号, 具体位置, 配套环境, 房, 厅, 土地性质, 产权性质,
价格,权证名称, 权证编号,
业主姓名, 业主电话, 联系人, 联系电话,
委托日期, 截止日期, 录入人员, 当前状态
FROM 售房信息表
WHERE 当前状态 = '待售'
(2)用于查询可租房源视图定义如下:
CREATE VIEW 可租房源视图
AS
SELECT 编号, 具体位置,配套环境, 房, 厅,
出租价格,出租底价, 业主姓名, 业主电话, 联系人,
联系电话, 委托日期, 截止日期,
录入人员, 当前状态
FROM 租房信息表
WHERE 当前状态 = '待租'
(3)用于个房态统计视图定义如下:
create view 各房态统计视图 as
select sum(待售房数) as 待售房数,sum(已售房数) as 已售房数,
sum(待租房数) as 待租房数,sum(已租房数) as 已租房数
from 待售房统计视图 full outer join 已售房统计视图
on 待售房统计视图.编号 = 已售房统计视图.编号
full outer join 待租房统计视图
on 待租房统计视图.编号 = 待售房统计视图.编号
full outer join 已租房统计视图
on 待租房统计视图.编号 = 已租房统计视图.编号
(4)用于已售房统计视图定义如下:
create view 已售房统计视图 as
select 编号,count(状态) as 已售房数
from 房源信息表
group by 状态,编号
having 状态 = '已售'l
(5)用于已租房统计视图定义如下:
create view 已租房统计视图 as
select 编号,count(状态) as 已租房数
from 房源信息表
group by 状态,编号
having 状态 = '已租'
(6)用于待售房统计视图定义如下:
create view 待售房统计视图 as
select 编号,count(状态) as 待售房数
from 房源信息表
group by 状态,编号
having 状态 = '待售'
(7)用于待租房统计视图定义如下:
create view 待租房统计视图 as
select 编号,count(状态) as 待租房数
from 房源信息表
group by 状态,编号
having 状态 = '待租'
(8)用于求购客源视图定义如下:
CREATE VIEW 求购客源视图
AS
SELECT 客户编号, 客户姓名, 客户电话, 电子邮箱, 客户地址,
具体位置, 产权性质, 最低购价, 最高购价, 最小面积, 最大面积,
委托日期, 截止日期, 录入人员, 当前状态
FROM 客源信息表
WHERE 当前状态 = '待售'
3.5.3数据表
(1)房源信息表的建立:
CREATE TABLE [dbo].[房源信息表] (
[编号] [varchar] (4) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[城区] [nvarchar] (35) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[环境] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[付款] [nchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[来源] [nvarchar] (32) COLLATE Chinese_PRC_CI_AS NULL ,
[委托] [nchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[产权] [nchar] (15) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[状态] [nchar] (5) COLLATE Chinese_PRC_CI_AS NOT NULL ) ON [PRIMARY]
GO
(2)客源信息表的建立: if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[客源信息表]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[客源信息表]
GO
CREATE TABLE [dbo].[客源信息表] (
[客户编号] [char] (6) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[客户姓名] [nvarchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[客户电话] [char] (12) COLLATE Chinese_PRC_CI_AS NULL ,
[电子邮箱] [char] (25) COLLATE Chinese_PRC_CI_AS NULL ,
[客户地址] [nvarchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,
[具体位置] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[产权性质] [nvarchar] (15) COLLATE Chinese_PRC_CI_AS NULL ,
[最低购价] [money] NULL ,
[最高购价] [money] NULL ,
[最小面积] [int] NULL ,
[最大面积] [int] NULL ,
[委托日期] [datetime] NULL ,
[截止日期] [datetime] NULL ,
[录入人员] [nvarchar] (6) COLLATE Chinese_PRC_CI_AS NULL ,
[当前状态] [nchar] (2) COLLATE Chinese_PRC_CI_AS NOT NULL ) ON [PRIMARY] GO
3.5.4存储过程
(1) 房源信息_存储过程:
create proc 房源信息_存储过程
@fangtai nchar(5) as
select 编号,城区,环境,
付款,来源,委托,产权,状态
from 房源信息表
where 状态 = @fangtai
(2). 职员基本信息_存储过程:
create proc 职员基本信息_存储过程
@name nvarchar(5) as
select 姓名,性别,学历,联系电话,家庭住址,
电子邮箱,datename(yyyy,职员信息表.出生日期)
+'年'+datename(mm,职员信息表.出生日期)+'月'+
datename(dd,职员信息表.出生日期)+'日'as 出生日期
from 职员信息表
where 姓名 = @name
4结论(存在问题及解决方案)
(1).我觉得在这次暑期课程设计中,需求分析阶段是致关重要的,但由于同学们都是第一次做这样的系统设计,都不是很熟悉需求分析的主要方法和主要任务,所以都很盲目,认为随便从网上搜点相关的知识就可以了,但其实,这直接影响着后面的各个阶段的工作的进行。所以希望老师在实习前能给我们对需求分析阶段的工作进行一定的指导。
。
(2)老师经验丰富,并且十分热情的,我们请教的任何问题,老师都会耐心而认真的为我们解决,老师不但帮我们解决了问题,同时也教会了我们解决此类问题的方法,这对我们今后的学习是十分有益的
(3)这次课程设计使我熟悉了系统设计的整体步骤。
(4)当然,在这过程中也存在一些问题。由于需求分析阶段的工作完成的不是很充分,在后面的设计过程中,前后时常会出现矛盾,不一致现象,因此要反复的修改前面的结果,导致整个工作进行的不是很顺利。
5 参考文献
[1]《数据库原理及应用》 钱雪忠主编 北京邮电大学出版社 2007,8 第二版
[2]《SQL server 2000数据仓库与Analysis Services》 Bain T著 中国电力出版社 2003
[3]《数据库技术与联机分析处理》 王珊主编 北京科学出版社 1998
[4]萨师煊,王珊.数据库系统概论[M].版本(第三版).北京:高教出版社,2000
[5] 郑阿奇.Visual C++ 教程[M].北京:清华大学出版社,2005
[6] 王瑞,于速,张雨.Visual C++ 数据库系统开发完全手册[M].北京:人民邮电出版社
[7] 杨鑫华,赵慧敏等.数据库原理与DB2应用教程[M].清华大学出版社,2007.8
[8] 王珊,陈红.数据库系统原理教程[M].清华大学出版社,1998.7
[9] 郑阿奇.DB2实用教程[M].电子工业出版社,2009.8
[10] 巴克拉兹.DB2 9 for Linux, UNIX ,Windows数据库管理认证指南(原书第6版)[M].机械工业出版社,2009.4
[11] 牛新庄.DB2数据库性能调整和优化[M].清华大学出版社,2009.5
附:读书笔记
通过对课设内容和相关数据进行分析,根据课设的需要,用sql语句设计出满足一定要求的数据实体,以及各数据之间的关系,得到数据库模型。
选课表包括学号,该学号学生选课课号,该课程学生的成绩。班级表包括班级编号,班级名称,班级所在系部及编号。课程表包括课程编号,课程名称。系部表包括系部编号,系部名称。学生表包括学号,学生姓名,性别,出生日期,入学总分,入学附加分,所在班级编号。教师表包括教师编号,教师姓名,性别,出生日期,职称,年龄,薪水。教师授课表包括教师编号,所带课程编号。 该课设的设计目的是掌握数据库设计的基本方法和步骤,熟悉sql语言,用数据库规范理论对数据库进行规范化,能运用所学数据库原理及应用课程的理论知识,分析并解决实际问题,掌握基于数据库的应用程序的设计及实现过程。根据设计的目的及实际的数据库的设计设计本系统的关系模型并将其转换成关系数据库,并用数据库规范化理论对数据库进行规范化。将上述关系数据库用sql语言在oracle中实现。根据要求要能进行增,删,改,查等数据操作。在课设之前先进行需求分析,因为需求分析是一项重要的工作,也是最困难的工作。所以我们做需求分析也是比较认真的。本系统要求有以下具体功能:个人信息,课程计划,管理功能,教师用户,学生用户,条件查询等。
各表关系分析:1.过程分析,其面向的用户是学生,教师和管理员。首先学生根据自己的学号与姓名查询自己的信息,查询选课信息。教师根据自己的教师号和姓名进行开设课程,并设计学时学分与人数等。2.关系分析,系别及专业表存储的是学生信息。学生表存储学生信息,主键为学号。教师表存储教师信息,课程表存储选课的信息。
1 前言 1
1.1论文选题的理由和实际意义 1
1.2国内外关于该课题的研究现状及趋势 1
2.需求分析 3
3. 系统设计 4
3.1定义 5
3.2系统模块图 5
功能分析: 6
3.3 E-R图 7
3.4数据表 9
(2)出售房屋信息数据字典 10
(3) 数据结构 10
(4)数据流 10
(5)数据存储 11
3.5用例列举 11
3.5.1 触发器 11
3.5.2 视图 12
3.5.3数据表 14
3.5.4存储过程 15
4结论(存在问题及解决方案) 17
5 参考文献 18
附:读书笔记 19