
题 目 房屋管理系统
系 名 称 工程系
专业(班级) 09计算机应用技术
学 生 姓 名 张海
学 号 090101146
指 导 教 师 王泽智
201 年 月 日
| 实训题目: | 房屋管理系统 |
| 实训地点: | 机房 |
| 一、实训目的: 随着科技的进步,信息需求的增加,许多都已经是计算机办公了。本系统就是完成房产公司对房屋的管理,包括房产管理、合同管理、租金管理、信息统计、背景和帮助等几个模块,可以对房屋出租信息进行查询、添加、修改、删除等,合同管理可以对合同信息进行管理、浏览、查询、以及到期合同管理等功能;租金管理可以对租金信息进行管理、浏览、查询;信息统计模块可以对租金、到期合同、履约金以及空闲房屋的统计;同时该系统通过背景可以转换系统主题,具有帮助模块,可以使用户更加快捷,方便的使用该系统。 Along with the technical progress information need’s increase, many already were the computer work. This system is mainly completes the real estate company to the house management, including the real estate management, contract management, the rent management, the information statistics, the background and the help and soon several modules, may carry on the inquiry, the increase, the revision, the deletion to the house hiring information and so on, contract management may carry on the management, the browsing, the inquiry to the contract information, as well as due contract functions and so on management; the rent management may carry on the management, the browsing, the inquiry to the rent information; the information statistics module may to the rent, the due contract, honor an agreement golden as well as the idle house statistics; Simultaneously this system through the background may the transition system subject, have the help module, may cause the user to be quicker, use this system which facilitates. 二、实训要求: 第1部分 项目可行性分析 通过对项目的主要内容和配套条件,如市场需求、资源供应、建设规模、工艺路线、设备选型、环境影响、资金筹措、盈利能力等,从技术、经济、工程等方面进行调查研究和分析比较,并对项目建成以后可能取得的财务、经济效益及社会环境影响进行预测 第2部分 需求分析 对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么
第3部分 系统分析 业务和数据的流程是否通畅,是否合理;数据、业务过程和实现管理功能之间的关系;老系统管理模式改革和新系统管理方法的实现是否具有可行性等等 第4部分 详细分析 在做了解决方案之后,公司流程与标准备流程之间差异分析吧!然后按照差异进行修改,满足流程的特殊需求! 第5部分 数据流图、E-R图及事件表 给数据流图找节点,把大的数据流图分层,然后每一层的转化成E-R图,最后把这些分E-R连接起来,就构成了整个E-R图 第6部分 建立的系统模型 1、建立数据表 建立模型数据要存放的数据表。 2、新建字段 新建此模型需要的所有字段。 3、新建系统模型 依上面新增的字段列表进行模型组合。 三、实训内容(六个部分的详细说明,可续页): 第一章 系统概述 1.1数据库管理软件概述 1.1.1管理信息系统 管理信息系统(Management Information Systems 简称MIS),最早是J。D。Gallagher在EDPS的基础上于1961年提出的,起产生已有三十多年的历史。其定义是“MIS系统是一个利用计算机软硬件,手工作业,分析计划。控制和决策模型以及数据库的人一机系统,它能够提供信息,支持企业或组织的运行,管理功能。” 它对管理信息进行收集、传递、储存与处理,形成多用户共享系统,直接为基层和各级管理部门服务。MIS应用了相关的经济数学模型,如运筹学、数理统计等对管理的过程信息进行监控和处理,并提供辅助决策支持。管理信息系统可以有广义和狭义之分。狭义的MIS是指企业计算机网络管理信息系统,是指运用现代化计算机网络技术和企业管理学方法,系统地实现企业经营生产目标的一种综合管理系统。广义的MIS指所有运用计算机网络技术为其管理服务的政务部门和企事业单位,是指应用计算机网络技术和系统集成实现各项业务、技术、工作自动化及高水平管理的方法和模式。建设MIS主要包括三方面的内容:一是管理模式的确立。就狭义MIS而言,主要是现代企业管理技术和模式的选择和应用,如制造资源计划MRPⅡ、计算机集成制造系统(CIMS)等管理理念的贯彻;对广义的MIS来说,则包括了管理模式和方法、商业规则、办公自动化OA的程序等的确定,总体要求是管理工作程序化,管理业务标准化,管理流程科学化,数据资料代码化。二是计算机网络系统的建设,包括系统软硬件平台的选择,管理信息系统的集成,局域网的建设及互联,局域网和广域网的互联等。三是MIS的实施,如管理环境的适应性调整、人员培训、系统维护、信息源的组织等等。 在现代社会已深入到各行各业,由于计算机技术的迅速发展和普及,MIS 事实上已成为计算机MIS。MIS 是一个不断发展的新型学科,MIS的定义随着计算机技术和通讯技术的进步也在不断更新,在现阶段普遍认为MIS 是由人和计算机设备或其他信息处理手段组成并用于管理信息的系统。MIS的对象就是信息,信息是经过加工的数据,信息是对决策者有价值的数据。信息的主要特征是来源分散,数量庞大。信息来源于生产第一线,来源于社会环境,来源于市场,来源于行政管理等部门。信息具有时间性。信息的加工方式有多种形式。---- 企业从信息管理的角度可划分为物流和信息流。生产过程是一个物流的投入产出过程,且是不可逆的过程。管理过程是信息流的过程,且具有信息反馈的特征。 管理信息系统作为企业进行整体信息处理的支柱,应具有如下五个方面的作用或特点: 1.是一个人一机结合的系统。 2.因为建立的系统要成为整个组织的心脏和信息交换中心,因此它要包括企业各种数据输入,存储,加工,查询,生成计划,物资供应,帐务帐目,生产,销售等日常信息处理。 3.数据处理要速度高,成本低。 4.因为信息模型,处理过程相对确定,所以数据(而不是业务目标,不同用户)成为系统工作的驱动力。 5.系统设计要符合企业实际情况,求解过程和结果达到最优化。 一个管理信息系统的工作过程可大致描述如下:首先人们从观察客观事物(具体应用)入手,收集到大量信息,在对这些信息进行记录、整理和分类后送入有关的数据库中保存起来。随后,MIS的使用者根据各自的需求向数据库发出相应的访问请求,系统响应这些请求,从数据库中筛选出所需数据,并对数据进行加和处理,形成用户所需的计划、控制等决策信息。由些可见,一个管理信息系统不仅是一个简单的统计系统(如企业的产品统计)、一个数据更新系统(如图书馆中的借阅系统)、一个工作状态报告系统(如商场中的服务监视、人员排班表),而且要包含计划、控制和决策的功能。一个管理信息系统除依靠数据库系统作为数据处理的核心外,还需要知识库系统、方法库系统等支持。如图1-1所示:
图1-1 管理信息系统的构成 目前管理信息系统已成为计算机应用中的一个重要领域。特别是随着现代管理信息技术的日益发展,这个领域已涉及到专家系统、知识系统、决策系统等人工智能技术及计算机网络技术的应用。 1.1.2数据库管理信息系统的形成 图书管理员在查找一本书时,首先要通过目录检索找到那本书的分类号和书号,然后在书库找到那一类书的书架,并在那个书架上按照书号的大小次序查找,这样很快就能找到我所需要的书。 数据库里的数据像图书馆里的图书一样,也要让人能够很方便地找到才行。 如果所有的书都不按规则,胡乱堆在各个书架上,那么借书的人根本就没有办法找到他们想要的书。同样的道理,如果把很多数据胡乱地堆放在一起,让人无法查找,这种数据集合也不能称为"数据库"。 数据库的管理系统就是从图书馆的管理方法改进而来的。人们将越来越多的资料存入计算机中,并通过一些编制好的计算机程序对这些资料进行管理,这些程序后来就被称为"数据库管理系统",它们可以帮我们管理输入到计算机中的大量数据,就像图书馆的管理员。 第二章 系统开发方法选择 2.1 软件工程介绍 软件工程是用科学知识和技术原理来定义、开发、维护软件的一门学科。它涉及计算机科学、工程科学、管理科学、数学等领域,计算机科学着重于原理和理论,而软件工程着重于如何建造一个软件系统。软件工程在软件开发过程中占有不可动摇的重要地位, 一个软件从开始计划起,到废弃不用止,称为软件生存周期。一般来说,软件生存周包括计划、开发、运行三个时期,每一时期又可分为若干更小的阶段。计划时期的主要任务是分析用户要求,分析新系统的主要目标以及开发该系统的可行性。开发时期要完成设计和实现两大任务具体。具体分为需求分析、概要设计、详细设计、编码、测试。其中编码和测试是软件开发期的最后两个阶段。运行时期是软件生存周期的最后一个时期,软件人员在这一时期的工作,主要是做好软件维护。 “房产中介管理信息系统”虽然只是一个比较小的项目,但是为了做的更规范,也尽量按照软件工程的指导来做,事实上,不管一个多小的工程,都是离不开软件工程的指导思想的。 2.2开发环境及工具 2.1.1选择DELPHI7.0作为开发语言 DELPHI是面向对象语言,是目前开发C/S数据库应用程序的强有力工具。它能通过三种方式来访问数据库: 1.通过内置的数据库驱动程序:可以访问Paradox、dBase和ASCII数据库。 2.通过SQL Links:可以访问Oracle、SQL Server、Infomix、SyBase等数据库。 3.通过OBDC:可以访问如Access、Btrieve等数据库。 跟其它的应用程序一样,DELPHI提供了很多控件以方便地创建数据库应用程序,如数据访问控件(Data Access)和数据控制控件(Data Control)等。数据库应用程序首先是利用DELPHI提供的数据库控件与BDE建立联系,然后再通过BDE与数据库联系。通过数据访问控件,就可以访问数据库,数据库表和存储过程等;而通过使用数据控制控件,可以建立用户交互界面,以显示、修改数据库中的数据。另外,还可以借助DELPHI提供的很多方便的数据库工具,如DataBase Desktop,建立和维护数据库。数据库对象的成员既可在设计阶段设置,也可在运行阶段通过程序代码进行设置。 另外,DELPHI开发C/S数据库应用程序的有关特性扩展了DELPHI访问远程数据库的功能,如SQL数据库服务器(Oracle、SyBase、Informix、SQL Server、InterBase)。SQL Links使得DELPHI数据库应用程序利用SQL语言访问驻留在远程服务器上的数据,当安装了SQL Link驱动程序之后,SQL语句就可以直接访问服务器上的数据。 用DELPHI进行数据库应用程序,可以划分为几个阶段:设计、开发和完善,如果再细分,可以分为以下几个步骤:(1)系统设计(2)系统功能的实现(3)系统运行和维护(4)交付数据库应用程序。在前三个步骤中,都包含着数据库的开发和应用程序界面的开发两大类任务,对于一个C/S平台模式的应用,数据库和应用界面的区别就更明显一些,因为他们运行在不同的平台之上,而且使用的操作系统都常常不一样。 2.2.3选择Access2003 作为后台数据库 有许多的数据库可以选择,SQL SERVER、ACCESS(*.mdb)、EXCEL(*.xls)、FOXPRO(*.dbf)甚至普通的文本文件(*.txt)都可以达到存储数据的功能。那么到底选择什么数据库最合适呢?其中SQL SERVER是服务器级的,足以应付每天上万次的访问量。对于非服务器级的数据库我选用了ACCESS。因为: 只要安装了IIS就定有ACCESS的ODBC驱动,即你的系统肯定支持ACCESS数据库的存取。 ACCESS支持的SQL指令非常齐全。 ACCESS ODBC驱动程序的效率非常高。虽然它不是服务器级的数据库,但是作为中小型企业内部网的数据库支持还是绰绰有余的。 ACCESS在OFFICE中就有,非常方便得到和使用。 第三章 系统总体规划分析 3.1 系统总体结构设计 3.1.1 应用需求分析 房产中介管理系统需求主要来自房屋登记,管理房源和管理人员。房屋登记将用户需要登记的房屋的信息输入系统,由系统自动归类储存,随时可以查阅修改。房屋管理人员可利用本系统,输出房屋名单,自动生成统计报表、房屋出售合同、房屋出租合同。一般情况下,普通用户只能浏览查询房屋具体信息,而超级用户除了能查询房屋具体信息以外,还能够直接登记房屋信息,但是不能随意修房屋数据,尤其是房屋出售合同和房屋出租合同等敏感信息。因此,用户, 超级用户和房屋管理人员的的权限要明确区分开来,防止操作时因操作错误产生的数据丢失和数据错误,因此, 这就需要在设计模块时加以考虑。房屋管理人员还有一个任务是对各个人员的使用权限进行管理,对数据库中的房屋信息进行实地考核和协助客户填写房屋出售合同和房屋出租合同,并将其打印出来存档管理,在出租合同到期后即时的回收房屋使用权,并再次将此房屋出租,进入下一个出租循环中。 因此,确定本系统的功能有:房屋出租登记输入处理,房屋出售登记输入处理,房屋登记表修改处理(有输入、取消、确认、修改、删除等功能),房屋查询处理(按地址,面积,使用权查询等),房屋出租情况报表统计处理,房屋出售情况报表统计处理(包含打印功能),房屋出租合同录入和打印功能,房屋出售合同录入和打印功能,购买房屋基本常识介绍功能。 3.2功能模块 该房产中介管理系统模块包括:房产租售登记模块, 房产租售查询模块,房源租售报表统计模块,房产租售合同管理模块,系统维护模块,用户管理模块和购房常识介绍模块等一些大模块,实现了房源系统化,单据标准化,流程自动化管理。 第四章 系统详细设计 4.1 设计原则 人机交互子系统是用户所能直接看到的,是给用户的第一感觉,他现在已经成为判断一个软件好坏的重要标准。在设计人机交互子系统的时候,必须遵循以下原则: 设计出一个易用、低错、适应、美观的界面,能够使用户自如的完成操作,而用户不需要有较高的计算机专业知识和技能。 主要特点: (1)易用性。 前期对项目的大量细致的分析,以及对用户群的调查,充分考虑实际操作的各项细节,使得普通用户在不需要查看用户手册的情况下亦能很自如的操作系统,并对操作流程有清晰的了解。 (2)低出错率 为了防止用户在操作中出现各种失误,界面的设计在各个环节都给与用户必要的提示,同时也在空间排布上引导用户按照正确的顺序进行操作,大大减少操作出错的几率,也减低了操作者的劳动强度。 (3)合理性 父窗体应该在屏幕的中心位置,子窗体应该在父窗体的左上角或中心,界面退出或关闭的按钮不应该放在易点的位置,对数据进行无法恢复的操作,应有提示信息,给用户有选择放弃的机会。对错误的提示要准确、清楚、有足够多的信息。 (4)高适应性 系统面向的用户群有三类,对于不同的用户,他们拥有不同的操作目的、操作流程以及不同的权限,如何考虑系统的适应性也是界面设计时的重要部分,本系统可以面向不同的用户提供不同的界面,实现高适应性。 (5)美观性 系统界面以白色和灰色为主色调,辅助以少量鲜艳的小图,给人的感觉是清晰明了,赏心悦目,长时间工作于此系统不会有视觉疲劳感,充分考虑色彩与结构的关系,并通过精心的点缀引导用户的视线顺序完成操作。 设计出一个易用、低错、适应、美观的界面,能够使用户自如的完成操作,而用户不需要有较高的计算机专业知识和技能。 4.2 用户登陆窗体设计 用户登陆窗体使为了保证系统的安全性,只有许可用户才可进入,如果输入密码和用户名不匹配则不允许进入系统。如图 该窗体是在Application运行前,以模态对话框的形式显示出来。Dialog分为模态和非模态两种,模态对话框是指用户必须对对话框进行操作才可以继续。非模态对话框可以不必对它进行任何操作。这里我们必须要使用模态对话框,因为我们只有当用户输入用户名和密码相匹配的时候,点击“确定”按钮进入系统。口令Edit是要求用户输入密码,输入的字符都已‘*’的形式显示出来,这就需要调整Edit的PasswordChar属性设置为‘*’。在“确定”按钮的激发事件里写入验证代码: procedure TFrm_Login.bbtnokClick(Sender: TObject); begin //录入检验 if cbUserId.text='' then begin messagedlg('请 选 择 用 户 名 !',mtInformation,[mbok],0); cbUserId.SetFocus(); exit; end; //登录验证 with ADOQ_Temp do begin close; SQL.Clear; SQL.Add('SELECT * From 用户信息表 Where 用户名='+''''+cbUserId.Text+''''); Open; //用户有效性 IF not IsEmpty then begin //登录失败 If edtPassword.Text <> Fieldbyname('密码').AsString then begin messagedlg('口令错误,请修改 !',mterror,[mbok],0); LoginNum:=LoginNum+1; if LoginNum=3 then begin messagedlg('非法用户!你无权使用本系统',mterror,[mbok],0); application.Terminate ; end; edtPassword.Text :=''; edtPassword.SetFocus; exit; end //登录成功 else begin //保存登录的用户信息 gs_login_userid :=fieldbyname('用户名').asstring; gs_login_username :=fieldbyname('用户名').asstring; gs_login_userlevel :=fieldbyname('用户等级').asstring; gs_login_Password :=fieldbyname('密码').asstring; gt_login_time:=now(); Login:=true; self.close; end; end else begin messagedlg('指定的用户已被注销!你无权使用本系统!',mterror,[mbok],0); Login:=False; self.close; end; end; end; procedure TFrm_Login.edtPasswordKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key=VK_RETURN then bbtnOk.SetFocus ; end; procedure TFrm_Login.FormCreate(Sender: TObject); begin // Login:=false; // 初始化用户选择列表 with ADOQ_Temp do begin close; SQL.Clear; SQL.Add('SELECT 用户名 From 用户信息表'); Open; while not eof do begin cbUserId.Items.Add(FieldByName('用户名').AsString); Next; end; close; end; cbUserId.ItemIndex:= 0; end; 第五章 系统测试 6.1 测试的原则 软件测试(Software testing)是软件生存期(Software life cycle)中的一个重要阶段,是软件质量保证的关键步骤。通俗地讲,软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码进行最终复审的活动。1983年IEEE提出的软件工程术语中给软件测试下的定义是:“使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别”。这个定义明确指出:软件测试的目的是为了检验软件系统是否满足需求。 在G.J.Myers的经典著作《软件测试技巧》中,给出了测试的定义: "程序测试是为了发现错误而执行程序的过程"。测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序无错。在软件开发过程中,分析、设计与编码等工作都是建设性的,惟独测试是带有"破坏性",测试可视为分析、设计和编码3个阶段的"最终复审",在软件质量保证中具有重要地位。为了确保软件的质量,较理想的做法应该是对软件的开发过程,按软件工程各阶段形成的结果,分别进行严格的审查。 当设计工作完成以后,就应该着手测试的准备工作了,一般来讲,由一位对整个系统设计熟悉的设计人员编写测试大纲,明确测试的内容和测试通过的准则,设计完整合理的测试用例,以便系统实现后进行全面测试。 6.2 测试的方法 1.基本数据的测试: 在数据测试的过程中,主要根据一些数据的临界值,从数据类型,数据范围,数据长度等多方面考虑,列举了一系列的测试用例,重点测试了一些危险数据和边缘数据,尽量做到系统的可靠性。针对每一种情况,包括正常情况和非正常情况都举了很多测试用例。从用户的角度考虑,可能出现的操作错误和数据输入错误,也都进行了一系列的测试。 2.系统的测试: 在测试系统整个流程的过程中,针对系统的主要流程,进行用户的模拟操作。针对系统各个功能模块,对照功能的流程图,对每一个操作都进行了分析,得出了各种可能出现的情况,并对各种情况的不同处理进行了测试,包括正常情况和错误处理情况。对应各种错误,不管是常见的错误和可能发生的错误,都进行了相应的测试。 3.其他测试: 在系统的可移植性上,把编译成可执行文件的程序拿到不同的软件环境和硬件平台下进行测试。包括不同的操作系统(仅限于常用的几种Microsoft的Windows系列),以及常见的一些硬件环境中都进行了测试。对客户机/服务器模式的工作情况进行了测试,不只在本地机器,还在服务器上也进行了测试。在数据的安全保密性方面,也做了相应的测试。 由于测试的过程中,时间比较少,在测试的方法和测试用例的选择方面可能还存在各种不足之处,系统的某些方面难免存在不足或者漏洞,只能在现有的水平上来解决所有这些现有的问题。不过,系统的可维护性还是很高的,如果以后发现新的问题,应该可以及时解决。 通过对基本数据的测试,发现了一些问题,例如:输入数据超过范围,输入数据类型不符,数据长度不符等等,针对每一种错误,进行了相应的错误处理,在数据的安全性方面,系统增加了很多约束,例如:通过不可编辑的下拉单来防止用户输入非法的数据,通过灰化动态文本框来保证数据的安全等等。经过反复的测试和修改,基本达到了数据方面的准确性,可靠性和安全性的要求。 在测试系统的整个流程的过程中,针对系统的不同分支结构,不同功能模块,都发现了或大或小的问题,例如,退出窗口提示数据保存信息,非法用户的越权操作,以及一些逻辑顺序错误。在改正这些错误的同时,对整个系统的结构又进行了比较完善的修改,尽量做到了没有系统错误,没有异常退出等情况出现。经过多次修改并测试,基本能够达到功能完备,无异常错误,数据安全,用户权限可靠等目的。 四、实训总结与体会: 本系统通过不断改善,已经可以正常运行,基本实现所设计的功能。系统运行稳定,操作简单,维护方便,实现对房源的管理。本系统充分考虑人性化设计,每个模块都仅可能的简化用户和操作员的输入,并有各种的系统提示,以方便用户的使用。由于本身水平有限,时间仓促,本系统还有很多不尽人意的地方。比如统计比较粗糙,设计时没有过多的考虑数据库查找效率等等。 对用户需求了解的正确与否,直接影响程序设计、系统测试、系统维护的进度和工作量。即使开发软件工作组怎么优秀,团队合作如何融洽,需求这块都是绝对不容忽视的。比如以下几种心理或现象都是比较普遍的:一是与用户合作不如编写代码有意思;二是因为开发人员觉得已经明白用户的需求了;三是“画蛇添足”,开发人员力图增加一些“用户欣赏”但需求规格说明中并未涉及的新功能;四是用户提供过于简单的规格说明;等等。这都是我们要避免的。对需求了解的错误导致的返工是软件工程的大忌。 做这个系统,首先要深入的调查需求,然后参考一些类似的系统。永远都不要觉得自己已经能够完全的开发一个系统了,那样只能让你裹足不前。只有结合别人的心得、示例、自己的经验、创新,你才会进步。由于以前软件工程课的学习,因此写流程图、结构图的时候相对比较轻松,有明确的方向,这就是所谓的经验。 数据库设计是一个很关键的步骤,表与表之间清晰的关系,表内部的主码设计的好坏,数据的累加数据项的添加等都是不容忽视的问题。有些可能在理论上不需要的字段,但实际应用中往往把它添上去。比如说:报考登记表模块,并不要求把考生的报名的那个时间写进去,但我们添一个时间字段,在数据库中自动添加当前系统日期。这样我们就可以轻松的统计出每天的报考人数,哪一天报考的人数最多等等,可根据这个生成日报表、周报表等等。 | |
| 五、致谢 |
| 六、附录(参考文献、设计图纸、实验所用仪器、设备性能简介、照片和翻译论文、资料的原文、计算机程序等) |
| [1] 飞思科技产品研发中心.DELPHI之数据库开发 电子工业出版社,2002-1. [2] 北京希望电子出版社 只飞 DELPHI数据库开发指南 北京:北京希望电子出版社 2003-3. [3] 东方人华 吕伟臣DELPHI7入门与提高 北京:清华大学出版社2003-6. [4] STEVE TEIXEIRA XAVIER PACHECO DELPHI开发人员指南 机械工业出版社 2002 [5] http://delphi.about.com/od/database/ |
| 报告提交日期 | 2011 年12 月 日 | |||
| 评 语 | 成绩 | |||
| 教师签字 | 年 月 日 | |||
