软件工程第五章习题
- 1 为每种类型的模块耦合举一个具体例子
- 2 为每种类型的模块内聚举一个具体例子
1 为每种类型的模块耦合举一个具体例子
【只需要答出什么模块和例子即可,一共5个,数控特环内】
数据耦合:
- 两个模块之间通过参数交换信息,信息仅为数据,
- 例如两个模块,A模块的运算结果,作为参数传入B模块中参与运算,则两者为数据耦合。
控制耦合:
- 传递的信息中有控制信息(尽管有时这种控制信息以数据的形式出现),就是控制耦合。
- 例如遥控器模块和对应的电器模块之间的耦合
特征耦合:
- 当把整个数据结构作为参数传递,而被调用的模块只需要使用其中一部分数据元素时,称为特征耦合
- 例如一个小系统只需要用户的身份证信息,另外一个只需要用户的姓名信息,但是把整个用户信息作为参数传入,则会出现特征耦合
公共环境耦合:
- 当两个或多个模块通过一个公共数据环境相互作用时(公共环境可以是全程变量、共享的通信区、内存的公共覆盖区、任何存储介质上的文件、物理设备等)
- 例如多个模块共同使用一个全局数组,不同模块可以读写,读或写该数据
内容耦合:
- 挺多种情况的,大概的意思就是内容串了
- 一些汇编程序模块可能出现内容耦合
尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合。
2 为每种类型的模块内聚举一个具体例子
【三大类,七小类:偶逻时,通过,顺功】
【低内聚】
偶然内聚:
- 一个模块完成一组任务,即使有关系也松散
- 例如模块T中有n条语句,这些语句没什么关系,只是在另外几个模块都有,就把他们作为模块放在一起
逻辑内聚:
- 一个模块完成的任务在逻辑上属于相似或相同的一类
- 例如某一个模块将打印,年,月,日等时间信息,具体打印什么,由传入的控制标志所决定
时间内聚:
- 一个模块包含的任务必须在同一段时间内执行
- 例如对变量的初始化放在同一个模块实现
【中内聚】
过程内聚:
- 模块内处理的元素是相关的,必须按一定次序执行
- 例如一个子程序,需要依次读取学生的学 ,姓名,分数等信息,由于操作具有特定顺序,所以继承成一个模块
通信内聚:
- 所有元素使用同一个输入数据和(或)产生同一个输出数据
- 例如一个子程序,负责将输入的信息处理输出成 告,同时利用输入的数据更新已有数据,因为这两个操作使用同一个数据源,所以该模块具有通信内聚性。
【高内聚】
顺序内聚:
- 一个模块内的处理元素和同一个功能密切相关,而且这些处理必须顺序执行(通常一个处理元素的输出数据作为下一个处理元素的输入数据),则称为顺序内聚。
- 例如一个模块,通过输入的生日,得到年龄,再根据年龄计算相应信息
功能内聚:
- 模块内所有处理元素属于一个整体,完成一个单一的功能
- 例如一个模块的所有操作都是为了计算出某个信息
剩下的几道题好恐怖,逃了~
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!