13第六章 系统详细设计

上传人:仙*** 文档编号:47967302 上传时间:2021-12-28 格式:PPT 页数:39 大小:205.50KB
返回 下载 相关 举报
13第六章 系统详细设计_第1页
第1页 / 共39页
13第六章 系统详细设计_第2页
第2页 / 共39页
13第六章 系统详细设计_第3页
第3页 / 共39页
点击查看更多>>
资源描述
地理信息系统设计教程系统总体设计阶段已经确定了软件的模块结构和接口描述,划分出不同的GIS目标子系统,即各个功能模块,并编写了总体设计文档,但此时每个模块仍处于黑盒子级,需要进行更进一步的设计。详细设计阶段的根本目标是确定怎样具体地实现所定义的系统,也就是为各个在总体设计阶段处于黑盒子级的模块设计具体的实现方案。教学提纲一、详细设计的基本原则 二、详细设计的内容和具体任务三、详细设计的表达工具四、数据结构和数据库详细设计五、详细设计规格说明书退出退出一、详细设计的基本原则 结构化程序设计(Structured programming)是进行以模块功能和处理过程设计为主的详细设计的基本原则。结构化程序设计概念最早由Dijkstra于1965年提出,是软件发展的一个重要里程碑,它的概念、方法和其支持的软件工具组成了所谓的“结构化革命”。结构化程序设计技术采用自顶向下、逐步求精的设计方法和单入口/单出口的控制结构,并且只包含顺序、选择和循环三种结构。结构化程序设计的目标之一是使程序的控制流程线性化,即程序的动态执行顺序符合静态书写结构,这就增强了程序的可读性,不仅容易理解、调试、测试和排错,而且给程序的形式化证明带来了方便。结构化程序设计原则具体表现在以下方面:尽量少用或不用GoTo语句。采用自顶向下逐步求精的设计方法。采用顺序、选择、循环三种基本结构组成程序的控制结构。尽量使用单入口/单出口的控制结构,减少传递参量(数)的 个数。提高模块的内聚度,降低模块间的关联度。返回返回二、详细设计的内容和具体任务系统详细设计的主要内容是在具体进行程序编码之前,根据总体设计提供的文档,细化总体设计中已划分出的每个功能模块,为之选一具体的算法,并清晰、准确的描述出来,从而在具体编码阶段可以把这些描述直接翻译成用某种程序设计语言书写的程序。其设计成果可用程序流程图描述,也可用伪码描述,还可用形式化软件设计语言描述。详细设计的结果基本上决定了最终程序代码的质量。详细设计以总体设计阶段的工作为基础,但又不同于总体设计阶段,这主要表现为以下两个方面:在总体设计阶段,数据项和数据结构以比较抽象的方式描述,例如,总体设计阶段可以声明矩阵在概念上可以表示一幅遥感图像,详细设计就要确定用什么数据结构来表示这样的数字矩阵。详细设计要提供关于算法的更多细节,例如,总体设计可以声明一个模块的作用是对一个表进行排序,详细设计则要确定使用哪种排序算法。总之,在详细设计阶段为每个模块增加足够的细节,使得程序员能够以相当直接的方式对每个模块编码。 详细的算法 数据表示和数据结构 实现的功能和使用的数据之间的关系详细设计的模块内容详细设计的具体任务细化总体设计的体系流程图,绘出程序结构图,直到 每个模块的编写难度可被单个程序员所掌握为止。为每个功能模块选定算法。确定模块使用的数据组织。确定模块的接口细节,及模块间的调度关系。描述每个模块的流程逻辑。编写详细设计文档。主要包括细化的系统结构图及逐个 模块的描述,如功能、接口、数据组织、控制逻辑等。返回返回三、详细设计的表达工具 系统详细设计的任务是给出软件模块结构中各个模块的内部过程描述,也就是模块内部的算法设计。根据软件工程的思想,在GIS软件设计过程中,尤其是大型GIS软件的开发,系统设计和系统实现是两个阶段的任务,通常由不同的人员来进行。因此,需要采用一种标准的、通用的设计表达工具来实现两阶段的沟通,使设计人员设计的系统,实现人员通过分析设计的文本和资料得到无歧义的理解,即详细设计表达工具的选择可以促进系统设计成果的表达和实现。详细设计的表达工具可分为图形、表格和语言三种。无论是哪种工具,对它们的基本要求都是能提供对设计的无歧义的描述,即能指明控制流程、处理功能、数据组织以及其它方面的实现细节。从而方便在编码阶段把设计描述直接翻译成程序代码。三、详细设计的表达工具 (一) 程序流程图(二) N-S盒式图(三) 问题分析图(四) 类程序设计语言返回返回程序流程图程序流程图(Program Flow Chart,简称PFC)又称为程序框图,它是应用最广泛的描述过程的方法,具有简单、直观、易于掌握的优点,特别适用于具体模块小程序的设计。下图所示为程序流程图常用符号,图中方框表示处理步骤,菱形框表示逻辑判断,箭头表示控制流。 (1) (2) (3) (4) (5) (6)程序流程图常用符号可执行单元then部分的可执行单元else部分的可执行单元可执行单元else部分,选择构造then部分,repeat-until循环构造FT判断语句判断语句判断语句FT可执行单元FT在程序流程图中,结构化单元可以嵌套,例如一个if-then-else构造单元的then部分是一个repeat-until构造单元,而else部分是一个选择构造。而这个外层的选择构造单元又是顺序构造中的第二个可执行单元。下图所示为结构化单元嵌套示意图,以此嵌套结构可以导出复杂的程序结构。程序流程图的缺陷程序流程图本质上不是逐步求精的好工具,它使程序员过 早地考虑程序的控制流程,而不去考虑程序的全局结构;程序流程图中用箭头代表控制流,因此程序员可以完全不 顾结构化程序设计的精神,随意转移控制;程序流程图不易表示数据结构。详细的程序流程图每个符号对应于源程序的一行代码,对 于提高大型系统的可理解性作用甚微。返回返回N-S盒式图N-S(Nassi-Shneiderman)盒式图是另一种用于详细设计表达的结构化图形设计工具。最初由Nassi和Shnei derman开发,后经Chapin扩充改进,所以又叫N-S图或Chapin图。同PFC相比,N-S图具有功能域表达明确,容易确定数据作用域的优点。作为详细设计的工具,N-S图易于培养软件设计的程序员结构化分析问题与解决问题的习惯,它以结构化方式严格地实现从一个处理到另一个处理的控制转移。每一个N-S图开始于一个大的矩形,表示它所描述的模块,该矩形的内部被分成不同的部分,分别表示不同的子处理过程,这些子处理过程又可进一步分解成更小的部分。其基本结构见图。 第一项任务下一项任务再下一项任务 F 条件 T Else Then 部分 部分循环条件 do-while部分repeat -until 部分循环条件 case条件值 值 . .case case . .部分 部分 . . N-S盒式图基本结构 N-S盒式图的特征是一种清晰的图形表达式,能定义功能域(重复或if- then-else的工作域)控制不能任意转移易于确定局部或全局的数据工作域易于表示递归返回返回问题分析图问题分析图(Problem Analysis Diagram,简称PAD)是由日本日立制作所研究开发的,综合了流程图、盒式图和伪码等技术的一些特点,在Pascal 语言基础上发展而成的系统详细设计工具。基于Pascal的控制结构,用二维树状图的形式描述程序的逻辑,下图反映了问题分析图的基本原理。问题分析图的主要优点是结构清晰,能直接导出程序代码,并可对其进行一致性检查。问题分析图可用于Basic、Fortran、Pascal、C等编程语言,它不仅支持软件的详细设计,还支持软件的需求分析和总体设计,也是当前广泛使用的一种软件设计方法。头脑中粗略模糊问题解的概念(1)顺序过程的细化(2)循环过程的细化(3)选择过程的细化H1HnH1Hn循环条件HmH1HnHmHm+1Hm+2循环条件问题分析图方法的基本原理问题分析图采用自顶而下、逐步细化的结构化设计的原则,力求将模糊的问题解的概念逐步转换为确定的和详细的过程。下图中列出了问题分析图的基本符号,有了问题分析图的基本符号和基本图式,根据系统的要求可写出系统的问题分析图。由问题分析图转换出相应的源程序,必须按照以下步骤进行:根据问题解画出问题分析图; 把问题分析图看做横向生长的树,沿着树前进,写出源程序。 符号 名称说明输入框 框内写出输入变量名输出框 框内写出输出变量名处理框 框内写出处理名或语句名子程序框 子程序处理框,框内写出子程序名重复框 先判定,再重复,框内写出重复条件重复框 先执行,然后判定,再重复,框内写出重复条件定义框 框内写定义名选择框 可一路、二路、三路或多路选择,框内写条件语句标号 圆内写出语句标号定义 用于PAD图的增加或分解返回返回类程序设计语言类程序设计语言(Program Design Language,简称PDL)又称为伪码,这是一个笼统的名称,现有多种不同的PDL在使用。PDL是一种混杂语言,它使用一种结构化程序设计语言(如Pascal、C)的语法控制框架,而在内部却可灵活使用一种自然语言(例如英语)来表示数据结构和处理过程。PDL虽然不具有图形工具描述的直观清晰,但用来表示算法灵活自由,且便于翻译成高级语言程序,是介于自然语言与程序设计语言之间的一种伪码。PDL是用正文形式表示数据和处理过程的设计工具,一方面具有严格的关键字外部语法,用于定义控制结构和数据结构;另一方面,又具有灵活自由的内部语法,以适应各种工程项目的需要。PDL与实际的高级程序设计语言的区别在于:PDL的语句中嵌有自然语言的叙述,是不能被计算机识别和编译的。PDL的特点 关键字的固定语法,提供所有结构化构造、数据说明以及模块化的手段。 自然语言的自由语法,用于描述处理过程和判定条件。 数据说明的手段,既包括简单的数据结构(例如变量和 数组),又包括复杂的数据结构(例如链表)。 模块定义和调用的技术,提供各种接口描述模式。返回返回四、数据结构和数据库详细设计建立一个良好的数据组织结构和数据库,使整个系统都可以迅速、方便、准确地调用和管理所需的数据,是系统开发的必然要求。通常,GIS数据库建设分为关系型数据库和空间数据库建设两部分内容,其中,空间数据库在某些情况下也可以用关系型数据库进行管理。在第八章将对空间数据库的建设进行详细介绍,此处主要介绍如何用关系型数据库技术来建立非地理数据的数据库。(一) 数据结构规范化(二) 关系数据库建库四、数据结构和数据库详细设计返回返回数据结构规范化在系统定义阶段对系统的数据流、数据类型等进行了分析和定义,并用数据流图、数据字典等手段对其进行了描述,但是要用关系型数据库来对这些数据进行管理,还必须将它们转换成关系型数据库支持的数据结构,即对这些数据进行规范化的重新组织。关于数据组织的规范化形式是关系型数据库的创始人之一IBM公司的科德(EFCodd)首先提出的。早在1971年科德就提出了规范化理论(normalization theory),并在随后一系列的论文中逐步形成一整套数据规范化模式。这些模式已经成为建立关系数据库的基本范式。第一范式第一范式(first normal form,简称1st NF)要求同一张表中没有重复项出现,如果有则应将重复项删除。这个删除重复项的过程就称为规范化处理。第二范式第二范式(sencond normal form,简称2nd NF)要求每个表必须有一个(而且仅一个)数据元素为主关键词(primary key),其它数据元素与主关键词一一对应。主关键词在表中必须具有唯一性,作为主关键词的数据项中不能出现重复的记录。如表所示,其中预审项目表中的项目编号是主关键词,那么该表中不能出现相同的项目编号。设置关键词大大方便了表的维护和查询检索。预审项目表(基表)审查项目表(基表)农用地转用方案(基表)补充耕地方案(基表)征地方案(基表)项目编号(主关键字)项目编号(主关键字)项目编号(主关键字)项目编号(主关键字)征地编号(主关键字)项目名称项目名称项目名称补充耕地责任单位被征用土地权属单位项目承担单位农用地面积拟使用年度计划指标补充耕地承担单位权属状况申报时间耕地面积拟使用结转计划指标已补充耕地面积征地补偿费用标准土地利用规划实施管理数据库表的关键词设置 第三范式 第三范式(third normal form,简称3rd NF)是指表格中的所有数据元素不但要能够唯一地被主关键词所标识,而且他们之间还必须相互独立,不存在其它的函数关系。也就是说对于一个满足2nd NF的关系表来说,表中有可能存在某些数据元素的函数还依赖于其它非关键词数据元素的现象。项目编号(主关键字)项目名称项目承担单位申报时间函数依赖关系a项目名称项目面积其中农用地面积耕地面积函数依赖关系b项目编号(主关键字)项目面积其中农用地面积耕地面积传递依赖关系c在图 b中,项目面积、其中农用地面积、耕地面积等数据项函数依赖于项目名称,而图a显示项目名称函数依赖于项目编号,故项目面积、其中农用地面积、耕地面积等数据项能通过项目编号唯一地被标识(见图c)。这种在同一张表中A函数依赖于B,而B函数依赖于C的现象被称之为“传递依赖”(transitive dependence)。3rd NF为了确保关系数据库能够唯一并准确运行,要求必须在数据结构中消除这种传递依赖的现象。 消除这种传递依赖的方法有两种:一是设法取消A对于B的函数依赖关系,使A函数直接依赖于C(主关键词),如图a所示。另一种方法是建立一独立的表,如图b所示。 项目编号(主关键字)项目名称项目承担单位申报时间项目面积其中农用地面积耕地面积函数依赖关系 图a 直接取消传递依赖关系示意图函数依赖关系项目编号(主关键字)项目名称项目承担单位申报时间项目编号(主关键字)项目面积其中农用地面积耕地面积函数依赖关系 图b 增加关系表来取消传递依赖关系示意图返回返回关系数据库建库在按照关系型数据库数据规范进行数据基本结构的规范化重组后,要进行关系型数据库的建库工作,还必须根据具体的商业关系型数据库管理信息系统的数据格式要求进行数据库的建库工作,也就是在关系型数据模型的基础上将数据结构和数据库进行物理实现,包括三方面的工作: 建立基表; 确定基表之间的关联; 数据安全性管理。建立基表经过编码和表的规范化处理后,已经可以确定每个基表是规范的,结合所采用的商业关系型数据库管理信息系统的数据模型进行表的计算机实现。基表关联的建立目前,大多数商业关系型数据库管理信息系统都提供表的关联分析功能,根据系统定义阶段和规范化处理之后的的数据关系结构,在两个相关联的基表内可以通过特定的字段建立关联关系。如下图所示以项目编号在报批项目表和项目明细表之间建立了联系。报批编号(主关键词)报批面积报批时间项目编号报批项目表(基表)项目编号(主关键词)项目名称项目位置项目面积项目明细表(基表) 表关联示意图数据安全性管理一般商业关系型数据库管理信息系统都提供数据安全保密的一些功能。系统所提供的安全保密功能一般有8个等级(07级),4种不同方式(只读、只写、删除、修改),而且允许用户利用这8个等级的4种方式对每个表自由地进行定义。这对确保系统的正常运行是非常重要的。返回返回五、详细设计规格说明书 (一) 详细设计规格说明书内容体系(二) 模块开发卷宗中模块说明表 (三) 详细设计评审报告审议项目列表 返回返回1 引言 用图表列出本程序系统内每个模块(或子程序)的名称、标识符,以及这些模块(或子程序)之间的层次关系 描述此模块(子程序)要达到的主要技术性能 分别列出和本模块(子程序)有调用关系的所有模块(子程序)及其调用关系,说明与本模块(子程序)有关的数据结构详细设计规格说明书用来描述和表达详细设计的成果返回返回模块名:模块编号:设计者:模块所在文件:模块所在库:调用本模块的模块名:本模块调用的其它模块名:功能概述:处理描述:引用格式:返回值:名称意义数据类型数值范围I/O标志内部接口名称意义数据类型I/O标志格式媒体外部接口模块说明表是对规划说明书中简要介绍的模块进行详细的全面的描述,并设计出它们的实现算法。返回返回审议项目内容:详细说明书是否与总体设计说明书一致?模块设计质量:模块独立性、接口关系、规模是否适中?逻辑是否清晰简单?数据结构、输入与输出是否合理?是否按结构化程序设计原则进行设计?规定符号的使用、确定命名规则;模块测试用例合理性、完整性;文档齐全并符合有关标准规定。详细设计完成之后,需要对设计的成果进行评审,以保证设计的质量。返回返回
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!