网站大量收购独家精品文档,联系QQ:2885784924

第3章 概要设计-1.pptVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 概要设计-1

目 录 3.1 概要设计的任务 3.2 设计过程 3.3 设计原理 3.4 描绘软件结构图的图形工具 3.5 启发规则 3.6 面向数据流的设计方法 3.1 概要设计的任务 (一)概要设计的任务 (二)概要设计说明书的主要内容 3.1 概要设计基本任务 1.设计软件系统结构: 采用某种设计方法,将一个复杂的系统按功能划分成模块。 确定每个模块的功能。 确定模块之间的调用关系。 确定模块之间的接口,即模块之间传递的信息。 评价模块结构的质量. 2.数据结构设计: 采用“逐步细化”的方法,如采用数据字典描述逐步细化。设计有效的数据结构(如队列,线性表,链表等),大大简化软件模块处理过程的设计。 3.数据库的设计: 概念设计;逻辑设计;物理设计 3.编写概要设计文档: ①概要设计说明书。 ②数据库设计说明书:主要给出所使用的DBMS简介、数据库的概念模型、逻辑设计、结果。 ③用户手册:对需求分析阶段编写的用户手册进行补充。 ④修订测试计划,对测试策略、方法、步骤提出明确要求。 4.评审。 目 录 3.1 概要设计的任务 3.2 设计过程 3.3 设计原理 3.4 描绘软件结构图的图形工具 3.5 启发规则 3.6 面向数据流的设计方法 3.2 概要设计的过程 目 录 3.1 概要设计的任务 3.2 设计过程 3.3 设计原理 3.4 描绘软件结构图的图形工具 3.5 启发规则 3.6 面向数据流的设计方法 3.3 设计原理 (一) 模块化 (二) 抽象与逐步求精 (三) 信息隐蔽 (四) 模块独立性 (一) 模块化 3.模块定义 是指具有相对独立性的,由数据说明、执行语句等程序对象构成的集合。程序中的每个模块都需要单独命名,通过名字可实现对指定模块的访问。在高级语言中,模块具体表现为函数、子程序、过程等。一个模块具有输入/输出(接口)、功能、内部数据和程序代码四个特征。 4.模块化定义 是指将把软件系统划分为若干个模块的过程,每个模块完成一个特定的功能。划分模块对于解决大型复杂的问题是非常必要的,可以大大降低解决问题的难度。 降低软件复杂性的证明 模块数量的确定 (二)抽象 抽象是人类在解决复杂问题过程中使用的思维工具,即抽出事物本质的共同的特性而暂不考虑它的细节. 软件系统进行模块设计时,可有不同的抽象层次。 在最高的抽象层次上,可以使用问题所处环境的语言概括地描述问题的解法。 在较低的抽象层次上,则采用过程化的方法。 结构化程序中自顶向下、逐步求精的模块划分思想正是人类思维中运用抽象方法解决复杂问题的体现。此外,在程序设计中运用抽象的方法还能够提高代码的可重用性。 (三)、信息隐蔽 信息隐蔽:在设计和确定模块时,使得一个模块包含的信息对于不需要这些信息的其它模块来说是不能访问的. 也就是说,模块中所包含的信息(包括数据和过程)不允许其它不需要这些信息的模块使用。 信息隐蔽的目的主要是为了提高模块的独立性,减少将一个模块中的错误扩散到其他模块的机会。 (四) 模块独立性 定义 开发具有独立功能而且和其他模块之间没有过多的相 互作用的模块。 产生原因 模块化、抽象、信息隐藏和局部化概念的直接结果。 模块独立性的重要性 —有效的模块化(即具有独立的模块)的软件比较容易 开发. —独立的模块比较容易测试和维护。 衡量标准 —高内聚、低耦合 1.耦合性 是对软件系统结构中,各模块间相互联系紧密程度的一种度量。 设计目标:低耦合 分类 非直接耦合、数据耦合、控制耦合 特征耦合、公共环境耦合、内容耦合 无直接耦合 两个模块没有直接关系,模块独立性最强。 如下图;模块1和模块2、模块3和模块4直接属于无直接耦合 数据耦合 属松散耦合。一模块访问另一模块时,通过数据参数交换输入、输出信息。 数据耦合 一个模块访问另一个模块时,彼此之间是通过简单数据参数 (不是控制参数、公共数据结构或外部变量) 来传递交换输入、输出信息的(“传值”)。 特征耦合 两个模块通过传递数据结构加以联系,或都与一个数据结构有关系, 则称这两个模块间存在特征耦合。 当被调用的模块可以使用的数据多于它确实需要的数据时,导致数据访问可能失控,给计算机犯罪提供机会。 特征耦合示例 特征耦合示例: “住户情况”是一个数据结构,图中模块都与此数据结构有关。 “计算水费”和“计算电费”本无关,由于引用了此数据结构产生依赖关系,它们之间也是标记偶合。 解决特征耦合---修改为数据耦合 控制耦合增加了理解和编程的复杂性,调用模块必须知道被调模块的内部逻辑,增加了相互依赖。 解决方法: 将被调用模块内的判定上移到调用模块中进行 被调用模块分解成若干单一功能模块

文档评论(0)

xiaolan118 + 关注
实名认证
文档贡献者

你好,我好,大家好!

版权声明书
用户编号:7140162041000002

1亿VIP精品文档

相关文档