软件工程基础与实例分析 教学课件 作者 王阿川 第04章 结构设计.pptVIP

软件工程基础与实例分析 教学课件 作者 王阿川 第04章 结构设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 概要设计 主要学习内容 软件设计的目标和任务 概要设计的过程 软件设计的原理 启发规则 概要设计阶段使用的工具 结构化设计方法 4.1 软件设计的目标和任务 4.1.1软件设计的目标 1、数据设计 主要侧重于数据结构的定义。 2、系统结构设计 系统结构设计将定义软件系统各主要成份之间的关系 3、过程设计 过程设计就是把结构成份转换成软件的过程性描述 4.1.2软件设计任务 4.2 概要设计的过程 设想供选择的方案 选取合理的方案 功能分解 设计软件结构 数据库设计 制定测试计划 书写文档 审查和复查 4.3 软件设计的原理 4.3.1模块化的概念 软件系统的模块化是指整个软件被划分成若干单独命名和可编址的部分,称之为模块。这些模块可以被组装起来以满足整个问题的需求。 把问题/子问题的分解与软件开发中的系统/子系统或系统/模块对应起来,就能够把一个大而复杂的软件系统划分成易于理解的比较单纯的模块结构。 公式 E(P1+P2)E(P1)+E(P2) 4.3 软件设计的原理 4.3 软件设计的原理 4.3.2抽象 软件系统进行模块设计时,可有不同的抽象层次。 在最高的抽象层次上,可以使用问题所处环境的语言概括地描述问题的解法。 在较低的抽象层次上,则采用过程化的方法。 1、过程的抽象 2、数据的抽象 4.3 软件设计的原理 4.3.3信息屏蔽 模块中所包含的信息(包括数据和过程)不允许其它不需要这些信息的模块使用。 4.3.4模块独立 模块(Module) “模块”,又称“组件”。它一般具有如下三个基本属性: 功能:描述该模块实现什么功能 逻辑:描述模块内部怎么做 状态:该模块使用时的环境和条件 在描述一个模块时,还必须按模块的外部特性与内部特性分别描述 模块的外部特性 模块的模块名、参数表、其中的输入参数和输出参数,以及给程序以至整个系统造成的影响 模块的内部特性 完成其功能的程序代码和仅供该模块内部使用的数据 4.3.4 模块独立 模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。每个模块完成一个相对独立的子功能,并且与其它模块间的接口简单。若一个模块只具有单一的功能且与其它模块没有太多的联系,则称此模块具有模块独立性。衡量模块独立程度的定性标准----内聚、耦合 4.3.4 模块独立 1、耦合(模块之间的互相连接的紧密程度的度量) 控制耦合 数据耦合 公共环境耦合 内容耦合 尽量用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不用内容耦合 4.3.4 模块独立 2、内聚 模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。 4.4启发规则 改进软件结构提高模块独立性 模块规模应该适中 适当控制深度、宽度、扇出、扇入 模块的作用域应该在控制域之内 力争降低模块接口的复杂程度 设计单入口单出口的模块 模块功能可预测 4.5 概要设计阶段使用的工具 4.5.1 层次图 描绘软件的层次结构,而非数据结构 矩形代表模块,连线代表调用 4.5.3 结构图反映程序中模块之间的层次调用关系和联系 4.5.4 程序系统结构图 4.6 结构化设计方法 4.6.1基本概念—1、变换型数据流图 4.6 结构化设计方法 4.6.1基本概念—2、事务型数据流图 T称为事物中心 接收输入数据 分析事务确定类型 根据类型取通道 4.6.2 系统结构图中的模块 传入模块 ─ 从下属模块取得数据,经过某些处理,再将其传送给上级模块。 传出模块 ─ 从上级模块获得数据,进行某些处理,再将其传送给下属模块。 变换模块 ─ 它从上级模块取得数据,进行特定的处理,转换成其它形式,再传送回上级模块。 协调模块 ─ 对所有下属模块进行协调和管理的模块。 4.6.3 结构化设计过程 (1)首先研究、分析和审查数据流图。从软件的需求规格说明中弄清数据流加工的过程,检查有无遗漏或不合理之处,对于发现的问题及时解决并修改。 (2)根据数据流图决定问题的类型。数据处理问题典型的类型有两种,分别是变换型和事务型,针对两种不同的类型分别进行分析处理。 (3)由数据流图推导出系统的初始结构图。 (4)利用一些启发式原则来改进系统的初始结构图,直到得到符合要求的结构图为止。 (5)描述模块功能、接口及全局数据结构,修改和补充数据字典。 (6)复查,如果出现错误,转入第二步修改完善,否则进入详细设计,同时制定测试计划。 4.6.4 变换分析 变换型数据处理问题的工作过程大致分为三步,即取得数据、变换数据和给出数据。然后相应于取得数据、变换数据和给出数据转换成变换型系统结构图的输入、中心变换和输出等三部分。变换型的数据流图导出相应的软件结构图一般要经过以下步骤。 1

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档