第三章  gis 设计方法

33
第第第 第第第 GIS GIS 第第第第 第第第第 第第第第第 第第 第第

Upload: ady

Post on 19-Mar-2016

79 views

Category:

Documents


4 download

DESCRIPTION

《 地理信息系统设计 》 教程. 第三章  GIS 设计方法. 在上一次课介绍了两种基本的软件设计方法:结构化生命周期法和原型法,接下来对第三种基本的设计方法 —— 面向对象的设计方法进行介绍,并对这三种方法进行比较,提出适合于现阶段 GIS 的设计方法。. 教学提纲. 三、面向对象设计方法 四、 GIS 基本设计方法比较与选择. 退出. 三、 面向对象设计方法. (一) 概述 (二) 面向对象设计方法 (三)面向对象方法在系统设计开发中的应用. 返回. 面向对象设计方法的产生背景. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第三章  GIS 设计方法

第三章 第三章  GISGIS 设计方法设计方法

《地理信息系统设计》教程

Page 2: 第三章  GIS 设计方法

在上一次课介绍了两种基本的软件设计方法:结构化在上一次课介绍了两种基本的软件设计方法:结构化生命周期法和原型法,接下来对第三种基本的设计方生命周期法和原型法,接下来对第三种基本的设计方法法————面向对象的设计方法进行介绍,并对这三种方面向对象的设计方法进行介绍,并对这三种方法进行比较,提出适合于现阶段法进行比较,提出适合于现阶段 GISGIS 的设计方法。的设计方法。

Page 3: 第三章  GIS 设计方法

教学提纲三、面向对象设计方法四、GIS基本设计方法比较与选择

退出

Page 4: 第三章  GIS 设计方法

三、三、面向对象设计方法面向对象设计方法(一) 概述(一) 概述(二) 面向对象设计方法(二) 面向对象设计方法(三)面向对象方法在系统设计开发中的应用(三)面向对象方法在系统设计开发中的应用

返回

Page 5: 第三章  GIS 设计方法

面向对象设计方法的产生背景面向对象设计方法的产生背景 由于微电子技术的迅速发展,使得计算机的成本不断下降,由于微电子技术的迅速发展,使得计算机的成本不断下降,

性能不断提高,用户也对信息系统提出了更复杂的功能需性能不断提高,用户也对信息系统提出了更复杂的功能需求。传统的系统设计方法(例如结构化生命周期法)已不求。传统的系统设计方法(例如结构化生命周期法)已不能很好地满足这些需求,人们转而寻求新的系统设计方法。能很好地满足这些需求,人们转而寻求新的系统设计方法。面向对象方法的出现正好迎合这种需求,受到广泛的重视,面向对象方法的出现正好迎合这种需求,受到广泛的重视,并很快地渗透到与计算机有关的各个领域中。并很快地渗透到与计算机有关的各个领域中。

Page 6: 第三章  GIS 设计方法

面向对象的主要概念和术语面向对象的主要概念和术语 主要主要概念概念 定义定义 说明说明

对象对象人们对世界上的事物的认识形成概人们对世界上的事物的认识形成概念,这些概念使我们可以感知和推念,这些概念使我们可以感知和推理世界上的事物,这些概念应用到理世界上的事物,这些概念应用到的事物称为对象的事物称为对象

对象可以是真实的或是抽象的,这取决于研对象可以是真实的或是抽象的,这取决于研究问题的目的,是面向对象方法的最基本元究问题的目的,是面向对象方法的最基本元素素

类类具有一致数据结构和行为(即操作)具有一致数据结构和行为(即操作)的对象抽象成类,它反映了与应用有的对象抽象成类,它反映了与应用有关的重要性质,而忽略掉其它一些无关的重要性质,而忽略掉其它一些无关的内容关的内容

每个类都是个体对象可能的无限集合,每个每个类都是个体对象可能的无限集合,每个对象都是其相应类的一个实例。类中的每一对象都是其相应类的一个实例。类中的每一个实例均有各自的属性值,它们的属性名称个实例均有各自的属性值,它们的属性名称和操作是相同的和操作是相同的

