房屋出租管理系统需求分析报告报告材料.doc

上传人:夺命阿水 文档编号:23632 上传时间:2022-07-16 格式:DOC 页数:33 大小:2.97MB
返回 下载 相关 举报
房屋出租管理系统需求分析报告报告材料.doc_第1页
第1页 / 共33页
房屋出租管理系统需求分析报告报告材料.doc_第2页
第2页 / 共33页
房屋出租管理系统需求分析报告报告材料.doc_第3页
第3页 / 共33页
房屋出租管理系统需求分析报告报告材料.doc_第4页
第4页 / 共33页
房屋出租管理系统需求分析报告报告材料.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《房屋出租管理系统需求分析报告报告材料.doc》由会员分享,可在线阅读,更多相关《房屋出租管理系统需求分析报告报告材料.doc(33页珍藏版)》请在课桌文档上搜索。

1、课程设计报告课 程面向对象程序设计题 目 房屋出租管理系统专 业班 级姓 名指导教师年5月5日目录1 绪论42 需求分析5数据流程图:7功能需求分析103系统总体设计10系统功能模块图10系统功能描述114数据库设计11概念设计11逻辑设计12表设计125 系统功能模块实现145.1 model层14数据访问层14业务逻辑层15界面层15功能展示以与代码166遇到的问题和解决方法277总结281 绪论该管理系统采用企业现有的软硬件环境与科学的管理系统开发方案,建立房屋租赁信息管理系统,实现房屋租赁信息管理的计算机自动化。系统应符合物业管理企业原有的房屋租赁管理制度,并达到操作直观、方便、实用、

2、安全等要求。将房屋租赁过程中产生的房屋信息归入系统, 并利用计算机实现对房屋的分类、查询、统计等功能。高效的房屋信息查询、预警功能, 建立一个多角度的查询系统, 为用户提供强大的查询功能, 将房屋位置、户型、房屋面积、以与租赁合同等房屋管理中的每一要素都作为查询点, 形成计算机查询与租赁合同期预警体系, 提供高效便捷的查询服务。以合同管理为主线, 实现出租房登记、客户管理、合同鉴定、租金管理等功能。该系统实现的是系统管理员对房东,房客,房屋,合同的管理;房客对房屋,房东的查询以与合同的上传打印功能;房东对房屋,房客,合同,租金的管理以与对租房请求的申请的管理。不同的对象有不同的而功能界面,功能

3、比拟完善。本系统总共有23个窗体,6X表格,采用三层架构的方法实现。课程设计要某某现:1. 房屋管理:实现管理员或者房东对房屋信息的增删改查功能;2. 房东管理:实现管理员对房东信息的增删改查功能;3. 房客管理:实现管理员或者房东对房客信息的查询,房东对房客租房请求的审核功能;4. 合同管理:房客把合同上传,房东审核合同。5. 租房管理:房客的租房请求,房东的同意租房功能。实验环境:一台装有Microsoft Visual 2012,Microsoft SQL server 2008 R2软件的计算机。2 需求分析2.1.1顶层业务流程图:2.1.2一级业务流程图:一级业务流程图之房屋管理:

4、一级业务流程图之房客管理:一级业务流程图之房东管理:一级业务流程图之合同管理:一级业务流程图出租管理:2.2数据流程图:用户登录模块:该系统的用户包括:管理员,房东,房客。查询数据库中的用户表manager表之后,有该用户就显示登录成功,没有该用户就显示登录失败,如此显示提示注册用户的提示,注册之后更新用户表。管理员功能界面模块:包括房屋管理,房客管理,房东管理,合同管理。房东管理功能界面:包括房屋管理,房客管理,合同管理,租金管理,承受租房。房客管理功能界面:包括查询房屋,查询房东,租房请求,打印合同。2.3.1总的功能流程图:该系统首先是用户根据自己的权限进入该系统,不同的用户有不同的权限

5、和功能。选择用户类型之后即可登陆不同类型的功能模块。2.3.2细化功能:1. 登录管理:实现以正确登录人员身份才能登陆系统的功能,正确登录之后才能进展之后的管理。2.添加:添加房屋信息和添加房东信息的功能。3.删除:删除房屋信息和删除房东信息的功能。4.修改:修改房屋信息和修改房东信息的功能。5.查询房屋信息的功能:房屋位置、价格、以与房屋管理中的每一要素都可以作为查询点。6. 查询房东信息的功能:房东类型、房东某某、以与房东管理中的每一要素都可以作为查询点。7.修改密码:用户可以修改密码。:请求租房房客的详细信息。9.房主上传合同:将word文档以文件的形式存储在磁盘内,在数据库中以路径的格

