资源预览内容
第1页 / 共37页
第2页 / 共37页
第3页 / 共37页
第4页 / 共37页
第5页 / 共37页
第6页 / 共37页
第7页 / 共37页
第8页 / 共37页
第9页 / 共37页
第10页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
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系统和环境的关系。中间层数 据流图是通过分解高层数据流和数据加工得到的。层次较高 的数据流图经过进一步分解得到层次较低的数据流图,一张 中间层数据流图具有几个可分解的加工,就存在几张对应的 低层次的数据流图。高层次的数据流图是相对应的低层次图 的抽象表示,而低层次的数据流图表现了它相应的有关数据 处理的细节。 S1321.21. 11.32.12.42.22.33.13.23.3FFFFFF顶层中间层底层数据流图的层次关系图 “先全局后局部,先整体后细节,先抽象后具体”通常可将这种分层的DFD图,分为顶层、中间层、底层。具体步骤:1。先确定系统范围,画出顶层的DFD图。2。逐层分解顶层DFD图,获得若干中间层DFD图。3。画出底层的DFD图。顶层图说明了系统的边界,即系统的输入和输出数据 流,顶层图只有一张。底层图由一些不能再分解的加工 组成,这些加工都已足够简单,称为基本加工。在顶层 和底层之间的是中间层。中间层的数据流图描述了某个 加工的分解,而它的组成部分又要进一步分解。画各层DFD图时,“由外向内”。画分层DFD图的方法GIS数据流图绘制流程 找出外部实体,由它们确 定系统与外界的接口找出GIS的数据源点和汇点从各加工出发画出所需的子图检查和修改数据流图从GIS外部实体的输出数据流出发,画出逻辑加工,直到找到输入数据流,形成封闭数据流画出GIS的外部实体找出GIS外部实体的输入数据与输入数据流顾客出版社验证订单汇总订单订单出版社订单图书目录文件待处理订单文件正确订单一批订单出版社档案文件订货存根文件画图步骤 : 1、确定外部实体及输入、输出数据流。2、确定分解顶层的加工。3、确定使用的文件。4、用数据流将各部分连接起来,形成数据封闭。注意:标注各加工框及数据流名称。例1:图书预定系统(顶层DFD)顾客档案系统功能要求:1、监视病员的病症(血压、体温、脉搏等)2、定时更新病历3、病员出现异常情况时报警。4、随机地产生某一病员的病情报告。顶层:病员护士护士病员监护系统病员日志病症信号要求报告病症报告报警例2 医院病房监护系统第一层:病员护士护士中央监视病员日志病症信号要求报告病症报告报警局部监视生成报告病员极限更新日志病员数据格式化 病员数据生理信号 极限值1324日志数据日志数据医院病房监护系统顶层DFD图第二层:加工“中央监视”分解计算超过 极限值否病员数据超过极限值报警开解信号产生 报警信息病员极限格式化 病员数据体温血压、体温 脉搏生理信号 极限值时间脉搏血压日期时钟格式化 病员数据3.13.23.33.4医院病房监护系统二层DFD图计算超过 极限值否病员数据超过极限值报警开解信号产生 报警信息病员极限格式化 病员数据体温血压、体温、脉搏生理信号 极限值时间脉搏血压日期时钟格式化 病员数据3.13.23.33.4第二层:加工“中央监视”分解医院病房监护系统分层医院病房监护系统分层DFDDFD图图图 2.15第一层格式化 病员数据生理信号 极限值病员护士护士中央监视病员日志病症信号要求报告病症报告报警局部监视生成报告病员极限更新日志病员 数据1324日志数据图 2.162 数据字典数据字典(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)等组成。语言的正文用基 本控制结构进行分割,加工中的操作用自然语言 短语来表示。其基本控制结构有简单陈述句结构 、判定结构和重复结构。在某些数据处理问题中,数据流图的处理需要依赖多个逻辑 条件的取值,这些取值的组合可能构成多种不同情况,相应 需执行不同的操作。这类问题用结构化语言来叙述很不方便 ,最适合使用判定表作为表示加工小说明的工具。判定表为 说明复杂的决策逻辑提供了一种形式化的以表格为基础的表 示方法,它能够自动地实现对诸如完整性和无歧义性等特点 的检测。判定表 判定表包括四个要素:基本条件、基本操作、条 件项、操作项。 基本条件列出了各种可能的条件。除去某些特殊问题 以外,通常判定表对各条件的先后次序不予要求 基本操作列出了可能采取的操作。这些操作的排列顺 序没有限制,但为便于阅读也可令其按适当的顺序排 列 条件项给出各个条件的取值组合 操作项是和条件项紧密相关的,它指出了在条件项的 各种取值的组合的情况下应采取什么操作。这
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号