继承继承继承是对具有层次关系的类的属性和继承是对具有层次关系的类的属性和操作进行共享的一种机制。如在一个操作进行共享的一种机制。如在一个已有类的基础上加入若干新内容形成已有类的基础上加入若干新内容形成新类新类

继承可以减少设计和程序实现中的重复性。继承可以减少设计和程序实现中的重复性。在面向对象的术语中,这个已存在的类被称在面向对象的术语中,这个已存在的类被称为父类,使用继承由父类所定义的新类被称为父类,使用继承由父类所定义的新类被称为子类为子类

Page 7: 第三章  GIS 设计方法

系统的分析与设计是为了解决人的抽象思维向计算机语言系统的分析与设计是为了解决人的抽象思维向计算机语言转化的问题,对于不同的目的,系统分析有不同的含义。转化的问题,对于不同的目的,系统分析有不同的含义。当分析的目的是实现时,那么,分析指的是这样一个过程,当分析的目的是实现时,那么,分析指的是这样一个过程,在此过程中,人们研究和理解所要实现的系统,并将研究在此过程中,人们研究和理解所要实现的系统,并将研究结果以文档形式记录下来。结果以文档形式记录下来。

Page 8: 第三章  GIS 设计方法

面向对象分析与设计方法的特点面向对象分析与设计方法的特点 分析与设计采用的工具差异较小。面向对象的实现工具提供分析与设计采用的工具差异较小。面向对象的实现工具提供

了支持分析所形成的模型的构造块,因此,使用面向对象的了支持分析所形成的模型的构造块,因此,使用面向对象的技术,分析与设计能自然转换,设计变得简单,而重点移到技术,分析与设计能自然转换,设计变得简单,而重点移到了分析阶段。面向对象的分析是分析系统中的对象和这些对了分析阶段。面向对象的分析是分析系统中的对象和这些对象之间相互作用时出现的事件,以此把握系统的结构和系统象之间相互作用时出现的事件,以此把握系统的结构和系统的行为。面向对象的设计则将分析的结果映射到某种实现工的行为。面向对象的设计则将分析的结果映射到某种实现工具的结构上,这个实现工具可以是面向过程的,也可以是面具的结构上,这个实现工具可以是面向过程的,也可以是面向对象的。当实现工具是面向对象时,这个映射过程有着比向对象的。当实现工具是面向对象时,这个映射过程有着比较直接的一一对应关系,可以认为采用了相同的概念模型。 较直接的一一对应关系,可以认为采用了相同的概念模型。

Page 9: 第三章  GIS 设计方法

面向对象的开发方法促使软件开发按应用域的观点来工作面向对象的开发方法促使软件开发按应用域的观点来工作和思考。因为应用域中的问题贯穿大部分软件工程开发生和思考。因为应用域中的问题贯穿大部分软件工程开发生命周期,只有当应用域中的固有概念被识别、构造和理解命周期,只有当应用域中的固有概念被识别、构造和理解清楚了,才能有效地设计系统的数据结构和功能。同时,清楚了,才能有效地设计系统的数据结构和功能。同时,由于使用相同的概念模拟工具,从分析到设计的转变非常由于使用相同的概念模拟工具,从分析到设计的转变非常自然。面向对象技术使分析者、设计者和程序员,特别是自然。面向对象技术使分析者、设计者和程序员,特别是最终用户都使用相同的概念模型,同时,落实到编程上,最终用户都使用相同的概念模型,同时,落实到编程上,也应使用面向对象的语言开发环境。也应使用面向对象的语言开发环境。

返回

Page 10: 第三章  GIS 设计方法

面向对象设计方法的主要类型面向对象设计方法的主要类型 面向对象建模技术(面向对象建模技术( Object_Oriented Modeling Object_Oriented Modeling

TechniqueTechnique ,简称,简称 OMTOMT )) 统一建模语言(统一建模语言( Unified Modeling LanguageUnified Modeling Language ,简称,简称

UMLUML ))

Page 11: 第三章  GIS 设计方法