6、式存储文件。10.租客下载合同并上传,通过word格式下载下来填写并上传,更新磁盘文件中的内容。3系统总体设计1. 登录管理:实现以正确用户名、密码和登录人员身份或权限才能登陆系统的功能,正确登录之后才能进展之后的管理。如果登录失败,进展注册操作。2.管理员管理模块:房屋信息的增删改查,房客信息的查询,房东信息的增删改查,合同的获取和核查;3.房东管理模块:房屋的增删改查,房客的查询,合同的获取和审核,租金的查询,承受租房请求五大功能。4.房客管理模块:查询房屋,查询房东,租房请求,打印合同进展签字。4数据库设计E-R图:这里的用户包括管理员,房东和房客,所以用户和房屋信息表,房东信息表之间是

7、用户操作两X表的关系,这里的操作试着增删改查。对于租房信息表的操作。房东和管理员是查询的操作,对于房客来说是指插入信息的而操作。而用户对于用户表的操作是指登录时的查询和未登录时的注册。用户信息表用户名,密码,权限;房屋信息表房屋编号,房屋位置,房东某某,房屋的租赁状态,房屋类型,装修状况,屋内设施,房屋价格,入住时间,备注信息,房屋图片;房东信息表某某号,某某,性别, ,房东账户余额,房东的类型,房东照片;租房信息表房屋编号,某某号,房客的某某,开始租住时间,租住月份数,联系 ,月租金,房客照片;房东类型表类型编号,类型名称;房屋类型表类型编号,类型名称;表设计用户信息表:manager表us

8、ernchar(10)Passwordnchar(10)TypeInt房屋信息表:roominf表numnchar(10)locationnchar(10)namenchar(10)typenchar(10)designnchar(10)Faclitiesnchar(10)pricefloatlivetimedatetimeinstruductionvarchar(50)statuenchar(10)imgimage房东信息表:hosterinformationidnumnvarchar(50)typeNamenchar(10)hosternamenchar(10)sexnchar(10)te

9、lphonenvarchar(50)accountfloatimgimage租房信息表rentroom表:roomnumnchar(10)idnumnvarchar(50)namenchar(10)starttimedatetimemonthnumintmonthlyrentfloattelphonenvarchar(50)imgimage房东类型表hostertype表:TypeidIntTypenamenchar(10)房屋类型表housetype表:TypeidIntTypenamenchar(10)建立表约束:1 要为11位:len(telphone)=(11);(2)房屋编号要为8位

10、:len(num)=(8);3用户密码为6位:len(password)=(6);4某某为18位:len(idnum)=(18);5 系统功能模块实现5.1 model层实体Model)用于实现UIBLLDAL之间的数据传递。实体Model)用于封装实体类数据结构,映射数据库的数据表或视图,用以描述业务中客观存在的对象。Model别离出来是为了更好地解耦,为了更好地发挥分层的作用,更好地进展复用和扩展,增强灵活性。这个就是该系统的Model层,包括了用户类,房东类,租房类,房屋类,房屋类型类,房东类型类。数据访问层:使用 ADO.NET 中的数据操作类,为数据库中的每个表,设计 1 个数据访问

11、类。类中实现:记录的插入、删除、单条记录的查询、记录集的查询、单条记录的有无判断等根本的数据操作方法。封装每个数据表的根本记录操作,为实现业务逻辑提供数据库访问根底。这是该系统的数据访问层,包括数据库的连接类,数据库的增删改查操作,用户类,房屋类,房客类,租房类的增删改查操作。业务逻辑层是数据访问层与界面层之间的桥梁。通过业务逻辑层,界面层能够调用数据逻辑层中对数据库操作的方法。同时,用过业务逻辑层,数据访问层能够把数据库的操作结果返回该界面层。这是该系统的业务逻辑层,包括了房东类,房屋类,用户类,租房类的所有业务操作。展现给用户的界面,即用户在使用一个系统的时候他的所见所得。用于接收用户输入

