C#课程设计房屋租赁系统(共27页).doc

上传人:飞****2 文档编号:16644592 上传时间:2022-05-18 格式:DOC 页数:27 大小:534KB
返回 下载 相关 举报
C#课程设计房屋租赁系统(共27页).doc_第1页
第1页 / 共27页
C#课程设计房屋租赁系统(共27页).doc_第2页
第2页 / 共27页
点击查看更多>>
资源描述

《C#课程设计房屋租赁系统(共27页).doc》由会员分享,可在线阅读,更多相关《C#课程设计房屋租赁系统(共27页).doc(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上郑 州 科 技 学 院课 程 设 计课程设计名称: C#房屋中介管理系统 专 业 班 级 : 10级计科2班 学 生 姓 名 : 高道辉 学 号 : 指 导 教 师 : 王玉萍 课程设计时间: 专心-专注-专业摘 要房屋中介管理系统用来对求租者的求租意向设置开始到最后的住户信息管理全过程进行管理.该系统是应对房屋中介管理的现代化,网络化,逐步摆脱房屋中介管理的人工管理方式,提高求助者管理效率而开发的,它包括求租者的信息录入、房屋信息的查询、客户信息查询、出租人信息查询、利润信息等。可以更快的了解到每个求租者的房屋信息,更加快捷的为不同的求租者分配到合适的房子,提高资源

2、的利用率,使房屋中介更加智能化,人性化。房屋中介管理系统是一个现代化软件系统,它通过集中式的信息数据库将各种档案管理功能结合起来,达到共享数据,降低成本,提高效率,改进服务等目的。目录1.引言随着社会的发展,现在,越来越多的人开始涌向城市。在城市中大多数劳动者还是买不起房子的,所以他们就必须租房子。以往的各种房子信息都不全,而且是人工去选择如何去分房子,比较麻烦与冗余,此系统的应用将会大大减轻人力的劳动,让您能更加合理高效的选择您想要租的房子,对于出租者来说,也能很好的管理,给他们的生活带来大大的方便。此软件控制租房和管理已取代了传统全手工方式。采用先进的计算机系统管理房屋、客户、出租人等信息

3、。能及时的反映出出租房子的数目,以及所剩的房子数,能查询到出租人的信息,能查到客户的信息,能记录房子的租期,以及租金。1.1问题的提出目前,很多房屋出租都存在这样的现象:分散的、不系统的,管理比较混乱,不利于出租人和顾客能高效的选择自己心仪的房屋,所存在问题如下:1) 客户对房屋的具体信息不了解2) 出租人对客户的信息不了解,造成管理不便3) 客户不能及时的选择自己想要的房子4) 各种中间环节繁琐,冗余1.2课题的研究目的研究该课题是为了通过对“房屋中介管理系统”的设计与实现,熟悉这类的信息管理系统的开发原理及流程。在设计过程,能够深入地理解面向对象设计方法的优越性,获得这些方面的相关经验。对

4、一个即将毕业的计算机专业本科生来说,又想在软件行业领域里有所发展,研究并应用面向对象设计方法是百益无一害的,可以使其走向社会后能够快速地适应行业需求。这正是本次设计的根本目的所在。1.3 课题所要解决的问题u 统计房屋的信息(例如在地址、装修、户型等)u 统计出客户的信息(例如客户的编号、姓名、性别、身份证号等)u 统计出出租人的信息(编号,姓名,联系方式等)1.4课题的研究意义 首先,该课题属于管理信息系统范畴。而管理信息系统(Management Information System,简称MIS)在现代社会已深入到各行各业,是一个不断发展的新学科,是由人和计算机设备或其他信息处理手段组成并

