资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第九章 应用型,GIS,设计与开发,徐敬海,南京工业大学,问题引入,如何开发一个应用型,GIS,系统,本章内容,1GIS,系统设计方法,2 GIS,系统分析,3 GIS,系统设计,4 GIS,系统实施,5 GIS,软件测试,6 GIS,系统维护,GIS,的开发方法,结构化生命周期法,快速原型法,面向对象的软件开发方法,1.1,结构化生命周期法,特 点,具体内容,目 的,根据需求设计系统,要求在未明确用户需求之前,不得进行下一阶段的工作,保证工作质量和以后各阶段开发的正确性,使系统开发减少了盲目性,严格按阶段进行,对生命周期的各个阶段严格划分,每个阶段有其明确的任务和目标,而各阶段又可被分为若干工作和步骤,便于计划管理和控制,前阶段工作成果是后阶段工作的依据,基础扎实,不易返工,文档标准化和规范化,要求文档采用标准化、规范化、确定的格式和术语以及图形、图表,保证通讯内容的正确理解,使系统开发人员与用户有共同的语言,分解和综合,将系统划分为相互联系又相对独立的子系统直至模块,分解使复杂的系统简单化,便于设计和实施。综合使已实施的子系统成为完整的系统以体现系统的总体功能,强调阶段成果,审定和检验,阶段成果需得到用户、管理人员和专家认可,减少系统开发工作中的隐患,结构化生命周期法特点及其目的,结构化生命周期法可划分为六个主要阶段,系统开发准备阶段,调查研究及可行性研究阶段,系统分析阶段,系统设计阶段,系统实施阶段,维护和评价阶段,类 型,自顶向下方法,自底向上方法,基 本,原 理,与高层管理和业务流程相结合。系统需求或目标来自顶层,自上而下传导下去,由最终用户驱动,先实现初级功能,然后由低到高,逐步增加计划、控制、决策等功能,自下而上地实现系统总目标,阶 段,划 分,首先定义需求;其次设计伪代码;然后进行编码;测试代码;最后各模块和系统集成;进入维护阶段,阶段划分不明确,本质上非结构化,开发前,应大体考虑子系统的划分及相互关系,并在各项目进行时经常协商和统一意见,弥补整体性的不足,优 点,整体性好,各项目之间具有良好配合和衔接关系,方便系统集成;易于维护,用户是系统的积极参加者,强调用户工作流程,以完成特定功能,为用户服务;用户在开发过程中可标识变化,并看到哪些变化被系统采纳,缺 点,对过程而非目标的过分强调易误导项目;开发规模过大;各用户过分关注自己的进度,常造成应用整体损失,整体性差,各子系统不易进行一体化集成,各项目缺乏配合,没考虑各项目的地位和作用,数据重复收集甚至矛盾,代码自成体系,结构化生命周期法两种开发类型的比较,分类,1.2,面向对象方法,主要,概念,定 义,说 明,对象,人们对世界上事物的认识形成概念,这些概念使我们可以感知和推理世界上的事物,这些概念应用到的事物称为对象,对象可以是真实的或是抽象的,这取决于研究问题的目的,是面向对象方法的最基本元素,类,具有一致数据结构和行为(即操作)的对象抽象成类,它反映了与应用有关的重要性质,而忽略掉其它一些无关的内容,每个类都是个体对象可能的无限集合,每个对象都是其相应类的一个实例。类中的每一个实例均有各自的属性值,它们的属性名称和操作是相同的,继承,继承是对具有层次关系的类的属性和操作进行共享的一种机制。如在一个已有类的基础上加入若干新内容形成新类,继承可以减少设计和程序实现中的重复性。在面向对象的术语中,这个已存在的类被称为父类,使用继承由父类所定义的新类被称为子类,面向对象的主要概念和术语,1.2,面向对象设计方法,|,面向对象建模技术,步骤,内容,目标,系统分析,从问题陈述入手,与需求一起工作,以理解问题要求,主要包括对象建模、动态建模、功能建模等内容,简洁明确地抽象出目标系统必须做的事情,对真实世界建模,系统设计,系统设计是问题求解及建立解答的高级策略,其内容包括将系统分解为子系统的策略、子系统的软硬件配置、详细的设计框架等,决定系统的整体风格;使多个设计者能独立地进行子系统设计;确定需优化的性能,选择问题处理的策略和初步配置资源,系统详细,设计,详细设计强调数据结构和实现类所需的算法。在分析模型的类中增加计算机化的数据结构和算法,并使用统一的面向对象的概念和符号表示法来表达,在分析的基础上,对设计模型加入一些实现上的考虑,将系统设计中的一些实现细节加入到设计模型中,软件编程,使用具体的程序设计语言、数据库或硬件来实现对象设计中的对象和关联,实现系统,面向对象建模技术,建模步骤,1.3,原型法,原型法的工作方法,开发人员在初步了解用户需求的基础上构造一个应用系统模型,即原型。,用户和开发人员在此基础上共同反复探讨和完善原型。,直到用户满意为止。,原型法开发信息系统包括以下几个阶段:,确定用户的基本需求,开发初始原型,利用原型来提炼用户需求,修正和改进原型,原型法流程,2 GIS,系统分析,系统分析是系统分析员与用户在一起交流,充分了解用户的要求,并把双方的理解用系统方案书表达出来。,系统分析的任务包括:,用户需求分析、用户现状调查、可行性分析以及系统方案书编写。,系统方案书审核通过以后,将成为系统设计的依据和将来验收系统的依据。,2.1,用户需求分析,系统分析首先要回答系统“做什么”这个关键问题。,用户分析阶段,分析员必须回答以下问题:总的系统目标(系统的用途);,所期望的功能(有哪些功能);,所要求的系统性能(响应时间等);,可靠性和质量的要求(软件运行的稳定性、数据处理精度等);,成本与进度考虑(软件开发所需的经费、时间);,环境要求(软件系统运行时对软硬件环境的要求);,安全保密要求(软件使用权限、防止数据外流等);,用户界面与操作需求(界面的字体、颜色、图案等);,将来可能有哪些扩充(功能上扩充、数据扩充等);,其它。,2.2,用户现状调查,在明确用户需求以后,需要了解用户已有基础,以避免资源浪费。,用户现状调查的内容:,软硬件设备,数据积累,已有研究工作,2.2.1,用户调查,(,1,)用户类型,(,2,)用户范围及应用期限,(,3,)用户研究领域,(,4,)用户数量调查,(,5,)用户基础状况,(,6,)组织机构,(,1,)用户类型,具有明确而固定任务的用户。这类用户希望用,GIS,来实现现有工作业务的现代化,改善数据采集、分析、表示方法及过程,并对现有技术方法进行更新改造。,部分工作任务明确、固定,且有大量业务有待开拓与发展,因而需要建立,GIS,来开拓他们的工作。这类用户的信息需求和对,GIS,的要求只能是部分已知。这类用户是以行政或生产管理部门为主,也包括进行系列专题调查的单位。,用户的工作任务不确定,由于各项工作的要求不同,对信息的需求是未知的或是可变的。一般情况下,高等院校和科研机关多属这种情况。,(,2,)用户范围及应用期限,全国性、地区性、局部范围?,短期项目的系统:应具有数据采集和输入、数据分析处理及信息输出迅速的特点和能力,但不要求包括大型而复杂的数据库管理与维护方面的功能。,长期项目的系统:一般包括大型数据库,具有长期应用目标的地理信息系统,还会遇到硬件和软件更新的问题,(,3,)用户研究领域,此项调查重点是了解用户的研究领域状况,用户研究的方向和深度,用户希望,GIS,解决哪些实际应用问题。,以确定系统设计的目的、应用范围和应用深度,为以后总体设计中系统的功能设计和应用模型设计提供科学、合理的依据。,(,4,)用户数量调查,调查有哪些人、什么人要用该应用型地理信息系统,使用该应用型,GIS,的人员、部门有多少,以便确定系统的开发规模。,(,5,)用户基础状况,分析用户的人力状况。包括用户的知识结构、科学水平、对,GIS,了解和掌握的程度等等。,(,6,)组织机构,通过现行系统组织机构调查,包括现行机构的组织结构,有关的部门有哪些?各组织的职责及执行的任务等,指出现行机构存在的不足和缺陷,作为待建,GIS,的突破口。,2.2.2,系统目的和任务,系统目的和任务是在深入的用户调查基础上,根据用户的要求和特点而确定。,从应用者的角度看,地理信息系统只是解决某一(类)特定问题的工具,因此,一个可运行的应用型,GIS,系统的目的是指解决具体问题的描述,它确定了应用型,GIS,的研究应用范围和性质。,2.2.3,数据源调查和评价,1,)数据源,数据是地理信息系统的核心。数据的状况对系统目标的影响很大。,在考虑系统目标时,需要对数据进行评估、分类和登记。,源数据可能包括很多种类型的数据,如各类地图、航空像片、卫星图像、文字报告、统计数据等。,2,)数据的分类,字符型数据,数值型数据,日期型数据,图形型数据,.,3,)数据评价,(,1,)数据一般状况评价,数据的目前状态:,数据是否是一种标准形式:,数据是否可以直接被,GIS,使用,数据的原始性:,数据的可替代性:,数据与其他数据的一致性:,数据共享性:,(,2,)数据空间特征的评价,空间特征的表达方式。,空间特征的连续性和闭合性。,表示规则的比较。,空间数据地理控制信息的比较。,空间地理数据的系列性。,分类方法的比较和评价。,地理参考系统的一致性。,(,3,)数据属性特征的评价,属性的存在性。,属性数据与空间位置的匹配。,属性数据的编码系统。,属性数据的现势性。,2.2.4,软硬件调查,软件调查包括,现在各种在用的软件有哪些,分属于那些部门,目前设置的缺陷,网络功能如何,共享性如何。,硬件调查包括,现行各种在用的硬件有哪些,分属于哪些部门,目前设置的缺陷,网络功能如何,共享如何。,2.3,可行性分析,在回答系统“做什么”这个问题,并了解用户已有基础后,接下去要回答系统“能否做”这个问题。,从理论上讲,只要资源和时间不加限制,所有的项目都是可行的。,然而,由于资源缺乏和交付时间限制的困扰,对软件项目的可行性做出细致而谨慎的评估是十分必要的。,如果在制定计划阶段及早发现将来可能在开发过程中遇到的问题,及早做出决定,可以避免大量的人力、财力、时间上的浪费。,可行性分析内容:,技术可行性,经济可行性,法律可行性,技术可行性分析是根据客户提出的系统功能,性能及实现系统的各项约束条件,从技术的角度研究实现系统的可行性。,技术可行性研究包括技术分析、资源分析以及风险分析。,技术分析的任务是,当前的科学技术是否支持系统开发的全过程。,资源分析的任务是,论证是否具备系统开发所需的各类人员(管理人员和各类专业技术人员)、软件、硬件资源和工作环境。,风险分析的任务是,在给定的约束条件下,判断能否设计并实现系统所需功能和性能。,经济可行性分析是进行成本效益分析,评估项目的开发成本,估算开发成本是否会超过项目预期的全部利润,分析系统开发对其他产品或利润的影响。,一般来说,基于计算机系统的成本由四个部分组成,购置并安装软硬件及有关设备的费用。,系统开发费用。,系统安装、运行和维护费用。,人员培训费用。,在系统分析和设计阶段只能得到上述费用的预算,即估算成本。在系统开发完毕并交付用户运行后,上述费用的统计结果就是实际成本。,法律可行性分析是研究在系统开发过程中可能涉及到的各种合同、侵权、责任以及各种与法律相抵触的问题。,2.4,系统方案书,引言,系统目标,系统总体结构,解决方案及比较,人员组织,进度,经费预算,附件(如可行性研究),3 GIS,系统设计,系统分析阶段要回答的中心问题是系统“做什么”,即明确系统功能,这个阶段的成果是系统的逻辑模型。,系统设计要回答的中心问题是系统“怎么做”。,如何实现系统方案书规定的系统功能,在这一阶段,要根据实际的技术条件、经济条件和社会条件,确定系统的实施方案,即系统的物理模型。,系统设计首先是总体设计,即确定实现系统的技术方案,并对整个系统进行功能分解,明确各个功能之间的关系;,在总体设计之后,就要对系统进行详细设计,包括代码设计、数据库设计、用户界面设计、输入设计、输出设计等。,3.1,系统总体设计,系统目标的确定,一、确定目标的原则,针对性,实用性,预见性,先进性,二、具体目标确定,近期目标,中远期目标,3.1.1,系统总体设计基本原则,(,1,)完备性:主要是指系统功能的齐全、完备。一般的应用型,GIS,都具备数据采集、管理、处理、查询、编辑、显示、绘图、转换、分析、输出等功能。,(,2,)标准化:系统的标准化有两层涵义:一是指系统设计应符合,GIS,的基本要求和标准;二是指数据类型、编码、图式符号应符合现有的国有标准和行业规范。,(,3,)系统性:属性数据库管理系统,图形数据库管理子系统及应用模型子系统必须有机地结合为一体,各种参数可以互相进行传输。,(,4,)兼容性:数据具有可交换性,选择标准的数据格式和设计合适的数据格式变换软件,实现与不同的,GIS,、,CAD,、各类数据库之间的数据共享。,(,5,)通用性:系统必须能够在不同范围内推广使用,不受区域限制。,(,6,)可靠性:系统的可靠性包括两个方面,一是系统运行的安全性;二是数据精度的可靠性和符号内容的完整性。,(,7,)实用性:系统数据组织灵活,可以满足不同应用分析的需求。系统真正做到能够解决用户所关心的问题,为生产实践、科研教学服务。,(,8,)可扩充性:考虑到应用型,GIS,发展,系统设计时应采用模块化结构设计,模块的独立性强,模块增加、减少或修改均对整个系统影响很小,便于对系统改进、扩充,使系统处于不断完善过程中。,3.1.2,模块与子系统设计,子系统的划分应尽量遵守以下原则:,(,1,)把系统划分为一些模块,其中每个模块的功能简单明确,内容简明易懂,任务清楚明确,以便易于修改;,(,2,)每个模块要比较小,每一项任务限制在尽可能少的模块中完成,最好是一个模块来完成,这样就可以避免修改时遗漏应修改的地方。,(,3,)系统分成模块的工作按层次进行。首先,把整个系统看成一个模块,按功能分解成若干个第一层模块,这些模块互相配合,共同完成整个系统的功能。然后按功能再分解第一层的各个模块。依次下去,直到每个模块都十分简单。,(,4,)每一个模块应尽可能独立,模块之间的联系及互相影响尽可能地减少,尽可能减少模块间的调用关系和数据交换关系。当然,系统中模块不可能与其他模块设有联系,只是要求这种联系尽可能少。,(,5,)模块间的关系要阐明。这样,在修改时可以追踪和控制。,(,6,)模块所包含的各个过程之间内在联系应尽可能强。,(,7,)模块的划分应便于总的系统设计阶段实现。,子系统划分方法比较,方法分类,划分方式,联结形式,可修改性,可读性,紧凑性,1,功能划分,按业务处理功能分,好,好,好,非常好,2,顺序划分,按业务先后顺序分,好,好,好,非常好,3,数据拟合,按数据拟合程度分,好,好,较好,较好,4,过程划分,按业务处理过程分,中,中,较差,一般,城市地理信息系统子系统的模块构成,空间查询,空间分析,统计分析,制图输出,图文显示,城市地理信息系统,用户界面,基础信息子系统,规划管理子系统,用地管理子系统,道路管理子系统,综合管线管理子系统统,人口管理子系统,经济信息子系统,数据库管理系统统,系统应用,3.1.3,系统组网方案,C/S,模式:客户机,/,服务器,(Client/Server),模式,它是基于局域网的系统。,B/S,模式:浏览器服务器(,Browser/Server,)模式,它是基于广域网的系统。它的客户端是标准的浏览器(如,IE,等),服务器端为标准的,Web,服务器,可协同应用服务器响应浏览器的请求。,C/S,与,B/S,混合模式,C/S,模式适用企业,工作地点集中、网络安全要求高、用户面固定、数据维护量大的企业宜采用客户端,/,服务器结构。,B/S,结构简化了客户端。客户机上只需安装通用的浏览器软件。节省客户机的硬盘空间与内存。,简化了系的开发和维护。系统的开发者只需把所有的功能都实现在,Web,服务器上,并就不同的功能为各个组别的用户设置权限就可以了。相对于,C/S,模式,,B/S,的维护具有更大的灵活性。如果一个公司有上千台客户机,并且分布在不同的地点,那么便于维护将显得更加重要。,用户操作更简单。客户端只用浏览器。不用培训。,B/S,适用于网上信息发布,这使得企业的大部分书面文件可以被电子文件取代,从而提高了企业的工作效率,使企业行政手续简化,节省人力、物力。,无锡市国土资源电子政务主干网络结构图,3.1.4,系统功能设计,地理信息系统的功能通常分三个部分:基本功能、扩展功能和专题功能。,基本功能通常包括:图层操作(如增加图层、删除图层等)、地图操作(如地图放大、地图缩小、地图漫游等)、查询选择(如属性查询、条件查询、空间查询等)以及比例尺显示、坐标显示等。,扩展功能通常包括:数据编辑(如属性数据编辑、空间数据编辑等)、空间分析(如空间叠置分析、缓冲区分析、网络分析等)、数据转换(如坐标转换、格式转换等)。,专题功能是根据用户的业务需求而开发的功能,如电力管理的地理信息系统中一般有线路管理、变配电站管理、实时监控管理等功能模块。,上海市商业地理,信息系统,地图显示,文件管理,信息查询,数据库,维护,数据分析,属性查询,条件查询,开窗查询,空间查询,显示,对话框,按输入条件,查询,显示查询结果,3.2,详细设计,3.2.1,数据库设计,数据库设计就是把现实世界中一定范围内存在着的数据和应用处理抽象成一个数据库的具体过程。,与一般的数据库相比,,GIS,数据库的设计要有更多的考虑,既有空间数据,又有属性数据,空间数据又有矢量和栅格之分。,空间数据的分块和分层,当空间数据的覆盖范围很大情况下,考虑到查询效率、数据库维护等因素,通常将地理区域分割成若干块,然后对这些图块建立空间索引。,另外,为了便于数据的灵活调用、更新和管理,在空间数据库中,往往将不同类的图形要素进行分层存放,每一层存放一种专题或一类信息。,字段的定义,对每个图层,可以定义相关的字段,如道路图,可以有道路名称、道路等级、道路宽度等字段。,在增加字段时,需要确定每个字段的类型(字符型、整型、实型等)、长度及小数位(如类型为实型)等。,数据存储设计,数据更新设计,数据使用权限的设置,数据安全设计,3.2.2,代码设计,代码是用来表征客观事物的一个或一组有序的符号,是进行信息分类、校对、统计和检索的关键。,唯一性,一个对象只能赋予一个唯一的代码。,合理性,代码结构应与相应的分类体系相对应。,可扩充性,应留有充分的余地,以备将来不断扩充的需要。,简单性,结构尽可能简单,尽可能短。,适用性,反映对象的特点,以助记忆,便于填写。,规范性,遵循已有的编码标准。,系统性,有一定的分类规则。,代码设计步骤,确定代码对象;,考查是否有标准代码;,选择代码的种类与类型;,考虑检错功能;,编写代码表。,3.2.3,用户界面设计,原则,在同一系统中,界面应始终保持同一种形式和风格,如菜单选择、命令输入、数据显示和其他功能;,操作简单、自动化程度高,尽可能减少用户的操作,如提供列表框选择代替数据输入;,术语、符号等标准化,如,GIS,中的放大、缩小、漫游等按钮都有固定的符号,尽可能采用标准的或通用的符号;,提供操作提示和联机帮助功能,在对话框中提供操作提示,系统有帮助菜单并有详细内容;,提供系统运行信息和响应信息:系统在处理运行过程中,应改变鼠标的显示形式,应显示进程条,运行结束后应有响应信息,如屏幕显示发生变化,或显示处理结束窗口;,用户可以根据需要制定和修改界面方式,允许用户对界面的显示形式进行修改,如放大、缩小窗口;,关键操作要有强调和警告,能保证有关程序和数据的安全性,允许动作的可逆性(提供,undo,功能),对大多数操作应允许恢复(,undo,);,按功能分类组织界面上的活动,对菜单项、按钮等按照功能进行组织分割;,提供缺省选择,需要用户进行选择时,以最有可能的选择作为缺省选择。,3.2.4,输入与输出设计,输入设计:,确定输入设备:键盘、扫描仪、数字化仪、,GPS,、条形码识别机等。,数据输入对话设计:确认输入;明确取消;允许编辑;提供复原;提示输入的范围。,输出设计:,确定输出设备:打印机;绘图仪;磁带机等。,输出形式:地图图版;报表等。,4 GIS,系统实施,系统实施阶段的任务,是实现系统设计阶段提出的物理模型,按实施方案完成一个可以实际运行的信息系统,交付用户使用。,包括系统资源的配置与程序编写两方面内容。,4.1,系统配置,系统配置包括软硬件配置、人员组织以及数据准备等。,软硬件购置,在规划地理信息系统的软硬件时,需要考虑的主要因素有:,系统的数据量有多大?,用户数有多大?,网络环境是什么?,投资规模如何?,地理信息系统在整个系统中所处的位置是什么?也就是说,这是一个纯粹的地理信息系统还是地理信息系统与其它系统相结合而成的综合信息系统?,如果是综合系统,是以地理信息系统为主体还是以其它的系统为主体?,人员组织,软件项目成功的关键是要有高素质的软件开发人员。然而大多数软件产品规模都很大,以至单个软件开发人员无法在给定期限内完成开发工作,因此,必须把多个软件开发人员组织起来,分工协作,共同完成开发工作。,为了成功地完成软件开发工作,项目组成员必须以一种有意义且有效的方式彼此交互和通信。如何组织项目组是一个管理问题,管理者必须合理地组织项目组,使项目组有较高生产率,能够按预定的进度计划完成所承担的工作。经验表明,项目组组织的越好,其生产率越高,而且产品质量也越高。,4.2,程序编写,程序编写的过程就是利用某种程序设计语言把详细设计编码成计算机可接受的形式,也是人借助编程语言与计算机通信的过程。,对于程序好坏的评介,一般认为好程序应具备的最重要的条件是可读性。,程序员在写程序时应该记住:程序不仅是给计算机执行的,也是供人阅读的。,良好的编程风格体现在:,结构化,规范化,简单化,4.3,数据库建立,GIS建设过程中需要投入大量的人力进行数据的收集、整理和录入工作。,GIS规模大,数据类型复杂多样,数据的收集和准备是一项既繁琐、劳动量又巨大的任务,要求数据库模式确定后就应进行数据的输入,对数据的输入应按数字化作业方案的要求严格进行,输入人员应进行相应程度的培训工作。,地理实体数据建设流程图,4.,4,用户培训,用户培训的对象包括主管人员和相关业务人员,他们将是GIS系统的使用者。为了保证GIS的测试和用户尽快掌握新系统,应提前对主管人员、有关用户、操作人员进行技术培训,让他们掌握新系统的概貌和使用方法。这些人多数精通业务,对现行系统比较熟悉,但往往缺乏GIS方面的知识。,为了保证系统测试和运行的顺利进行,应根据他们各自的基础,提前进行培训,使他们能尽快地适应新系统,并逐步熟悉新的操作方法。有时,改变原有的工作习惯比信息系统的更新换代更为困难,因此应该引起足够的重视。,5 GIS,软件测试,在开发软件的过程中,人们使用了许多保证软件质量的方法分析、设计和实现软件,但难免还会在工作中犯错误。这样,在软件产品中就会隐藏许多错误和缺陷。对于规模大、复杂性高的软件更是如此。,在这些错误中,有些是致命的错误,如果不排除,就会导致生命与财产的重大损失。,什么是软件测试,软件测试是为了发现错误而执行程序的过程。,软件测试在软件生存期中横跨两个阶段:通常在编写出每一个模块之后就对它做必要的测试(称为单元测试)。编码与单元测试属于软件生存期中的同一个阶段。在结束这个阶段之后,对软件系统还要进行各种综合测试,这是软件生存期的另一个独立的阶段,即测试阶段。,测试只能证明程序有错误,而不可能证明程序没有错误。,5.1,软件测试的原则,严格执行测试计划,排除测试的随意性。,测试用例应由测试输入数据(操作)和与之对应的预期输出结果这两部分组成。,程序员应避免检查自己的程序。,在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。,既要检查程序是否完成了它应做的工作,又要检查它是否还做了它不应该做的事情。,黑盒测试和白盒测试,黑盒测试法是把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。,黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输入信息,并且保持外部信息(如数据库或文件)的完整性。,黑盒测试又称为功能测试,如果已经知道了产品应该具有的功能,可以通过黑盒测试来检验。,白盒测试法的前提是可以把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。,这种方法按照程序内部的逻辑测试程序,检查程序中的每条通路是否都能按预定要求正确工作。,白盒测试又称为结构测试。如果已经知道产品内部的工作过程,可以通过白盒测试来检验。,6 GIS,系统维护,系统交付使用以后,还需要在使用中不断完善。系统的维护是系统生存的重要条件。,20,年来,系统维护的成本逐年增加。现在,在系统整个生命周期中,,2/3,以上的经费用在维护上。,从人力资源的分布看,现在世界上,90%,的软件人员在从事系统的维护工作,开发新系统的人员仅占,10%,。这些数字说明系统维护任务是十分繁重的。,重开发、轻维护是造成我国信息系统低水平重复开发的原因之一。,6.1,维护的内容,程序的维护,在系统维护阶段,会有一部分程序需要改动。根据运行记录,发现程序的错误,这时需要改正;或者随着用户对系统的熟悉,用户有更高的要求,部分程序需要改进;或者环境发生变化,部分程序需要修改。,数据文件的维护业务发生了变化,从而需要建立新文件,或者对现有文件的结构进行修改。,代码的维护随着环境的变化,旧的代码不能适应新的要求,必须进行改造,制定新的代码或修改旧的代码体系。,6.2,维护的类型,更正性维护,用户在使用中会发现软件的错误,并把他们遇到的问题报告给维护人员。针对使用过程中发现问题并改正的活动称为更正性维护。,适应性维护,适应性维护就是为了和变化了的环境适当地配合而进行的修改软件的活动,是既必要又经常的维护活动。,完善性维护,在使用软件的过程中,用户往往提出增加新功能或修改已有功能的建议,还可能提出一般性的改进意见。为了满足这类要求,需要进行完善性维护。,6.3,影响软件维护的因素,软件维护的工作量与软件修改内容的多少、软件的复杂性、维护人员对软件的熟悉程度等因素有关。,由于很多情况下,软件的开发与维护并不是同一人(当软件需要维护时,原先编写程序的人员往往已经离开单位),对维护人员来说,首先要理解程序代码的功能,解释数据结构、接口特点和性能限度等,这就要求程序开发人员在程序开发中要有详细的文挡资料,且与程序代码相一致,同时,按照模块独立的思想进行开发。,The End,Questions?,Thank you!,xujinghaister,
展开阅读全文