一)总体设计的任务和方法.PPT

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 第五章 GIS系统设计  《地理信息系统设计》教程 在系统定义阶段确定系统建设的目标和任务之后,需要进行系统的总体设计。GIS总体设计阶段的主要任务是将系统需求转换为数据结构和软件体系结构,即数据设计和体系结构设计。数据设计就是把分析阶段所建立的信息域模型变换成软件实现中所需的数据结构。体系结构设计则是把系统的功能需求分配给软件结构,形成软件的模块结构图,并设计模块之间的接口关系。在总体设计阶段,各模块还处于黑盒子状态,模块通过外部特征标识符(如名字)进行输入和输出。使用黑盒子的概念,设计人员可以站在较高的层次上进行思考,从而避免过早地陷入具体的条件逻辑、算法和过程步骤等实现细节,以便更好地确定模块和模块间的结构。 教学提纲 一、总体设计的任务、方法和准则 二、系统总体设计工具 退出 一、总体设计的任务、方法和准则 (一) 总体设计的任务和方法 (二) 总体设计的准则 返回 总体设计的任务是要求系统设计人员遵循统一的准则和采用标准的工具来确定系统应包含哪些模块、用什么方法联结在一起,以构成一个最优的系统结构。 总体设计一般采用结构化设计方法进行实现。结构化设计强调软件总体结构的设计,是一种自顶向下、逐步求精和分阶段实现的设计策略。 总体设计的任务和方法 结构化设计的基本特点 由问题结构导出系统结构,即问题结构到系统结构的映射。问 题结构主要用数据流图(DFD)来描述系统的逻辑模型,而系 统结构是指用系统的模块结构图来描述软件结构 通过自顶向下分解和层次组织的方法来简化系统,产生模块结 构 运用一系列的图表工具。为使系统设计流程易于理解,结构化 设计使用了两种主要的图表工具:伪码和结构图。伪码描述的 是模块的处理逻辑,用来表达程序的设计思路;结构图用于描 述软件的总体结构,采用自顶向下、层次组织的方法 提供一系列的系统设计策略。结构化设计提供了两种设计 策略,它们分别是面向过程的数据流方法与面向数据结构 的Jackson方法和Warnier-Orr方法。 提供一组评价系统设计质量的准则。结构化设计方法提供 了一系列评估准则,如耦合、内聚、扇入和扇出、信息隐 蔽以及模块化等。 系统结构性差,缺乏灵活性和可维护性,并且可靠性和效率不高 系统具有较好灵活性和可维护性,系统整体性好,易于把握用户需求目标 性 能 没有明确的阶段划分 分为总体设计和详细设计 设计过程 采用系统流程图描述源程序的处理逻辑,强调的是系统实现 强调软件总体结构,其次才考虑软件模块的内部处理逻辑(程序结构) 设计重心 自底向上,统一组装 自顶向下,逐层分解 设计思想 系统流程图 数据流图,模块结构图,图表工具 设计工具 一般设计方法 结构化设计方法 结构化设计方法与一般设计方法的比较 设计方法和策略问题——如何构造(导出)软件的总 体结构 软件评估准则问题——什么样的软件结构是“最优” 的 软件设计工具问题——如何表述软件的结构 采用结构化设计方法需解决的问题 在结构化设计过程中,模块是一个重要的概念。模块指的是具有输入和输出、逻辑功能、运行程序、内部数据四种属性的一组程序语句。其中,输入、输出和逻辑功能是其外部属性,反映功能,是可见的;运行程序、内部数据是其内部属性,反映具体实现途径,是不可见的。除了上述四个主要属性外,模块还有其它的属性。例如,它有一个名称,可以使用别的模块,也可以被别的模块使用,即“调用”和“被调用”。在结构化系统总体设计中,主要关心的是模块的外部属性,即它的功能,而不是它的内部属性,即如何去实现。 结构化设计中的模块 返回 总体设计的准则 采用结构化设计方法进行系统总体设计的最大优势是它提供了一种便于衡量软件设计质量的广泛的评价准则。这些评价软件设计质量的主要准则包括: 模块化 抽象和信息隐蔽 模块独立性 软件可以简单地理解为模块的集成。目前,几乎所有的软件体系结构都体现为模块化。模块化是软件设计的一个基本准则,它使得一个程序易于为人们所理解、设计、测试和维护。高层模块可使我们从整体上把握问题,隐蔽细节以免分散我们的注意力,在需要时,又可以深入到较低的层次以了解进一步的细节。模块化往往将较复杂的问题转化为一些简单问题的集合,使我们可以将工作量分散到各个工作组以集中力量解决各个问题。 模块化 每一个模块表示一个自我包含的逻辑任务; 每个模块都是简单的; 每个模块都是封闭的; 每个模块都是可以独立测试的; 每个模块对应单一、独立的程序功能; 每个模块有单一的入口和出口; 每个模块都由一个标准返回点返回上层模块开始执行该模块的那 一点; 可以把多个模块组合成较大的模块,而不必了解模块内部构造的 知识; 每个模块都有严

文档评论(0)

2105194781 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档