本文主要探讨“房屋租赁管理系统”的理论基础和设计思想。系统的开发过程和功能实现为主线,论述数据库管理软件的开发过程。本系统以软件工程理论作为系统开发的理论基础,以客户机/服务器模式的关系型数据库作为后台,以专业数据库开发语言作为实现手段的数据库管理软件的开发过程分析和理论研究。
开发工具方面,本系统采用JSP 2.0和SQL。开发过程分为后台数据库的建立与设置、软件界面的设计与实现、程序的编写与调试等几个阶段。本文详细地介绍了开发系统的具体步骤,以及应用的技术,并在文中通过配图例的方式详尽说明。此外,还对一些源程序作了详细的解释。
需求分析
房屋租赁管理系统需求主要来自房屋登记,管理房源和管理人员。房屋登记将用户需要登记的房屋的信息输入系统,由系统自动归类储存,随时可以查阅修改。房屋管理人员可利用本系统,输出房屋名单,自动生成统计报表、房屋出售合同、房屋出租合同。一般情况下,普通用户只能浏览查询房屋具体信息,而超级用户除了能查询房屋具体信息以外,还能够直接登记房屋信息,但是不能随意修房屋数据,尤其是房屋出售合同和房屋出租合同等敏感信息。
因此,用户, 超级用户和房屋管理人员的的权限要明确区分开来,防止操作时因操作错误产生的数据丢失和数据错误,因此,这就需要在设计模块时加以考虑。房屋管理人员还有一个任务是对各个人员的使用权限进行管理,对数据库中的房屋信息进行实地考核和协助客户填写房屋出售合同和房屋出租合同,并将其打印出来存档管理,在出租合同到期后即时的回收房屋使用权,并再次将此房屋出租,进入下一个出租循环中。
本系统的功能有:房屋出租登记输入处理,房屋出售登记输入处理,房屋登记表修改处理(有输入、取消、确认、修改、删除等功能),房屋查询处理(按地址,面积,使用权查询等),房屋出租情况报表统计处理,房屋出售情况报表统计处理(包含打印功能),房屋出租合同录入和打印功能,房屋出售合同录入和打印功能,购买房屋基本常识介绍功能。
系统处理流程图
总体结构设计
系统的概要设计中最重要的就是系统的模块化。模块化是指解决一个复杂问题时自项向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。
将系统划分为多个模块是为了降低软件系统的复杂性,提高可读性、可维护性,但模块的划分不能是任意的,应尽量保持其独立性。也就是说,每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。
通过对整个系统的规划分析,对数据的具体要求的分析,以及对系统功能的综合考虑,提出一个基本的总体结构框架。
房屋中介管理系统的层次划分为几个方面:用户界面,数据缓冲,数据库,输出等。
用户界面层次:距离用户最近的层次,以图形化界面显示给用户,便于用户进行基本操作,用户可以在这里输入数据,修改数据,删除数据,设定选配标准,设定查询条件等。用户对系统的所有输入内容在此层次上操作。
数据缓冲层次:在这个层次中,用户所做的修改尚未提交到数据库中,而是保存在一个临时缓冲区中。此时,所有操作是由系统本身操作,包括在数据缓冲区内增加信息,修改信息,删除信息等,也包括执行选配过程,判断查询条件的合法性等。这一层次中,系统主要执行提交数据库之前的所有工作,确保提交数据的合法性和准确性,尽量减少数据库错误。
数据库层:主要操作在数据库中执行,主要工作是:将缓冲区的数据存入数据库,执行查询语句等。由于数据是经过缓冲区检查的,所以可以大大减少数据库的非法操作,减少数据出错的情况,查询时的非正常情况大大减少。
输出层:在这个层次中,不需要进行数据库操作和用户输入操作,这个层次的主要工作是把结果显示给用户,包括查询结果,统计图,错误信息,提示信息等。
用户登陆
procedure TFrm_Login.bbtnokClick(Sender: TObject);
begin
//录入检验
if cbUserId.text='' then
begin
messagedlg('请 选 择 用 户 名 !',mtInformation,[mbok],0);
cbUserId.SetFocus();
exit;
end;
//登录验证
with JDBCQ_Temp do
begin
close;
SQL.Clear;
SQL.Add('SELECT * From 用户信息表 Where 用户名='+''''+cbUserId.Text+'''');
Open;
//用户有效性
IF not IsEmpty then
begin
//登录失败