面向对象建模技术面向对象建模技术 OMTOMT采用对象模型、动态模型和功能模型等来描述一采用对象模型、动态模型和功能模型等来描述一

个系统。用这种方法进行系统分析与设计所建立的系统个系统。用这种方法进行系统分析与设计所建立的系统模型在后期用面向对象的开发工具实现时“转换过程”模型在后期用面向对象的开发工具实现时“转换过程”是很自然的。 是很自然的。

Page 12: 第三章  GIS 设计方法

对象模型 对象模型描述的是系统的对象结构,是三种模型中最重要的模型。对象模型通过描述系统中的对象、对象间的关系、标识类中对象的属性和操作来组织对象的静态结构,它描述了动态模型和功能模型中的数据结构,其操作对应于动态模型中的事件及功能模型中的功能。通常,对象模型用含有对象类的对象图(是对 E-R模型的扩充)来表示,这种表示方法有利于通讯交流和对系统结构进行文档化。

Page 13: 第三章  GIS 设计方法

动态模型动态模型描述与时间和操作顺序有关的系统属性。动态模型是对象模型的一个对照,它表示和时间与变化有关的性质,描述对象的控制结构。动态建模的主要概念是事件,它表示外部触发,它的状态表示对象值。动态模型关心“控制”,“控制”是用来描述操作执行次序的系统属性。通常,动态模型用状态图来表示,一张状态图表示一个类的对象的状态和事件的正确次序。

Page 14: 第三章  GIS 设计方法

功能模型功能模型描述了系统中所有的计算,它描述了由对象模型中的对象唤醒和由动态模型中的行为唤醒的功能。功能模型只考虑系统做什么,而不关心怎样做和何时做;它描述了一个计算运行的结果,而不考虑计算值的次序。通常,功能模型的描述工具是数据流图,数据流图说明数据流如何从外部输入经过操作而到外部输出。

Page 15: 第三章  GIS 设计方法

OMTOMT 的两个特点的两个特点 OMTOMT 是一种围绕着真实世界中的概念,是从三种不同的是一种围绕着真实世界中的概念,是从三种不同的角度建立系统的面向对象模型的技术。角度建立系统的面向对象模型的技术。

OMTOMT 主要有两个特点:主要有两个特点: 使用领域专家或用户熟悉的概念和术语,因而有助于使用领域专家或用户熟悉的概念和术语,因而有助于

对问题的理解和与用户通信交流;对问题的理解和与用户通信交流; 对应用域的对象和计算机域中的对象使用一致的面向对应用域的对象和计算机域中的对象使用一致的面向

对象的概念和表示法来建模、设计和实现,不必在各对象的概念和表示法来建模、设计和实现,不必在各阶段进行概念转换,因而方便了开发工作。阶段进行概念转换,因而方便了开发工作。

Page 16: 第三章  GIS 设计方法

OMTOMT 建模步骤建模步骤 步骤步骤 内容内容 目标目标

系统分析系统分析 从问题陈述入手,与需求一起工作从问题陈述入手,与需求一起工作 ,以理解问题要求,主要包括对象 ,以理解问题要求,主要包括对象建模、动态建模、功能建模等内容建模、动态建模、功能建模等内容

简洁明确地抽象出目标系简洁明确地抽象出目标系统必须做的事情,对真实统必须做的事情,对真实世界建模世界建模

系统设计系统设计系统设计是问题求解及建立解答的系统设计是问题求解及建立解答的高级策略,其内容包括将系统分解高级策略,其内容包括将系统分解为子系统的策略、子系统的软硬件为子系统的策略、子系统的软硬件配置、详细的设计框架等配置、详细的设计框架等

决定系统的整体风格;使决定系统的整体风格;使多个设计者能独立地进行多个设计者能独立地进行子系统设计;确定需优化子系统设计;确定需优化的性能,选择问题处理的的性能,选择问题处理的策略和初步配置资源策略和初步配置资源系统详细系统详细设计设计

