购买

¥10.0

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 房屋租赁管理系统毕业论文

房屋租赁管理系统毕业论文.doc

房屋租赁管理系统毕业论文

满天星0822
2018-05-18 0人阅读 举报 0 0 0 暂无简介

简介:本文档为《房屋租赁管理系统毕业论文doc》,可适用于高等教育领域

房屋租赁管理系统设计目录摘要Abstract一前言选题背景工具选择二系统总体设计体系结构功能结构设计系统数据库设计窗体结构三各模块设计数据控件模块用户登录模块主窗体设计房产管理模块设计合同管理模块设计租金管理模块设计信息统计模块设计系统维护模块设计四经验总结开发步骤开发心得致谢参考文献房屋租赁管理系统设计摘要Delphi是一个极为优秀的快速开发工具在开发数据库方面的功能极为强大。房屋租赁管理系统就是在delphi平台下开发的。本文共六个小节二、三小节是主要内容主要介绍了房屋租赁管理系统软件的开发过程:系统总体设计和各模块详细设计。详细介绍了系统的总体结构各个模块的功能、流程、实现、及其所用到的主要控件和函数。其中对应一些简单的流程限于篇幅没有给出对于重要的组件和函数作了详细介绍。AbstractDelphiisveryoutstandingandfastinthedevelopmentsoftware,andit#sextremelystrongandbiginthedevelopmentdatabase,TheManagesystemofleasinghousesisdevelopedinunderdelphiThistextistotallymadeofsixparts,Thesecondandthirdpartsismainparts,theyprimarilyintroducethedevelopmentprocessofthesystemsoftwareoftheManagesystemofleasinghouses:Totaldesignofthesystemandthedetaildesignofeachmoldthetotalconstruction、usingofeachmold、process、realizing、maincomponentandmainfunctionaremainlyintroducedSomesimpleprocessesarenotintroducedbecausethelimitofthetextontheotherhandweintroducedmainlysomeimportantcomponentsandsomeimportantfunctions一前言选题背景伴随着计算机的发展软件已经称为电脑用户不可缺少的一部分并且应用也越来越广泛不论时是大型软件还是小型的在各行各业中都得到了广泛的应用。在房产方面不论是从设计还是到管理都用到了计算机用到了软件通过研究发现在管理上小型的租赁管理软件非常的灵活非常的实用并且对一般的用户来说不用花费太多的金钱自己去买大型的软件鉴于此开发小型软件还是很实用的所以此次课程设计选择了开发一个小型软件:房屋租赁管理系统。工具选择软件的开发平台种类很多但是在开发效率和功能方面Delphi具有很大的优势Delphi本身因简单易学、功能强大、编译速度快而在众多的软件开发工具中脱颖而出。现在广为流传的一句话说:ldquo真正的程序员用C聪明的程序员用Delphirdquo鉴于Delphi强大的功能此软件的开发平台选择了Delphi。二系统总体设计体系结构房屋租赁管理系统采用CS结构前台采用Delphi开发平台Delphi有着强大的界面开发平台其开发主要应用了窗体与组件。在Windows环境中人机交换主要在一些窗体和对话框中进行的在Delphi中窗体指的是窗口和对话框进行可视化设计一般就是从窗体开始在窗体中完成的。房屋租赁管理系统的后台应用了Delphi中的DatabaseDesktopDatabaseDesktop(数据库桌面)可以创建、查看和修改数据表的结构它为用户开发简单的数据库应用程序提供了方便它在创建、修改、联结方面非常的简单。它可以嵌入Sql查询语句从而查询非常的简单。此次程序的开发中应用了BDE组件将前后台联结到一起。BDE即BorlandDatabaseEngine的缩写。BDEAdministrator它是数据库引擎管理工具。BDE组件和数据访问组件使数据库应用程序和数据库之间建立了联系同时数据库应用程序还需要将这种联系提供给用户让用户也能浏览和运算数据库这就是数据库应用程序的用户接口。数据控制组件主要用于显示和编辑数据库表中的数据因而也称为数据浏览组件它为编程人员设计用户接口提供了极大的方便。功能结构设计房屋租赁管理系统是一个关于房屋及其出租业务的管理信息系统包括用户登录、房屋管理、合同管理、租金管理、统计和系统维护几个功能模块其结构图如下各主要模块功能如下:()用户登录模块:用来确认用户输入的密码以判断用户是否合法合法用户才能进入系统。()房产管理模块:该模块用来更新和维护系统中的房产信息主要实现对房产数据包括浏览、修改、插入和删除等的操作。()合同管理模块:合同即房屋租赁合同。该模块包括合同信息管理、到期合同处理和合同信息查询几个功能。其中合同信息管理具有产生新的租赁合同以及对已有合同数据的浏览等操作。其中合同信息管理具有自动警告到期以及提示其租金交情况的功能:合同信息查询能提供多种方式的组合信息查询。()租金管理模块:租金收取和租金查询。()统计模块:对本月租金、到期合同、履约金和当前空闲房屋的信息统计。()系统维护模块:数据备份、数据恢复、密码管理。系统数据库设计对于一个大型的复杂的数据库系统为描述和清理数据之间的关系采用ER图在此基础上通过归化的到关系模型而房屋租赁系统较为简单没有采用ER图其包含的实体、属性和关系如下:房产:房屋号、坐落位置、面积、状态、租赁合同号合同:合同号、租期、起租日期、到期日期、付款期限、月租金、租金总额、履约金、乙方单位、联系人、电话、手机、BB、备注。租金:合同号、应收日期、应收金额、实收日期、实收金额、发票号此系统具有三个数据表:房产数据表、合同数据表、租金数据表。()房产数据表结构:housedbfFieldnameTypesizedecfangwuhaoCzuoluoCmianjiNzhuangtaiChetonghaoC()合同数据表结构:contractdbfFieldnameTypesizedechetonghaoNzuqiNqizuriqiCdaoqiriqiCfukuanqixianCyuezujinNzujinzongeNlvyuejinNyijfangClianxirenCdianhuaCshoujiCBBCbeizhuC():租金数据表结构:rentdbffieldtypesizedechetonghaoNyingshouriqiCshishoujinNshishouriqiCshishoujinNfapiaohaoCbiaozhiC窗体结构三各模块设计数据控件模块在房屋租赁系统中有三个数据表:房产数据表house(housedbf)、合同数据表contract(contractdbf)和租金数据rent(rentdbf)。在房产管理模块、合同管理和租金管理模块中用到了这三个表为了使用方便我们将要用到的数据表组件和数据源组件集中放在一个数据模块上这样可以通过数据模块来统一管理这些数据组件。使用了数据模块后访问位于其上的组件的组件的方法:数据模块名组件对象。数据库组件对象主要属性设置组件对象名属性属性值HdatasourcedatasetFtableRdatasourcedatasetRtableCdatasourcedatasetCtableHtabledatabasenamefangwuglTablenamehousedbfRtabledatabasenamefangwuglTablenamerentdbfCtabledatabasenamefangwuglTablenamecontractdbf注:fangwugl是虚拟路径名用户登录模块用户登录窗体运行是让用户输入密码以确定用户是否合法能否进入系统。其界面如下:注:loginform窗体组件的bordericons属性的子项bisystemmenu、biminimize和bimaxinmize均为false。这是为了让该窗体在运行时不显示系统图标避免用户自行关闭该窗体从而跳过用户权限检查。如图:()用户登录此时最多为三次如果密码仍不正确系统将关闭为此在登录窗体初始化事件定义一变量程序如下:procedureTloginformFormCreate(Sender:TObject)beginentertime:=end()rdquo确认按钮rdquo流程如下yesnoyesno()取消按钮功能实现代码如下:procedureTloginformBitBtnClick(Sender:TObject)begincloseapplicationterminate主窗体设计界面如下:主要实现功能:用户成功登录后引导用户进入各模块。主窗体是系统的控制中心应用程序在运行时将首先显示主窗体。用户登录窗体的在主窗体被激活前显示以起到合法性检查的作用。A定义变量varhavelogin:boolean检查是否已经登录。B:主窗体创建事件给havelogin付初值procedureTmainformFormCreate(Sender:TObject)beginhavelogin:=falseendC:onactive事件的处理过程中显示用户登录窗体程序代码如下procedureTmainformFormActivate(Sender:TObject)beginifnothaveloginthenloginformshowend房产管理模块设计功能:房产管理窗体用来更新和维护系统中房产信息主要实现对房产数据包括浏览、修改、插入和删除等的操作。()房产信息管理界面如下:房产信息管理中使用了许多具有数据感知(DatamdashAware)功能的数据控制组件如TDBEdit组件他们通过数据源组件和数据表相连能自动显示数据表中当前记录对应字段的数据值。数据导航组件TDBNzvigator用于实现数据导航和插入、删除等操作通过它不需要变成就可以实现对数据库的常规操作这是Delphi的特点和优势。此程序简单代码如下:procedureThouseformBitBtnClick(Sender:TObject)beginmaindbgridreadonly:=false设置maimdbgrid内容可被修改endprocedureThouseformFormShow(Sender:TObject)beginwithdatacontrlshTabledobeginopen打开房屋数据表endend合同管理模块设计功能:合同管理模块包括:合同信息管理、到期合同处理、合同信息查询和合同总表浏览()合同信息管理在合同信息管理中使用了数据导航器组件TDBNavigator来浏览、添加、和删除合同数据表中的合同信息。A:合同数据浏览浏览合同数据是通过单击数据导航组件对象Dbnavigator的first、prior、next和last四个按钮实现的他们可以改变指向当前记录的指针。与数据库中字段相应的数据感知组件所显示的数据随之而变。tlistbox组件对象choicehousecode用来显示当前合同所租用房屋的房屋号由于一份合同可以租用多个房屋即在一份合同中会包含多个房屋号因而在阿合同数据表中就没有存放所租用房屋的信息这些信息存放在房产数据表中即房产数据表中的合同号字段存放租用租用该房屋的合同号在浏览合同数据时当前合同所租用房屋的房屋号需自己查讯得到。自定义过程addtochoicedhouse用于将当前合同所租用房屋的房屋号在choicehoudecode列表框中显示程序流程如下:YesYesB:增加新合同:增加一份新的房屋租赁合同是通过单击数据导航器组件对象Dbnavigator的insert按钮实现的。单击insert按钮后将在和合同数据表的末尾产生一个新的合同记录用户可在与该记录的各字段相连的数据控制组件对象中填入新合同的有关内容。添加一份新的合同分以下步骤YesYes各步骤简介如下::设置进入新合同状态varaddrecord:Boolean初始化:procedureTcontractformFormShow(Sender:TObject)beginaddrecord:=falseend用户单击数据导航器组件对象dbnavigator的insert按钮进入增加新合同状态:addrecord:=true:自动生产新的合同号在合同管理窗体的Onshow事件程序中算出当前新合同的合同号。此过程有单独定义newrecordcontractno具体见源程序。:自动填入起租日期。此过程有单独定义caltodaydate具体见源程序。:自动提示当前处于空闲状态的房屋号。:关闭数据导航器组件对象Dbnavigator中除确认(post)和取消(cancel)按钮外的其他按钮。因为一份合同要么被确认要么被取消进入增加新合同状态后只能通过确认或取消后才能离开此时须关闭数据导航器组件对象Dbnavigator除(post)和取消(cancel)按钮外的其他按钮以防止用户单击其他按钮中断新合同的生成。C:确认新合同:在增加新合同中完成新合同的填写后单击数据导航器组件对象Dbnavigator中post按钮表示确认此分新合同。此时须完成以下步骤::检查新合同中必填写的项是否已经填写完。流程如下:Yes:在房产数据表中修改所租用房屋信息。流程如下:yes:在租金数据表中生产按照此份新合同应交租金的记录项。新合同在确认时需要在租金表中自动增加按照合同内容客户应交租金的金额和时间的记录项记录项条数为新合同中按付款期限应交租金的次数。流程如下::数据导航器组件对象Dbnavigator恢复原样:结束增加新合同状态。D:取消新合同进入增加新合同状态后单击数据导航器组件对象dbnavigator的cancel按钮表示放弃此分新合同。此时要结束增加新合同状态将数据导航器组件对象Dbnavigtor恢复原样。程序如下:ifaddrecordthenBeginAddrecord:=falseDbnavigatorvisiblebuttons:=nbfirst,nbprior,nbnext,nblase,nbinsert,nbdelete,nbpost,nbcancelEndE:删除合同删除是通过单击数据导航器组件对象Dbnavigator的Delete按钮实现的。合同被删除后该合同在数据库中的数据将全部被删除。流程如下:()到期合同处理到期合同处理主要有两个工能:到期合同处理(正常终止合同)和异常终止合同处理。注释:()到期合同:指合同的到期日期已到。判断到期合同的方法是:一是否是有效合同二是是否已到期。()异常终止是指虽没到期但由于某中原因合同不能继续执行需要被终止。界面如下:主要步骤:A:初始化合同数据即将符合要求的合同号列入已到期合同combobox和将所有有效合同列入异常停止合同combobox中。此事件在tablesheet的onshow事件中实现。B:选择需要处理的合同号:计算到期合同的组租金交数据应付租金总额就是该合同中签订的租金总额就是合同数据表中该合同的租金总额字段的值:实付租金总额为租金数据表中该合同所以纪录项实付金额的累加值。C:计算异常终止合同的租金交情况此流程与上述类似D:终止合同此流流程简单简要介绍如下::用户浏览了所须终止的合同交情况后如果决定马上终止该合同就单击终止按钮。为了作为历史数据备案合同终止后我们并不将其从数据库中删除只是将其状态改变为无效。终止合同的操作能容容如下:a:将合同状态改为无效即合同表中该合同的标志子段的值改为。b:释放改合同租用的所有房屋即在房产数据表中将该合同租用房屋的状态字段改为合同号字段改为空。同时为了作为历史数据保存将该合同的房屋号放在合同数据表中的备注字段中。c:在租金数据表中将该合同所有租金交情况记录改为无效即标志字段的值改为。()合同信息查询:合同信息查讯的主界面如下应用按钮以Radio按钮方式提供了三种查询:按合同号查询、按组主名查询和按租用单位查询。A:ldquo按合同号查询rdquo事件:将所有有效的合同加入到合同号combobox中标志num=流程如下:B:ldquo按租主名查询rdquo事件:将所有有效合同的租主加入到合同号combobox中标志num=。流程与上擂同。C:ldquo按租用单位查询rdquo事件:将所有的有效合同的乙方单位加入到combobox中标志num=流程与上擂同。D:ldquo查询rdquo事件:()合同总表浏览其设置很简单只需对maindbgrid作属性设置即可。租金管理模块设计租金管理窗体包括租金收取和租金查询两个功能。()租金收取的界面如下A:初始化合同数据:应用程序进入租金收取界面时自动填入今日日期并将所有有效的合同号自动填入到contractnum中以供用户选择这个事件发生在租金收取界面的Onshow事件中。流程如下:B:选中合同号租金收取时首先在Contractnum组合框的下拉列表中选中对应的合同号应用程序将租金数据表中该合同的所有记录项的应收日期字段的值自动加入到Mustdate组合框中供用户房屋租用者此次交租金的应收日期。这时在Contractnum组合框的onchange事件中实现的。此程序简单不作概述C:选中应收日期用户在mustdate组合框中选中房屋租用者此次交租金的应收日期后应用程序在租金数据表中定位这条记录dbedit中将显示应收金额字段的值将金日日期填在实收日期项dbedit中这是在mustdate组合框的onchange事件中实现的。此程序简单不作概述。此外令各感知组件可用。D:填入实收金额用户在实收金额dbedit中填入房屋租用者此次实际交得租金额。由于dbedit是对应用租金数据表得实收金额字段得数据感知组件它会自动将填入得值加入到数据库中。()按合同号租金查询按合同号租金查询页面得界面如下图:A按合同号租金查询页面的onshow件的能是将租金数据表所获有记录得合同号字段得值以不重复得形式填入到contractcode组合框中以供用户选择。流程如下:YesYes用户在contractcode组合框的下拉列表中选中所要查询的合同号后该合同的所有租金收取记录将在dbgrid中显示。()按发票号租金查询:按发票号租金查询与按合同号租金查询类似只要少作改动即可。信息统计模块设计()信息统计窗体对本月租金、已到期合同、履约金和空闲房屋进行统计其窗体解如下:主要步骤如下系统维护模块设计系统维护窗体包括数据备份、数据恢复和密码管理三个功能。()数据备份数据备份的页面如下:ldquo开始数据备份rdquo按钮将各数据文件和一个密码文件保存到软盘驱动器A:中的软盘理单击开始数据备份按钮的事件代码如下:此程序主要用到函数copyfile(lsquo原文件rsquo,目的地):例copyfile(#a:housedbf#,#housedbf#,false)此过程简单具体参见原程序()数据恢复:数据恢复界面设计如下ldquo开始数据恢复rdquo按钮将软盘驱动器A中的三个数据文件和一个密码文件保存到应用程序所在的路径下并将三个表打开。ldquo开始数据恢复rdquo按钮事件如下:此过程主要用到两个函数fileexists(lsquofilersquo)和copyfile(lsquo源文件及其路径rsquorsquo目标文件rsquofalse)如fileexists(#housedbf#)判断housedbf是否存在copyfile(#a:housedbf#,#housedbf#,false)判断是否将a:housedbf复制到了当前目录下的housedbf成功返回true。此过程简单具体参见原程序。()密码管理:密码管理界面如下:密码管理用于修改系统登录密码它要求原密码输入正确并且新密码与确认密码相同这在确认按钮中实现流程如下:NoYesNoYes四经验总结开发步骤开发一个软件大体经过以下几步:a)前期准备:此阶段根据用户需要设计数据库及程序界面在此过程中尽量弄用户需求近可能的与用户交流满足用户需求此阶段相当重要若此步与用户相去甚远或者不能满足用户的需求作为一个软件来说是失败的最终导致前功尽弃。b)总体设计:此阶段是在第一阶段的基础上对软件进行总体设计总体设计是在全局应用的基础上对程序功能的一个总体划分同时也是结构的整个划分此阶段做的越好软件总体功能及其分工能就越清晰不论查阅还是进步设计就越容易各模块越清晰则设计起来就越方便。c)流程设计:此阶段是对各模块进行流程编写不论是一个大得软件还是小得程序流程是整个程序得核心它是整个程序得逻辑所在流程设计好了只需根据流程下来整个软件就不会出现大得问题若流程出现了错误则很难保证整个程序不出现错误。d)代码编写:此阶段是在流程得基础上对流程得各阶段进行代码填写此阶段要求序员对所用语言应该相当熟悉同时熟悉组件对象会用相关函数这样在代码编写过程中可以省时省力。e)程序测试:代码编写完以后要对源程序进行测试不论流程多么得正确代码多么得精确整个软件设计出来还是会存在问题得这便需要对整个程序进行测试此阶段最好在用户得配合下精心设计出测试方案尽可能得考虑到所有得可能情况。f)软件的进步改进:完成以上五部基本上一个软件得设计是差不多了但是在程序在运行过程中由于用户需求及以前没有想到得情况需对整个程序作进步得修改。总之有句话说得好ldquo程序是改出来的rdquo我们在前期尽量做到完美但过后仍要不断的修改以进步完善。开发心得()前期工作尽量作的好些有时前期工作做的不好结果是程序做出来了不是不符合用户要求就是总体逻辑不明确出现错误的结果。()Delphi组件丰富要熟悉其组件(最起码要了解)这样在代码编写过程中不会因组件不熟悉而浪费大量的时间。()要学会查资料程序设计过程中我们不可避免的会用到各种函数如果有一本好的参考资料有些东西会变得很简单。()代码编写过程中书写要规范在应该有注释的地方作上注释以备检查和修改用。致谢在这三个月的时间里在学校、老师和同学的帮助下特别是在老使的指导下使得我的论文得以顺利开展并执行下来在此感谢指导老师感谢学校和我的同学们谢谢你们的关心、帮助和指导。由于时间问题此软件还存在许多不足之处望谅解。参考文献《IT小辞典-DELPHI函数》(第一版)主编:左琳陈敬作者:临沂郭影强《电脑商情报》社电子出版部制作《Delphi程序设计导学》(第一版)编著:张春林清华大学出版社《Delphi程序设计技巧与实例》(第一版)编著:吴天准中国铁道出版社《Delphi数据库系统设计与开发》(第一版)编著张春林马成永刘均清华大学出版社《Delphi数据库程序设计》(第一版)编著:杨宗志清华大学出版社《Delphi信息系统设计与开发实例》(第一版)编著:黄明等机械工业出版社《数据库系统概论》(第三版)编著:萨师煊王珊高等教育出版社《数据库和数据库管理系统》王珊陈红等电子工业出版社《数据库基础》(第一版)冯玉才中华理工大学出版社《Evolutionofdatabasemanagementsystem》FryJamesPACMComputingsurveys,《Fundamentalsofdatabasesystems》DeenSM

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

评分:

/30

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利