资源描述
IV网络小区管理系统设计与实现摘要:随着我国经济发展和城市开发,住宅小区越来越成为居住的主流,物业管理是针对当代社会这一市场需要应运而生的。为小区管理者和小区用户更好的维护各项物业管理业务处理工作而开发的管理软件,根据需求分析,实现小区管理业务,效益已越来越明显。因此,开发这样一套小区物业管理系统软件成为很有必要的事情。本论文从系统原理入手,根据系统的实际需求确立系统的组成模块:用户登录、物业管理模块、住户管理模块、设备管理模块、系统管理模块。这五个模块组成本次毕业设计的课题系统:物业管理系统。系统基于浏览器/服务器结构,利用ASP.NET平台、SQL server2000数据库服务器以及VisualStudio.Net 2005开发工具,开发了交互式动态的物业管理系统。本人在此系统着重实现住户管理模块,设备管理模块和系统管理模块,介绍了小区物业管理系统要实现的功能、系统流程、数据库设计、功能模块设计、实现、运行、和维护等一系列开发流程,最后对设计中所遇到的难题进行重点介绍、分析和解决的办法。关键词:网络; 小区物业; 管理系统用户Area Network Management System Design and ImplementationAbstract: Along with Chinas economic development and urban development, residential quarters have increasingly become the mainstream of living, Property management is against contemporary society that the market needs right moment. For the district managers and district users to better safeguard the property management business processing and the development of the management software, demand analysis, and district management business, efficiency has become increasingly evident. Therefore, the development of such a district property management system software necessary things. This papers from the principle, according to the actual needs of the established system component modules : users logged in, the property management module, Household management module, equipment management module, system management module. The five modules of this graduation design issues : property management system. System Based on the browser / server architecture, using ASP.NET platform, SQL Server2000 database server and VisualStudio.Net 2005 development tools, the development of the interactive dynamics of the property management system. I would like to focus on the achievement of households system management module, equipment management module and system management module, on the district property management system to achieve the function, system processes, database design, module design, implementation, operation, and the development of a series of maintenance procedures, the final design of the problems encountered were introduced, analysis and solution.Keywords : Network, Area property management system, users网络小区管理系统设计与实现I第1章 引言11.1课题背景11.2系统研究的意义11.3课题名称21.4问题描述2第2章 系统可行性研究32.1 经济可行性32.2 技术可行性32.3 使用开发工具简介42.3.1 SQL Server 200042.3.2 Visual Studio .NET 200552.3.3 ASP.NET52.3.4 C#5第3章 系统需求分析73.1功能需求73.2性能需求73.3运行需求73.4数据字典73.5概念结构设计93.5.1数据库的设计93.6逻辑结构设计133.7设计数据库结构14第4章 总体设计184.1总体功能模块设计184.1.1模块设计194.2模块功能细化194.2.1住户管理模块194.2.2设备管理模块204.2.3系统管理模块20第5章 详细设计215.1系统流程图215.2局部流程图及数据流图225.2.1住户管理225.2.2设备管理235.2.3系统管理245.3编码255.3.1系统主界面255.3.2具体模块的实现28第6章 系统测试336.1 测试目的336.2 测试方案33结 论38谢 辞39参考文献40第1章 引言1.1课题背景随着我国市场经济的快速发展和人们生活水平的不断提高,简单的社区服务已经不能满足人们的需求。如何利用先进的管理手段,提高物业管理水平,是当今社会所面临的一个重要课题。要想提高物业管理水平,必须全方位地提高物业管理意识。只有高标准、高质量的社区服务才能满足人们的需求。面对信息时代的挑战,利用高科技手段来提高物业管理无疑是一条行之有效的途径。在某种意义上,信息与科技在物业管理与现代化建设中显现出越来越重要的地位。物业管理方面的网络化、信息化与科学化,已成为现代化生活水平步入高台阶的重要标志。现在的小区物业管理,大都采用传统的人工管理的模式,这对于规模较小的物业管理公司来说,是可以应付日常的管理需要的。但是,随着该行业竞争日益的激烈,提高物管的工作效率、为住户提供更好的服务,成为了物业管理公司当前必须考虑的问题。而解决这些问题的途径之一,就是将计算机引入到管理机制中来,就是将管理放到网络上来。 通过查阅相关书籍,了解当前小区物业管理系统的管理技术与动态,掌握小区物业管理系统设计的相关技术与原理,设计并实现小区物业管理系统,并针对某一具体的小区深入了解和分析小区物业管理系统的要求与技术管理特点,实现该小区对物业管理工作的计算机管理。和其他新兴行业一样,物业管理企业要生存和发展,首先要得到服务对象业主的认可.物业管理中心引入了旨在倡导管理以人为本、以优化环境为基础、以优质服务为中心的可持续发展的新型物业管理。1.2系统研究的意义伴随着小区的规模不断扩大和住户的不断增多,小区内物业管理项目的不断增加,用以往传统人工的管理方法来管理现代的小区物业显的越来越力不从心,将信息技术引用到物业管理中去是势在必行的。使用计算机对企业单位的各项信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高工作的效率,也是企业的科学化、正规化管理与世界接轨的重要条件,当然物业管理也不例外。本论文所描述的物业管理系统能够极大的改善物业公司在小区物业管理中的绩效,变烦琐为简单,大大提高物业公司管理的效率。1.3课题名称课题名称:网络小区管理系统1.4问题描述本课题所设计的目标是通过网络实现小区管理。该系统基于浏览器/服务器结构,在服务器端管理员可以对系统进行操作维护,同时用户也可以在服务器端登录进行访问。第2章 系统可行性研究2.1 经济可行性首先,由于人们生活水平的不断提高,人们对于住宅品质的需求也不断提高,而对住宅品质的需求一个重要的体现方面就是住宅所在小区是否有一套高品质的物业管理。传统的物业管理耗时,耗财,耗人,而且并不能为住户提供优质的服务。所以设计开发一套能有效的削减中间管理层,简化了费用核算、文件传递等中间环节,大大降低了管理成本;并实现资源共享、信息、公用,从而有效降低经营成本的物业管理系统是十分有必要的。其次,由于物业管理工作所涉及的事物比较烦琐,但是却又是小区业主们关心的问题,所以能否有条不紊地处理好小区的日常事务是至关重要的。一个物业管理公司能否为业主带来一种新的物业管理理念,能否赢得业主的赞誉,将直接影响到企业的生存与发展。所以开发一套行之有效的高效率的物业管理系统是十分迫切的。总的来说,开发这样一个系统的费用低廉,而系统带来的方便和效益是原始操作方式所无法比拟。从经济上考虑,物业管理系统是可行的。2.2 技术可行性本系统可以作为连接住户,物业公司,小区之间的关系纽带,可以方便地对小区进行管理,同时可以减少人力负担及工资支出。成本控制,采用本系统只需添置一般计算机做为服务器,如果条件允许,可以使用配制高档的小区流动人口大,突发事件较多,本系统对数据适时性上有教较高的要求。小区物业管理者只需要短时间来熟悉本系统,易于掌握使用以及维护。从以上四点出发,最终选择低成本、易安装、变协性较高的B/S架构来搭建环境,选择ASP.NET以及C#作为内核。2.2.1 C/S与B/S比较成本比较:对于分布式的使用方式,C/S必须要在各地安装多个服务器和客户端来进行数据同步,这样运行的成本便成几何式增长,相对的维护成本也同步增加。对于本系统来讲,如此高的成本是无法接受的。同时散布各地的服务器和客户端也严重影响安全性。由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。所以从成本上讲,选择B/S架构更加适合本系统。数据适时性比较:C/S架构由于散步各地的服务器或客户端,必须要这些分别数据处理完毕以后才能传回总服务器进行数据同步,对与小区管理来讲,这样的时间差是无法接受的。B/S是随着Internet技术的兴起,对C/S结构的一种改进。在这种结构下,软件应用的业务逻辑完全在应用服务器端实现,用户表现完全在Web服务器实现,客户端只需要浏览器即可进行业务处理,是一种全新的软件系统构造技术。这种结构更成为本系统的首选体系结构。2.2.1 ASP与ASP.NET区别开发语言不同:ASP仅局限于使用non-type脚本语言来开发,用户给WEB页中添加ASP代码的方法与客户端脚本中添加代码的方法相同,导致代码杂乱。 ASP.NET允许用户选择并使用功能完善的strongly-type编程语言,也允许使用潜力巨大的.NETFramework。运行机制不同:ASP是解释运行的编程框架,所以执行效率比较低。ASP.NET是编译性的编程框架,运行是服务器上的编译好的公共语言运行时库代码,可以利用早期绑定,实施编译来提高效率。开发方式:ASP.NET与ASP的主要区别在于前者是编译(Compile)执行,而后者是解释(Interpret)执行,前者比后者有更高的效率。实际上我们可以把ASP.Net的执行过程看做是编译后的普通语言运行时代码充当DL等Internet标准的强健支持。SP.NET的主要优点:ASP.NET可完全利用.Net架构的强大,安全,高效的平台特性。ASP.Net是运行在服务器后端编译后的普通语言运行时代码,运行时早绑定(EarlyBinding),即时编译,本地优化,缓存服务,零安装配置,基于运行时代码受管与验证的安全机制等都为ASP.Net带来卓越的性能。对XML,SOAP,WSDL等Internet标准的强健支持为ASP.NET在异构网络里提供了强大的扩展性。2.3 使用开发工具简介 根据技术可行性的研究,选择以下开发工具使用,以为ASP.net技术为主,C#为核心,以Visual Server 2005为编译工具,用SQL Server 2000建立数据库,详细介绍如下:2.3.1 SQL Server 2000SQL server 2000是建立在SQL server 7.0在可伸缩性、可用性、可管理性和数据仓库成功的基础上,并且引入了针对电子商务的重要新功能。在高性能和企业级可伸缩性领域,SQL server 2000设计成利用windows 2000对更多处理器、更大的系统内存的支持,最终达到支持64位硬件的平台。在不断提升可用性的努力过程中,SQL server 2000采用windows 2000四路群集,提供了大大改进的群集支持。SQL server 7.0已经在可管理性和易用性方面在行业内领先,SQL server 2000通过与windows 2000活动目录紧密结合进一步改进了功能。而且,SQL server 2000还包括对现有管理工具和实用程序的重大改进,并引入更具有自我调节和自我管理的引擎功能。2.3.2 Visual Studio .NET 2005SQL server 2000按照设计可以为部署和维护强大的、易于管理、支持商务活动的web站点提供最好的性能,这些站点可以从事商家和商家之间或商家与客户之间的交易。在寻求一个支持您的电子商务解决方案的数据库时,需要考虑的项目包括:可用性、性能、可管理性和价格。2.3.3 ASP.NETASP.NET 是一个统一的 Web 开发模型,它包括您使用尽可能少的代码生成企业级 Web 应用程序所必需的各种服务。ASP.NET 作为 .NET framewor k 的一部分提供。当编写 ASP.NET 应用程序的代码时,可以访问 .NET fram ework 中的类。可以使用与公共语言运行库 (CLR) 兼容的任何语言来编写应用程序的代码,这些语言包括 Microsoft Visual Basic、C#、JScript .NET 和 J#。使用这些语言,可以开发利用公共语言运行库、类型安全、继承等方面的优点的 ASP.NET 应用程序。ASP.NET 包括:v 页和控件框架v ASP.NET 编译器v 安全基础结构v 状态管理功能v 应用程序配置v 运行状况监视和性能功能v 调试支持v XML Web services 框架v 可扩展的宿主环境和应用程序生命周期管理可扩展的设计器环境2.3.4 C#C# (C sharp) 是微软对这一问题的解决方案。C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft .NET平台的应用程序,Microsoft .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选无论是高级的商业对象还是系统级的应用程序。使用简单的C#语言结构,这些组件可以方便的转化为XML 网络服务,从而使它们可以由任何语言在任何操作系统上通过Internet进行调用。最重要的是,C#使得C 程序员可以高效的开发程序,而绝不损失C/C 原有的强大的功能。因为这种继承关系,C#与C/C 具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。第3章 系统需求分析3.1功能需求v 用户登录模块提供用户登录,注销等功能。v 物业管理模块是提供管理员登录后可以对小区资料、楼房资料、车位资料以及电话资料等进行查询、修改、添加、删除操作。v 住户管理模块是提供管理员登录后可以对入住房屋信息,空出房屋信息以及电话资料等进行查询、修改、添加、删除操作。v 设备管理模块是提供管理员登录后可以对小区内的设备的基本信息、设备的维修信息等进行查询、修改、添加、删除操作。v 系统管理是提供登录后的系统维护人员可以对该系统的使用者数据项进行查询、添加、修改、删除操作。3.2性能需求v 高效、清晰的业务流程,真正实现企业管理的可视性和可控性。v 全方位的快速查询,减少重复劳动。v 完整的工程及服务档案,提高管理水平。v 安全的权限管理 ,数据安全高枕无忧。3.3运行需求v 用户界面:使用Browser-Server架构,在客户端不需要安装专门的程序,用户使用就像在浏览网页一般,非常容易上手。v 硬件接口:支持一般奔腾256MB以上内存的pc机。v 软件接口:运行在Microsoft Windows系列平台上v 故障处理:在开发阶段可以随时修改数据库里的相应内容。3.4数据字典v 数据字典是以数据库中数据基本单元为单位,按一定顺序排列,对其内容作详细说明的数据集。数据字典中存放着系统中所有数据的定义,即对所有数据库结构的描述。数据字典提供了对数据库数据描述的集中管理手段。数据字典是一个定义应用程序中使用的所有数据元素和结构的含义、类型、数据大小、格式、度量单位、精度以及允许取值范围的共享仓库。数据字典的作用是:确保开发人员使用统一的数据定义;数据字典中有关系统的详细信息是系统设计、系统实施与维护的重要依据。v 下面举例说明数据字典的定义。名称:住户信息描述:住户人所有信息定义:住户信息=住户ID+姓名+性别+单位+身份证号+电话+手机+电子邮箱+经办人+照片+住户类型+是否住入位置:存储与数据库住户信息表,输出到住户信息纪录修改、检索页面。名称:住户电话号码信息描述:住户电话号码信息定义:住户电话号码=住户电话号码ID号+电话号码+楼宇ID号+房间ID号+备注位置:存储与数据库住户电话号码信息表,输出到住户电话号码信息纪录修改、检索页面。名称:系统访问用户基本信息描述:用户所有的基本信息定义:系统访问用户基本信息=成员ID+姓名+登录时的用户名+登录时的密码+电子邮箱+所属国家+所属省+所属城市+邮编+地址1+地址2+地址3+白天电话+夜间电话+传真+注册日期+最后登录日期+权限等级+备注位置:存储与数据库系统访问用户基本信息表,输出到系统用户基本基本信息纪录修改、检索页面。名称:设备基本信息描述:设备基本情况定义:设备基本信息=设备ID+名称+规格+数量+生产厂商+生产日期+检修周期+备注位置:存储与数据库设备基本信息表,输出到设备基本信息纪录修改、检索页面。名称:设备维修信息描述:维修的基本信息定义:设备维修信息=设备ID号+名称+损坏原因+施工单位+负责人+施工日期+是否付款+备注位置:存储与数据库设备维修信息表,输出到设备维修纪录修改、检索页面。3.5概念结构设计3.5.1数据库的设计在物业管理系统中,存在小区、楼宇、房间、费用、住户、设备等几个对象实体,以小区、楼宇、房间、住户以及周边设施这几个对象实体为例,一个小区对应多个楼宇,同时一个楼宇只能属于一个小区;一个楼宇中有多个房间,一个房间只能属于一个楼宇。一个楼宇对应多个住户,一个住户也能属于多个楼宇;一个房间对应一个住户,一个住户也只能对应多个房间;一个小区对应多个周边设施,而一个周边设施也同样对应多个小区;一个小区拥有多台设备,而一个设备只能属于一个小区。据此可以得知小区和楼宇之间、楼宇和房间之间是一对一的关系;小区和设备之间,住户与房间之间,住户和楼宇之间是一对多的关系;小区与周边设施之间是多对多的关系。上述分析对应的实体-关系图E-R如图3-1所示。各实体包含属性如下:车位:车牌号码、承租人号、车位号码、位置、面积;小区:小区名称、负责人、建成日期、占地面积、道路面积、建筑面积、位置说明;设备:设备名称、规格、数量、生产厂商、维护周期、检修日期;周边设施:联系电话、联系人、简称、全称、类型、负责人;房间:房号、户主、单元号、房型、建筑面积、使用面积、朝向;住户:业主编号、业主姓名、性别、所属单位、身份证号、电话、手机、电子邮箱、照片;楼宇:楼号、类别、朝向、建筑面积、层数、高度、建成时间。图3-1总实体-关系图局部实体关系图:图3-2住户信息实体图图3-3住户电话号码信息实体图图3-4系统访问用户实体图图3-5设施信息实体图图3-6设备维修实体图3.6逻辑结构设计本阶段把上一阶段得到的ER图转化为关系模型,根据转换规则以及范式理论,得到物业管理、住户管理和设备服务管理部分的如下几个关系模式:Zhuhu(zhuhu_Bianhao,zhuhu_Xingming,zhuhu_Danwei,zhuhu_Shenfenzhenghao,zhuhu_Dianhua,zhuhu_Shouji,zhuhu_Youjian,zhuhu_Jianlizhe,zhuhu_zhaopian,zhuhu_leixing,zhuhu_shifouruzhu)Phone(Phone_ID,Phone_Phone,Phone_Paid,Phone_Hoid,Phone_Memo)Members(members_members_id,members_name,members_members_login,members_members_password,members_email,members_country_id,members_state_id,members_city,members_zip,members_address1,members_address2,members_address3,members_phone_day,members_phone_evn,members_fax,members_date_createdmembers_last_login_date,members_security_level_id,members_memo)Shebei_mingxi(Shebei_mingxi_id,Shebei_mingxi_Mingcheng,Shebei_mingxi_Guige,Shebei_mingxi_Shuliang,Shebei_mingxi_changshang,Shebei_mingxi_Riqi,Shebei_mingxi_Zhouqi,Shebei_mingxi_Beizhu)Shebei_weixiu(Shebei_weixiu_id,Shebei_weixiu_Mingcheng,Shebei_weixiu_Yuanyin,Shebei_weixiu_Danwei,Shebei_weixiu_Fuzeren,Shebei_weixiu_Riqi,Shebei_weixiu_Fukuanfou,Shebei_weixiu_Beizhu)3.7设计数据库结构首先在SQL Server中创建一个数据库,命名为wuyeguanli。根据上面的分析,创建数据库表下所示:表3-7住户信息表(zhuhu)名称数据类型大小说明Bianhaoint4住户ID号(自增字段,主键)Xingmingvarchar50姓名Xingbievarchar50性别Danweivarchar100单位Shenfenzhenghaovarchar50身份证号Dianhuavarchar50电话Shoujivarchar50手机Youjianvarchar50电子邮箱Jianlirenvarchar50经办人Leixingvarchar50住户类型shifouruzhuvarchar50是否入住表3-8 住户电话号码信息表(Phone)名称数据类型大小说明IDint4住户电话号码ID号(自增字段,主键)Phonevarchar50电话号码Paidint4楼宇id号Hoidint4房间id号Memovarchar150备注表3-9系统访问用户基本信息表(members)名称数据类型大小说明member_idint4成员ID(主键)namevarchar50姓名member_loginvarchar50登录时的用户名member_passwordvarchar50登录时的密码emailvarchar50电子邮箱country_idvarchar50所属国家stste_idvarchar50所属省cityvarchar50所属城市zipvarchar50邮编address1varchar50地址1address2varchar50地址2address3varchar50地址3phone_dayvarchar50白天电话phone_evnvarchar50夜间电话faxvarchar50传真data_createddatetime8注册日期last_login_datedatetime8最后登录日期security_level_idsmallint2权限等级memovarchar150备注表3-10设备基本信息表(Shebei_mingxi)名称数据类型大小说明IDint4设备ID号(自增字段,主键)Mingchengvarchar50名称Guigevarchar50规格Shuliangint4数量changshangvarchar50生产厂商Riqidatetime8生产日期Zhouqivarchar50检修周期Beizhuvarchar150备注表3-11设备维修信息表(Shebei_weixiu)名称数据类型大小说明IDint4设备ID号(自增字段,主键)Mingchengvarchar50名称Yuanyinvarchar50损坏原因Danweivarchar50施工单位Fuzerenvarchar50负责人Riqidatetime8施工日期Fukuanfouvarchar50是否付款Beizhuvarchar150备注第4章 总体设计4.1总体功能模块设计总体功能模块设计部分将搭建出系统的主要框架,为接下来的详细设计构件一个雏形。系统的功能结构图4-1所示:图4-1系统结构图4.1.1模块设计系统的模块划分如图4-2所示,分为5个模块,每个模块负责的功能相对专一。其中,用户身份验证提供对用户的登录身份进行验证,同时读取用户所具有的权限,只有具有系统账号的用户才可以使用系统的所有功能。在系统的底层采用ADO.NET提供对ASP.NET的支持和实现对数据库的访问操作。系统的最底层是数据库,本系统采用SQL Server2000数据库。图4-2模块划分图4.2模块功能细化该系统的基本功能包括:用户身份验证、物业管理、住户管理、设备管理、系统管理等。本论文主要设计的是住户管理模块、设备管理模块和系统管理模块,现就各个模块的主要功能分析如下:4.2.1住户管理模块该模块又可具体分为住户信息、住房信息和电话资料。该模块主要提供的是查看、修改、删除、添加小区内住户的基本信息、住户的房屋居住信息以及住户的电话信息。将住户就的电话信息单独作为一个小的功能模块是因为一般来讲一个住户有多个电话信息,例如电话、手机等,这样可以方便对住户联系电话的查看及修改操作。同时该模块也实现了用户退出系统的功能。v 住户基本信息表:提供住户的基本信息,及实现对住户基本信息查询,添加, 修改,删除的功能。v 入住房屋信息:入住房屋的信息,及实现对入住房屋的查找功能。v 空出房屋信息:空出的房屋信息,及实现对空出房屋的查找功能,v 电话资料:入住业主的电话资料,及实现对电话的查找功能。4.2.2设备管理模块设备管理模块主要提供的是对小区内的设备的基本信息进行查看、修改、添加和删除加操作。由于设备经常需要检查维修,所以将设备的维修信息单独列出供用户进行查看、修改、添加和删除操作。这样可以方便用户了解设备的使用情况。v 设备明细表单:提供设备的详细信息,及实现对设备信息的添加、修改、删除、查询的功能。v 设备维修记录:提供设备维修的详细记录,及实现对记录信息的添加,修改、删除、查询的功能。4.2.3系统管理模块系统管理模块是对用户信息的管理功能。由于本系统主要使用者的权限只有两类,为方便起见,将用户的权限直接存储到了用户的基本信息表中,所以不在设置单独的模块来对用户的权限进行操作。用户管理信息包括对用户信息的查询、修改、添加、删除等功能。v 用户管理:实现对登录该系统用户的管理,及对用户的查找、添加、修改,删除等功能。第5章 详细设计通过详细设计,我们将要设计出系统的“蓝图”,得出对目标系统的精确描述。本系统在详细设计阶段,采用过程设计工具程序流程图来对系统控制流程、处理功能、数据组织等细节进行设计。程序流程图又称为程序框图,其优点是对控制流程的描述非常直观。在计算机事务处理应用进行系统分析时常用这一种描述方法,它描述了计算机事务处理中从数据输入开始到获得输出为止,各个处理工序的逻辑过程。而且,程序流程图历史悠久,为最广泛的人所熟悉。5.1系统流程图图5-1系统流程图5.2局部流程图及数据流图5.2.1住户管理用户通过功能接口进入住户管理模块,可以对住户基本信息、房屋资料、电话资料三个子模块进行查询和修改,查询时系统自动根据查询条件在数据库进行匹配,然后列出相关信息反馈给用户。进行修改操作时,系统自动判断用户是否是系统管理员,用户具有系统管理员权限时才会进入修改页面,修改后自保存到数据库并刷新页面,反之则不能修改,提示无响应权限。图5-2住户管理流程图图5-3住户管理数据流图5.2.2设备管理用户通过功能接口进入设备管理页面,通过数据库得到设备明细清单,可以进行添加、删除、修改、查询等操作,在进行添加、修改、删除操作时,系统会自动判断单前拥护是否为系统管理员来决定是否允许操作,查询时,根据查询条件(是否选择项目)来反馈相应的页面,无条件时反馈当前页面。进入设备维修记录时显示当前数据库中保存的列表信息,修改、删除、添加时同样存在权限判断来决定是否操作成功,查询也同上。图5-4设备管理流程图图5-5设备管理数据流图5.2.3系统管理用户通过系统接口进入系统管理页面时,系统会根据数据库中相应表来判断当前用户是否是管理员,是则进入页面,不是则提示相应信息。进入页面以后可以删除,添加,修改人员信息,操作结束后会自动更新数据库和页面。图5-6系统管理流程图图5-7系统管理数据流图5.3编码5.3.1系统主界面当打开网页时,显示如下登陆画面:图5-8系统登陆页面当单击页面上方的“住户管理”链接时,当前页面就会跳转到相应页面,如图5-10所示页面。 图5-9住户管理页面当单击页面上方的“设备管理”链接时,当前页面就会跳转到5-10所示页面。图5-10设备管理明细页面当单击“设备维修纪录”链接时,跳转到图5-11所示页面。图5-11设备维修记录页面当单击页面上方“系统管理”链接时,当前页面就会跳转到图5-12所示页面。图5-12系统管理页面5.3.2具体模块的实现v 系统主要框架页面的设计在该模块中建立一个框架页面index.htm,结构如在系统预览中所示,其中top部分对应的页面为top.htm,显示操作导航;left部分对应的页面提供导航各个功能模块的链接,main部分对应的页面是当用户单击left部分相应页面中的链接时在这一部分加载显示相应的页面。A主要实现对控件的控制,从控件间读取信息,与数据库中members表中数据进行匹配,先进行帐号匹配,再进行密码判断,正确则跳转到下一个页面,错误则弹出错误信息,主要代码如下:密码: v 设备管理模块的设计实现在设备管理模块里主要包括了设备明细表单页面和设备维修页面的设计与实现。当单击top.htm页面中的“设备”连接时,框架页面由index.htm调转到shebei_index.htm页面,其中shebei_index.htm页面中的left部分的src值为“shebei_main.htm”。其中shebei_left.htm页面实现了设备管理部分的链接导航和用户退出系统的功能。v 住户管理的设计实现 住户管理页面首页为:zhuhu.aspx,主要功能是将数据绑定显示到页面,同时提供搜索,删除,添加等功能,具体实现代码如下。搜索部分代码,对搜索条件判断后,发送SQL语句到数据库实现操作private string GetTitle(string id)string title = ;if (id = )return title;string strSQL = select bianhao,xingming,xingbie,leixing from zhuhu where bianhao= + id + ;OleDbCommand cmd = new OleDbCommand(strSQL,Utility.Connection);OleDbDataReader rdr = cmd.ExecuteReader();while (rdr.Read()string strBianhao = rdrbianhao.ToString().Trim();string strName = rdrxingming.ToString().Trim();string strXingbie = rdrxingbie.ToString().Trim();string strLeixing = rdrleixing.ToString().Trim();title = 业主编号: + strBianhao + n业主姓名: + strName + n业主性别: + strXingbie + n租用类型: + strLeixing;rdr.Close();return title;删除操作代码如下,前部分判断为触发判断按键是否被点击,点击后弹出确认对话,再次确认后执行删除操作,后部分函数实现删除后刷新,新的也页面替代。private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) DataGrid1.EditItemIndex = -1;string idNum = DataGrid1.DataKeyse.Item.ItemIndex.ToString().Trim();string strDelSQL = delete from zhuhu where bianhao= + idNum + ;Utility.Execute(strDelSQL);BindDataGrid();private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)ViewStateNowPage = e.NewPageIndex;BindDataGrid();页面显示数据通过BindDataGrid()实现表绑定,具体实现代码如下:private void BindDataGrid()tb = Utility.ExecuteSql4Ds(strSelectSQL).Tables0;DataView dv = tb.DefaultView;/向视图应用过滤信息(先过滤)if (ViewStatestrFilter != null)dv.RowFilter = ViewStatestrFilter.ToString().Trim();/向视图应用排序信息(再排序)if (ViewStateSortExpression != null)dv.Sort = ViewStateSortExpression.ToString().Trim();/重新绑定数据DataGrid1.DataSource=dv;/在当前页排序,排序后仍然在当前页(最后确定显示哪一页)if (ViewStateNowPage != null)DataGrid1.CurrentPageIndex = int.Parse(ViewStateNowPage.ToString().Trim();tryDataGrid1.DataBind();catch /比如查询时过滤掉了很多,ViewStateNowPage中保存的页数已经偏大DataGrid1.CurrentPageIndex = DataGrid1.PageCount-1;DataGrid1.DataBind();5.3.3系统管理模块的设计实现在系统管理模块里主要是用户管理页面的设计与实现。当单击top.htm页面中的“系统管理”连接时,框架页面由index.htm调转到“sysindex.htm”。main部分的src值为“sysindex.htm”, sysindex.htm页面实现用户退出系统的功能。第6章 系统测试6.1 测试目的软件测试是程序的一种执行过程,目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性。它是软件生命周期中一项非常重要且非常复杂的工作,对软件可靠性保证具有极其重要的意义。在目前形式化方法和程序正确性证明技术还无望成为实用性方法的情况下,软件测试在将来相当一段时间内仍然是软件可靠性保证的有效方法。软件工程的总目标是充分利用有限的人力和物力资源,高效率、高质量地完成软件开发项目。不足的测试势必使软件带着一些未揭露的隐藏错误投入运行,这将意味着更大的危险让用户承担。过度测试则会浪费许多宝贵的资源。到测试后期,即使找到了错误,然而付出了过高的代价。E.W.Dijkstra的一句名言说明了这一道理:“程序测试只能表明错误的存在,而不能表明错误不存在。”可见,测试是为了使软件中蕴涵的缺陷低于某一特定值,使产出、投入比达到最大。6.2 测试方案v 在进行房间信息修改,删除或者编辑时,若用户登录的权限不是管理员没有编辑,修改,删除的权限时,将会提示用户,如图6-1所示图6-1活动查询页面使用DataGrid进行数据列表显示,并采用了分页,当单击datagrid页码时里面绑定会一页一页的绑定,但是在测试这个的时候,发现不管是单击哪一个页码里面的绑定的信息都是一样,这样是不行的。解决上面的问题就是在datagrid的pageindexchanged函数里定义分页函数。private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)ViewStateNowPage = e.NewPageIndex;BindDataGrid();解决后,如图6-2显示。 图6-2 DataGrid数据显示页面v 当用户进去之后判断是不是管理员才能进行的操作,但是当测试系统的时候发现不管是不是管理员都可以对物业管理系统的设备信息进行修改,删除,这样系统就失去了意义,因为用户不能浏览观看小区里的物业信息,但又不能编辑里面的信息,所以权限的设置一定要分配恰当,否则麻烦很大。图6-3设备维修单修改页面解决这个问题就是在各自的编辑页面,比如修改,增加等页面在page_load的函数里要加一个判断语句,代码如下:Utility.CheckSecurity(2);这个是调用公共类的一个函数public void CheckSecurity(int iLevel) if (SessionUserID = null | SessionUserID.ToString().Length = 0) Response.Redirect(index.aspx?QueryString= + Server.UrlEncode(Request.ServerVariablesQUERY_STRING) + &ret_page= + Server.UrlEncode(Request.ServerVariablesSCRIPT_NAME); else if (Int16.Parse(SessionUserRights.ToString() iLevel)/Response.Redirect(index.aspx?QueryString= + Server.UrlEncode(Request.ServerVariablesQUERY_STRING) + &ret_page= + Server.UrlEncode(Request.ServerVariablesSCRIPT_NAME) ;Response.Redirect(noright.htm);这个函数的意思是根据登录时候保存的session值看用户有没有登录超时,如果session的值为空的话则自动重定向登录页面,如果没有登录超时则判断是不是具有管理员的权限,如果有则不进行任何操作,否则就重定向无权限的html页面,显示无权操作等信息。v 在用datagrid绑定时,如果有足够的入住房屋信息,则显示不会有任何问题,而且比较整洁,但是当信息不够时候,比如本来是显示8条信息,但是由于最后一页的信息不够,比如只有1条但是 datagrid的height还是会撑的好大,行会好宽,这样的话,看起
展开阅读全文