详细设计强调数据结构和实现类所详细设计强调数据结构和实现类所需的算法。在分析模型的类中增加需的算法。在分析模型的类中增加计算机化的数据结构和算法,并使计算机化的数据结构和算法,并使用统一的面向对象的概念和符号表用统一的面向对象的概念和符号表示法来表达示法来表达

在分析的基础上,对设计在分析的基础上,对设计模型加入一些实现上的考模型加入一些实现上的考虑,将系统设计中的一些虑,将系统设计中的一些实现细节加入到设计模型实现细节加入到设计模型中中软件编程软件编程 使用具体的程序设计语言、数据库使用具体的程序设计语言、数据库或硬件来实现对象设计中的对象和或硬件来实现对象设计中的对象和关联关联 实现系统实现系统

Page 17: 第三章  GIS 设计方法

统一建模语言的产生(一)统一建模语言的产生(一) 面向对象的分析与设计方法的发展在面向对象的分析与设计方法的发展在 19801980年代末至年代末至 19901990年年代中期出现了一个高潮,统一建模语言是这个高潮的产物。代中期出现了一个高潮,统一建模语言是这个高潮的产物。

BoochBooch 是面向对象方法最早的倡导者之一,他提出了面向对是面向对象方法最早的倡导者之一,他提出了面向对象软件工程的概念,他于象软件工程的概念,他于 19911991年建立年建立 Booch93Booch93 。。

RumbaughRumbaugh等人提出了面向对象的建模技术方法,采用面向等人提出了面向对象的建模技术方法,采用面向对象的概念,并引入各种独立于语言的表示符,建立了对象的概念,并引入各种独立于语言的表示符,建立了OMT-2OMT-2 ,它特别适用于分析和描述以数据为中心的信息系统。,它特别适用于分析和描述以数据为中心的信息系统。

JacobsonJacobson 于于 19941994年提出了年提出了 OOSEOOSE 方法,其最大特点是面向方法,其最大特点是面向用例(用例( Use-CaseUse-Case ),并在用例的描述中引入了外部角色的概),并在用例的描述中引入了外部角色的概念。念。

Page 18: 第三章  GIS 设计方法

统一建模语言的产生(二)统一建模语言的产生(二) 19941994 年年 1010月,月, Grady BoochGrady Booch 和和 Jim RumbaughJim Rumbaugh 开始致力于统开始致力于统

一建模语言。一建模语言。 他们将他们将 Booch93Booch93 和和 OMT-2 OMT-2 统一,并于统一,并于 19951995 年年 1010月发布第月发布第

一个公开版本,称之为统一方法一个公开版本,称之为统一方法 UM0.8UM0.8 (( Unified MethodUnified Method )。)。 19961996年,为了进行方法学领域的研究和标准化工作,成立了年,为了进行方法学领域的研究和标准化工作,成立了

OMGOMG工作组。工作组。 19971997 年年 11月,许多组织提交了关于方法学标准的提案以协助月,许多组织提交了关于方法学标准的提案以协助模型的转换,这些提案主要集中在元模型和表示方法方面。模型的转换,这些提案主要集中在元模型和表示方法方面。

通过协调,通过协调, UML1.1UML1.1 在在 1997 1997 年底发布,得到工业界的广泛年底发布,得到工业界的广泛支持,被支持,被 OMGOMG 正式接纳为标准。正式接纳为标准。

Page 19: 第三章  GIS 设计方法

统一建模语言的应用(一)统一建模语言的应用(一) UMLUML 是一个通用的标准建模语言,可以对任何具有静态结构是一个通用的标准建模语言,可以对任何具有静态结构

和动态行为的系统进行建模,而且,和动态行为的系统进行建模,而且, UMLUML 适用于系统开发适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。过程中从需求规格描述到系统完成后测试的不同阶段。

在需求分析阶段,通过用例来捕获用户需求,并采用用例建在需求分析阶段,通过用例来捕获用户需求,并采用用例建模,描述对系统感兴趣的外部角色及其对系统的功能要求。模,描述对系统感兴趣的外部角色及其对系统的功能要求。

