GIS软件需求分析实践.ppt
GIS软件需求分析实践,2006年11月13日,GIS结构化需求分析方法,GIS结构化分析常用的分析工具主要有数据流模型(数据流图)、数据字典以及对数据流进行描述的加工逻辑说明。GIS数据流图是GIS结构化分析的核心部分,它通过一套分层次(由综合到具体)的GIS数据流图,辅以GIS数据字典、小说明工具来描述GIS系统。,1 GIS数据流模型,GIS数据流模型是GIS软件系统逻辑模型的一种图形表示,它描述了GIS数据流动、存储、处理等逻辑关系,一般采用数据流图(Data Flow Diagram,简称DFD)来表示。,GIS数据流图的基本成分,分层的GIS数据流图(一),对于大型的GIS软件系统,如果只用一张数据流图表示所有的数据流、处理和数据存储,那么这张图将十分复杂、庞大,而且难于理解。层次结构的数据流图可以很好地解决这个问题。分层的数据流图起到了对信息进行抽象和隐秘的作用。由于高层次的数据流图不体现低层次的数据流图的细节,因此可暂时掩盖低层次数据处理的功能和它们之间的关系。,分层的GIS数据流图(二),我们按分层的思想将GIS数据流图划分为顶层DFD、中间层DFD、底层DFD三种。顶层数据流图的结构简单,它描述了整个GIS系统的作用范围,对GIS系统的总体功能、输入和输出进行了抽象,反映了GIS系统和环境的关系。中间层数据流图是通过分解高层数据流和数据加工得到的。层次较高的数据流图经过进一步分解得到层次较低的数据流图,一张中间层数据流图具有几个可分解的加工,就存在几张对应的低层次的数据流图。高层次的数据流图是相对应的低层次图的抽象表示,而低层次的数据流图表现了它相应的有关数据处理的细节。,数据流图的层次关系图,“先全局后局部,先整体后细节,先抽象后具体”通常可将这种分层的DFD图,分为顶层、中间层、底层。具体步骤:1。先确定系统范围,画出顶层的DFD图。2。逐层分解顶层DFD图,获得若干中间层DFD图。3。画出底层的DFD图。,顶层图说明了系统的边界,即系统的输入和输出数据流,顶层图只有一张。底层图由一些不能再分解的加工组成,这些加工都已足够简单,称为基本加工。在顶层和底层之间的是中间层。中间层的数据流图描述了某个加工的分解,而它的组成部分又要进一步分解。画各层DFD图时,“由外向内”。,画分层DFD图的方法,GIS数据流图绘制流程,顾客,出版社,验证订单,汇总订单,订单,出版社 订单,图书目录文件,正确订单,一批订单,出版社档案文件,画图步骤:1、确定外部实体及输入、输出数据流。2、确定分解顶层的加工。3、确定使用的文件。4、用数据流将各部分连接起来,形成数据封闭。,注意:标注各加工框及数据流名称。,例1:图书预定系统(顶层DFD),系统功能要求:1、监视病员的病症(血压、体温、脉搏等)2、定时更新病历 3、病员出现异常情况时报警。4、随机地产生某一病员的病情报告。,顶层:,例2 医院病房监护系统,第一层:,医院病房监护系统顶层DFD图,第二层:加工“中央监视”分解,医院病房监护系统二层DFD图,医院病房监护系统分层DFD图,图 2.15,图 2.16,2 数据字典,数据字典(Data Dictionary,简称DD)是关于数据信息的集合。它是数据流图中所有要素严格定义的场所,这些要素包括数据流、数据流的组成、文件、加工小说明及其它应进入字典的一切数据,其中,每个要素对应数据字典中的一个条目。,数据字典的用途,数据字典最重要的用途是作为分析阶段的工具。在数据字典中建立严格一致的定义有助于增进分析员和用户之间的交流,从而避免许多误解的发生。数据字典也有助于增进不同开发人员或不同开发小组之间的交流。同样,将数据流图和对数据流图中的每个要素的精确定义放在一起,就构成了系统的、完整的系统规格说明。数据字典和数据流图一起构成信息系统的逻辑模型。没有数据字典,数据流图就不严格;没有数据流图,数据字典也没有作用。,实现数据字典的方法,实现数据字典的常见方法有三种:全人工过程、全自动过程和混合过程。全自动过程一般依赖数据字典处理软件。混合过程是指利用已有的使用程序(如正文编辑程序、报告生成程序等)来辅助人工过程。,GIS数据字典的任务是对GIS数据流图中出现的所有被命名的图形要素在数据字典中作为一个词条加以定义,使得每一个图形要素的名字都有一个确切的解释GIS数据字典中所有的定义必须是严密的、精确的,不可有半点含糊,不可有二义性GIS数据字典的主要内容包括数据流图中每个图形要素的名字、别名或编号、分类、描述、定义、位置等,GIS数据字典,GIS数据字典的作用,通过建立GIS数据字典,在GIS分析过程中,就可以通过名字方便地查阅数据的定义;也可以按各种要求,列出各种表格供分析员使用;还可按描述内容或定义来查询数据的名字;甚至可以通过检查各个加工的逻辑功能,实现和检查数据与程序之间的一致性和完整性。从以后的设计、实现到维护阶段,都需要参考数据字典进行设计、修改和查询。,数据字典组成,数据字典:各类数据描述的集合,是对数据流图中出现的所有名字(数据流、处理、数据存储)进行定义。数据流:是数据结构在系统内传输的路径。数据流描述数据流名,说明,数据流来源,数据流去向,组成:数据结构,平均流量,高峰期流量数据项:是不可再分的数据单位。对数据项的描述数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系数据存储:是数据结构的停留或保存处,也是数据流的来源和去向之一。数据存储描述数据存储名,说明,编号,流入的数据流,流出的数据流,组成:数据结构,数据量,存取方式处理过程:描述处理过程的说明性信息。处理过程描述处理过程名,说明,输入:数据流,输出:数据流,处理:简要说明,数据字典描述元素之间的关系,可采用下面的符号=表示等价于(或定义为);表示与;|表示或(从方扩号内由“|”号隔开的分量中选择一个);表示重复;()表示选择;,示例,例:学生学籍管理子系统的数据字典。数据流以体检结果为例数据流:体检结果说明:学生参加体格检查的最终结果数据流来源:体检数据流去向:批准组成:学号姓名专业性别年龄血型体重身高数据项(数据流的条目)以学号为例:数据项:学号含义说明:唯一标识每个学生别名:学生编号类型:字符型长度:8取值范围:00000000至99999999取值含义:前两位标别该学生所在年级,后六位按顺序编号,示例,数据存储以学生登记表为例数据存储:学生登记表说明:记录学生的基本情况流入数据流:流出数据流:组成:学号姓名年龄性别数据量:每年3000张 存取方式:随机存取 处理过程以分配宿舍为例处理过程:分配宿舍说明:为所有新生分配学生宿舍输入:学生,宿舍,输出:宿舍安排过程描述:在新生报到后,为所有新生分配学生宿舍。要求同一间宿舍只能安排同一性别的学生,同一个学生只能安排在一个宿舍中。安排新生宿舍其处理时间应不超过15分钟。,3 加工逻辑说明,在分层的GIS数据流图中,子图及数据流、文件等都说明了父图的加工,实际上就是给出了定义。但最底层的数据流图中的加工不能通过子图做进一步的描述,所以必须有一个加工小说明来定义底层数据流图中的加工。小说明中应精确地描述加工的激发条件、加工逻辑、优先级、执行频率和出错处理等。加工逻辑是其中最基本的部分,是指用户对这个加工的逻辑要求。对基本加工说明有三种描述方式:,为什么需要加工逻辑说明,在分层的GIS数据流图中,子图及数据流、文件等都说明了父图的加工,实际上就是给出了定义。但最底层的数据流图中的加工不能通过子图做进一步的描述,所以必须有一个加工小说明来定义底层数据流图中的加工。,加工逻辑说明的概念,加工逻辑说明应精确地描述一个加工做什么,包括加工的激发条件、加工逻辑、优先级别、执行频率、出错处理等细节,其中最基本的部分是加工逻辑。加工逻辑是指用户对这个加工的逻辑要求,即加工的输入数据流与输出数据流之间的逻辑关系。特别应注意,分析阶段的任务是理解和表达用户的要求,而不是具体考虑系统如何实现,所以对加工应说明做什么,而不是用程序设计语言来描述具体的加工过程,即加工逻辑说明的重点是描述加工实现的策略而不是加工实现的细节。,结构化语言判定表判定树,加工逻辑说明的表达方法,结构化语言,结构化语言是一种介于自然语言和形式化语言之间的半形式化语言,它使用有限的词汇和语句来描述加工逻辑。结构化英语的词汇表由英语命令动词、数据字典中定义的名字、有限的自定义词和控制结构关键词(如if_then_else、while_do、repeat_until、case_of)等组成。语言的正文用基本控制结构进行分割,加工中的操作用自然语言短语来表示。其基本控制结构有简单陈述句结构、判定结构和重复结构。,在某些数据处理问题中,数据流图的处理需要依赖多个逻辑条件的取值,这些取值的组合可能构成多种不同情况,相应需执行不同的操作。这类问题用结构化语言来叙述很不方便,最适合使用判定表作为表示加工小说明的工具。判定表为说明复杂的决策逻辑提供了一种形式化的以表格为基础的表示方法,它能够自动地实现对诸如完整性和无歧义性等特点的检测。,判定表,判定表包括四个要素:基本条件、基本操作、条件项、操作项。基本条件列出了各种可能的条件。除去某些特殊问题以外,通常判定表对各条件的先后次序不予要求基本操作列出了可能采取的操作。这些操作的排列顺序没有限制,但为便于阅读也可令其按适当的顺序排列条件项给出各个条件的取值组合操作项是和条件项紧密相关的,它指出了在条件项的各种取值的组合的情况下应采取什么操作。这里将任一条件取值组合及其相应要执行的操作称为规则,它在判定表中是贯穿条件项和操作项的一列。显然,判定表中列出了多少个条件取值的组合,也就有多少条规则,即条件项与操作项有多少列,判定表举例,判定树是判定表的变形,本质完全一样,所有用判定表能表达的问题都能用判定树来表达。事实上,判定树比判定表更加直观,用判定树来描述具有多个条件的数据处理,更容易被用户接受。判定树的分枝表示各种不同的条件,随着分枝层次结构的扩充,各条件完成自身的取值,判定树的叶子给出应完成的操作,如图4.4所示为某企业核发批准书、发货单流程的判定树。,判定树,判定树举例,4 软件需求规格说明,GIS的软件需求规格说明是在GIS结构化分析的基础上建立的自顶向下的任务分析模型。规格说明描述了系统的需求,是联系GIS需求分析与GIS设计的重要桥梁。同时,GIS软件需求规格说明书作为系统分析阶段的技术文档,是提交审议的一份必要的工作文件。需求规格说明书一旦审议通过,则成为有约束力的指导性文件,成为用户与技术人员之间的技术合同,成为下一阶段GIS设计的依据。,GIS软件需求规格说明的主要内容,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 适应性(在操作方式、运行环境、与其它软件的接口以及 开发计划等发生变化时,应具有的适应能力),6.GIS运行需求 6.1 用户界面(如屏幕格式、报表格式、菜单格式、输入输出时间等)6.2 硬件接口 6.3 软件接口 6.4 故障处理7质量保证8其它需求(如可使用性、安全保密、可维护性、可移植性等),