本科毕业设计论文
题目:基于WEB的小区物业管理
系统的设计与实现
院、 系: 计算机科学与工程学院 学科专业: 计算机科学与技术 学 生: 杨兴华 学 号: ********* 指导教师: **
2007年 6月
基于WEB的小区物业管理系统的设计与实现
摘 要
本篇论文主要针对智能小区的物业管理的现状和现有的物业管理系统,阐述了基于Web的小区物业管理系统的设计与实现的方法。
随着互联网技术的发展,我们所生存的整个社会的信息化进程逐步加快,互联网也成为了我们生活中所不可或缺的一个重要组成部分。互联网的我们生活中的应用,主要包括信息浏览、信息发布功能以及进行及时沟通的功能。 小区物业管理系统是一个近几年提出的一个建立在智能化小区基础上的新型小区信息化的系统。作为小区的物业部门,在越来越多的买房者开始注重小区物业服务情况下,一个好用、方便的小区物业管理系统将会是小区物业管理部门的一个强有力的帮手,所以本小区物业管理系统的开发建设定位于如何快捷、方便的对小区信息进行录入以及如何使业主方便的查询信息。
文中主要阐述了小区物业管理系统的设计和实现的方法,包括常见的小区物业管理系统应该具备的事务逻辑处理,比如物业使用信息查询的功能的事务逻辑的设计等,另外通过对系统的源代码的分析来描述整个系统具体实现的方法。
经过分析和选择,整个系统采用B/S结构,用DREAMWAEVER网站开发平台进行客户端的开发,用Access2003在服务器端建立数据库,并使用ASP技术作为开发环境,在Microsoft Windows 2000安装IIS5.0的环境下运行和调试。
关键词:小区物业管理系统 B/S ASP IIS
Web-based Community Property Management System
Design and Implementation
Abstract
This paper mainly aimed at the Intelligent Community property
management and the status of the property management system, expounded on the district Web-based property management system design and implementation methods.
With the development of Internet technology, we live in the
information society as a whole process of gradually accelerate. The Internet has also become a living as an indispensable important component. We live Internet of applications, including Web-surfing, information dissemination functions and timely communication functions.
Area property management system is one of the past few years in establishing an Intelligent Community on the basis of new information technology to the Quarter - EC. As a neighborhood property sector, in a growing number of houses have begun to focus on district property services, a convenient, convenient Area property management system will be district property management sector, a strong helper, Therefore, the district's property management system development and construction positioning on how fast, Area convenience of logging information and how to make the owners convenient access to information.
This paper deals mainly with the Building Management System Design and Implementation of the method, Community including common property management system should have the business logic, For example, the use of Information and the function of the business logic in the design, Through the system's source code analysis to describe the system as a whole to realize the method.
After analysis and selection, the entire system using B / S structure, DREAMWAEVER use web site development platform for client development, Access 2003 with the establishment of the database server, and the use of ASP technology as a development environment. In Microsoft Windows 2000 installation IIS5.0 operating environment and debug.
Keywords: Building Management System; B/S; ASP ;IIS
目 录
摘 要 ............................................................. 2 英文摘要 .......................................................... 3 第一章 绪论 ....................................................... 6 1.1前言 .......................................................... 6 1.2国内外的发展状况 .............................................. 6 1.3选题的目的及意义 .............................................. 6 1.4本文的主要研究内容 ............................................ 7 第二章 技术简介 ................................................... 8 2.1 ASP相关技术的讨论 ............................................ 8 2.1.1 ASP简介 ................................................... 8 2.1.2 选择ASP编程语言的原因 .................................... 8 2.2 B/S模式的相关介绍 ............................................ 9 2.2.1 B/S简介 ................................................... 9 2.2.2选择采用B/S开发模式的原因 ................................ 11 2.3 ACCESS 2003的相关介绍 ......................................... 12 2.3.1 Access 2003简介 .......................................... 12 2.3.2 选择Access 2003创建数据库的原因 ......................... 12 第三章 系统需求分析 .............................................. 13 3.1功能需求 ..................................................... 13 3.2性能需求 ..................................................... 13 3.3人机界面需求 ................................................. 13 3.4 需求分析 ..................................................... 14 3.4.1 实体关系图 ............................................... 14 3.4.2 数据流图 ................................................. 14 第四章 数据库设计 ................................................ 17 4.1数据库结构 ................................................... 17 4.1.1 数据表详细设计 ........................................... 17 4.2 数据库的建立和链接 ........................................... 21 4.2.1查询数据库设计 ............................................ 22 第五章 系统过程设计 .............................................. 24 5.1系统实现过程分析 ............................................. 24 5.2系统功能模块的设计 ........................................... 24 5.2.1系统功能模块具体设计 ...................................... 25 5.2.2 性能优化设计 ............................................. 27 5.2.3系统主要功能相关代码分析说明 .............................. 28 第六章 系统测试方法与结论 ....................................... 34
6.1软件测试的目的 ............................................... 34 6.2软件测试的原则 ............................................... 34 6.3白盒测试 ..................................................... 35 6.3.1静态测试 .................................................. 35 6.3.2白盒测试结果 .............................................. 36 6.4黑盒测试 ..................................................... 36 6.5系统测试结果 ................................................. 37 第七章 结 论 ..................................................... 38 7.1毕业设计总结 ................................................. 38 7.2开展进一步研究的见解与建议 ................................... 38 致 谢 ........................................................... 39 参 考 书 籍 ...................................................... 40
第一章 绪论
1.1前言
随着社会的不断进步,人们对生活的质量开始慢慢注重起来,智能化的小区也应运而生,住宅本身已经不再是一个单纯的房子,而是作为一个小区智能系统中的一个网络节点而存在。对于普通的上班族来说工作越来越忙,很多时候无暇去顾及生活上的小事,因此人们非常期盼能将这些琐碎的小事系统化、网络化、便捷化,小区物业管理系统的出现解决了人们在这方面的烦恼,同时也解决了物业管理人员的烦恼。
基于WEB的小区物业管理系统在最近几年越来越被小区的物业管理者所青睐,原因是在于他的灵活型和方便性。因此,设计和实现一个基于WEB的小区物业管理系统是非常具有现实意义的。
1.2国内外的发展状况
首先从国内来讲,在这方面也算是一个比较新兴的行业,对于这套系统的开发也是比较谨慎的,现存的小区物业管理系统基本分为两种情况:(1)标准配置型。这种小区物业管理系统大部分为单机结构或是C/S结构,其功能属于大而全的类型,基本将常见小区的物业相关内容都包含在软件模块中。(2)专用定制型。这种小区物业管理系统多半为B/S或是C/S结构。软件开发公司根据小区的具体需求进行功能模块的针对型开发,并且留有相应的扩展数据接口。但是这两种系统在国内的普及率还不是很高,这可能和诸多原因相关,这里不做分析。但是从长远看来,随着互连网的普及和人民素质的提高,这套系统最终会落户到每一个小区,成为人们生活所不可少的部分。
再从国外的现有发展状况来看,在发达国家,因为大型小区比较少,所以这套系统往往用在智能办公楼里面,其内容也和本系统不太一样,智能办公楼里的管理系统就相对复杂一些,具备了安保监控等功能。在一些智能化小区建设比较好的中等发达国家,小区物业管理系统还是有一定的需求的。总体来说,国外对于这种小区物业管理系统的软件开发和利用都不大,可以说这种小区物业管理系统是比较符合我们国情的一套系统。
这套系统属于一种便民性系统,随着人们的生活水平不断的提高,在不远的将来将会彻底进入我们的生活并随着互连网一起改变我们的生活。
1.3选题的目的及意义
随着市场经济的发展和人们生活水平的提高,住宅小区已经成为人们安家置业的首选,几十万到几百万的小区住宅比比皆是。人们花的钱越多,不但对住宅的本身的美观、质量要求越来越高,同时对物业小区的服务和管理也要求很高,诸如对小区的维修维护,甚至对各项投诉都要求小区管理者做的好,做的完善。
这样要求小区管理者对物业管理进行宏观的和微观的细致管理,其中最好的办法是用计算机操作的小区物业管理系统来实现对小区物业的管理,这就为我们设计小区物业管理系统提供了市场需要。而我们设计的小区物业管理系统在现代社会是最热门的行业,是最关切老百姓实际生活的设计,各种人性化的配置,使管理者和业主对住宅小区中的事物能更方便、更快捷、更满意的得到答复。伴随着小区的的规模不断扩大和住户的不断增多,像小区中的汽车,小区附带设施,小区的各项维修、投诉等都将越来越复杂,工作量也将越来越大。但一直以来人们使用传统人工的方式管理各种数据,这种管理方式存在着许多缺点,比如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学技术日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对企业单位的各项信息进行管理,具有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高工作的效率,也是企业的科学化、正规化管理与世界接轨的重要条件。
因此,开发这样一套小区物业管理系统软件成为很有必要的事情,在下面的各章中我们将就本次毕业设计我所开发的小区物业管理系统,谈谈其开发过程和所涉及到的问题及解决方法。
1.4本文的主要研究内容
本文主要研究的内容主要有以下几点:
1、简要介绍ASP技术的一些知识要点和发展历史。 2、针对小区物业管理的知识进行事务逻辑的设计。 3、根据设计好的事务逻辑进行相关代码的编写。
上面所说的为本文的基本研究内容,其中具体包括的内容还有很多,比如常见小区物业管理中的各项收费、登记等事务的逻辑研究和设计都在本文的研究范围之内,我将在后面的章节中一一进行论述。
第二章 技术简介
2.1 ASP相关技术的讨论 2.1.1 ASP简介
Active Server Pages ( 动态服务器主页, 简称ASP ), 内含于 Internet Information Server(IIS)当中,提供一个服务器端 (server-side) 的scripting 环境,让你产生和执行动态, 交互式, 高效率的站点服务器的应用程序。你不必担心浏览器是否能执行你设计出来的Active Server Pages,你的站点服务器会自动将Active Server Pages的程序码,解释为标准HTML格式的住页内容,在送到用户端的浏览器上显示出来。用户端只要使用常规可执行HTML码的浏览器,即可浏览Active Server Pages所设计的主页内容。
Active Server Pages 的特点是: 1、无须Compile编译:容易产生,无须Compile 编译或Link 链接即可执行。集成于HTML中。
2、使用常规文本编辑器,如Windows的记事本,即可设计。
3、与浏览器无关(Browser Independence):用户端只要使用常规的可执行HTML玛的浏览器,即可浏览Active Server Pages 所设计的主页内容,Script 语言(Vbscript ,Jscript)是在站点服务器(Server端)执行,用户不需要执行这些Script语言。
4、面向对象(Object_Orient).
5、可通过ActiveX Server components(ActiveX服务器组件)来扩充功能。ActiveX Server component,可使用Visual Basic,Java,Visual C++,COBOL等语言来实现。
6、Active Server Pages与任何AcTiveX scripting语言兼容。除了可使用VBscript或JScript语言来设计,并可通过Plug-in的方式,使用由third party所提供的其他譬如REXX,perl,Tcl 等scripting语言。script引擎是处理script的COM(Component Object Model)对象。
7、Active server Pages的源程序代码,不会传到用户的浏览器因此可以保护辛辛苦苦写出来的源程序不会外泻。传到用户浏览器的是Active Server Pages执行的结果的常规HTML码。
8、使用server端script产生client端script,你可以使用ASP程序码,在站点服务器执行script语言(VBscript 或 Jscript),来产生或更改在client端执行的script语言。
2.1.2 选择ASP编程语言的原因
为什么系统开发选择ASP呢?在这里我从两方面来论述。
1. ASP具有以下特点:
(1)可以搭配HTML,DHTML,ActiveX,VBScript,JavaScript,并且可以相互嵌套。
(2)使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。 (3)安全性好。ASP是一种在WEB服务器端运行的脚本语言,源代码不会传到客户的浏览器上,可保护源程序不外漏。
(4)面向对象。ASP正是通过其自身包含的对象来实现服务器与客户端交互。使用服务器端的脚本来产生客户端的脚本。
(5)可扩充服务器端功能。利用ASP提供的一组ActiveX服务器组件(ActiveX Server Components)可继续扩充ASP的功能。如用ASP内置ADO组件可以轻松的存取各种数据库。此外,还可以用VB,Java等语言开发自己的组件以进一步扩充其功能。
(6)与浏览器无关(Browser Independence),客户端所使用的浏览器只要可执行HTML码,即可浏览Active Server Pages所设计的网页内容就行。Active Server Pages所使用的脚本语言(VBScript,JavaScript)均在Web服务器端执行,客户端的浏览器不需要能够执行这些脚本语。
与传统CGI交互相比:
(1)CGI实现存取数据库很不容易。 (2)程序的开发比较困难。
(3)由于不同的用户执行需要重新的调用因此,占用了服务器端的资源,降低了效率。
2.从应用的角度看,ASP具有如下的功能:
(1)处理由浏览器传送到服务器的表单输入。 (2)访问和编辑服务器的数据库表。
(3)读写服务器的文件,实现访客计数器等功能。
(4)提供广告轮播器,取得浏览器信息、URL表管理等内置功能。 (5)可以实现在多个页面间共享信息。
从以上两方面考虑,所以我选择用ASP编程语言进行系统的开发设计。
2.2 B/S模式的相关介绍 2.2.1 B/S简介
B/S(Browser/Server)结构即浏览器和服务器结构,客户机上只要安装一
个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极
少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。
B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。
三层Browser/Server结构
B/S结构是真正的三层结构,它以访问WEB数据库为中心,HTTP为传输协议,客户端通过浏览器(Browser)访问WEB服务器和与其相连的后台数据库,我们称之为B/S(Browser/Server)模式。其三级结构组成如图3-1所示:
客户端
WEB服务器 客户端 后台数据库 图3-1 B/S三级结构组织图
图中从左到右,分为三个层次:
第一层是客户端即浏览器,主要完成客户和后台的交互及最终查询结果的输出功能。在客户端向指定的Web服务器提出服务器请求,Web服务器用HTTP协议把所需文件资料传给用户,客户端接受并显示在WWW浏览器上; 第二层Web服务器是功能层,完成客户的应用功能,即Web服务器接受客户请求,并与后台数据库连接,进行申请处理,然后将处理结果返回Web服务器,再传至客户端。
第三层数据库服务器是数据层。数据库服务器应客户请求地进行各种处理。
与传统的C/S模式相比,B/S结构把处理功能全部移植到了服务器端,用户的请求通过浏览器发出,无论是使用和数据库维护上都比传统模式更加经济方便。而且使维护任务层次化:管理员负责服务器硬件日常管理和维护,系统维护
人员负责后台数据库数据更新维护。
由以上的比较分析可知,三层结构也可以理解为增加WEB服务器的C/S模式。
2.2.2选择采用B/S开发模式的原因
在这里,我们从B/S架构软件的优势与劣势来阐述。
(1)维护和升级方式简单。目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级的方式是“瘦”客户机,“胖”服务器。
(2)成本降低,选择更多。大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。 现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。
比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新浪”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。
(3)、应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。
采用基于B/S架构几乎不需要培训,使用浏览器这种易于操作界面的产品,是开发这套系统最好、最明智的选择。
(4)开发运行环境 开发环境
操作系统:Microsoft Windows 2000 Advanced Server,安装IIS 5.0
开发平台:ASP +Micromedia Dreamwerver8.0+ Microsoft Access 2003 运行环境
硬件配置:200MHZ以上处理器,M以上内存,500M以上硬盘空间。 软件环境:Microsoft Windows98以上操作系统,Internet Explore 5.0版
本以上浏览器
2.3 Access 2003的相关介绍 2.3.1 Access 2003简介
Access 2003是美国微软公司开发的办公套件Office 2003中一个极为重要的组成部分,主要用于数据管理,也是现今使用最为广泛的一个数据库软件。
2.3.2 选择Access 2003创建数据库的原因
在这里我主要从Access2003的特点来说明原因。
Access是一个关系数据库管理软件,利用它可以在计算机中存储维护和使用各类数据,包括文字、声音和图象等。 (1)Access2003方便的操作手段
为使用者提供了简单,方便的操作手段,提供了许多向导对话框。 (2)丰富的数据对象。
Access2003提供了七种对象类型,分别是表、查询、窗体、报表、页、宏 及模块。
(3)强大的数据共享
方便地将Word、Excel中的数据导入Access数据库中也可以导出。 (4)精美的窗体和报表
Access2003具有图形应用程序,可建立商业图形。 (5)实用的帮助系统
使用方便的Office助手。 (6)全新的Web功能。
提供Web工具及以超级链接支持。
第三章 系统需求分析
3.1功能需求
本小区物业管理系统作为智能化小区的信息化窗口,需要界面设计美观大方,符合智能化小区的形象主题,可以展示小区的风貌、小区的新闻、业主的信息、各种物业使用情况,可以提供小区一些信息的处理功能,网站管理员能够在后台处理这些信息。可以作为物业管理人员和小区业主之间的一个沟通的平台。
根据分析结果,系统需要实现的功能包括:
(1)整体界面设计要求美观大方,达到一定的美工设计标准,符合小区物业管理系统的特点---简洁大方。考虑到客户的层次和使用习惯,做到操作简单明了。
(2)系统前台功能主要包括用户资料查看、用户资料修改、楼盘信息查询、工作人员信息查询、小区新闻、物业使用信息查询、故障报修登记、小区论坛。 (3)系统后台的功能主要包括:管理员信息注册、管理员信息修改删除、用户信息管理、小区楼盘信息删除修改、小区新闻发布删除、小区物业办工作人员信息录入与修改、住户物业使用信息录入修改删除、故障报修处理、小区论坛的访问。
(4)网站后台根据用户类型分为系统管理员和保安模块管理员两种。
(5)保安模块管理员根据系统管理员分配的权限,只拥有保安模块的使用功能。
3.2性能需求
(1)数据精确度:要按照严格的数据格式输入,否则系统不给予响应进行处理。
(2)适应性:符合智能化小区对小区物业管理系统的需求。 (3)稳定性:系统必须稳定,做到支持多人同时访问。
3.3人机界面需求
编写界面时本着用户方便使用,对用户友好的初衷,采用ASP语言编写界面。用户界面呈现网页形式,全新感觉,操作简便,一目了然,视图优美等特点。并且采用资源管理器菜单界面驱动方式,给操作用户带来了极大的便利,对用户友好。
3.4 需求分析 3.4.1 实体关系图
通过对需求进行了适度的分析后,基本可以确定一个简单的实体关系图。 实体对象主要有:人员、信息
其中人员又分为3中:管理员、保安人员、普通用户 信息可分为:用户信息、物业信息、其他信息
实体之间的联系主要由数据库来完成,定义该过程的名称为“处理” 。 则可以得到如图3-4-1所示的简单的实体关系图。
图3-4-1 实体关系图
3.4.2 数据流图
数据流图是结构化分析的基本工具,它描述了信息流和数据转换,通过对加工进行分解可以得到数据流图。
其分为四种元素:
外部实体:与系统进行交互,但系统不对其进行加工处理的实体。 加工:对数据进行的变换和处理。
数据流:在数据加工之间或数据存储和数据加工之间进行流动的数据。 数据存储:在系统中需要存储的实体。
第0层DFD图:它主要说明了系统的总体处理能力,用来表示系统的输入和输出。管理员负责录入和处理信息,用户登录查询信息和提交信息。如图3-4-2-1所示。
图3-4-2-1 第0层数据流图
第一层DFD图
对第0层里的一个加工“小区信息处理”进行一个展开。主要对管理员的职责和用户的操作流程进行描述。如图3-4-2-2所示。
图3-4-2-2 第1层数据流图
第二层DFD图
对第1层DFD图中的一个加工“各种信息查询”进行一个展开。如图3-4-2-3所示。
图 3-4-2-3 第2层数据流图
第四章 数据库设计
数据库设计采用了MICROSOFT 公司的OFFICE 2003办公套件的ACCESS 2003来进行数据库设计,并使用“通过设计器来创建表”功能来建立各个数据表。
4.1数据库结构
根据对要实现的功能进行需求分析后,我设计了如下的数据表。 数据表名 描述 设计原因 Admin Baseinfo Bbs BBSBACK Caller Equipment GZ News Parking Payinfo Search Userinfo Wyry Zf 管理员信息表 小区基本信息表 BBS帖子发布信息表 BBS帖子回复信息表 访客登记信息表 设备信息表 故障报修信息表 小区新闻信息表 小区停车信息表 用户缴费信息表 用户物业使用信息表 用户信息表 物业人员信息表 物业资费标准信息表 用来存放管理员和保安的信息 用来存放小区的基本信息 用来存放所有发帖信息 用来存放所有帖子回复信息 用来存放访客登记信息 用来存放所有现存设备信息 用于记录故障报修信息和处理结果 用于存放小区新闻 用于记录小区车位情况 用于记录用户缴费的信息 用于记录每个用户的物业使用情况 用于记录每个用户的个人信息 用于存放物业工作人员信息 用于记录小区的物业资费信息 4.1.1 数据表详细设计
进行了功能需求分析,并且进行了数据库文件建立和基本表的建立后,就开始进行每个数据表的详细字段设计。 (1) admin(管理员信息表) 字段名 数据类型 设计原因 Id 文本 用于存储用户ID Username 文本 用于存储用户姓名 Password 文本 用于存储用户密码 Sex 文本 用于存储用户性别 Email 文本 用于存储用户EMAIL Telephone Enroldate Lx 文本 日期 文本 用于存储用户电话 用于存储用户注册时间 确定用户类型,session效验(分为ADMIN和safe这两种) (2) baseinfo(小区基本信息表) 字段名 lh Lhqk Zhzs Xiao Zhong Da Ltjg Lfzcs 数据类型 文本 文本 文本 文本 文本 文本 文本 文本 设计原因 用于存储楼号 用于存储绿化情况 用于存储楼内住户总数 用于存储90平方米以下房屋数量 用于存储90-150平方米房屋数量 用于存储150平方米以上房屋数量 用于存储楼体结构 用于存储楼房总层数 (3) BBS(BBS帖子发布信息表) 字段名 Id Guestname Title Neirong 数据类型 数字 文本 文本 备注 设计原因 用于标记帖子序号 用于存储发帖人姓名 用于存储帖子标题 用于存储帖子具体内容
(4) BBSBACK(BBS帖子回复信息表) 字段名 Id Guestname Title Neirong Wzbh 数据类型 自动编号 文本 文本 备注 数字 设计原因 用于排序 用于存储回帖人姓名 用于存储回帖帖子标题 用于存储回帖帖子具体内容 用于确保回帖与原帖的关系对应
(5)CALLER(访客登记信息表) 字段名 caller_id 数据类型 自动编号 设计原因 用于存储访客序号 caller_xm caller_zjlx caller_zjhm caller_yz caller_lfrs caller_ddsj caller_lksj 文本 文本 文本 文本 文本 日期/时间 日期/时间 用于存储访客姓名 用于存储访客证件类型 用于存储访客证件号码 用于存储访客寻找哪位业主 用于存储访客人数 用于存储访客到达时间 用于存储访客离开时间
(6)Equipment(设备信息表) 字段名 equipment_id equipment_name equipment_num equipment_status equipment_position equipment_fixrecord 数据类型 自动编号 文本 数字 文本 文本 备注 设计原因 用于记录设备编号 用于记录设备名称 用于记录设备数量 用于记录设备状态(良好、正常、损坏) 用于记录设备位置 用于记录设备维修记录
(7)GZ(故障报修信息表) 字段名 gz_ID gz_name gz_fh gz_date gz_phone px_info px_info px_person
(8)NEWS(小区新闻信息表) 字段名 xwbt xwnr xwsj 数据类型 文本 备注 日期/时间
设计原因 用于记录新闻标题 用于记录新闻内容 用于记录新闻发布时间 数据类型 自动编号 文本 文本 日期/时间 文本 文本 文本 文本 设计原因 用于记录报修序号 用于记录报修者姓名 用于记录申报人房号 用于记录报修日期 用于记录申报人电话 用于记录报修问题 用于记录派修记录 用于记录派修人员 (9)Parking(小区停车信息表) 字段名 parking_id parking_type parking_time parking_chehao parking_money 数据类型 数字 文本 文本 文本 文本 设计原因 用于记录停车车位号 用于记录停车类型,内部车/外部车/空车位 用于记录停车日期时间 用于记录所停车号 用于记录停车金额
(10)PAYINFO(用户缴费信息表) 字段名 id pay_date pay_type pay_money 数据类型 文本 日期/时间 文本 数字 设计原因 用于记录用户ID,同用户管理ID 用于记录缴费日期 用于记录缴费类型(水/电/暖气) 用于记录缴费金额(人民币:元)
(11)Search(用户物业使用信息表) 字段名 id water_base water_info water_remain water_date elec_base elec_info elec_remain elec_date heat_base heat_info heat_date
数据类型 文本 数字 数字 数字 日期/时间 数字 数字 数字 日期/时间 数字 数字 日期/时间 设计原因 用于记录用户ID,和用户注册ID相符 用于记录用户水表初始读数 用于记录用户水表使用读数 用于记录用户水剩余量 用于记录信息录入日期 用于记录用户电表初始读数 用于记录用户电表使用读数 用于记录用户电剩余量 用于记录信息录入日期 用于记录暖气表初始读数 用于记录用户暖气使用读数,因采用冬季结算制,不考虑剩余量 用于记录信息录入日期 (12)USERINFO(用户信息表) 字段名 id nc xm xb nl mm fh ah qq msn email dh zcrq lx 数据类型 自动编号 文本 文本 文本 文本 文本 文本 文本 文本 文本 文本 文本 日期/时间 文本 设计原因 用于记录用户ID 用于记录用户昵称 用于记录用户姓名 用于记录用户性别 用于记录用户年龄 用于记录用户密码 用于记录用户房号 用于记录用户爱好 用于记录用户qq号码 用于记录用户msn号码 用于记录用户电子邮件地址 用于记录用户联系电话 用于记录用户注册时间 用于记录用户类型
(13)Wyry(物业人员信息表) 字段名 gh xm zw dh 数据类型 文本 文本 文本 文本 设计原因 用于记录物业工作人员工号 用于记录物业工作人员姓名 用于记录物业工作人员职务 用于记录物业工作人员电话
(14)Zf(物业资费标准信息表) 字段名 wyf sf df nqf
数据类型 数字 数字 数字 数字 设计原因 用于确定物业管理费 用于确定水费标准 用于确定电费标准 用于确定暖气费标准 4.2 数据库的建立和链接
先实现每个模块(包括数据库设计和功能设计),最后再将这些模块组装起来,
实现全部的功能。其中软件环境是在Windows 2000 Advanced Server,安装IIS 5.0下工作。设计工具和开发工具分别考虑使用Dreamweaver8.0和ASP + Microsoft Access 2003。在集成该系统的时候,我们采用的是Microsoft.Jet.OLEDB.4.0技术。
4.2.1查询数据库设计
在设计数据库查询的时候,可把ADO与ASP结合起来,建立提供数据库信息的脚本文件,在网页中执行SQL命令,对数据库进行查询、插入、更新、删除等操作。
本例要完成的操作是对数据库查询、修改、删除管理。
1. 确定数据源 要访问网上数据库,首先设定数据来源。建立一个conn.asp的文件,并在其敲入如下的命令:
<%
dim conn,connstr,db,rs
db=\"../database/data.mdb\"-------数据库文件相对路径 Set conn = Server.CreateObject(\"ADODB.Connection\") connstr=\"Provider=Microsoft.Jet.OLEDB.4.0;Data Source =\"&Server.MapPath(\"\"&db&\"\") conn.Open connstr %>
用来链接服务器上的数据库。 2. ADO查询数据库的使用
ADO查询数据库的设计方法是先用Server.CreatObject取得对象\" ADODB.Connection \"的一个实例,并用\"Open\"打开待访问的数据库: Set Conn=Server.CreatObject(\"ADODB.Connection\") Conn.Open \"待访问的数据库名称\"
然后执行SQL命令,即对数据库进行操作,这里要使用Execute命令 :
Set RS =Conn .Execute( \" Select ...From...Where...\")下一步就可对数据库进行查询操作,要用到RecordSets对象的如下命令: * RS.Fildes.Count:RecordSets的字段数
* RS(i).Name:第i个字段名 * RS(i):第i个字段的记录
* RS(\"字段名\"):指定字段的记录
* RS.EOF:是否指向最后一个字段 True or False * RS.MoveFirst:指向第一条记录
* RS.MovePrev:指向前一条记录 * RS.MoveNext:指向后一条记录 * RS.MoveLast:指向最后一条记录
* RS.GetRows:将查询结果存放在数组中,然后再从数组中读取
* RS.Properties.Count:得到ADO的Connection或ResultSet的属性总数 * RS.Properties(Item).Name:得到ADO的Connection或ResultSe t的属性名称
* RS.Properties(Item):得到ADO的Connection或ResultSet的属性值
第五章 系统过程设计
5.1系统实现过程分析
在实现各个功能模块时,也采用先模块后系统集成的方式,即各个系统功能模块分别设计和调试,在创建系统主窗体时才将各个功能模块通过主窗体的菜单系统集成到一起,最后进行系统整体设计和调试。
在各个功能模块中,统一采用ADO完成数据库的访问。ADO可以让应用程序直接访问并修改数据源。数据库服务器作为服务器端,为浏览器端应用程序提供数据服务。
在实现过程中,首先需要根据系统功能分析设计出需要的数据库,包括数据库和数据库表的详细结构。这个在上一章节已经将数据库设计完毕。
5.2系统功能模块的设计
根据系统功能的需求分析和小区物业管理系统的特点,按照按功能模块的分别设计的原则,将系统划分管理员、用户两级,共计十二个功能模块。经过模块化的分析得到如图5-2-1所示。
图 5-2-1 功能模块图
5.2.1系统功能模块具体设计
(1)用户管理模块
这个模块整体处于管理员子系统中,其主要功能是对所有用户的信息进行管理,包括管理员信息和普通用户信息,其中管理员可以进行注册或是对现有管理员进行信息的修改、删除,而管理员对于普通用户则是具有浏览和删除的功能,普通用户的注册在登录系统的界面完成。在这个模块的设计上,我考虑到需要把管理员注册放在超级管理员登录之后,这样可以保证系统的安全,也就是说普通用户是无法注册成管理员的。另外,设计的时候也考虑到管理员需要了解普通用户注册情况,所以设计了浏览和删除功能,发现不符合条件的用户立即删除,保证整个系统人员的统一和正规性。在设计整个用户机制的时候,我使用了ASP内置组件SESSION用来控制基本权限,整个系统的每一个页面都设置了SESSION效验,分别放以不同的SESSION效验文件用来区别用户权限,如果不是该级别用户是无法进入该级别的页面的。该模块简单的流程图如图5-2-1-1所示。
普通用户注册 用户登录
登录判断
管理员页面 用户页面 修改自己的注册信息 查看现有管理员 查看现有普通用户
删除不合格用户
修改管理员信息 删除现有管理员 注册新管理员
图 5-2-1-1 用户管理模块流程图
(2)基本信息管理模块
我设计这个模块的原因是方便管理员对小区的基本信息进行一个系统化的管理,比如可以录入小区的楼盘信息(每一栋楼的周边绿化情况、房屋结构、总户数等等信息)、可以录入小区物业工作人员的信息,方便普通用户进行浏览,
另外可以确定小区的物业资费标准,用以用户水电缴费计算。同时,这个模块还具备一个简单的新闻发布系统,管理员可以进行一个有关小区的新闻发布。
在设计这个模块的时候,我将所有的信息录入放入一个页面,但是相对应的每个部分的信息录入都是提交的。这样的话管理员在进行信息录入的时候就可以在一个页面内完成,而不用切换页面。再进行完信息录入之后,管理员可以进入“基本信息管理”模块进行已录入的信息的管理和删除,在设计这部分的时候,对于楼盘信息、物业工作人员信息、小区新闻这些信息,我设置了“删除”功能,而在物业资费上我设置了“修改”功能,这样主要是防止管理员误删资费信息而造成后续统计错误。 (3)物业使用信息管理模块
这个模块是小区物业管理系统中很重要的一个功能,可以通过输入信息来统计用户的物业使用情况,并且使用户可以及时了解。有些高级的物业管理系统直接可以和水电进行一个数字化连接(比如通过PLC+传感器),直接统计信息。
我在设计这个功能的时候,也是借鉴了很多小区物业管理系统设计的理念,主要是通过ID确定用户的信息(也就是用户的房号),通过第一次录入各种数据包括水、电、暖气的初始读数,和当前读数来确定用户使用情况。然后再通过“物业使用信息管理”这个功能来进行查看和修改,通过修改我们可以使用户的各种数据保持一个更新。但是目前的缺点是一个用户只能有一条记录,无法拥有多条不同时间的记录。通过管理功能,我也设置了剩余量查看的功能,可以了解到用户的各种物业使用剩余情况,以便及时和用户沟通。
(4)故障报修管理模块
这个模块的设计主要是用于处理用户的故障报修信息,及时服务用户。 在这个模块设计的时候,我采用了用户报修,管理员进行处理的模式来进行开发。所以这一部分也是管理员子系统和用户子系统衔接最紧密的一个模块。在用户子系统,我设计了一个用户报修的功能,用户在填完用户报修单并反馈上来的时候,管理员就可以在管理员子系统看见用户报修的故障情况,然后管理员会进行电话派修并且在维修完成以后填写派修单。 (5) 缴费管理模块
在这个模块的设计上,参考了网上很多现行的方式,很多基于B/S的小区物业管理系统甚至采用了网上银行的业务模式,支持用户直接在线缴费。但是这种模式需要一个商业收费接口,对于普通人来说现实意义不大。另外还有一种方式就是虚拟货币,采用预付费、消费扣点的方式,这种方式经常可以在一些小型购物网站上看到,我觉得并不适合现今的小区物业管理方式。最后我还是采用了用户网下缴费,管理员进行现场登记的方式,这种方式最大的好处就是可以被几乎所有人接受。而不用担心自己是否会使用电脑,对于老年人来说是很合适的。所以在设计的时候主要还是通过ID(房号)来确定缴费用户,缴费后,缴费金额自动进行数据库,并且和你的物业使用信息相关联。 (6) 停车模块
在这个模块的设计上,我采用了车位为主导的方式。主要有三个子功能:车位状态查询、临时停车和车位购买。其中车位状态查询可以了解到目前所以车位的信息,是否停车,是否被买断。临时停车则可以用来记录外部车辆进入小区停车的信息。车位购买主要用于小区业主购买车位,购买后车位将长期占用。在设计中,在新添车位的设置问题上,我经过仔细的考虑最终采用了空车位录入的方式。通过录入空车位可以将小区内所有的车位录入进去,然后有临时停车或是车位买断都可以通过“修改”这个功能来实现。 (7) 保安模块
这个模块在进行SESSION效验的时候,只允许保安人员进入,管理员和普通用户都无法进入。在设计这个模块的时候,考虑到小区保安需要一个快捷方便的方式来登记访客,所以设置了一个较为简单的表单来让保安人员填写。在来访者离开以后,保安可以通过“访客信息管理”中的“离开”功能进行一个状态变更。 必要时也可以直接删除信息。 (8) 设备管理模块
这个模块主要用于管理小区内所有的常用设施,大到一些电气设备小到清洁用的扫帚都入库进行一个管理。这样的好处就是作为管理着可以及时了解到设施或是工具的当前状态,以便采购和维护。在设计方面,管理员进行填写设备登记表先对设备进行一个统一的登记。在进行完设备登记后,就可以进入“设备信息管理” 功能,然后可以进行设备信息的查看。在设备丢失或是损耗后,则可以将其信息删除。
(9) 小区论坛
在小区论坛的设计上,原先最初的打算是根据网上现有的模式建立一个功能很强带有附件上传功能的论坛。最后考虑到时间问题和系统本身需求,自己设计了一个功能较为简单的BBS,主要是文字性的,可以发帖和回帖以及帖子搜索的功能。 设计中基本没有什么太大的难度,但是在跟帖的设计上,需要我在数据库设计方面花些心思。最终我设计了WZBH这个字段,用来存放一个帖子的编号。发帖时自动产生一个ID,然后回复的时候将把这个原帖的编号发送到回复帖子里的WZBH字段,然后在浏览帖子的时候,原帖下面的跟帖就是所有编号和原帖ID相同的帖子。
整个管理员子系统的设计思路及过程就是大致如此,在用户子系统的设计与实现上都很简单,基本上实现的就是浏览查看功能。在故障报修方面对服务器有一个回馈。所以就不在这里细讲了。
5.2.2 性能优化设计
(1)将经常使用的数据缓存在Session 对象中
Session 对象为将数据缓存在内存中提供了方便的容器,将数据指派到Session 对象中,这些数据在 HTTP 调用之间保留在内存中。Session 数据是按每个用户分别存储的。
(2)使用响应缓冲
可以通过启用“响应缓冲”,将要输出的一整页缓冲起来。这样就将写到浏览器的量减到最少,从而改善总体性能。每个写操作都会产生很大的系统开销(在 IIS 中以及在通过网络发送的数据量方面),因此写操作越少越好。由于其启动慢且使用 Nagling 算法(用来减轻网络塞车情况),TCP/IP 在发送一些大的数据块时比必须发送许多小的数据块时的效率高得多。
有两个方法启用响应缓冲。第一种,可以使用 Internet Services Manager 为整个应用程序启用响应缓冲。建议采用这种方法,在 IIS 4.0 和 IIS 5.0 中默认为新的 ASP 应用程序启用响应缓冲。第二种,可以在每个 ASP 页面的接近顶端的地方加入下面的代码行,从而启用响应缓冲。
5.2.3系统主要功能相关代码分析说明
文件名称:conn.asp
功能说明:建立数据库字符串的链接,采用的是OLEDB方式。 代码: <%
dim conn,connstr,db,rs
db=\"../database/data.mdb\"--------数据库文件地址,采用相对路径方式 Set conn = Server.CreateObject(\"ADODB.Connection\")
connstr=\"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\" &
Server.MapPath(\"\"&db&\"\")-----数据库链接字符串 conn.Open connstr
set rs=server.createobject(\"adodb.recordset\")-----建立记录集 %>
文件名:session_admin.asp
功能说明:用于用户的session效验,防止未登录用户直接进入页面,相关文件
有session_safe.asp和session.asp分别用于保安人员和普通用户的权限效验。
代码: <%
if session(\"a_name\")=\"\" or session(\"a_password\")=\"\" or session(\"lx\")=\"\" then
response.write \"\" response.end() end if %>
文件名称:checklogin.asp
功能说明:进行登录权限验证,验证通过进入其权限分配的页面。 代码:<%
dim conn,connstr,db,rs db=\"database/data.mdb\"
Set conn= Server.CreateObject(\"ADODB.Connection\") connstr=\"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\" &
Server.MapPath(\"\"&db&\"\") conn.Open connstr
set rsadmin=server.createobject(\"adodb.recordset\") set rssafe=server.createobject(\"adodb.recordset\") set rsuser=server.createobject(\"adodb.recordset\")
//建立3个记录集,分别从不同的数据表进行数据获取和判断 xm=trim(request(\"xm\")) mm=trim(request(\"mm\"))
lx=trim(request(\"select\")) //从登录页面获取的3个字符串 //管理员权限判断 if lx=\"admin\" then
sql=\"select * from admin where username='\"&xm&\"' and password='\"&mm&\"'
and lx='admin'\"
rsadmin.open sql,conn,1,1 if rsadmin.eof or bof then
response.write \"\" else
session(\"a_name\")=xm
session(\"a_password\")=mm//写入session信息 session(\"lx\")=\"admin\"
response.Redirect(\"admin/index.asp\") end if end if
//用户权限判断
if lx=\"user\" then
sql1=\"select * from userinfo where nc='\"&xm&\"' and mm='\"&mm&\"' and
lx='user'\"
rsuser.open sql1,conn,1,1 if rsuser.eof or bof then
response.write \"\" else
session(\"u_name\")=xm
session(\"u_password\")=mm//写入session信息
session(\"lx\")=\"user\"
response.Redirect(\"user/index.asp\") end if end if
//保安权限判断 if lx=\"safe\" then
sql2=\"select * from admin where username='\"&xm&\"' and password='\"&mm&\"' and lx='safe'\"
rssafe.open sql2,conn,1,1 if rssafe.eof or bof then
response.write \"\" else
session(\"s_name\")=xm
session(\"s_password\")=mm//写入session信息 session(\"lx\")=\"safe\"
response.Redirect(\"admin/visit_in.asp\") end if end if rs.close
set rs=nothing conn.close
set conn=nothing %>
文件名:use_manage.asp 功能:用户物业使用信息管理 代码:
//部分VBSCRIPT处理代码,HTML代码省略 <%
rs.open\"select * from search\id=rs(\"id\")
dim wateruse,elecuse,heatuse water1=rs(\"water_base\") water2=rs(\"water_info\")
wateruse=water2-water1//判断用户使用水量通过本次读表减去初始表读数即可获得
elec1=rs(\"elec_base\")
elec2=rs(\"elec_info\")
elecuse=elec2-elec1//判断用户使用电的度数通过本次读表减去初始表读数即可获得
heat1=rs(\"heat_base\") heat2=rs(\"heat_info\")
heatuse=heat2-heat1//判断用户使用暖气的流量通过本次读表减去初始表读数即可获得
set rs1=server.CreateObject(\"adodb.recordset\") rs1.open\"select * from zf\
set rs2=server.CreateObject(\"adodb.recordset\")
rs2.open\"select * from payinfo where id='\"&id&\"' and pay_type='水费
'\
set rs3=server.CreateObject(\"adodb.recordset\")
rs3.open\"select * from payinfo where id='\"&id&\"' and pay_type='电费
'\sf=rs1(\"sf\")
df=rs1(\"df\")
if rs2.eof or bof then//判断电剩余量是否为0 waterremain=0 else
watermoney=rs2(\"pay_money\")
waterremain=formatnumber(watermoney/sf-wateruse,1)//获取可设定的水价,然后和缴费记录相关联,进行剩余量计算 end if
if rs3.eof or bof then//判断水剩余量是否为0
elecremain=0 else
elecmoney=rs3(\"pay_money\")
elecremain=formatnumber(elecmoney/df-elecuse,1) //获取可设定的电价,然后和缴费记录相关联,进行剩余量计算 end if %>
文件名:parking_enrol.asp
功能:进行停车信息的录入,包括车位购买等 代码:
<%
p_id=request.Form(\"p_id\") p_type=request.Form(\"p_type\") p_money=request.Form(\"p_money\") p_number=request.Form(\"p_number\")
if p_type=\"空车位\" then//进行空车位判断,判断是否为空车位,如果是则置停车时间为空
p_time=\"\" else
p_time=request.Form(\"p_time\") end if
rs.open\"select * from parking where parking_id=\"&p_id,conn,1,3 if rs.eof or bof then rs.addnew//增加车位信息 rs(\"parking_id\")=p_id rs(\"parking_type\")=p_type rs(\"parking_time\")=p_time
rs(\"parking_chehao\")=p_number rs(\"parking_money\")=p_money rs.update
else//用于修改车位信息,做到只更新 rs(\"parking_id\")=p_id rs(\"parking_type\")=p_type rs(\"parking_time\")=p_time rs(\"parking_chehao\")=p_number
rs(\"parking_money\")=p_money
rs.update end if
response.Redirect(\"parking_view.asp\") %>
文件名:searchresult.asp 功能:小区bbs搜索帖子 代码: <%
search=request(\"search\")
sql=\"select * from bbs where title like '%\"&search&\"%' or neirong like
'%\"&search&\"%'\" rs.open sql,conn,1,1
//使用的是通配符匹配方式来进行数据库检索,主要是通过标题来进行检索 %>
第六章 系统测试方法与结论
6.1软件测试的目的
软件测试的目的决定了如何去组织测试。如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。如果测试目的是为了给最终用户提供具有一定可信度的质量评价,那么测试就应该直接针对在实际应用中会经常用到的商业假设。
不同的机构会有不同的测试目的;相同的机构也可能有不同测试目的,可能是测试不同区域或是对同一区域的不同层次的测试。
在谈到软件测试时,许多人都引用Grenford J. Myers在《The Art of Software Testing》一书中的观点:
①、软件测试是为了发现错误而执行程序的过程;
②、测试是为了证明程序有错,而不是证明程序无错误。 ③、一个好的测试用例是在于它能发现至今未发现的错误; ④、一个成功的测试是发现了至今未发现的错误的测试。 这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。 首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。 其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。详细而严谨的可靠性增长模型可以证明这一点。例如 Bev Littlewood发现一个经过测试而正常运行了n小时的系统有继续正常运行n小时的概率。
6.2软件测试的原则
软件测试从不同的角度出发会派生出两种不同的测试原则,从用户的角度出发,就是希望通过软件测试能充分暴露软件中存在的问题和缺陷,从而考虑是否可以接受该产品,从开发者的角度出发,就是希望测试能表明软件产品不存在错误,已经正确地实现了用户的需求,确立人们对软件质量的信心。
为了达到上述的原则,那么需要注意以下几点:
1.应当把“尽早和不断的测试”作为开发者的座右铭
2.程序员应该避免检查自己的程序,测试工作应该由的专业的软件测试机构来完。
3.设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件,
特殊情况要制造极端状态和意外状态,比如网络异常中断、电源断电等情况。 4.一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系。
5.对测试错误结果一定要有一个确认的过程,一般有A测试出来的错误,一定要有一个B来确认,严重的错误可以召开评审会进行讨论和分析。
6.制定严格的测试计划,并把测试时间安排的尽量宽松,不要希望在极短的时间内完成一个高水平的测试。
7.回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多的错误出现的现象并不少见。
8.妥善保存一切测试过程文档,意义是不言而喻的,测试的重现性往往要靠测试文档。
6.3白盒测试
白盒测试又成为结构测试或玻璃盒测试。顾名思义,测试者能够看到程序内部结构的测试。主要应用于结构化开发程序。由于白盒测试则只根据程序的内部结构进行测试,而不考虑外部特性,如果程序结构本身有问题,比如说程序逻辑有错误或是有遗漏,那是无法发现的。
白盒测试一般分为静态测试与动态测试。静态测试不实际运行软件,主要是对软件的编程格式、结构等方面进行评估,而动态测试需要在Host环境或Target环境中实际运行软件,并使用设计的测试用例去探测软件漏洞。动态测试包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等。由于动态测试较复杂,在加上我的能力有限,所有没有过多的进行动态测试。
6.3.1静态测试
静态测试包括代码检查、静态结构分析、代码质量度量等。它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。我的设计主要采用的是静态测试方法中的代码检查方法,所以在此仅对它作一介绍。
代码检查包括代码走查、桌面检查、代码审查等,主要检查代码和设计的一致性,代码对标准的遵循、可读性,代码的逻辑表达的正确性,代码结构的合理性等方面;可以发现违背程序编写标准的问题,程序中不安全、不明确和模糊的部分,找出程序中不可移植部分、违背程序编程风格的问题,包括变量检查、命名和类型审查、程序逻辑审查、程序语法检查和程序结构检查等内容。
在实际使用中,代码检查比动态测试更有效率,能快速找到缺陷,发现30%~70%的逻辑设计和编码缺陷;代码检查看到的是问题本身而非征兆。但是代码检查非常耗费时间,而且代码检查需要知识和经验的积累。代码检查应在编译和动态测试之前进行,在检查前,应准备好需求描述文档、程序设计文档、程序的源代码清单、代码编码标准和代码缺陷检查表等。
6.3.2白盒测试结果
对代码的检查是一件令人感到头疼和辛苦的事,Micromedia公司的
Dreamweaver8人性化设计非常的好,很多ASP内置对象都可以自动给出相应的事件触发代码,减小了代码输入错误的可能性,另外配合windows自带的IIS报错信息也可以了解到程序的问题出在哪一行,这对于程序测试来说是很重要的,可以根据错误提示逐一的修改程序中的错误。当所有的错误被改正后,再次运行调试,该系统就会被IIS加载处于运行状态。静态测试后,我进行了简单的动态测试——功能确认。经测试后,系统功能均能实现。
6.4黑盒测试
黑盒测试(Black-box Testing,又称为功能测试或数据驱动测试)是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。
采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。
黑盒测试注重于测试软件的功能性需求,也即黑盒测试使软件工程师派生出执行程序所有功能需求的输入条件。黑盒测试并不是白盒测试的替代品,而是用于辅助白盒测试发现其他类型的错误。 黑盒测试试图发现以下类型的错误: 1)功能错误或遗漏; 2)界面错误;
3)数据结构或外部数据库访问错误; 4)性能错误;
5)初始化和终止错误。 黑盒测试的优点
1. 基本上不用人管着,如果程序停止运行了一般就是被测试程序crash了 2. 设计完测试例之后,下来的工作比较轻松,当然需要确定crash原因 黑盒测试的缺点
1、结果取决于测试例的设计,测试例的设计部分来势来源于经验 2.没有状态转换的概念
3. 就没有状态概念的测试来说,寻找和确定造成程序crash的测试例是个麻烦事情,必须把周围可能的测试例单独确认一遍。而就有状态的测试来说,就更麻烦了,尤其不是一个单独的测试用例造成的问题。这些在堆的问题中表现的更为突出。
6.5系统测试结果
系统完成之后,进入测试阶段,经过连接数据库服务器,将IIS服务打开运行,管理员用户登录系统之后,能够进行管理员信息注册、管理员信息修改删除、用户信息管理、小区楼盘信息删除修改、小区新闻发布删除、小区物业办工作人员信息录入与修改、住户物业使用信息录入修改删除、故障报修处理、小区论坛的访问。普通用户登录以后可以进行注册、修改个人信息,故障报修、小区基本信息查询、BBS论坛发帖的功能。
针对每项功能还进行了特殊量测试,以保证系统在特殊的输入情况下可以做到不出错。
第七章 结 论
7.1毕业设计总结
在此次毕业设计工作中,我一方面针对小区物业管理系统在前期的需求分析做了大量的基础性调研工作,同时学习到利用ASP技术和ACCESS进行系统开发的特点所在,在这期间我学到了许多在软件工程理论书籍上学不到的知识与经验。
我的毕业设计的要求是创建一个基于WEB的小区物业管理系统,该系统具有 管理员信息注册、管理员信息修改删除、用户信息管理、小区楼盘信息删除修改、小区新闻发布删除、小区物业办工作人员信息录入与修改、住户物业使用信息录入修改删除、故障报修处理、小区论坛的访问、普通用户浏览各种信息等功能。 在系统的各个功能模块中,用户信息管理和小区基本信息管理的实现相对简单一些。系统实现的难点在于小区业主的物业使用情况的统计,尤其是剩余量问题还要和其他数据表进行关联,另外在小区的故障报修系统上也有不小的难度。 在实现对小区用户物业使用情况进行管理和统计的过程中,因为自己的技术还没有做到可以详细到按天进行随意查询,只能按时间段来进行统计和查询。相信随着自己工作以后,能力得到了大幅提升后,一定会将这个功能完善的。
在实现小区门禁系统的问题上,我也采用了进入登记,离开登记的方式,设定一个状态量,可以使得管理员清除的看到当前的访客情况。
在系统的各个功能模块中,统一使用ADO对象来完成对数据库的访问操作。VBSCRIPT和ASP中的ADODB.CONNECTION用于访问数据库,使用这些控件可以减少代码的编写。但直接通过ADO对象完成数据库访问的好处在于,所有的操作都在程序员的控制下完成,所有的数据在存入数据库之前,都通过了合法性检验,避免出现意外错误。
7.2开展进一步研究的见解与建议
Asp技术在目前来说安全性和稳定性都不是特别好,如果将这个系统作为商业用途进行开发的话,ASP+ACCESS肯定是不合适的了,那时候就需要ASP.NET+SQL SERVER来完成系统的开发。如果有时间的话,我相信自己一定会用ASP.NET+SQLSERVER将这个系统重新开发和部署一遍。让他真正的能投入到实际生活中去。
致 谢
时间如同白驹过隙,一个学期的毕业设计临近尾声,大学生活也即将落下帷幕,即将正式步入社会,开始崭新的历程。
在这半年的毕业设计过程中,我的自学能力、实际动手能力、分细解决问题的能力和团队协作意识都有了提高。毕业设计,它的意义既是对我们在学校里的书本知识学习总结升华,也是对我即将走上工作岗位的一次实际性的练兵。在系统的开发过程中,遇到了各种各样的困难、挫折,我都坚持了过来;感受到了坚持对人毅力的考验和磨砺,感受到了技术难题解决的喜悦,素质修养也在这个过程中悄悄的得到了成长。在开发过程中,老师同学无私的关怀和帮助,我们团队相互的协作支持,是我能成功完成系统开发任务的坚强后盾。在此我特别感谢我的指导教师王辉以及各位领导和辅导员老师;感谢各个实验室的老师;感谢大学四年中所有任课老师对我的教育和指导;同时也感谢陪伴我一起度过大学四年给予我帮助和鼓励的同学们。
最后,对全体老师和养育我的父亲母亲致以崇高的敬意和衷心的感谢!
参 考 书 籍
《ASP 技术手册》 出版社:O'Reilly 作者:A.KeytonWeissinger 2001年 《Web设计技术手册》出版社:O'Reilly 作者:Jennifer Niederst 2003年 《ActiveX and VBScript》 作者:Paul Lomax and Rogers 2004年 《ASP企业管理系统开发实例》 出版社:清华大学出版社 作者:吴丽萍 2005年5月1日
《ASP程序设计基础》 出版社:上海交通大学 作者:孟凡奇 2006年6月 《Web应用开发案例教程》 出版社:电子工业出版社 作者:赵增敏 2006年2月1日
《基于B\\S结构的软件开发技术》 出版社:西安电子科技大学出版社 作者:任泰明 2006年11月第1版
《Dreamweaver8与ASP动态网页基础与范例》机械工业出版社 作者:闫静 2007年
《新一代ASP典型模块设计》清华大学出版社 作者:张杰,任伟,吴林华 2007年
《ASP数据库系统开发完全手册》人民邮电出版社 作者:明日科技 2006年
《JavaScript入门经典》人民邮电出版社 作者:Michael Moncur 2007年 《Access数据库实用教程》 清华大学出版社 作者:赵平 2006年 《网页制作三剑客Dreamweaver 8 /Fireworks 8/flash 8(第五版)》机械工业出版社 作者:甘登岱 2006年
《物业管理》 出版社:机械工业出版社 作者:寿金宝 王照雯 2007年2月第1版
《智能小区九大系统设计与实现》 出版社:科学出版社作者:黎连业
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务