版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
./学号:2014554330XX财政经济院课程设计报告课程面向对象程序设计题目房屋出租管理系统专业信息管理与信息系统班级14信管二班姓名王文雅指导教师龚春红2017年56月512日课程设计成绩评定表系别:信息管理与信息技术学院专业:2014级信息管理与信息系统学号20145543300姓名王文雅专题*〔设计题目房屋出租管理系统评定成绩功能要求数据库要求项目评判标准〔在每一项目对应的标准下方空格内标记√优秀良好中等及格不及格工作量资料收集方案设计综合应用能力能力技术水平报告撰写质量实习态度评语:指导老师:年月日目录1绪论42需求分析52.2数据流程图:72.3功能需求分析103系统总体设计103.1系统功能模块图103.2系统功能描述114数据库设计114.1概念设计114.2逻辑设计124.3表设计125系统功能模块实现145.1model层145.2数据访问层145.3业务逻辑层155.4界面层155.5功能展示以及代码166遇到的问题和解决办法277总结281绪论该管理系统采用企业现有的软硬件环境及科学的管理系统开发方案,建立房屋租赁信息管理系统,实现房屋租赁信息管理的计算机自动化。系统应符合物业管理企业原有的房屋租赁管理制度,并达到操作直观、方便、实用、安全等要求。将房屋租赁过程中产生的房屋信息归入系统,并利用计算机实现对房屋的分类、查询、统计等功能。高效的房屋信息查询、预警功能,建立一个多角度的查询系统,为用户提供强大的查询功能,将房屋位置、户型、房屋面积、以及租赁合同等房屋管理中的每一要素都作为查询点,形成计算机查询与租赁合同期预警体系,提供高效便捷的查询服务。以合同管理为主线,实现出租房登记、客户管理、合同鉴定、租金管理等功能。该系统实现的是系统管理员对房东,房客,房屋,合同的管理;房客对房屋,房东的查询以及合同的上传打印功能;房东对房屋,房客,合同,租金的管理以及对租房请求的申请的管理。不同的对象有不同的而功能界面,功能比较完善。本系统总共有23个窗体,6张表格,采用三层架构的方法实现。课程设计要求实现:房屋管理:实现管理员或者房东对房屋信息的增删改查功能;房东管理:实现管理员对房东信息的增删改查功能;房客管理:实现管理员或者房东对房客信息的查询,房东对房客租房请求的审核功能;合同管理:房客把合同上传,房东审核合同。租房管理:房客的租房请求,房东的同意租房功能。实验环境:一台装有MicrosoftVisual2012,MicrosoftSQLserver2008R2软件的计算机。2需求分析2.1业务流程分析顶层业务流程图:一级业务流程图:一级业务流程图之房屋管理:一级业务流程图之房客管理:一级业务流程图之房东管理:一级业务流程图之合同管理:一级业务流程图出租管理:2.2数据流程图:用户登录模块:该系统的用户包括:管理员,房东,房客。查询数据库中的用户表〔manager表之后,有该用户就显示登录成功,没有该用户就显示登录失败,则显示提示注册用户的提示,注册之后更新用户表。管理员功能界面模块:包括房屋管理,房客管理,房东管理,合同管理。房东管理功能界面:包括房屋管理,房客管理,合同管理,租金管理,接受租房。房客管理功能界面:包括查询房屋,查询房东,租房请求,打印合同。2.3功能需求分析总的功能流程图:该系统首先是用户根据自己的权限进入该系统,不同的用户有不同的权限和功能。选择用户类型之后即可登陆不同类型的功能模块。细化功能:1.登录管理:实现以正确登录人员身份才能登陆系统的功能,正确登录之后才能进行之后的管理。2.添加:添加房屋信息和添加房东信息的功能。3.删除:删除房屋信息和删除房东信息的功能。4.修改:修改房屋信息和修改房东信息的功能。5.查询房屋信息的功能:房屋位置、价格、以及房屋管理中的每一要素都可以作为查询点。6.查询房东信息的功能:房东类型、房东姓名、以及房东管理中的每一要素都可以作为查询点。7.修改密码:用户可以修改密码。8.房主或者管理员查询房客的功能:请求租房房客的详细信息。9.房主上传合同:将word文档以文件的形式存储在磁盘内,在数据库中以路径的格式存储文件。10.租客下载合同并上传,通过word格式下载下来填写并上传,更新磁盘文件中的内容。3系统总体设计3.1系统功能模块图3.2系统功能描述1.登录管理:实现以正确用户名、密码和登录人员身份〔或权限才能登陆系统的功能,正确登录之后才能进行之后的管理。如果登录失败,进行注册操作。2.管理员管理模块:房屋信息的增删改查,房客信息的查询,房东信息的增删改查,合同的获取和核查;3.房东管理模块:房屋的增删改查,房客的查询,合同的获取和审核,租金的查询,接受租房请求五大功能。4.房客管理模块:查询房屋,查询房东,租房请求,打印合同进行签字。4数据库设计4.1概念设计E-R图:这里的用户包括管理员,房东和房客,所以用户和房屋信息表,房东信息表之间是用户操作两张表的关系,这里的操作试着增删改查。对于租房信息表的操作。房东和管理员是查询的操作,对于房客来说是指插入信息的而操作。而用户对于用户表的操作是指登录时的查询和未登录时的注册。4.2逻辑设计用户信息表〔用户名,密码,权限;房屋信息表〔房屋编号,房屋位置,房东姓名,房屋的租赁状态,房屋类型,装修状况,屋内设施,房屋价格,入住时间,备注信息,房屋图片;房东信息表〔身份证号,姓名,性别,电话,房东账户余额,房东的类型,房东照片;租房信息表〔房屋编号,身份证号,房客的姓名,开始租住时间,租住月份数,联系电话,月租金,房客照片;房东类型表〔类型编号,类型名称;房屋类型表〔类型编号,类型名称;4.3表设计用户信息表:〔manager表usernchar<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>telphonenvarchar<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位:〔len<[num]>=<8>;〔3用户密码为6位:〔len<[password]>=<6>;〔4身份证号码为18位:〔len<[idnum]>=<18>;5系统功能模块实现5.1model层实体〔Model>用于实现UI—>BLL—>DAL之间的数据传递。
实体〔Model>用于封装实体类数据结构,映射数据库的数据表或视图,用以描述业务中客观存在的对象。Model分离出来是为了更好地解耦,为了更好地发挥分层的作用,更好地进行复用和扩展,增强灵活性。这个就是该系统的Model层,包括了用户类,房东类,租房类,房屋类,房屋类型类,房东类型类。5.2数据访问层数据访问层:使用ADO.NET中的数据操作类,为数据库中的每个表,设计1个数据访问类。类中实现:记录的插入、删除、单条记录的查询、记录集的查询、单条记录的有无判断等基本的数据操作方法。封装每个数据表的基本记录操作,为实现业务逻辑提供数据库访问基础。这是该系统的数据访问层,包括数据库的连接类,数据库的增删改查操作,用户类,房屋类,房客类,租房类的增删改查操作。5.3业务逻辑层业务逻辑层是数据访问层与界面层之间的桥梁。通过业务逻辑层,界面层能够调用数据逻辑层中对数据库操作的方法。同时,用过业务逻辑层,数据访问层能够把数据库的操作结果返回该界面层。这是该系统的业务逻辑层,包括了房东类,房屋类,用户类,租房类的所有业务操作。5.4界面层展现给用户的界面,即用户在使用一个系统的时候他的所见所得。用于接收用户输入的数据和显示处理后用户需要的数据。这是该系统的界面层,通过连接数据库,实现系统所需的所有功能。清晰明了地展示后台数据。非常便捷。5.5功能展示以及代码1.登录模块:选择用户类型,通过用户名和密码进行登录操作。如果无法登陆请先进行注册。实现不同用户类型登录的代码如下:strings1=comboBox1.Text;intflag=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=comboBox2.Text;ma.Password=textBox1.Text;//验证登录if<auser.managerlogin<comboBox2.Text,textBox1.Text,flag>>{MessageBox.Show<"该用户登录成功!">;this.Hide<>;if<ma.Type==0>{//管理员的主窗体MainofManagermai=newMainofManager<ma>;mai.ShowDialog<>;}if<ma.Type==1>{//房东的主窗体MainofHostermah=newMainofHoster<ma>;mah.ShowDialog<>;}if<ma.Type==2>{//房客的主窗体RenterMainmar=newRenterMain<ma>;mar.ShowDialog<>;}}else{MessageBox.Show<"没有该用户,请先注册!">;}2.管理员管理模块:从中可以看出包括房屋管理,房客管理,房东管理,合同管理四大模块。2.1房屋管理:treeview中显示房屋的各种类型,listview中显示房屋的图片,以及datagrid中显示该类型房屋的所有信息。一目了然。房屋管理模块的而功能是对房屋的增删改查。在这里也可以修改用户的密码。房屋的增删改查以及修改当前的用户密码:房屋的增加:房屋的修改:房屋的查询:房屋类型的增删改查操作:修改用户密码:这里在点击用户中心修改密码的时候,用户名,用户类型,密码要自动显示在修改密码窗体上。2.2房东管理模块:和房屋管理模块的思路是一样的。所以该部分的功能实现就不贴照片了。2.3合同管理:获取word文档,这个word文档是房客已经签过字的文档,所以可以查看房客的签名。〔下图中最后一行可以看到房客的签名实现的代码如下://调用打开文件对话框获取要打开的文件WORD文件,RTF文件,文本文件路径名称OpenFileDialogopd=newOpenFileDialog<>;opd.InitialDirectory="D:/14信管二30班王文雅三层架构实例/wordfile";opd.Filter="Word文档<*.doc>|*.doc|文本文档<*.txt>|*.txt|RTF文档<*.rtf>|*.rtf|所有文档<*.*>|*.*";opd.FilterIndex=1;if<opd.ShowDialog<>==DialogResult.OK&&opd.FileName.Length>0>{//建立Word类的实例,缺点:不能正确读取表格,图片等等的显示ApplicationClassapp=newMicrosoft.Office.Interop.Word.ApplicationClass<>;Documentdoc=null;objectmissing=System.Reflection.Missing.Value;objectFileName=opd.FileName;objectreadOnly=false;objectisVisible=true;objectindex=0;try{doc=app.Documents.Open<refFileName,refmissing,refreadOnly,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refisVisible,refmissing,refmissing,refmissing,refmissing>;doc.ActiveWindow.Selection.WholeStory<>;doc.ActiveWindow.Selection.Copy<>;//从剪切板获取数据IDataObjectdata=Clipboard.GetDataObject<>;this.richTextBox1.Text=data.GetData<DataFormats.Text>.ToString<>;}finally{if<doc!=null>{doc.Close<refmissing,refmissing,refmissing>;doc=null;}if<app!=null>{app.Quit<refmissing,refmissing,refmissing>;app=null;}}}2.4房客管理:这里是管理员对已经递交了租房请求的房客的查询。3.房客管理模块:包括查询房屋,查询房东,租房请求,打印合同四大模块。3.1查询房屋:可以通过备注,居住日期,价格等房屋信息查询房屋。3.2查询房东:通过身份证号码,房东姓名等租房信息可以查询到房东的信息。3.3申请租房:需要把房客自己的所有信息都上传,以便房东的审核。3.4打印合同:打印合同是为了签字,签完字之后将文件已房屋编号为名的格式保存。方便房东的获取合同进行审核。实现打印的代码如下:Microsoft.Office.Interop.Word.ApplicationwordApp=newMicrosoft.Office.Interop.Word.Application<>;objectfileName=@"D:/14信管二30班王文雅三层架构实例/wordfile/合同.doc";objectconfirmConversions=Type.Missing;objectreadOnly=true;objectaddToRecentFiles=Type.Missing;objectpasswordDoc=Type.Missing;objectpasswordTemplate=Type.Missing;objectrevert=Type.Missing;objectwritepwdoc=Type.Missing;objectwritepwTemplate=Type.Missing;objectformat=Type.Missing;objectencoding=Type.Missing;objectvisible=Type.Missing;objectopenRepair=Type.Missing;objectdocDirection=Type.Missing;objectnotEncoding=Type.Missing;objectxmlTransform=Type.Missing;Microsoft.Office.Interop.Word.Documentdoc=wordApp.Documents.Open<reffileName,refconfirmConversions,refreadOnly,refaddToRecentFiles,refpasswordDoc,refpasswordTemplate,refrevert,refwritepwdoc,refwritepwTemplate,refformat,refencoding,refvisible,refopenRepair,refdocDirection,refnotEncoding,refxmlTransform>;wordApp.Visible=true;doc.PrintPreview<>;4.房东管理模块:包括房屋管理,租金管理,房客管理,合同管理以及接受租房。合同管理功能和上面的管理员的合同管理是一样的就不写了。4.1租金管理:查询每个房子的租金。4.2房客管理:查询目前有哪些房客要租房。〔和上面的管理员的房客管理一样,不再啰嗦。4.3接受租房:首先是要查看合同,然后是查看房客信息,这里在datagrid中没选中一行即可显示房客的详细信息。点击同意出租的时候要在房屋信息表中把表明未出租的信息变为已出租。同意出租的代码如下所示://显示出租之后房客的所有信息stringconstr=Properties.Settings.Default.constr;privatevoidAgreeRent_Load<objectsender,EventArgse>{DataTabledtb=newDataTable<>;SqlConnectioncon=newSqlConnection<constr>;stringsql=string.Format<"Select*fromroomrent">;SqlDataAdapterada=newSqlDataAdapter<sql,con>;ada.Fill<dtb>;dataGridView1.DataSource=dtb;dataGridView1.Columns["img"].Visible=false;}//同意出租,即意味着:房间的未出租状态要变为已出租privatevoidbutton2_Click<objectsender,EventArgse>{//roominformationroom=newroominformation<>;//修改房屋的出租状态HouseDalhda=newHouseDal<>;if<hda.statue<num,"已出租">>{MessageBox.Show<num+"号房已经被同意出租啦!">;}else{MessageBox.Show<"房东还没有同意,建议电话咨询!">;}}6遇到的问题和解决办法在将查询之后的数据填充到datagrid中时因为忘记将数据加到datagri
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论