在设计阶段引入定义软件系统中技术细节的类(如处理用户在设计阶段引入定义软件系统中技术细节的类(如处理用户接口、数据库、通讯和并行性等问题的类),为构造阶段提接口、数据库、通讯和并行性等问题的类),为构造阶段提供更详细的规格说明。供更详细的规格说明。

编程(构造)是一个独立的阶段,其任务是用面向对象编程编程(构造)是一个独立的阶段,其任务是用面向对象编程语言将来自设计阶段的类转换成实际的代码。语言将来自设计阶段的类转换成实际的代码。

Page 20: 第三章  GIS 设计方法

统一建模语言的应用(二)统一建模语言的应用(二) UMLUML模型还可作为测试阶段的依据。系统通常需要经过单模型还可作为测试阶段的依据。系统通常需要经过单

元测试、集成测试、系统测试和验收测试。不同的测试小组元测试、集成测试、系统测试和验收测试。不同的测试小组使用不同的使用不同的 UMLUML 图作为测试依据图作为测试依据。。• 单元测试使用类图和类规格说明;单元测试使用类图和类规格说明;• 集成测试使用部件图和合作图;集成测试使用部件图和合作图;• 系统测试使用用例图来验证系统的行为;系统测试使用用例图来验证系统的行为;• 验收测试由用户进行,以验证系统测试的结果是否满足验收测试由用户进行,以验证系统测试的结果是否满足

在分析阶段确定的需求。在分析阶段确定的需求。

Page 21: 第三章  GIS 设计方法

统一建模语言的优点统一建模语言的优点采用采用 UMLUML 模型进行系统的分析和设计具有以下优点:模型进行系统的分析和设计具有以下优点: 在面向对象设计领域,存在数十种面向对象的建模语言,在面向对象设计领域,存在数十种面向对象的建模语言,

都是相互独立的,而都是相互独立的,而 UMLUML 可以消除一些潜在的不必要的可以消除一些潜在的不必要的差异,以免用户混淆;差异,以免用户混淆;

通过统一语义和符号表示,能够稳定面向对象技术市场,通过统一语义和符号表示,能够稳定面向对象技术市场,使项目根植于一个成熟的标准建模语言,从而可以大大拓使项目根植于一个成熟的标准建模语言,从而可以大大拓宽所研制与开发的软件系统的适用范围,并大大提高其灵宽所研制与开发的软件系统的适用范围,并大大提高其灵活程度。活程度。

返回

Page 22: 第三章  GIS 设计方法

面向对象方法在系统设计开发中的应用 面向对象方法在系统设计开发中的应用 在对象建模技术方法学的支持下,采用在对象建模技术方法学的支持下,采用 UMLUML 统一建模语言,统一建模语言,

能完成对象化软件可视模型的建立,并能自动生成多种用面向能完成对象化软件可视模型的建立,并能自动生成多种用面向对象语言实现的代码。这样可以提高整体开发效率,同时还可对象语言实现的代码。这样可以提高整体开发效率,同时还可以支持项目的协同开发,有利于保障软件系统的质量和可靠性。以支持项目的协同开发,有利于保障软件系统的质量和可靠性。而且,大型软件系统开发工作量大、人员多、周期长,即使采而且,大型软件系统开发工作量大、人员多、周期长,即使采用了面向对象的开发方法,如果没有自动化工具提供支持,开用了面向对象的开发方法,如果没有自动化工具提供支持,开发队伍的效率依然很低,极易造成延期。如果采用软件自动化发队伍的效率依然很低,极易造成延期。如果采用软件自动化管理工具,就可以提供了一整套针对大型开发队伍的自动化手管理工具,就可以提供了一整套针对大型开发队伍的自动化手段,使开发小组能按照面向对象方法顺畅地完成项目开发,既段,使开发小组能按照面向对象方法顺畅地完成项目开发,既提高了效率又保证了质量。提高了效率又保证了质量。

Page 23: 第三章  GIS 设计方法

