1引言随着电子计算机和通信技术的发展,人类已经逐渐地进入信息化社会。信息、材料和能源一样成为一种社会的基本生产资料,在人类的社会生产活动中发挥着重要的作用。同时人们对信息和数据的利用与处理也已进入自动化、网络化和社会化的阶段,因此,开发相关的管理信息系统已经成为各行各业的必要和必需了。目前,我国房地产业的迅速发展,房屋出售出租行业业务日益增多,为了适应这种形式,房屋出售出租行业不仅要提高本身的硬件基础,还要有一整套完善的房屋出售和出租的软件管理系统,以便以最快地速度响应客户的需求,及时为他们提供服务,使买卖或出租承租双方都能够方便快捷的得到信息,同时,使用计算机管理系统进行管理,对企业内部来看,可以提高工作效率;对外来看,获得竞争优势。本文主要分析了房屋出租管理系统的一些基本功能和组成情况,包括系统的需求分析、系统结构,功能模块划分以及数据库模式分析等,重点对应用程序的实际开发实现作了介绍。达到了数据的一致性和安全性,且应用程序功能完备,符合了房屋出租管理系统作为典型的信息管理系统(MIS)的要求。它检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,可减少更多的人力物力,这些都能够极大地提高房屋的管理和宣传效率,也是企业管理科学化、正规化,与世界接轨的重要条件。2需求分析与用例建模2.1需求分析2.1.1现状分析采用简单的社会调查和搜集以往资料的方式,收集到以下信息:20世纪以来,社会生产力迅速发展,科学技术突飞猛进,人们进行信息交流的深度与广度不断增加,信息量急剧增长,房价的不断涨高,使得很多人已经不能负担买房带来的巨大的生活压力,进而转向租房的行列。与此同时,房屋中介方的信息量不断增长,传统的信息处理与决策的手段已不能适应社会的需要,信息的重要性和信息处理问题的紧迫性空前提高了,面对着日益复杂和不断发展,变化的社会环境,不光是房屋中介企业,一个人、一个企业要在竞争中脱颖而出,在现代社会中求生存,求发展,必须具备足够的信息和强有力的信息收集与处理手段。2.1.2收集相关资料房屋管理系统的管理员作为交易的中介方,发挥着极为重要的作用,每天有很多信息需要即时处理更新。房主将其个人信息及房屋的具体信息发送给管理员,管理员登记并将这些信息发布出去。租赁者若想租房,则像系统发出申请,管理员需要处理申请并将有关的满足其个人需求的房屋的信息发送给他,若是满意则管理员还需联系租赁双方进行会面看房等一系列的流程。当然,无论交易能否成功,房主都需支付管理员一定的报酬。最后,管理员还需将每月交易的费用和房屋的信息以报表的形式交于领导审批。2.1.3分析得出结论分析收集到的有关信息,并与管理员进行一些沟通,得出初步调查的结论:对于租房者来说,大量复杂的房产信息使他们感到迷茫。管理员每天要面对的需要处理的信息越来越多,房屋出租管理系统正是针对上述的问题而开发的,通过计算机系统来管理房屋出租情况,可以解决大量房产信息的查询和管理,便于更好的进行物业管理,同时也为租房者提供方便。这样,使原本复杂的房产、租金、合同信息简单化。2.2可行性研究2.2.1可行性分析(1)经济可行性房屋出租管理系统的开发和使用可尽可能的减少资源浪费,在硬件上计算机的配置方面,系统要求在Windows2000或WindowsXP中运行,且内存容量要求不高,所以配备一台电脑的使用价格以及安装上必须的软件如SQLServer2005数据库。这些对于一个信息量足够大的中介方是可以做到的。因此,经济上是可行的。(2)技术可行性本系统是对各房屋出租公司的房屋出租信息的信息化管理。主要运用了C#和SQLserver数据库操作程序。前台使用C#便于操作,一目了然。后台运用SQLserver,使数据稳定,这些功能要求不是很高。因此,对于此系统的开发技术上也是可行的。(3)社会可行性经过对该系统的现状调查和可行性分析,市场上对这个软件的需求很大,管理员的一般素质来看通过培训可以很容易掌握和使用系统,现有技术也可以达到开发的目的。因此,从社会因素来看这个系统是可行的。2.2.2可行性结论通过以上可行性分析,得出的结论是房屋出租管理系统的开发在管理上、技术上、经济上既可以达到资源的节约,又可以提高效率,而且市场上对这个软件的需求很大,是可行的,可以立即开发。2.3系统功能分析(1)登记房主信息。对于每名房主,系统需要记录其编号、姓名、住址和联系电话等,并将这些信息写入房主信息文件。(2)登记房屋信息。所有在系统中登记的房屋都有唯一的编号,除此之外,还需登记房屋的地址、房型(平房、带阳台楼房、独立式住房、别墅、其他)、大小、最多能容纳的房客数、预设租金、房屋状态(待租、已租、装修中)及房屋说明等。这些信息都保存在房屋信息文件中。(3)登记租赁者信息。所有想要通过该系统租赁房屋的租赁者,必须首先在系统中登记个人信息,包括:编号、姓名、性别、联系电话等。这些文件都保存在租赁者信息文件中。(4)租赁房屋。已经登记在系统中租赁者,可以得到一份系统提供的待租赁房屋列表。一旦租赁者从中找到合适的房屋,就可以提出看房请求,并且如果符合租赁者的要求,则签订合同,计入合同文件。(5)变更房屋信息。当租赁者与房主达成租房、退房协议后或房屋信息发生变化时,房主向系统提供变更房屋的请求。系统根据房主的请求,修改房屋信息文件。2.4系统非功能分析为了保证系统持续、安全、可靠的运行,系统需要满足以下要求。2.4.1响应时间本系统属于实际运用的企业型的产品,所以必须保证客户使用时的系统响应时间能满足客户的日常使用。2.4.2可靠性、可维护性和适应性系统的可靠性,可维护性和适应性是密不可分的。当系统出现故障和用户出现错误的操作后应该支持恢复,当用户在使用过程中遇到错误的时候应该可以立即定位问题,当业务场景和逻辑发生变化的时候系统也应该支持,当网络不稳定或使用中异常中断的情况下系统应该都有相应的容错措施。2.4.3易用性易用性也是我们在开发非功能性需求中必须要考虑到的问题,易用性同时还涉及到美工和UI界面,人机工程,交互式设计,心理学,用户行为模式等多方面的知识。易用性的三原则就是易见,易学和易用或者叫为发现,易懂,效率。易见就是各种功能操作不要藏得太深,用户很容易找到他们期望进行的各种操作;易学需要软件系统通过在线帮助,导航,向导等各种方式保证软件是可自学习的;易用的重点则在软件在熟练使用后应该可以更快的进行各项操作。这三者相互间也存在冲突,需要平衡,而平衡的一个重点就是真正的做到以用户为中心进行设计,需要去细分场景和用户。2.5用例模型2.5.1最高层用例模型根据客户对系统的总体业务要求,绘制出最高层用例图:房屋信息管理财务管理房屋信息查询合同管理房主信息管理租赁者信息管理依赖租赁者房主管理员图1最高层用例模型在最高层用例图中,实线方框表示系统边界,在系统边界内有6个用例。系统内的“房屋查询”依赖“房屋管理”。系统外有3个执行者:“房主”执行参与“合同管理”用例中签订合同的操作。“租赁者”执行参与“合同管理”用例中签订合同和“房屋查询”用例中的操作。“管理员”执行参与除签订合同外的所有操作。2.5.2第二层用例模型房屋出租管理信息系统还可以展开作为第二层用例图:(1)由“房主信息管理”展开形成的用例图如下图:房主修改房主信息增加房主信息查询房主信息删除房主信息管理员图2房主信息管理子系统在此用例图中,实线边框表示系统边界。系统内有4个用例:“修改信息”、“查询房主信息”、“删除房主信息”和“增加房主信息”。系统外有2个执行者:“房主”执行参与“修改房主信息”、“增加房主信息”、“删除房主信息”用例中的操作。“管理员”执行者可以分别进行以上用例中的每一个,实现房主信息的管理。(2)由“房屋信息管理”用例展开形成的用例图如下:修改房屋信息增加房屋信息查询房屋信息删除房屋信息管理员房主图3房屋信息管理子系统在此用例图中,实线边框表示系统边界。系统内有4个用例:“修改房屋信息”、“查询房屋信息”、“删除房屋信息”和“增加房屋信息”。系统外有2个执行者:“房主”执行参与“修改房屋信息”、“增加房屋信息”、“删除房屋信息”用例中的操作。“管理员”执行者可以分别进行以上用例中的每一个,实现房屋信息的管理。(3)由“租赁者信息管理”用例展开形成的用例图如下:租赁者修改租赁者信息增加租赁者信息查询租赁者信息删除租赁者信息管理员图4租赁者信息管理子系统在此用例图中,实线边框表示系统边界。系统内有4个用例。“修改租赁者信息”、“查询租赁者信息”、“删除租赁者信息”和“增加租赁者信息”。系统外有2个执行者:“租赁者”执行参与“修改租赁者信息”、“增加租赁者信息”、“删除租赁者信息”用例中的操作。“管理员”执行者可以分别进行以上用例中的每一个,实现租赁者信息的管理。(4)由“合同”用例展开形成的用例图如下:房主租赁者修改合同信息增加合同信息查询合同信息删除合同信息管理员此用例图中,实线框表示系统边界,系统内有四个用例:其中“修改合同信息”、“查询合同信息”、“删除合同信息”和“增加合同”。系统外有3个执行者:“房主”“租赁者”这两个执行者参与执行增加合同的操作。“管理员”执行者可以分别进行以上四个用例的每一个,实现合同的管理。图5合同管理子系统3系统分析与对象类建模3.1建立对象类根据已经建立的用例图和用户业务需求,采用CRC卡的方法确定对象类及其属性和操作。通过检查类的定义、分析问题的需求和运用该领域知识来完善和确定类的属性。根据系统功能要求和系统设计需要完善和确定类的操作。以下将“房屋出租管理系统”中的对象类及其属性和操作的定义简介如下:(1)房屋·类名:房屋。·类的编号:010101。·类的类型:该类创建的对象为持久对象,存储在服务器上的数据库中,可以共享。·功能:负责建立房屋的基本信息并对这些信息进行处理,包括增加、删除、修改、查询等操作。·属性:房屋编号、房主编号、地址、房型、大小、预设租金、状态、空调、电视、宽带、厨房、洗手间等。·操作:增加房屋信息()、删除房屋信息()、修改房屋信息()、查询房屋信息()等。(2)房屋信息表·类名:房屋信息表。·类的编号:010102。·类的类型:该类创建的对象为持久对象,存储在服务器上的数据库中,可以共享。·功能:负责对所有房屋(对象)的信息进行管理。·属性:房屋[*]等。·操作:打印未租出房屋清单()等。(3)房主·类名:房主。·类的编号:010201。·类的类型:该类创建的对象为持久对象,存储在服务器上的数据库中,可以共享。·功能:负责建立房主的基本信息并对这些信息进行处理,包括增加、删除、修改、查询等操作。·属性:房主编号、房主姓名、身份证号、性别、住址、联系电话。·操作:增加房主信息()、删除房主信息()、修改房主信息()、查询房主信息()等。(4)房主信息表·类名:房主信息表。·类的编号:010202。·类的类型:该类创建的对象为持久对象,存储在服务器上的数据库中,可以共享。·功能:负责对所有房主(对象)的信息进行管理。·属性:房主[*]等。·操作:打印房主信息清单()等。(5)租赁者·类名:租赁者。·类的编号:010301。·类的类型:该类创建的对象为持久对象,存储在服务器上的数据库中,可以共享。·功能:负责建立租赁者的基本信息并对这些信息进行处理,包括增加、删除、修改、查询等操作。·属性:租赁者编号、租赁者姓名、身份证号、性别、住址、联系电话。·操作:增加租赁者信息()、删除租赁者信息()、修改租赁者信息()、查询租赁者信息()等。(6)租赁者信息表·类名:租赁者信息表。·类的编号:010302。·类的类型:该类创建的对象为持久对象,存储在服务器上的数据库中,可以共享。·功能:负责对所有租赁者(对象)的信息进行管理。·属性:租赁者[*]等。·操作:打印租赁者信息清单()等。(7)合同·类名:合同。·类的编号:010401。·类的类型:该类创建的对象为持久对象,存储在服务器上的数据库中,可以共享。·功能:负责建立合同的基本信息并对这些信息进行处理,包括增