- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
方案选择 分析员应该考虑各种可能的实现方案,分析比较不同的物理实现方案,并力求从中选出最佳方案 通 常 至 少 选 取 低 成 本 、中 等 成 本 及 高 成 本 的 三 种 方 案 分析员应该综合分析对比各种合理方案的利弊,推荐一个最佳的方案,并且为推荐的方案制定详细的实现计划 模块 是数据说明、可执行语句等程序对象的集合。它是单独命名且可通过名字来访问的,如过程、函数、子程序、宏等。 模块一般具有如下基本属性: 功能:描述该模块实现的功能; 逻辑:描述模块内部怎么做; 状态:该模块使用时的环境和条件。 模块的外部特性是指模块名和参数表,其中的输入参数和输出参数,以及对程序及整个系统造成的影响 模块的内部特性是指完成其功能的程序代码和仅供该模块内部使用的数据。 4.模块独立性标准 软件系统中每个模块只涉及软件要求的具体的子功能, 而和软件系统中其它的模块的接口是简单的 一个模块和其它模块的独立程度也是评价一个设计好坏的重要度量尺度。 当一个模块的功能不是同其它模块紧密地联系在一起时,比较容易理解; 其次,对—个独立性较强的模块修改时不会或者较小的影响其他模块。 耦合与内聚 内聚是模块功能强度的度量(即一个模块内部各个元素彼此结合的紧密程度),一个模块内聚程度越高,该模块内部各成分之间的关联也就越强。 耦合是模块之间的互相连接的紧密程度的度量,耦合越松散,模块之间的联系就越小,模块的独立性就越强。 1.内容耦合 如果发生下列情形,两个模块之间就发生了内容耦合 (1) 一个模块直接访问另一个模块的内部数据; (2) 一个模块不通过正常入口转到另一模块内部; (3) 两个模块有一部分程序代码重迭(只可能出现在汇编语言中); (4) 一个模块有多个入口。 2.公共耦合 若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。 公共的数据环境可以是: 全局数据结构 共享的通信区 内存的公共覆盖区 公共耦合的复杂程度随耦合模块的个数增加而显著增加。 公共耦合举例 公共耦合带来的复杂性 程序设计人员理解多个模块交叉共用公共环境的软件结构比较困难 某个模块究竟用了哪几个数据 某个数据究竟被哪几个模块使用 使用公共数据区的任—模块如果出现错误,该错误可能会影响所有使用该数据区的模块 如果一个模块发生改变,要寻找哪些数据跟着发生变化相当困难 3.外部耦合 一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合 外部耦合与公共耦合存在类似问题,都属于较强耦合 问题:外部耦合与公共耦合的异同? 4.控制耦合 如果一个模块通过传 送开关、标志、名字 等控制信息,明显地 控制选择另一模块的 功能,就是控制耦合 存在的问题: 控制模块必须了解 被控模块内部的逻辑关系 对被控模块的任何修改,都会影响控制模块。这种耦合实质上是在被控模块内部依据信号要求选择某一功能 控制耦合举例 控制耦合举例 5.标记耦合(特征耦合) 如果一组模块通过参数表传递信息,并只使用数据结构的部分数据 这个参数是: 数据结构 字符串 记录 不是简单变量 特征耦合举例 6.数据耦合 如果一个模块访问另一个模块时,彼此之间是通过简单数据参数,来交换输入、输出信息的不是: 控制参数 公共数据结构 外部变量 思考: 刚才的特征耦合例子如何变为数据耦合? 7.非直接耦合 两个模块没有直接关系(模快1和模快2),模块独立性最强。 模块间的耦合类型汇总 高耦合的弊端 理解多软件结构比较困难。某个模块究竟用了哪几个数据?某个数据究竟被哪几个模块使用? 使用公共数据区的任—模块如果出现错误,该错误可能会影响所有使用该数据区的模块。 如果一个模块发生改变,要寻找哪些数据跟着发生变化相当困难。 这种软件结构难以修改。 内聚:一个模块内部各成分之间相互关联的强度。 1.偶然内聚 偶然内聚又称为巧合内聚。当模块内各部分之间没有联系,或者即使有联系,这种联系也很松散,则称这种模块为巧合内聚模块,它是内聚程度最低的模块。 2.逻辑内聚 这种模块把几种相关的功能组合在一起,每次被调用时,由传送给模块的判定参数来确定该模块应执行哪一种功能 逻辑内聚缺点:不易修改增强了耦合程度(控制耦合) 效率低 3.时间内聚 时间内聚又称为经典内聚。这种模块大多为多功能模块,但模块的各个功能的执行与时间有关,通常要求所有功能必须在同一时间段内执行。 例如:初始化模块和终止模块。 4.过程内聚 一个模块内部的处理成分是相关的,而且这些处理必须以特定的次序执行 例如,把流程结构中的循环
您可能关注的文档
最近下载
- 《天上有颗南仁东星》第二课时 课件 八年级语文上册 统编版.pptx VIP
- 新人教版高中物理必修三第十一章《电路及其应用》测试题(含答案解析).docx VIP
- 14、圆明园的毁灭(课件)第二课时2023-2024学年五年级上册语文(统编版) (1).pptx VIP
- 北师大版四年级数学上册第三单元《乘法》(大单元教学设计).docx VIP
- 同上一堂党课初中篇 中流砥柱观后感五.doc VIP
- 最新2016-2017学年秋季学期人美版小学六年级上册美术教案全册.doc VIP
- 《互联网》精品课件.pptx VIP
- 浙江维思通新材料有限公司年产 20000 吨锂电池新型材料项目环评报告.docx VIP
- BIM基础培训教材课件.pptx VIP
- 管理学:激励PPT教学课件.pptx
文档评论(0)