下面以美国下面以美国 CayenneCayenne公司的对象建模工具公司的对象建模工具 ObjectTeamObjectTeam 为为例,阐述使用面向对象方法进行系统分析、设计开发的策略。例,阐述使用面向对象方法进行系统分析、设计开发的策略。采用面向对象方法,开发人员容易过早地进入细节设计,因而也常常需要返工,造成浪费。通过明确划分软件开发生命周期的各个阶段,并采用统一的标号和法则简化各阶段内部的活动,从而可以把返工量减至最少,保证开发过程真正符合面向对象的规律,使得每一阶段都是基于前一阶段的开发成果迭代完成的。在大型软件系统的开发中,由于对象模型的数目众多且关系复杂,使开发组成员难以对系统有共同的理解。针对这一问题的一种解决方法是在具体的对象模型之上,建立抽象信息层,将相关联的类分成容易理解的几个组,形成有逻辑关系的多个子系统,便于项目组成员协同有序地完成开发。

Page 24: 第三章  GIS 设计方法

由于系统内部各子系统间的信息交换以及与系统外部的信息交互量都十分巨大。为了清晰地定义和管理这些复杂的交互信息,可以用文档、类通讯图及 Use Case图来定义系统边界和建模。随着应用软件中对象数目和复杂度的增加,对象间的消息传递也变得难于理解和掌握了。通过采用消息综合的抽象技术,把传递的消息分层定义,通过简化细节,可以得到容易理解的高层次消息综合图。

返回

Page 25: 第三章  GIS 设计方法

四、四、 GISGIS 基本设计方法比较与选择基本设计方法比较与选择(一) 基本设计方法比较(一) 基本设计方法比较

(二) (二) GISGIS设计方法的选择设计方法的选择

返回

Page 26: 第三章  GIS 设计方法

三种方法各自的特点三种方法各自的特点 结构化生命周期法规定了软件开发过程中的各项工程活动,结构化生命周期法规定了软件开发过程中的各项工程活动,

一般包括可行性分析、需求分析、总体设计、详细设计、编一般包括可行性分析、需求分析、总体设计、详细设计、编码及测试六项活动,并规定了它们自上而下,相互衔接的固码及测试六项活动,并规定了它们自上而下,相互衔接的固定次序,前一阶段的成果是后一阶段工作开展的基础。这种定次序,前一阶段的成果是后一阶段工作开展的基础。这种开发方法为软件开发提供了一个较为成熟和完善的管理模式,开发方法为软件开发提供了一个较为成熟和完善的管理模式,而且直观易学。其最大的不足是缺乏灵活性,尤其是在软件而且直观易学。其最大的不足是缺乏灵活性,尤其是在软件需求不明确或不准确的情况下,问题更为突出;其次还有修需求不明确或不准确的情况下,问题更为突出;其次还有修改困难、难以维护和软件模块重用性差等缺点。改困难、难以维护和软件模块重用性差等缺点。

Page 27: 第三章  GIS 设计方法

原型法的主要思想是借助原型来辅助软件开发。在开发初期,原型法的主要思想是借助原型来辅助软件开发。在开发初期,开发人员根据自己对用户需求的理解,利用开发工具快速构开发人员根据自己对用户需求的理解,利用开发工具快速构造出原型软件,用户及开发人员通过对原型软件的试运行、造出原型软件,用户及开发人员通过对原型软件的试运行、评价、修正和改进,逐步明确对软件的功能需求以进行正式评价、修正和改进,逐步明确对软件的功能需求以进行正式开发或者直接把原型扩充成最终产品。它的优点是增进了开开发或者直接把原型扩充成最终产品。它的优点是增进了开发人员和用户对系统功能需求的理解,为用户提供了一种有发人员和用户对系统功能需求的理解,为用户提供了一种有力的学习手段,尤其是可以大大提高用户接受性。但是,软力的学习手段,尤其是可以大大提高用户接受性。但是,软件原型是否具有代表性直接影响到软件开发的成功与否。件原型是否具有代表性直接影响到软件开发的成功与否。

Page 28: 第三章  GIS 设计方法