5、用于管理信息的系统。再加上行业信息化的热潮才刚刚开始,特别是中小型企业的信息化建设步伐刚刚迈出第一步。管理信息系统的开发的市场将是非常庞大的。这种需求对开发人员在数量上和素质上的要求也是非常迫切的。为了满足市场的需求以及能在竞争中取胜,系统设计人员就不仅仅是单纯地满足用户对功能的要求,还要从设计方法上来加以改进。其次,面向对象方法是一种非常实用的软件开发方法,它一出现就受到软件技术人员的青睐,现在已经成为计算机科学研究的一个重要领域,并逐渐成为软件开发的一种主要方法。面向对象的程序设计将数据及对数据的操作方法封装在一起,作为一个互相依存、不可分离的整体。采用这种方法来设计系统,可以增加系统的安

6、全性。同时通过继承与多态性,使程序具有很高的可重用性,使软件的开发和维护带来了方便。由于面向对象方法的突出优点,它才被广大用户所爱好。2.概要设计 2.1设计目的根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理信息系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库管理信息系统的目的。 2.2设计内容题目可根据自己熟悉的物品填充,例如图书进销存系统、电脑设备进销存系统、药品进销存系统等等,下面以房屋中介系统为例完成功能:1) 房屋信息、出租人信息2) 客户查询、房屋查询以上功能可根据自己对不同物品主要的管理需求进行调

7、整,可以增加或减少相应功能。3.系统分析 3.1需求分析就目前社会中房屋出租所出现的问题,做了分析,通过此系统要解决各类有关房屋出租以及住户的信息的统计及查询,能够快速的进行各类信息的添加,修改以及查询,减少工作人员的参与和基础信息的录入,使系统具有良好的自治功能和信息循环,减少管理人员,减轻管理人员的任务,降低管理成本。3.2 可行性分析开发任何一个基于计算机的系统,都会受到时间和资源上的限制。因此,在接受任何一个项目开发任务之前,必须根据客户可能提供的时间和资源条件进行可行性分析,以减少项目开发风险,避免人力、物力和财力的浪费。本系统数据库采用目前比较流行的Microsoft SQL Se

8、rver,该数据库系统在安全性、准确性、运行速度方面有绝对的优势,并且处理数据库量大,效率高;开发工具采用Delphi7,Delphi7是目前应用最广泛的数据库系统开发工具,可以快速开发Windows应用程序。4.系统设计4.1系统运行环境系统开发平台:Microsoft Visual Studio 2005系统开发语言:C#数据库管理软件:SQL Server 2005运行平台:Windows 2003 Win7运行环境:Microsoft.NET Framework SDK v2.04.2系统设计出租人信息房屋信息房屋中介管理系统数据维护系统管理系统帮助退出系统前台操作数据备份数据还原数据

9、备份数据备份图表 1 系统业务图4.3概念结构设计1. 客户信息实体E-R图:客户信息客户性别客户户籍客户姓名身份证号客户编号租金交租时间入住时间房间号合同编号备注图表 2 客户信息实体E-R图2.出租人信息实体E-R图:出租人信息租金联系方式姓名身份证号合同编号备注图表 3 出租人信息实体E-R图3.房屋信息实体E-R图:房屋信息宽带备注楼层实住人数空调电话电视额定人数地址户型户主身份证号编号价位面积厨房卫生间图表 1 房屋信息实体E-R图4.4逻辑结构设计根据设计好的E-R图在数据库中建立各表,系统数据库中各表的逻辑结构如下:客户信息表:字段名数据类型长度主键描述CustomerIDcha

10、r18是客户编号CustomerNamearchar20否客户姓名Sexchar2否客户性别NativePlacevarchar50否客户户籍IDCardchar18否身份证号RoomIDchar4否房间号InDatedatetime否开始入住时间RentalDatedatetime否交租时间ContractIDChar8否合同编号CustomerRentalmoney否租金Remarkvarchar50否备注图表 2 客户信息表出租人信息:字段名数据类型长度主键描述RenterIDChar18是出租人身份证号RenterNameVarchar20否出租人姓名ContractVarchar20

11、否合同编号ContractIDchar8否出租人联系方式RenterRentalMoney否租金RemarkVarchar50否备注图表 3 出租人信息表房屋信息:字段名数据类型长度主键描述RoomIDchar4是房间编号RenterIDarchar18否户主身份证号RoomTypechar20否房屋类型Locationvarchar50否房屋地址Floorvarchar2否楼层RatingNumSmallint否额定人数TrueNumSmallint否实住人数AreaSmallint否面积Pricemoney否价位AirConditionbit否有空调否Telephonebit否有电话否TV

