Download presentation
Presentation is loading. Please wait.
1
《地理信息系统设计》教程 第四章 系统定义
2
在软件工程中,软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。ISO9000把“过程”定义为“把输入转化为输出的一组彼此相关的资源和活动”。软件过程主要可以分为软件定义、软件设计和软件维护三个时期,每个时期又可进一步划分为若干个阶段。系统定义时期的主要任务是确定软件开发工程必须完成的总目标以及工程的可行性;导出实现工程目标应该采用的策略即系统必须完成的功能;估计完成该项工程需要的资源和成本;并且制定工程进度表;最后编写系统需求分析报告。这个时期的工作通常又称为系统分析,由系统分析员负责完成。
3
从GIS的特点来看,GIS软件工程具有一般软件工程所具有的共性,又存在其自身的特殊性。在一个具体GIS的开发建设过程中,需要领导阶层、技术人员、数据拥有单位、各用户单位与开发单位的协调合作;涉及到项目立项、系统调查、系统分析、系统设计、系统开发和维护诸多阶段的逐步建设;需要进行资金调拨、人员配置、开发进度控制等许多方面的组织与管理。根据系统定义时期的主要任务,结合GIS设计的特点,本章对GIS系统定义进行论述。
4
GIS系统定义阶段的任务 GIS系统定义阶段必须明确的关键问题是“GIS系统要解决的问题是什么”,也就是明确系统建设的目标和任务,在此基础上开展下一步的工作,包括进行系统的可行性分析、制定项目计划以及系统的开发与维护。
5
教学提纲 一、系统需求调查和分析 二、系统可行性研究 三、系统分析工具 四、软件需求规格说明 退出
6
一、系统需求调查和分析 (一) 系统目标分析 (二) 系统功能与性能分析 返回
7
系统目标分析 根据GIS特点,明确GIS系统的建设目标和任务必须从以下方面着手: 进行用户类型分析 对现行系统进行调查分析 明确系统服务对象
用户研究领域现状调查
8
用户需求调查方式 为了开发出用户满意的GIS软件产品,必须首先调查用户的需求,制定系统开发目标。了解和明确用户需求的具体方式有多种 。 访谈
简易应用规格说明技术 软件原型 途径 语言交流 会议讨论 建立原型 工作方法 系统分析员提出问题请用户答复,以了解用户需求 与会人员提前对系统的需求进行认真思考,在开发者和用户双方出席的会议上进行讨论 快速建立软件原型,通过该原型进行开发者和用户之间的沟通 优点 简单、便捷,是较常用的用户需求调查方法 使用简单,系统整体性把握较好 便于用户与开发者的沟通,需求分析准确、有效 缺点 后期整理工作较繁琐,需求准确度不高 准备工作复杂,需要反复讨论才能确定需求,需求准确度不高 工作量大
9
用户类型分析(一) 进行系统目标和任务分析首先应确定系统的用户类型,在此基础上才可以进一步开展调查分析确定用户需求。GIS的不同用户类型对GIS有不同的要求,应用情况也各异。判断用户类型是进行系统建设目标和任务分析的关键。
10
用户类型分析(二) 通常,GIS用户可以分为以下几种:
工作任务完全不定的用户,例如高校研究室或研究所等,他们以GIS作为教学科研工具或用于开发新的GIS技术
11
现行系统进行调查分析 进行GIS建设的目的之一是解决现行系统存在的问题和提高工作的效率。通过对现行系统组织机构、工作任务、职能范围、日常工作流程、信息来源及处理方式、资料使用状况、人员配置、设备装置和费用开支等各方面的调查研究,指出现行工作状况在工作效率、费用支付、人力配置等方面存在的主要问题和薄弱环节,作为待建GIS的突破口。
12
明确系统服务对象 系统的服务对象不同,那么系统的目标也不相同。以土地管理信息系统为例,用户对象是政府领导层,则系统的目标应当是可以进行评价、分析和辅助决策;用户对象是办公职员,则系统的目标是办公自动化和图文一体化办公;用户对象是科研人员,则系统的目标是进行空间分析、评价和建模,如土地地价定级、评估等。
13
用户研究领域现状调查 根据用户研究的方向、深度以及用户希望GIS解决哪些实际应用问题可以确定系统设计的目的、应用范围和应用深度,为以后总体设计中的系统功能设计和应用模型设计提供科学、合理的依据。例如,城市土地地价评估信息系统的系统功能和模型设计,既要参考用户当前采用的土地地价评估方法以及主要的业务范围,又可以针对GIS的功能优势,在与用户交流的基础上对现行方法提出改进以及对土地地价评估业务进行适当的扩充。 返回
14
系统功能与性能分析 系统的功能和性能是在明确系统目标的基础上,对系统目标和任务在具体实现上进行设计和细分。常用的方法有如下三种:
GIS结构化分析方法 GIS面向对象分析方法 GIS快速原型化分析方法
15
GIS结构化分析方法 GIS结构化分析方法采用自顶向下、逐层分解的系统分析方法来定义GIS系统的需求。在此基础上,可以作出GIS系统的规格说明,并由此建立GIS系统的一个自顶向下任务分析模型。GIS结构化分析方法的要点是将GIS系统开发的全过程划分为若干阶段,而后分别确定它们的任务,同时把系统的逻辑和物理模型,即系统“做什么”和“怎么做”分开,以保证其在各阶段任务明确、实施有效。GIS结构化分析方法是一种使用相对广泛、也较为成熟和完善的系统分析方法。
16
GIS面向对象分析方法 GIS面向对象分析方法通过自底向上提取对象并进行对象的组合来实现系统功能和性能分析。它提取的对象包括GIS系统的实体、实体属性和实体关联以及系统的方法、函数和它们之间的关联等。通过自底向上的分析方法,根据各实体和各函数方法的关联度分析,逐步向上进行功能和实体的综合,最后得到系统的功能模块和性能要求。
17
GIS快速原型化分析方法 GIS快速原型化分析方法是在系统分析员和系统用户之间交流的一种工具方法,用来明确用户对GIS系统功能和性能的要求。基于GIS需求不确定性因素,GIS快速原型化分析方法在GIS系统功能和性能分析领域的应用相对广泛。GIS快速原型化分析方法的主要思想是借助原型来辅助GIS软件需求的定义。在开发初期,开发人员根据自己对GIS用户需求的理解,利用开发工具快速构造出GIS原型软件,用户及开发人员通过对原型软件的试运行、评价、修正和改进,逐步明确GIS软件的功能及性能需求,作为软件开发阶段的基础。
18
采用GIS原型化分析方法进行GIS系统功能和性能分析定义的流程图
系统分析员与用户交流 业务需求初步分析 (包括业务类型、工作流、数据流等) 软件需求初步分析 (包括GIS软件功能、界面、性能等) GIS软件功能模块划分及 系统功能、性能需求分析报告 GIS软件工程师 GIS数据库的建设 GIS功能界面的建设 GIS软件原型 系统功能初步实现 系统界面模型建立
19
GIS快速原型化分析方法的主要步骤 初步分析。这是设计原始模型的依据,包括GIS应用领域业务分析(绘制工作流图和数据流图等)、GIS软件应具备功能和性能初步分析(功能模块划分、系统界面、系统性能等)。 设计原型。根据初步分析的结果提出一个有一定深度和广度的原型软件,作为迭代开发的基础。建立初始模型所需时间,随其规模大小、复杂性和完整程度而异。
20
分析交流。在系统原型的基础上,系统用户和系统分析员就原型进行分析评价,对系统的功能和性能提出修改意见。
修改原型。根据系统用户和系统分析员就原型所提出的修正意见对原型进行修改。 确定系统的功能与需求。重复③④的步骤,直到用户和系统开发人员对系统的功能和需求意见达成一致,编写系统功能和需求分析报告 。 返回
21
二、系统可行性研究 在对系统进行初步调查之后,开发者应该根据实际情况对下述问题做出选择:该项目是否具有立项的必要性?如果立项建设,应该按何种方式和规模组织开发?这些方案的可行性如何?等等。另外,开发任何一个信息系统,都会受到时间和资源上的限制。因此,在接受项目之前必须根据用户可能提供的时间和资源条件进行可行性研究,以避免人力、物力和财力上的浪费。 上述均为GIS可行性研究所面临的问题。可行性研究主要工作内容包括数据源调查与评估、技术可行性评估、系统的支持状况以及经济和社会效益分析四部分。
22
数据源调查与评估 数据是GIS运行的基础,而系统建设中数据的准备工作繁杂,工作量巨大,因此在立项之前要对系统数据源、数据结构和数据模型等进行全面分析,调查已有数据情况,确定它们的可用性,对所缺乏数据要确定其收集方法,测算数据采集与数据库建库的工作量。
23
技术可行性评估(一) 技术可行性是指使用目前可用的开发方法和工具能否支持系统需求的实现。技术可行性研究过程包括以下几个方面:
分析实现系统功能和性能所需的各种设备、技术、方法和过程,以此预测分析项目开发在技术方面可能承担的风险以及系统建成后的实用性、可靠性、可维护性等; 在软硬件配置方面,应分析硬件更新速度和GIS软件使用周期是否匹配,开发软件和技术以及制定开发方案是否符合用户需求;
24
技术可行性评估(二) 在项目管理方面,应考虑GIS设计技术人员的数量、结构和技术水平等因素,判断设计开发工作能否顺利开展。
如有可能,应充分研究现有类似系统的功能与性能,采用的技术、工具、设备,吸取开发过程中的经验和教训,作为现行系统开发的参考依据。 必要时,技术分析还包括某些研究和试验性设计活动。
25
经济和社会效益分析(一) GIS应用迅速普及的根本原因在于GIS应用促进了社会经济的发展,给用户乃至社会带来了经济效益和社会效益。因此GIS的成本-效益分析是可行性研究的重要内容,它用于评估GIS的经济合理性,给出系统开发的成本论证,并将估算的成本与预期的利润进行对比。
26
经济和社会效益分析(二) 一般说来,GIS的成本由五个部分组成: 购置并安装软硬件及其相关设备的费用; 生产系统所需数据的费用;
软件开发费用; 系统安装、运行和维护费用; 人员培训费用。在系统分析和设计阶段只能得到上述费用的预算,即估算成本。
27
经济和社会效益分析(三) GIS的效益包括经济效益和社会效益两部分。经济效益指应用系统为用户增加的收入,它可以通过直接的和统计的方法估算。社会效益大多只能用定性的方法估算。
28
系统开发与运行环境评价 由于GIS开发工作是在社会环境下运作的,除了技术因素与经济因素之外,还有许多社会因素对项目的开展起着制约的作用。例如与项目直接相关的管理人员、工作人员是否对项目持支持态度;有多少人力可用于GIS系统,其中有多少人员需要培训;项目财力支持情况,包括组织部门所能给予的当前的投资额及将来维护GIS的逐年投资额等。
29
可行性分析报告的目录 引言 1.1 问题 1.2 实现环境 1.3 约束条件 管理 2.1 重要的发现 2.2 注解 2.3 建议
2.4 效果 方案选择 3.1 选择系统配置 3.2 选择方案的标准 系统描述 4.1 缩写词 4.2 各子系统的可行性 数据源评估 技术风险评估 成本-效益分析 系统开发与运行环境评价 有关法律问题 其他 返回
30
三、系统分析工具 系统分析工具简介 (一) GIS数据流模型 (二) GIS数据字典 (三) 加工逻辑说明 返回
31
系统分析工具简介(一) 在进行系统需求调查的基础上,通过对调查结果的分析,需要利用统一的表达方法和表达工具对系统需求进行分析和表达,作为系统设计的基础。进行系统分析的方法很多,包括上文介绍的结构化分析方法、面向对象分析方法等。不同的系统分析方法所采用的分析工具有很大的差异,所得到的系统功能划分、结构体系以及数据模型等成果的表达方式也有很大不同。本节以结构化分析方法为例介绍系统分析工具。
32
系统分析工具简介(二) 由于软件总是对数据进行加工,因此从原则上讲,可以用数据流方法来分析任意一种应用问题,GIS系统也不例外。GIS结构化分析是面向GIS数据流而进行的需求分析过程,它采用GIS数据流模型(GIS数据流图)来模拟GIS数据处理过程。具体地讲,就是用抽象模型的概念,按照GIS软件内部数据传递、数据变换等关系,将GIS系统自顶向下逐层分解,直至找到满足GIS功能要求的实现为止。
33
系统分析工具简介(三) GIS结构化分析常用的分析工具主要有数据流模型(数据流图)、数据字典以及对数据流进行描述的加工逻辑说明。GIS数据流图是GIS结构化分析的核心部分,它通过一套分层次(由综合到具体)的GIS数据流图,辅以GIS数据字典、小说明工具来描述GIS系统。 返回
34
GIS数据流模型 GIS数据流模型是GIS软件系统逻辑模型的一种图形表示,它描述了GIS数据流动、存储、处理等逻辑关系,一般采用数据流图(Data Flow Diagram,简称DFD)来表示。
35
GIS数据流图的基本成分 或 标识 名字 基本成分 名称 备注 加工 输入数据在此进行变换产生输出数据,要注明加工的名字 外部实体
数据输入的源点或数据输出的汇点,要注明源点和汇点的名字 数据流 被加工的数据与流向,应给出数据流名字,可用名词或动词性短语命名 或 标识 名字 数据存储文件 需用名词或名词性短语命名
36
分层的GIS数据流图(一) 对于大型的GIS软件系统,如果只用一张数据流图表示所有的数据流、处理和数据存储,那么这张图将十分复杂、庞大,而且难于理解。层次结构的数据流图可以很好地解决这个问题。分层的数据流图起到了对信息进行抽象和隐秘的作用。由于高层次的数据流图不体现低层次的数据流图的细节,因此可暂时掩盖低层次数据处理的功能和它们之间的关系。
37
分层的GIS数据流图(二) 我们按分层的思想将GIS数据流图划分为顶层DFD、中间层DFD、底层DFD三种。顶层数据流图的结构简单,它描述了整个GIS系统的作用范围,对GIS系统的总体功能、输入和输出进行了抽象,反映了GIS系统和环境的关系。中间层数据流图是通过分解高层数据流和数据加工得到的。层次较高的数据流图经过进一步分解得到层次较低的数据流图,一张中间层数据流图具有几个可分解的加工,就存在几张对应的低层次的数据流图。高层次的数据流图是相对应的低层次图的抽象表示,而低层次的数据流图表现了它相应的有关数据处理的细节。
38
数据流图的层次关系图 S 1 3 2 1.2 1.1 1.3 2.1 2.4 2.2 2.3 3.1 3.2 3.3 F 顶层 中间层 底层
39
GIS数据流图绘制流程 返回 找出外部实体,由它们确定系统与外界的接口 找出GIS的数据源点和汇点 找出GIS外部实体的输入数据与输入数据流
从各加工出发画出所需的子图 检查和修改数据流图 从GIS外部实体的输出数据流出发,画出逻辑加工,直到找到输入数据流,形成封闭数据流 画出GIS的外部实体 找出GIS外部实体的输入数据与输入数据流 返回
40
数据字典的概念 数据字典(Data Dictionary ,简称DD)是关于数据信息的集合。它是数据流图中所有要素严格定义的场所,这些要素包括数据流、数据流的组成、文件、加工小说明及其它应进入字典的一切数据,其中,每个要素对应数据字典中的一个条目。
41
数据字典的用途 数据字典最重要的用途是作为分析阶段的工具。在数据字典中建立严格一致的定义有助于增进分析员和用户之间的交流,从而避免许多误解的发生。数据字典也有助于增进不同开发人员或不同开发小组之间的交流。同样,将数据流图和对数据流图中的每个要素的精确定义放在一起,就构成了系统的、完整的系统规格说明。数据字典和数据流图一起构成信息系统的逻辑模型。没有数据字典,数据流图就不严格;没有数据流图,数据字典也没有作用。
42
实现数据字典的方法 实现数据字典的常见方法有三种:全人工过程、全自动过程和混合过程。全自动过程一般依赖数据字典处理软件。混合过程是指利用已有的使用程序(如正文编辑程序、报告生成程序等)来辅助人工过程。
43
GIS数据字典 GIS数据字典的任务是对GIS数据流图中出现的所有被命名的图形要素在数据字典中作为一个词条加以定义,使得每一个图形要素的名字都有一个确切的解释 GIS数据字典中所有的定义必须是严密的、精确的,不可有半点含糊,不可有二义性 GIS数据字典的主要内容包括数据流图中每个图形要素的名字、别名或编号、分类、描述、定义、位置等
44
GIS数据字典中词条的定义及其内容 描述 词条内容 注释 数据流 是GIS数据结构在系统内传播的途径
数据流名;说明;数据流来源;数据流去向;数据流组成;每个数据流的流通量 “说明”用来简要介绍数据流产生的原因和结果;“数据流组成”是介绍数据结构 数据要素 构成数据流图的数据结构,是数据处理的最小单位 数据要素名;类型;长度;取值范围;相关的数据要素及数据结构 “类型”可以分为数字(离散值,连续值),文字(编码类型)等 数据文件 保存数据结构 数据文件名;简述;输入数据;输出数据;数据文件组成;存储方式;存取频率 “简述”介绍文件中存放的是什么数据;“存储方式”包括顺序、随机、索引等几种 加工逻辑 加工比较复杂,到后来就是一段程序 加工名;加工编号;简要描述;输入数据流;输出数据流; “加工编号”反映该加工的层次;“简要描述”是对加工逻辑及功能简述;“加工逻辑”介绍加工程序和加工顺序
45
GIS数据字典的作用 通过建立GIS数据字典,在GIS分析过程中,就可以通过名字方便地查阅数据的定义;也可以按各种要求,列出各种表格供分析员使用;还可按描述内容或定义来查询数据的名字;甚至可以通过检查各个加工的逻辑功能,实现和检查数据与程序之间的一致性和完整性。从以后的设计、实现到维护阶段,都需要参考数据字典进行设计、修改和查询。 返回
46
为什么需要加工逻辑说明 在分层的GIS数据流图中,子图及数据流、文件等都说明了父图的加工,实际上就是给出了定义。但最底层的数据流图中的加工不能通过子图做进一步的描述,所以必须有一个加工小说明来定义底层数据流图中的加工。
47
加工逻辑说明的概念 加工逻辑说明应精确地描述一个加工做什么,包括加工的激发条件、加工逻辑、优先级别、执行频率、出错处理等细节,其中最基本的部分是加工逻辑。加工逻辑是指用户对这个加工的逻辑要求,即加工的输入数据流与输出数据流之间的逻辑关系。特别应注意,分析阶段的任务是理解和表达用户的要求,而不是具体考虑系统如何实现,所以对加工应说明做什么,而不是用程序设计语言来描述具体的加工过程,即加工逻辑说明的重点是描述加工实现的策略而不是加工实现的细节。
48
加工逻辑说明的表达方法 用于写加工逻辑说明的工具有结构化英语、判定表和判定树。 结构化英语
结构化英语是一种介于自然语言和形式化语言之间的半形式化语言,它使用有限的词汇和语句来描述加工逻辑。结构化英语的词汇表由英语命令动词、数据字典中定义的名字、有限的自定义词和控制结构关键词(如if_then_else、while_do、repeat_until、case_of)等组成。语言的正文用基本控制结构进行分割,加工中的操作用自然语言短语来表示。其基本控制结构有简单陈述句结构、判定结构和重复结构。
49
判定表 在某些数据处理问题中,数据流图的处理需要依赖多个逻辑条件的取值,这些取值的组合可能构成多种不同情况,相应需执行不同的操作。这类问题用结构化语言来叙述很不方便,最适合使用判定表作为表示加工小说明的工具。判定表为说明复杂的决策逻辑提供了一种形式化的以表格为基础的表示方法,它能够自动地实现对诸如完整性和无歧义性等特点的检测。
50
判定表包括四个要素:基本条件、基本操作、条件项、操作项。
基本条件列出了各种可能的条件。除去某些特殊问题以外,通常判定表对各条件的先后次序不予要求 基本操作列出了可能采取的操作。这些操作的排列顺序没有限制,但为便于阅读也可令其按适当的顺序排列 条件项给出各个条件的取值组合 操作项是和条件项紧密相关的,它指出了在条件项的各种取值的组合的情况下应采取什么操作。这里将任一条件取值组合及其相应要执行的操作称为规则,它在判定表中是贯穿条件项和操作项的一列。显然,判定表中列出了多少个条件取值的组合,也就有多少条规则,即条件项与操作项有多少列
51
判定表举例 规则号 1 2 3 4 条件 发货单金额 >$500 ≤$500 赊欠情况 >60天 ≤60天 操作 不发出批准书 √
发出发货单 发出赊欠报告
52
判定树 判定树是判定表的变形,本质完全一样,所有用判定表能表达的问题都能用判定树来表达。事实上,判定树比判定表更加直观,用判定树来描述具有多个条件的数据处理,更容易被用户接受。判定树的分枝表示各种不同的条件,随着分枝层次结构的扩充,各条件完成自身的取值,判定树的叶子给出应完成的操作,如图4.4所示为某企业核发批准书、发货单流程的判定树。
53
欠款>60天---- 发出批准书、发货单及赊欠报告
判定树举例 检查发货单 金额>$500 金额≤$500 欠款>60天----不发出批准书 欠款≤60天----发出批准书、发货单 欠款>60天---- 发出批准书、发货单及赊欠报告 返回
54
四、软件需求规格说明 GIS的软件需求规格说明是在GIS结构化分析的基础上建立的自顶向下的任务分析模型。规格说明描述了系统的需求,是联系GIS需求分析与GIS设计的重要桥梁。同时,GIS软件需求规格说明书作为系统分析阶段的技术文档,是提交审议的一份必要的工作文件。需求规格说明书一旦审议通过,则成为有约束力的指导性文件,成为用户与技术人员之间的技术合同,成为下一阶段GIS设计的依据。
55
GIS软件需求规格说明的主要内容 引言 1.1 编写目的(阐明编写需求说明的目的,指明用户对象)
1.2 GIS项目背景(应包括:a.GIS项目的委托单位、开发单位和主管部门;b.该GIS软件系统与其它系统的关系) 1.3 定义(列出文档中所用到的专门术语的定义和缩写词的原文) 1.4 参考资料(可包括:a.项目经核准的计划任务书、合同或上级机关的批文;b.项目开发计划;c.文档所引用的资料、标准和规范。列出这些资料的作者、标题、编号、发表日期、出版单位或资料来源) 2.GIS项目概述 2.1 GIS项目目标、内容、现行系统的调查情况 2.2 GIS运行环境 2.3 条件与限制
56
3.GIS数据描述 3.1 GIS静态数据 3.2 GIS动态数据(包括输入数据和输出数据) 3.3 GIS数据流图 3.4 GIS数据库描述(给出所使用数据库的名称和类型) 3.5 GIS数据字典 3.6 GIS加工逻辑小说明 3.7 数据采集 4.GIS功能需求 4.1 功能划分 4.2 功能描述 5.GIS性能需求 5.1 数据精确度 5.2 时间特性(如响应时间、更新处理时间、 数据转换与传输时间、运行时间等) 5.3 适应性(在操作方式、运行环境、与其它软件的接口以及 开发计划等发生变化时,应具有的适应能力)
57
(如可使用性、安全保密、可维护性、可移植性等)
6.GIS运行需求 6.1 用户界面(如屏幕格式、报表格式、 菜单格式、输入输出时间等) 6.2 硬件接口 6.3 软件接口 6.4 故障处理 7.质量保证 8.其它需求 (如可使用性、安全保密、可维护性、可移植性等) 返回
Similar presentations