面向对象技术将客观世界(即问题论域)看成是由一些相互联系的事物(即对象)组成,每个对象都有自己的运动规律和内部状态,对象间的相互作用和相互联系构成了完整的客观世界,问题的解由对象间的通讯来描述。面向对象的开发方法包括分析阶段、高层设计、类的开发、实例的建立、组装测试几个阶段。

Page 29: 第三章  GIS 设计方法

设计方法设计方法特性特性 结构化生命周期法结构化生命周期法 原型法原型法 面向对象开发的方法面向对象开发的方法

开发思想开发思想 划分六个阶段,并规定它划分六个阶段,并规定它们自上而下,相互衔接的们自上而下,相互衔接的固定次序固定次序借助原型(它反映了最终系统借助原型(它反映了最终系统的部分重要特性)来辅助软件的部分重要特性)来辅助软件开发开发

将客观世界看成相互联系的事物将客观世界看成相互联系的事物(即对象)组成,以对象为单元进(即对象)组成,以对象为单元进行设计开发行设计开发开发过程开发过程 线性、固定次序线性、固定次序 简单到复杂、部分到全面简单到复杂、部分到全面 线性、迭代性和无间隙性线性、迭代性和无间隙性开发模式开发模式

整体开发模式。下一阶段整体开发模式。下一阶段开始前完成上一阶段所有开始前完成上一阶段所有细节细节非整体开发模式。推迟某些阶非整体开发模式。推迟某些阶段的细节工作,从而较早产生段的细节工作,从而较早产生工作软件工作软件

非整体开发模式,分析阶段由底向非整体开发模式,分析阶段由底向上提取对象,实现阶段自顶向下建上提取对象,实现阶段自顶向下建立对象立对象驱动机制驱动机制 文档驱动 文档驱动 需求的可变性和模糊性需求的可变性和模糊性 以对象作为驱动以对象作为驱动可见性可见性 开发过程系统不可见开发过程系统不可见 通过试用原型进行沟通通过试用原型进行沟通 开发过程系统不可见开发过程系统不可见

优 点 优 点是一种较为成熟和完善的是一种较为成熟和完善的管理模式,整体性好管理模式,整体性好 具有一定灵活性和可修改性;具有一定灵活性和可修改性;增进了开发人员和用户对系统增进了开发人员和用户对系统需求的理解需求的理解

与人类思维方法一致,便于描述客与人类思维方法一致,便于描述客观世界;开发的软件性能稳定、易观世界;开发的软件性能稳定、易于重用和维护于重用和维护

缺 点 缺 点缺乏灵活性;难修改和维缺乏灵活性;难修改和维护;模块重用性差;开发护;模块重用性差;开发周期长周期长

整体性差;由于不断地对原型整体性差;由于不断地对原型进行修改完善,工作的重复率进行修改完善,工作的重复率高,工作量大高,工作量大对象和实体设计存在盲目性;对象对象和实体设计存在盲目性;对象间的消息传递不能完整体现系统总间的消息传递不能完整体现系统总体功能;系统结构性较差体功能;系统结构性较差

适用性适用性 功能和性能明确完整、无功能和性能明确完整、无重大变化的软件开发重大变化的软件开发 需求不明确,设计方案有一定需求不明确,设计方案有一定风险的中小型软件开发风险的中小型软件开发 数据结构复杂、事物联系密切的软数据结构复杂、事物联系密切的软件开发件开发

返回

Page 30: 第三章  GIS 设计方法

GISGIS 设计方法的选择(一)设计方法的选择(一) 传统的传统的 GISGIS 分析设计方法是结构化生命周期法,根据上文分析设计方法是结构化生命周期法,根据上文