12、的数据和显示处理后用户需要的数据。这是该系统的界面层,通过连接数据库,实现系统所需的所有功能。清晰明了地展示后台数据。非常便捷。1.登录模块:选择用户类型,通过用户名和密码进展登录操作。如果无法登陆请先进展注册。实现不同用户类型登录的代码如下:string s1 = boBox1.Text;int flag = 0;if (s1 = 管理员) ma.Type = 0; flag = ma.Type; if (s1 = 房东) ma.Type = 1; flag = ma.Type; if (s1 = 房客) ma.Type = 2; flag = ma.Type; ma.User = boBo

13、x2.Text; ma.Password = textBox1.Text;/验证登录if (auser.managerlogin(boBox2.Text,textBox1.Text,flag) MessageBox.Show(该用户登录成功!);this.Hide();if (ma.Type = 0) /管理员的主窗体MainofManager mai = newMainofManager(ma); mai.ShowDialog(); if (ma.Type = 1) /房东的主窗体MainofHoster mah = newMainofHoster(ma); mah.ShowDialog()

14、; if (ma.Type = 2) /房客的主窗体RenterMain mar = newRenterMain(ma); mar.ShowDialog(); else MessageBox.Show(没有该用户,请先注册!); 2.管理员管理模块:从中可以看出包括房屋管理,房客管理,房东管理,合同管理四大模块。2.1房屋管理:treeview中显示房屋的各种类型,listview中显示房屋的图片,以与datagrid中显示该类型房屋的所有信息。一目了然。房屋管理模块的而功能是对房屋的增删改查。在这里也可以修改用户的密码。2.1.1房屋的增删改查以与修改当前的用户密码:房屋的增加:房屋的修改:

15、房屋的查询:房屋类型的增删改查操作:修改用户密码:这里在点击用户中心修改密码的时候,用户名,用户类型,密码要自动显示在修改密码窗体上。2.2房东管理模块:和房屋管理模块的思路是一样的。所以该局部的功能实现就不贴照片了。2.3合同管理:获取word文档,这个word文档是房客已经签过字的文档,所以可以查看房客的签名。如下图中最后一行可以看到房客的签名实现的代码如下:/调用打开文件对话框获取要打开的文件WORD文件,RTF文件,文本文件路径名称OpenFileDialog opd = newOpenFileDialog(); opd.InitialDirectory = D:/14信管二30班王文

16、雅三层架构实例/wordfile; opd.Filter = Word文档(*.doc)|*.doc|文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文档(*.*)|*.*; opd.FilterIndex = 1;if (opd.ShowDialog() = DialogResult.OK & opd.FileName.Length 0) /建立Word类的实例,缺点:不能正确读取表格,图片等等的显示ApplicationClass app = new Microsoft.Office.Interop.Word.ApplicationClass();Docume

17、nt doc = null;object missing = System.Reflection.Missing.Value;object FileName = opd.FileName;object readOnly = false;object isVisible = true;object index = 0;try doc = app.Documents.Open(ref FileName, ref missing, ref readOnly,ref missing, ref missing, ref missing, ref missing, ref missing,ref miss

18、ing, ref missing, ref missing, ref isVisible, ref missing,ref missing, ref missing, ref missing); doc.ActiveWindow.Selection.WholeStory(); doc.ActiveWindow.Selection.Copy();/从剪切板获取数据IDataObject data = Clipboard.GetDataObject();this.richTextBox1.Text = data.GetData(DataFormats.Text).ToString(); final

19、ly if (doc != null) doc.Close(ref missing, ref missing, ref missing); doc = null; if (app != null) app.Quit(ref missing, ref missing, ref missing); app = null; 2.4房客管理:这里是管理员对已经递交了租房请求的房客的查询。3.房客管理模块:包括查询房屋,查询房东,租房请求,打印合同四大模块。查询房屋:可以通过备注,居住日期,价格等房屋信息查询房屋。3.2查询房东:通过某某,房东某某等租房信息可以查询到房东的信息。3.3申请租房:需要把房

20、客自己的所有信息都上传,以便房东的审核。3.4打印合同:打印合同是为了签字,签完字之后将文件已房屋编号为名的格式保存。方便房东的获取合同进展审核。实现打印的代码如下:Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application();object fileName = D:/14信管二30班王文雅三层架构实例/wordfile/合同.doc;object confirmConversions = Type.Missing;object readOnly = tru

21、e;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.Miss

22、ing;object openRepair = Type.Missing;object docDirection = Type.Missing;object notEncoding = Type.Missing;object xmlTransform = Type.Missing; Microsoft.Office.Interop.Word.Document doc = wordApp.Documents.Open(ref fileName, ref confirmConversions, ref readOnly, ref addToRecentFiles,ref passwordDoc,

23、ref passwordTemplate, ref revert, ref writepwdoc,ref writepwTemplate, ref format, ref encoding, ref visible, ref openRepair,ref docDirection, ref notEncoding, ref xmlTransform); wordApp.Visible = true; doc.PrintPreview();4.房东管理模块:包括房屋管理,租金管理,房客管理,合同管理以与承受租房。合同管理功能和上面的管理员的合同管理是一样的就不写了。4.1租金管理:查询每个房子的

24、租金。4.2房客管理:查询目前有哪些房客要租房。和上面的管理员的房客管理一样,不再啰嗦。4.3承受租房:首先是要查看合同,然后是查看房客信息,这里在datagrid中没选中一行即可显示房客的详细信息。点击同意出租的时候要在房屋信息表中把明确未出租的信息变为已出租。同意出租的代码如下所示:/显示出租之后房客的所有信息string constr = Properties.Settings.Default.constr;privatevoid AgreeRent_Load(object sender, EventArgs e) DataTable dtb = newDataTable();SqlCo

25、nnection con = newSqlConnection(constr);string sql = string.Format(Select * from roomrent );SqlDataAdapter ada = newSqlDataAdapter(sql, con); ada.Fill(dtb); dataGridView1.DataSource = dtb; dataGridView1.Columnsimg.Visible = false; /同意出租,即意味着:房间的未出租状态要变为已出租privatevoid button2_Click(object sender, Eve

26、ntArgs e) /roominformation room = new roominformation();/修改房屋的出租状态HouseDal hda = newHouseDal();if (hda.statue( num,已出租 ) MessageBox.Show(num+ 号房已经被同意出租啦!); else MessageBox.Show(房东还没有同意,建议 咨询!); 6遇到的问题和解决方法(1) 在将查询之后的数据填充到datagrid中时因为忘记将数据加到datagrid中的行中而不能显示。type.TypeId = (int)dataGridView1.CurrentRo

27、w.Cells0.Value;textBox1.Text = dataGridView1.CurrentRow.Cells0.Value.ToString();type.TypeName = textBox2.Text = dataGridView1.CurrentRow.Cells1.Value.ToString();(2) 不能实现获取合同和打印合同时,解决的方法是:首先在添加引入中引入:Microsoft.Office.Interop.Word;然后:using Microsoft.Office.Interop.Word;这样做完之后还是或有Application接口不能使用的错误,这个

28、问题的解决就是:在引用中右,打开它的属性,把嵌入互操作类型改为:false。7总结当我把所有的代码都写完的时候,真的是一种满足感和成就感油然而生,就算是已经连续熬夜两天的状况。但是我也要自我检讨一下,因为代码是三个晚上熬夜写的,因为当我开始建数据库的时候就就一直感觉无从下手,我想的太多,做的太少。我觉得写系统的时候一定要克制为难的心理,不要一直自己想呀想,试图通过想象就可以一步到位,不用经过多的修改就可以写出一个完美的系统。这是不可能的,一定要先实现再完美,系统的完善一定是不断得试错,不断地改错才会逐步完善。所以写系统的时候可以先不需要建一个完美的数据库出来,数据库的完善也是要通过代码的调整而

29、调整的。所以可以一边调研,一边完善数据库,一边实现功能。我觉得这个系统我的数据库建的不好,没有实现所有的实体关系都是1:n的关系。所以数据库的建立还需要改良。尽管现在所有的代码都实现了,但是还是有很多细节没有注意到,下面这些细节都是需要后续的工作去完成。1. 自动登录和记住密码的功能没有实现。我是用读取文档和写文档的方法实现,但是没有成功。我是想用数据库的方法去实现它。2. 当选择用户权限登录的时候,房东和管理员的注册时应该被限制的,不然随便一个人注册一个账号就可以修改房屋,房东和房客的信息是很不合理的。所以这里要有一个超级用户去实现登录与注册的管理。3. 我没有用存储过程写,教师说大型一点的系统一定要用存过程去实现。存储过程的使用可以少些很多代码。一定要多用。4. 房东账户余额的设置那里很不好,因为我没有实现房东的余额通过房屋出租的完成实现自动添加。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号