- 63
- 0
- 约11.65万字
- 约 79页
- 2017-11-08 发布于浙江
- 举报
第六章 模块化设计 75
第六章第六章 模块化设计模块化设计
第六章第六章 模块化设计模块化设计
目录目录
目录目录
6.1 模块化:内聚性与耦合性
6.2 信息隐蔽
6.3 建立模块的理由
6.4 任何语言中实现模块
6.5 小结
相关章节相关章节
相关章节相关章节
高质量子程序的特点:见第 5 章
高层次设计:见第 7 章
抽象数据类型:见第 12.3 节
“你已经把你的子程序放入我的模块中”
“不,你已经围绕着我的子程序设计好了模块”
人们对于子程序和模块之间的区别往往不很注意,但事实上应该充分了解它们之间的区别,
以便尽可能地利用模块所带来的便利。
“Routine ”和“Modu1e ”这两个单词的意义是很灵活的,在不同的环境下,它们之间的区
别可能会变化很大。在本书中,子程序是具有一定功能的,可以调用的函数或过程,关于这一
点在第五章已经论述过了。
而模块则是指数据及作用于数据的子程序的集合。模块也可能是指,可以提供一系列互相
联系功能的子程序集合,而这些子程序之间不一定有公共的数据。模块的例子有:C 语言中的
源文件,某些 Pascal 版本中的单元及 Ada 语言中的“包”等等。如果你所使用的语言不直接支
持模块,那么可以通过用分别编程技术来模仿它,这也可以得到许多由模块带来的优点。
6.6.11 模块化:内聚性与耦合性模块化:内聚性与耦合性
6.6.11 模块化:内聚性与耦合性模块化:内聚性与耦合性
“模块化”同时涉及到子程序设计和模块设计。这是一种值得研究的,非常有用的思想方
法。
在 1981 年出版的《Software Maintenance Guidebook》一书中,Glass 和 Noiseux 认为模
块化给维护性带来的好处要比给结构带来的好处多得多,它是提高维护性的最重要因素。Lientz
和 Swanson 在《Software Maintenance Management》一书中引用的一项研究表明,89%的代码使
用者认为使用模块化编程改进了维护性(1980)。在一次理解测验中发现,采用模块化设计程序
的可读性要比不采用这种设计的程序可读性高 15% (1979)。
模块化设计的目标是使每个子程序都成为一个“黑盒子”,你知道进入盒子和从盒子里出来
的是什么,却不知道里边发生什么。它的接 口非常简单,功能明确,对任何一个特定的输入,
第六章 模块化设计 76
你都可以精确地预测它相应的输出结果。如果你的子程序像一个黑盒子,那么它将是高度模块
化的,其功能明确,接口简单,使用也灵活。
使用单独一个子程序是很难达到这一目的的,这也正是引入模块的原因。一组子程序常常
要使用一套公用的数据,在这种情况下,由于子程序间要共享数据,因而它们不是高度模块化
的,作为一个单个的子程序,它们的接口也不简单。但是,作为一个整体,这组子程序则完全
有可能为程序的其它部分提供一个简单的接 口,也完全有可能达到高度模块化这一目标 。
6.6.11..11 模块内聚性模块内聚性
6.6.11..11 模块内聚性模块内聚性
模块的内聚性准则,与单个子程序的内聚性准则一样,都是十分简单的。一个模块应该提
供一组相互联系的服务 。
比如一个进行驾驶控制模拟 的模块,其 中应含有描述汽车 目前的控制设置和目前速度的数
据。它可以提供像设定速度、恢复到刚才的速度、刹车等功能。在其 内部,可能还有附加的子
程序和数据来支持这些功能,但是,模块外的子程序则不需对它们有任何了解。如果这样的话,
那么这个模块的内聚性将是非常强的,因为模块中的每个子程序都是为提供驾驶控制模拟服务
的。
再 比如一个进行三角函数计算的子程序,模块中可能含有 Sin()、Cos()、Tan()、Arcsin()等
全部密切相关的三角函数子程序。如果这些子程序都是标准的三角函数,那么它们无须共享数
据,但这些子程序间仍然是有
您可能关注的文档
最近下载
- 明代宗教信仰与思想控制.docx VIP
- 江苏省南通市2024-2025学年高二上学期期末学业质量监测语文试卷(含答案).pdf VIP
- 国就有成人演出的电影了?想看就要冒生命危险.pdf VIP
- 综合素质练习题及答案.doc VIP
- 2020-2021学年北京高三化学二轮复习 反应原理型简答题(突破二卷)(word版 含答案).docx VIP
- 电力拖动控制线路安装与检修(白银矿冶职业技术学院)知到智慧树答案.docx VIP
- 煤炭巷道掘砌工(高级工)资格考试题库(全真题库).docx VIP
- 影像叙事中情感共鸣生成机制.docx VIP
- 同轴二级圆柱齿轮减速器的设计(硬齿面).doc VIP
- 基于GPU多线程多通道图像高速重构方法、设备及介质.pdf VIP
原创力文档

文档评论(0)