12、bit否有电视否WashRoombit否有卫生间否Kitchenbit否有厨房否Internetbit否有网络否Remarkbit否备注图表 7 出租人信息表4.5窗体设计主窗体图表 8 登录窗口图表9 出租人信息图表10 房屋信息图表 11 房屋查询窗体图表 12 客户查询窗体图表 43 客户入住查询窗体窗体顶端5.主要功能模块设计5.1主窗体1.实现主窗体的运行 static void Main() Application.Run(new mainform();private void menuItem5_Click(object sender, System.EventArgs e)Ap

13、plication.Exit();private void menuItem6_Click(object sender, System.EventArgs e)Form Renter = new Renter();for(int x=0;xthis.MdiChildren.Length;x+)Form tempChild = (Form)this.MdiChildrenx;tempChild.Close();Renter.MdiParent = this;Renter.WindowState = FormWindowState.Maximized;Renter.Show();private v

14、oid menuItem7_Click(object sender, System.EventArgs e)Form Room = new Room();for(int x=0;xthis.MdiChildren.Length;x+)Form tempChild = (Form)this.MdiChildrenx;tempChild.Close();Room.MdiParent = this;Room.WindowState = FormWindowState.Maximized;Room.Show();private void menuItem8_Click(object sender, S

15、ystem.EventArgs e)Form RoomQuery = new RoomQuery();for(int x=0;xthis.MdiChildren.Length;x+)Form tempChild = (Form)this.MdiChildrenx;tempChild.Close();RoomQuery.MdiParent = this;RoomQuery.WindowState = FormWindowState.Maximized;RoomQuery.Show();private void menuItem10_Click(object sender, System.Even

16、tArgs e)Form Customer = new Customer(1);for(int x=0;xthis.MdiChildren.Length;x+)Form tempChild = (Form)this.MdiChildrenx;tempChild.Close();Customer.MdiParent = this;Customer.WindowState = FormWindowState.Maximized;Customer.Show();private void menuItem9_Click(object sender, System.EventArgs e)Form Cu

17、stomerQuery = new CustomerQuery();for(int x=0;xthis.MdiChildren.Length;x+)Form tempChild = (Form)this.MdiChildrenx;tempChild.Close();CustomerQuery.MdiParent = this;CustomerQuery.WindowState = FormWindowState.Maximized;CustomerQuery.Show();private void menuItem11_Click(object sender, System.EventArgs

18、 e)Form Profit = new Profit();for(int x=0;xMdiChildren.Length;x+)Form tempChild = (Form)MdiChildrenx;tempChild.Close();Profit.MdiParent = this;Profit.WindowState = FormWindowState.Maximized;Profit.Show();private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArg

19、s e)switch(toolBar1.Buttons.IndexOf(e.Button)case 0:Form Renter = new Renter();for(int x=0;xthis.MdiChildren.Length;x+)Form tempChild = (Form)this.MdiChildrenx;tempChild.Close();Renter.MdiParent = this;Renter.WindowState = FormWindowState.Maximized;Renter.Show();break;case 1:Form Room = new Room();f

20、or(int x=0;xthis.MdiChildren.Length;x+)Form tempChild = (Form)this.MdiChildrenx;tempChild.Close();Room.MdiParent = this;Room.WindowState = FormWindowState.Maximized;Room.Show();break;case 2:Form RoomQuery = new RoomQuery();for(int x=0;xthis.MdiChildren.Length;x+)Form tempChild = (Form)this.MdiChildr

21、enx;tempChild.Close();RoomQuery.MdiParent = this;RoomQuery.WindowState = FormWindowState.Maximized;RoomQuery.Show();break;case 3:Form CustomerQuery = new CustomerQuery();for(int x=0;xthis.MdiChildren.Length;x+)Form tempChild = (Form)this.MdiChildrenx;tempChild.Close();CustomerQuery.MdiParent = this;

22、CustomerQuery.WindowState = FormWindowState.Maximized;CustomerQuery.Show();break;case 4:Form Profit = new Profit();for(int x=0;xMdiChildren.Length;x+)Form tempChild = (Form)MdiChildrenx;tempChild.Close();Profit.MdiParent = this;Profit.WindowState = FormWindowState.Maximized;Profit.Show();break;case

23、5:Application.Exit();break;private void menuItem4_Click(object sender, System.EventArgs e)Form Help = new Help();for(int x=0;xMdiChildren.Length;x+)Form tempChild = (Form)MdiChildrenx;tempChild.Close();Help.MdiParent = this;Help.WindowState = FormWindowState.Maximized;Help.Show(); 5.2顾客信息查询窗体1. 对顾客信

24、息查询,方便进行相关的操作,代码如:private void btQuery_Click(object sender, System.EventArgs e)strSql= select CustomerName 客户姓名,Sex 性别,NativePlace 籍贯,IDCard 身份证号,InDate 入住时间,+RentalDate 交租时间,CustomerRental 月租,ContractID 合同编号,Remark 备注,CustomerID 客户编号,+RoomID 房屋编号from Customer where ;if(textRoomID.Text != )strSql =

25、strSql+RoomID=+textRoomID.Text+;else if(textCustomerID.Text != )strSql = strSql+CustomerID=+textCustomerID.Text+;else if(textName.Text != )strSql = strSql+CustomerName like+%+textName.Text+%;elseMessageBox.Show(请选择查询条件!,提示);return;FillDataGrid(strSql);private void btAll_Click(object sender, System.E

26、ventArgs e)strSql= select CustomerName 客户姓名,Sex 性别,NativePlace 籍贯,IDCard 身份证号,InDate 入住时间,+RentalDate 交租时间,CustomerRental 月租,ContractID 合同编号,Remark 备注,CustomerID 客户编号,+RoomID 房屋编号from Customer;sqlCommand1.CommandText = strSql;FillDataGrid(strSql);private void btNew_Click(object sender, System.EventA

27、rgs e)textCustomerID.Clear();textName.Clear();textRoomID.Clear();private void btCheck_Click(object sender, System.EventArgs e)tryProfit profit = new Profit(dataGrid1dataGrid1.CurrentCell.RowNumber,9.ToString();profit.Show();catchMessageBox.Show(请先选择客户!,提示);public void FillDataGrid(string sql)if(sqlC

28、onnection1.State = ConnectionState.Closed)sqlConnection1.Open();Console.WriteLine(sql);ds = new DataSet(t_customer);SqlDataAdapter adapter = new SqlDataAdapter(sql,sqlConnection1);adapter.Fill(ds,t_customer);dataGrid1.SetDataBinding(ds,t_customer);2.保存出租者的信息,代码如下private void btNew_Click(object sende

29、r, System.EventArgs e)this.textContact.Clear();this.textContractID.Clear();this.textRenterID.Clear();this.textRenterName.Clear();this.textRenterRental.Clear();this.textRemark.Clear();private void btSave_Click(object sender, System.EventArgs e)this.add = true;if(textContractID.Text=|textRenterID.Text

30、=|textRenterRental.Text=)MessageBox.Show(请输入完整信息!,提示);return;int renterID = Convert.ToInt16( this.textRenterID.Text);string renterName = this.textRenterName.Text;float renterRental = Convert.ToSingle(this.textRenterRental.Text);int contractID = Convert.ToInt32(this.textContractID.Text);string contac

31、t = this.textContact.Text;string remark = this.textRemark.Text;if(add)this.renterManage.Renter_Add(renterID,renterName,renterRental,contractID,contact,remark);MessageBox.Show(保存成功!);this.FillDataGrid(this.strSql);elseif(this.renterManage.Renter_Modify(renterID,renterName,renterRental,contractID,cont

32、act,remark)MessageBox.Show(修改成功!,提示,MessageBoxButtons.OK,MessageBoxIcon.Information);this.FillDataGrid(this.strSql);elseMessageBox.Show(修改失败!,提示,MessageBoxButtons.OK,MessageBoxIcon.Information);this.sqlCommand1.CommandText = this.strSql;trythis.sqlConnection1.Open();this.sqlCommand1.ExecuteNonQuery(

33、);this.FillDataGrid(this.strSql);catch(System.Exception E)MessageBox.Show(E.ToString();finallythis.sqlConnection1.Close();this.add = false;3.出租者管理,部分代码如下:public void Renter_Add(int renterID,string renterName,float renterRental,int contractID,string contact,string remark)this.strSql=insert into Rente

34、r (RenterID,RenterName,RenterRental,ContractID,Contact,Remark)+ values(+renterID+,+renterName+,+renterRental+,+contractID+,+contact+,+remark+);this.sqlCommand1.CommandText = this.strSql;trythis.sqlConnection1.Open();this.sqlCommand1.ExecuteNonQuery();catch(System.Exception E)Console.WriteLine(E.ToSt

35、ring();finallythis.sqlConnection1.Close();public bool Renter_Modify(int renterID,string renterName,float renterRental,int contractID,string contact,string remark)this.strSql=update Renter set RenterName=+renterName+,+RenterRental=+renterRental+,+ContractID=+contractID+,+Contact=+contact+,+Remark=+re

36、mark+ where RenterID=+renterID+;this.sqlCommand1.CommandText=this.strSql;trythis.sqlConnection1.Open();this.sqlCommand1.ExecuteNonQuery();return true;catch(System.Exception E)Console.WriteLine(E.ToString();return false;finallythis.sqlConnection1.Close();public void Renter_Del(int renterID)this.strSq

37、l=delete from Renter where RenterID= +renterID+;this.sqlCommand1.CommandText=this.strSql;trythis.sqlConnection1.Open();this.sqlCommand1.ExecuteNonQuery();catch(System.Exception E)Console.WriteLine(E.ToString();finallythis.sqlConnection1.Close();总 结在这个软件设计的最初,按照老师的要求一步一步往下做,努力作好需求分析。因为在软件的开发过程中需求分析是十

38、分重要的。在初步了解的基础上,我根据老师给予的关于进销存管理系统设计思路的讲解,对系统进行了详细的需求分析。这样就使我对于系统的开发有了一个大致的思路。在最初的几个星期里,我一直在做完善需求分析的重复工作。这样就为下一步的设计打下了坚实的基础。到了数据库设计阶段,首先选择了SQL Server 2005作为数据库管理系统。因为我所需要的数据库是比较复杂的,经过一段时间的努力,我的数据库建立成功了。下一阶段就到了编程阶段了,在这个阶段我们首先考虑的是界面,一个界面设计的好坏直接关系到使用者的方便程度,于是老师提出的要求就是实用。在实用的基础上尽量美观大方。我经过反复的改正后,界面固定下来。然后就

39、进入编写程序阶段,在编程过程中,我借鉴了很多资料,同时也请教了其他有经验的同学。在可以实现同一功能的多个控件中经过仔细研究,确定了最优的控件。这样在老师的要求和帮助下,我的界面逐渐得以完善并最终确定下来,到了真正编写代码的时候,我在需求分析做的努力逐渐显示出来,因为在这个过程中,我几乎没有遇到什么十分棘手的问题,各项功能也随之增加。在经过和老师的交流讨论之后,我的设计也逐渐进入了尾声。这样,我的设计就基本上完成了。在接下来的时间里,我继续对设计进行优化,包括界面的美观,以及程序的设计。在严格的测试后,逐渐使系统不再出现大的错误,能够很稳定的运行。该系统是用C#完成的,实现的功能比较全面,界面美观。但是需要写太多代码,会遇到许多细节方面的问题(如:数据库的连接、类的使用、函数的使用等等)。还有很多地方有待完善。通过这次的学习设计,对数据库更加了解,还有很多不足的地方。对C#学的还

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