§4.2结构化设计方法.ppt

  1. 1、本文档共89页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
§4.2结构化设计方法.ppt

§4.2 结构化设计方法 软件设计分为两个阶段: (1)概要设计(总体设计) 确定软件的结构以及各组成成分 (子系统或模块)之间的相互关系。 (2)详细设计 确定模块内部的算法和数据结构,产生描述各模块程序过程的详细文档。 4.2.6 模块的独立性 模块独立的含义: 模块完成独立的功能 符合信息隐蔽和信息局部化原则 模块间关连和依赖程度尽量小 模块独立性的度量 模块独立性取决于模块的内部和外部特征。 SD方法提出的定性的度量标准: 模块之间的耦合性 模块自身的内聚性 模块间耦合的类型: 低 无直接耦合 耦 数据耦合 合 标记耦合 性 控制耦合 外部耦合 公共耦合 高 内容耦合 (1) 无直接耦合 两个模块没有直接关系(模块1和模块2),模块独立性最强。 (2) 数据耦合 一模块调用另一模块时,被调用模块的输入、输出都是简单的数据(若干参数)。 属松散耦合。 数据耦合举例 (3) 标记耦合(特征耦合) 如两个模块通过传递数据结构 (不是简单数据,而是记录、数组 等)加以联系,或都与一个数据 结构有关系, 则称这两个模块 间存在标记偶合。 标记耦合举例 将标记耦合修改为数据耦合举例 (4) 控制耦合 一模块向下属模块传递的信息 (开关量、标志等控制被调用模块决策的变量) 控制了被调用模块的内部逻辑。 控制耦合举例 控制耦合增加了理解和编程的复 杂性,调用模块必须知道被调模 块的内部逻辑,增加了相互依赖 去除模块间控制耦合的方法: (1)将被调用模块内的判定上移到调 用模块中进行 (2)被调用模块分解成若干单一功 能模块 改控制耦合为数据耦合举例 (5) 外部耦合 一组模块均与同一外部环境关联 (例如,I/O模块与特定的设备、 格式和通信协议相关联),它们之 间便存在外部耦合。 外部偶合必不可少,但这种模块 数目应尽量少。 (6) 公共耦合(公共数据区耦合) 一组模块引用同一个公用数据区 (也称全局数据区、公共数据环境)。 公共数据区指: 全局数据结构 共享通讯区 内存公共覆盖区等 公共耦合举例 公共耦合存在的问题: (1)软件可理解性降低 (2)诊断错误困难 (3)软件可维护性差, (4)软件可靠性差 (公共数据区及全程变量无保护措施) 慎用公共数据区和全程变量!!! (7) 内容耦合 模块化设计的原则和目标 耦合是影响软件复杂程度和设计质量的重要因素 目标:建立模块间耦合度尽可能    松散的系统 如何降低模块间耦合度: (1) 尽量使用数据耦合   少用控制耦合   限制公共耦合的范围   坚决避免使用内容耦合 (2) 降低接口的复杂性 2. 模块独立性的度量之二:内聚性 一个模块内部元素在功能上相互关联的强度 设计目标:高内聚 (模块在软件过程中 完成单一的任务) 模块的内聚性类型:   低 偶然内聚 内 逻辑内聚 聚 时间内聚 性 过程内聚      通信内聚 信息内聚 高 功能内聚 低内聚模块举例 为工程分析包执行错误处理的模块,当计算的数据超出预定义的边界时调用该模块,它完成下列任务: (1)根据初始计算的数据计算补充数据; (2)在用户的工作站上生成错误报告; (3)执行用户要求的跟踪计算; (4)更新数据库; (5)使选择后续处理的菜单有效。 虽然上述任务是松散相关的,但每一项都是独立的功能实体,最好作为独立的模块完成。 (1)偶然内聚(巧合内聚) 模块内各部分间无联系 (2) 逻辑内聚 把几种相关功能(逻辑上相似 的功能)组合在一模块内,每次调用由传给模块的参数确定执行哪种功能。 逻辑内聚模块 (3) 时间内聚(经典内聚) 模块完成的功能必须在同一时间 内执行,这些功能只因时间因素 关联在一起。 例如:初始化系统模块、 系统结束模块、 紧急故障处理模块等均是时间性聚合 模块. (4) 过程内聚(顺序性组合) 模块内各处理成分相关, 且必须以特定次序执行 过程内聚模块 (5) 通信内聚 模块内各部分使用相同的输入数据,或产生相同的输出结果 通信内聚模块例 (6) 信息内聚 模块完成多个功能,各功能 都在同一数据结构上操作, 每一功能有唯一入口。 信息内聚模块 (7) 功能内聚 模块仅包括为完成某个功能所必须的所有成分。 (模块所有成分共同完成一个功 能,

文档评论(0)

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

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

版权声明书
用户编号:8140007116000003

1亿VIP精品文档

相关文档