对几种基本设计方法的比较,可以知道结构化生命周期法对几种基本设计方法的比较,可以知道结构化生命周期法具有较为成熟和完善,整体性好等特点,是较为常用的具有较为成熟和完善,整体性好等特点,是较为常用的GISGIS 软件设计方法,但是结构化生命周期法缺乏灵活性、软件设计方法,但是结构化生命周期法缺乏灵活性、开发周期长,且对系统需求要求较高,而在实际的开发周期长,且对系统需求要求较高,而在实际的 GISGIS 设设计过程中,系统的需求是在系统设计过程中逐步明确的,计过程中,系统的需求是在系统设计过程中逐步明确的,因此,采用结构化生命周期法进行因此,采用结构化生命周期法进行 GISGIS 设计开发往往会出设计开发往往会出现重复性劳动、开发周期长、用户的接受度低等问题。现重复性劳动、开发周期长、用户的接受度低等问题。

Page 31: 第三章  GIS 设计方法

GISGIS 设计方法的选择(二)设计方法的选择(二) 为了解决系统需求不确定性的问题,开始将原型法应用于为了解决系统需求不确定性的问题,开始将原型法应用于

GISGIS 设计,采用原型法确定系统的需求。采用原型法进行设计,采用原型法确定系统的需求。采用原型法进行GISGIS 设计也有不足,就是系统的整体性差,重复劳动多。设计也有不足,就是系统的整体性差,重复劳动多。因此,原型法常用于小型因此,原型法常用于小型 GISGIS 软件设计,而在大型软件设计,而在大型 GISGIS 软软件设计中,采用原型法与其它软件设计方法相结合来进行件设计中,采用原型法与其它软件设计方法相结合来进行软件设计,其中,原型法主要用来确定系统的需求。通常,软件设计,其中,原型法主要用来确定系统的需求。通常,采用原型法进行软件设计有两种方式:一种是抛弃型原型采用原型法进行软件设计有两种方式:一种是抛弃型原型法,设计原型确定系统需求,抛弃原型,从头开始系统的法,设计原型确定系统需求,抛弃原型,从头开始系统的设计开发;另一种则是设计原型来验证需求,在此基础上设计开发;另一种则是设计原型来验证需求,在此基础上根据用户意见对原型进行修改,将原型逐步完善成为成熟根据用户意见对原型进行修改,将原型逐步完善成为成熟系统。系统。

Page 32: 第三章  GIS 设计方法

GISGIS 设计方法的选择(三)设计方法的选择(三) 面向对象技术发展起来后,考虑到面向对象技术发展起来后,考虑到 GISGIS 所处理的空间数据所处理的空间数据

是现实世界实体的反映,采用面向对象技术进行实体的表是现实世界实体的反映,采用面向对象技术进行实体的表达和系统的开发,与人类思维方法一致,便于描述客观世达和系统的开发,与人类思维方法一致,便于描述客观世界,开发的软件性能稳定、易于重用和维护。因此,面向界,开发的软件性能稳定、易于重用和维护。因此,面向对象设计方法在对象设计方法在 GISGIS 设计中具有很大的优势,但是面向对设计中具有很大的优势,但是面向对象设计方法目前仍不成熟和完善,尤其是在象设计方法目前仍不成熟和完善,尤其是在 GISGIS 领域中的领域中的应用应用。。

Page 33: 第三章  GIS 设计方法

GISGIS 设计方法的选择(四)设计方法的选择(四) 考虑到考虑到 GISGIS 应用的特点以及应用的特点以及 GISGIS 应用的多样化,想应用的多样化,想

要找到一种适用于所有要找到一种适用于所有 GISGIS 软件开发的设计方法几乎软件开发的设计方法几乎是不可能的,进行是不可能的,进行 GISGIS 设计方法的选择需要考虑多方设计方法的选择需要考虑多方面的因素,包括系统规模的大小、系统应用类型、系面的因素,包括系统规模的大小、系统应用类型、系统需求明确程度等。通常,小型统需求明确程度等。通常,小型 GISGIS 软件设计常采用软件设计常采用原型法进行开发;而大型原型法进行开发;而大型 GISGIS 软件设计多采用结构化软件设计多采用结构化生命周期法或是面向对象方法进行开发,考虑到生命周期法或是面向对象方法进行开发,考虑到 GISGIS设计需求不确定性特点,通常也在需求分析阶段应用设计需求不确定性特点,通常也在需求分析阶段应用原型法来确认用户需求。原型法来确认用户需求。

返回