洪客隆国际金融中心-世纪星源000005股吧

2023年9月6日发(作者:蒋仲苓)
-
财政经济院
课程设计报告
课程
题目
专业
班级
**
指导教师
55
2021 年6 月12 日
面向对象程序设计
房屋出租管理系统
信息管理与信息系统
课程设计成绩评定表
系别:信息管理与信息技术学院专业:2021级信息管理与信息系统
** **
房屋出租管理系
专题*〔设计题目〕 评定成绩
统
. z.
-
功
能
要
求
数据库要求
工程
工作量
资料收
集案设
计
综合应
用能力
能力技
术水平
报告撰
写质量
实习态
度
评判标准〔在每一工程对应的标准下空格标记√〕
优秀 良好 中等 及格 不及格
. z.
-
评语:
指导教师:
年 月 日
目录
1 绪论4
2 需求分析5
2.2数据流程图:5
2.3功能需求分析6
3系统总体设计7
3.1系统功能模块图7
3.2系统功能描述7
4数据库设计8
4.1概念设计8
4.2逻辑设计8
4.3表设计8
5 系统功能模块实现10
. z.
-
5.1 model层11
5.2数据访问层11
5.3业务逻辑层11
5.4界面层11
5.5功能展示以及代码12
6遇到的问题和解决方法17
7总结17
1 绪论
该管理系统采用企业现有的软硬件环境及科学的管理系统开发案,建立房屋
租赁信息管理系统,实现房屋租赁信息管理的计算机自动化。系统应符合物业管
理企业原有的房屋租赁管理制度,并到达操作直观、便、实用、平安等要求。
将房屋租赁过程中产生的房屋信息归入系统, 并利用计算机实现对房屋的
分类、查询、统计等功能。高效的房屋信息查询、预警功能, 建立一个多角度的
查询系统, 为用户提供强大的查询功能, 将房屋位置、户型、房屋面积、以及租
赁合同等房屋管理中的每一要素都作为查询点, 形成计算机查询与租赁合同期
预警体系, 提供高效便捷的查询效劳。以合同管理为主线, 实现出租房登记、客
户管理、合同鉴定、租金管理等功能。
该系统实现的是系统管理员对房东,房客,房屋,合同的管理;房客对房屋,
房东的查询以及合同的上传打印功能;房东对房屋,房客,合同,租金的管理以
及对租房请求的申请的管理。不同的对象有不同的而功能界面,功能比拟完善。
本系统总共有23个窗体,6表格,采用三层架构的法实现。
. z.
-
课程设计要现:
1. 房屋管理:实现管理员或者房东对房屋信息的增删改查功能;
2. 房东管理:实现管理员对房东信息的增删改查功能;
3. 房客管理:实现管理员或者房东对房客信息的查询,房东对房客租房请
求的审核功能;
4. 合同管理:房客把合同上传,房东审核合同。
5. 租房管理:房客的租房请求,房东的同意租房功能。
实验环境:一台装有Microsoft Visual 2021,Microsoft SQL server 2021
R2软件的计算机。
2 需求分析
2.1业务流程分析
顶层业务流程图:
一级业务流程图:
一级业务流程图之房屋管理:
一级业务流程图之房客管理:
一级业务流程图之房东管理:
一级业务流程图之合同管理:
一级业务流程图出租管理:
2.2数据流程图:
用户登录模块:该系统的用户包括:管理员,房东,房客。查询数据库中的
用户表〔manager表〕之后,有该用户就显示登录成功,没有该用户就显示登录
失败,则显示提示注册用户的提示,注册之后更新用户表。
. z.
-
管理员功能界面模块:包括房屋管理,房客管理,房东管理,合同管理。
房屋信息数
据库
P1添加P3修改P4查询
P2删除
P5 查询房客
管理员
P1查询合同
P1添加
P2删除P3修改P4查询
租房信息信房东信息数
息数据库据库
房东管理功能界面:包括房屋管理,房客管理,合同管理,租金管理,承受租房。
房客管理功能界面:包括查询房屋,查询房东,租房请求,打印合同。
2.3功能需求分析
总的功能流程图:
该系统首先是用户根据自己的权限进入该系统,不同的用户有不同的权限和功
能。选择用户类型之后即可登陆不同类型的功能模块。
细化功能:
1. 登录管理:实现以正确登录人员身份才能登陆系统的功能,正确登录之
后才能进展之后的管理。
. z.
-
2.添加:添加房屋信息和添加房东信息的功能。
3.删除:删除房屋信息和删除房东信息的功能。
4.修改:修改房屋信息和修改房东信息的功能。
5.查询房屋信息的功能:房屋位置、价格、以及房屋管理中的每一要素都可
以作为查询点。
6. 查询房东信息的功能:房东类型、房东**、以及房东管理中的每一要素
都可以作为查询点。
7.修改密码:用户可以修改密码。
8.房主或者管理员查询房客的功能:请求租房房客的详细信息。
9.房主上传合同:将word文档以文件的形式存储在磁盘,在数据库中以路
径的格式存储文件。
10.租客下载合同并上传,通过word格式下载下来填写并上传,更新磁盘
文件中的容。
3系统总体设计
3.1系统功能模块图
3.2系统功能描述
1. 登录管理:实现以正确用户名、密码和登录人员身份〔或权限〕才能登
陆系统的功能,正确登录之后才能进展之后的管理。如果登录失败,进展注册操
作。
2.管理员管理模块:房屋信息的增删改查,房客信息的查询,房东信息的增
删改查,合同的获取和核查;
3.房东管理模块:房屋的增删改查,房客的查询,合同的获取和审核,租金
. z.
-
的查询,承受租房请求五大功能。
4.房客管理模块:查询房屋,查询房东,租房请求,打印合同进展签字。
4数据库设计
4.1概念设计
E-R图:
这里的用户包括管理员,房东和房客,所以用户和房屋信息表,房东信息表
之间是用户操作两表的关系,这里的操作试着增删改查。对于租房信息表的
操作。房东和管理员是查询的操作,对于房客来说是指插入信息的而操作。
而用户对于用户表的操作是指登录时的查询和未登录时的注册。
4.2逻辑设计
用户信息表〔用户名,密码,权限〕;
房屋信息表〔房屋编号,房屋位置,房东**,房屋的租赁状态,房屋类型,
装修状况,屋设施,房屋价格,入住时间,备注信息,房屋图片〕;
房东信息表〔**号,**,性别,,房东账户余额,房东的类型,房东照片〕;
租房信息表〔房屋编号,**号,房客的**,开场租住时间,租住月份数,联
系,月租金,房客照片〕;
房东类型表〔类型编号,类型名称〕;
房屋类型表〔类型编号,类型名称〕;
4.3表设计
用户信息表:〔manager表〕
user nchar(10)
. z.
-
Password nchar(10)
Type Int
房屋信息表:〔roominf表〕
num nchar(10)
location nchar(10)
name nchar(10)
type nchar(10)
design nchar(10)
Faclities nchar(10)
price float
livetime datetime
instruduction varchar(50)
statue nchar(10)
img image
房东信息表:〔hosterinformation〕
idnum nvarchar(50)
typeName nchar(10)
hostername nchar(10)
se* nchar(10)
telphone nvarchar(50)
account float
img image
. z.
-
租房信息表〔rentroom表〕:
roomnum nchar(10)
idnum nvarchar(50)
name nchar(10)
starttime datetime
monthnum int
monthlyrent float
telphone nvarchar(50)
img image
房东类型表〔hostertype表〕:
Typeid Int
Typename nchar(10)
房屋类型表〔housetype表〕:
Typeid Int
Typename nchar(10)
建立表约束:
〔1〕要为11位:〔len([telphone])=(11)〕;
(2)房屋编号要为8位:〔len([num])=(8)〕;
〔3〕用户密码为6位:〔len([password])=(6)〕;
〔4〕**为18位:〔len([idnum])=(18)〕;
5 系统功能模块实现
. z.
-
5.1 model层
实体〔Model)用于实现UI—>BLL—>DAL之间的数据传递。实体〔Model)
用于封装实体类数据构造,映射数据库的数据表或视图,用以描述业务中客观存
在的对象。Model别离出来是为了更好地解耦,为了更好地发挥分层的作用,
更好地进展复用和扩展,增强灵活性。
这个就是该系统的Model层,包括了用户类,房东类,租房类,房屋类,
房屋类型类,房东类型类。
5.2数据访问层
数据访问层:使用 中的数据操作类,为数据库中的每个表,设
计 1 个数据访问类。类中实现:记录的插入、删除、单条记录的查询、记录集
的查询、单条记录的有无判断等根本的数据操作法。封装每个数据表的根本记录
操作,为实现业务逻辑提供数据库访问根底。
这是该系统的数据访问层,包括数据库的连接类,数据库的增删改查操作,
用户类,房屋类,房客类,租房类的增删改查操作。
5.3业务逻辑层
业务逻辑层是数据访问层与界面层之间的桥梁。通过业务逻辑层,界面层能
够调用数据逻辑层中对数据库操作的法。同时,用过业务逻辑层,数据访问层能
够把数据库的操作结果返回该界面层。
这是该系统的业务逻辑层,包括了房东类,房屋类,用户类,租房类的所有
业务操作。
5.4界面层
展现给用户的界面,即用户在使用一个系统的时候他的所见所得。用于接收
. z.
-
用户输入的数据和显示处理后用户需要的数据。
这是该系统的界面层,通过连接数据库,实现系统所需的所有功能。清晰明
了地展示后台数据。非常便捷。
5.5功能展示以及代码
1.登录模块:选择用户类型,通过用户名和密码进展登录操作。如果无法登
陆请先进展注册。
实现不同用户类型登录的代码如下:
string s1 = boBo**t;
int flag = 0;
if (s1 == "管理员")
{
= 0;
flag = ;
}
if (s1 == "房东")
{
= 1;
flag = ;
}
if (s1 == "房客")
{
= 2;
flag = ;
}
= boBo**t;
rd = te*tBo**t;
//验证登录
if (rlogin(boBo**t,te*tBo**t,flag))
{
MessageBo*.Show("该用户登录成功!");
this.Hide();
if ( == 0)
{
//管理员的主窗体
MainofManager mai = newMainofManager(ma);
alog();
}
. z.
-
if ( == 1)
{
//房东的主窗体
MainofHoster mah = newMainofHoster(ma);
alog();
}
if ( == 2)
{
//房客的主窗体
RenterMain mar = newRenterMain(ma);
alog();
}
}
else
{
MessageBo*.Show("没有该用户,请先注册!");
}
2.管理员管理模块:从中可以看出包括房屋管理,房客管理,房东管理,合
同管理四大模块。
2.1房屋管理:treeview中显示房屋的各种类型,listview中显示房屋的图片,
以及datagrid中显示该类型房屋的所有信息。一目了然。房屋管理模块的而功能
是对房屋的增删改查。在这里也可以修改用户的密码。
房屋的增删改查以及修改当前的用户密码:
房屋的增加:
房屋的修改:
房屋的查询:
房屋类型的增删改查操作:
修改用户密码:这里在点击用户中心修改密码的时候,用户名,用户类型,
密码要自动显示在修改密码窗体上。
2.2房东管理模块:和房屋管理模块的思路是一样的。所以该局部的功能实
现就不贴照片了。
. z.
-
2.3合同管理:获取word文档,这个word文档是房客已经签过字的文档,
所以可以查看房客的签名。〔下列图中最后一行可以看到房客的签名〕
实现的代码如下:
//调用翻开文件对话框获取要翻开的文件WORD文件,RTF文件,文本文件路径名称
OpenFileDialog opd = newOpenFileDialog();
lDirectory = "D:/14信管二30班文雅三层架构实例/wordfile";
= "Word文档(*.doc)|*.doc|文本文档(*.t*t)|*.t*t|RTF文档(*.rtf)|*.rtf|所有文档
(*.*)|*.*";
Inde* = 1;
if (alog() == DialogResult.OK && > 0)
{
//建立Word类的实例,缺点:不能正确读取表格,图片等等的显示
ApplicationClass app = new .ApplicationClass();
Document doc = null;
object missing = tion.Missing.Value;
object FileName = me;
object readOnly = false;
object isVisible = true;
object inde* = 0;
try
{
doc = (ref FileName, ref missing, ref readOnly,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref isVisible, ref missing,
ref missing, ref missing, ref missing);
tory();
();
//从剪切板获取数据
IDataObject data = Clipboard.GetDataObject();
this.richTe*tBo**t = a(DataFormats.Te*t).ToString();
}
finally
{
if (doc != null)
{
(ref missing, ref missing, ref missing);
doc = null;
}
if (app != null)
{
(ref missing, ref missing, ref missing);
. z.
-
app = null;
}
}
}
2.4房客管理:这里是管理员对已经递交了租房请求的房客的查询。
3.房客管理模块:包括查询房屋,查询房东,租房请求,打印合同四大模块。
3.1查询房屋:可以通过备注,居住日期,价格等房屋信息查询房屋。
3.2查询房东:通过**,房东**等租房信息可以查询到房东的信息。
3.3申请租房:需要把房客自己的所有信息都上传,以便房东的审核。
3.4打印合同:打印合同是为了签字,签完字之后将文件已房屋编号为名的
格式保存。便房东的获取合同进展审核。
实现打印的代码如下:
.Application wordApp = new
.Application();
object fileName = "D:/14信管二30班文雅三层架构实例/wordfile/合同.doc";
object confirmConversions = Type.Missing;
object readOnly = true;
object addToRecentFiles = Type.Missing;
object passwordDoc = Type.Missing;
object passwordTemplate = Type.Missing;
object revert = Type.Missing;
object writepwdoc = Type.Missing;
object writepwTemplate = Type.Missing;
object format = Type.Missing;
object encoding = Type.Missing;
object visible = Type.Missing;
object openRepair = Type.Missing;
object docDirection = Type.Missing;
object notEncoding = Type.Missing;
object *mlTransform = Type.Missing;
.Document doc = (
ref fileName, ref confirmConversions, ref readOnly, ref addToRecentFiles,
ref passwordDoc, ref passwordTemplate, ref revert, ref writepwdoc,
ref writepwTemplate, ref format, ref encoding, ref visible, ref openRepair,
ref docDirection, ref notEncoding, ref *mlTransform);
e = true;
. z.
-
review();
4.房东管理模块:包括房屋管理,租金管理,房客管理,合同管理以及承受
租房。合同管理功能和上面的管理员的合同管理是一样的就不写了。
4.1租金管理:查询每个房子的租金。
4.2房客管理:查询目前有哪些房客要租房。〔和上面的管理员的房客管理
一样,不再啰嗦〕。
4.3承受租房:首先是要查看合同,然后是查看房客信息,这里在datagrid
中没选中一行即可显示房客的详细信息。点击同意出租的时候要在房屋信息表中
把说明未出租的信息变为已出租。
同意出租的代码如下所示:
//显示出租之后房客的所有信息
string constr = Properties.Settings.;
privatevoid AgreeRent_Load(object sender, EventArgs e)
{
DataTable dtb = newDataTable();
SqlConnection con = newSqlConnection(constr);
string sql = string.Format("Select * from roomrent ");
SqlDataAdapter ada = newSqlDataAdapter(sql, con);
(dtb);
urce = dtb;
s["img"].Visible = false;
}
//同意出租,即意味着:房间的未出租状态要变为已出租
privatevoid button2_Click(object sender, EventArgs e)
{
//roominformation room = new roominformation();
//修改房屋的出租状态
HouseDal hda = newHouseDal();
if (( num,"已出租" ))
{
MessageBo*.Show(num+ "号房已经被同意出租啦!");
}
else
{
MessageBo*.Show("房东还没有同意,建议咨询!");
. z.
-
}
}
6遇到的问题和解决方法
(1) 在将查询之后的数据填充到datagrid中时因为忘记将数据加到
datagrid中的行中而不能显示。
= (int)[0].Value;
te*tBo**t = [0].ng();
me = te*tBo**t = [1].ng();
(2) 不能实现获取合同和打印合同时,解决的方法是:
首先在添加引入中引入:;然后:using
;这样做完之后还是或有Application接口不能
使用的错误,这个问题的解决就是:在引用中右引用,翻开它的属性,把嵌
入互操作类型改为:false。
7总结
当我把所有的代码都写完的时候,真的是一种满足感和成就感油然而生,就
算是已经连续熬夜两天的状况。但是我也要自我检讨一下,因为代码是三个晚上
熬夜写的,因为当我开场建数据库的时候就就一直感觉无从下手,我想的太多,
做的太少。我觉得写系统的时候一定要克制为难的心理,不要一直自己想呀想,
试图通过想象就可以一步到位,不用经过多的修改就可以写出一个完美的系统。
这是不可能的,一定要先实现再完美,系统的完善一定是不断得试错,不断地改
错才会逐步完善。所以写系统的时候可以先不需要建一个完美的数据库出来,数
据库的完善也是要通过代码的调整而调整的。所以可以一边调研,一边完善数据
库,一边实现功能。
我觉得这个系统我的数据库建的不好,没有实现所有的实体关系都是1:n
. z.
-
的关系。所以数据库的建立还需要改良。
尽管现在所有的代码都实现了,但是还是有很多细节没有注意到,下面这些
细节都是需要后续的工作去完成。
1. 自动登录和记住密码的功能没有实现。我是用读取文档和写文档的法实
现,但是没有成功。我是想用数据库的法去实现它。
2. 中选择用户权限登录的时候,房东和管理员的注册时应该被限制的,不
然随便一个人注册一个账号就可以修改房屋,房东和房客的信息是很不
合理的。所以这里要有一个超级用户去实现登录与注册的管理。
3. 我没有用存储过程写,教师说大型一点的系统一定要用存过程去实现。
存储过程的使用可以少些很多代码。一定要多用。
4. 房东账户余额的设置那里很不好,因为我没有实现房东的余额通过房屋
出租的完成实现自动添加。
. z.
金德ppr管-卫龙辣条公司

更多推荐
楚雄租房信息
发布评论