软件工程第五章习题

1 为每种类型的模块耦合举一个具体例子

【只需要答出什么模块和例子即可,一共5个,数控特环内】

数据耦合:

  • 两个模块之间通过参数交换信息,信息仅为数据,
  • 例如两个模块,A模块的运算结果,作为参数传入B模块中参与运算,则两者为数据耦合。

控制耦合:

  • 传递的信息中有控制信息(尽管有时这种控制信息以数据的形式出现),就是控制耦合。
  • 例如遥控器模块和对应的电器模块之间的耦合

特征耦合:

  • 当把整个数据结构作为参数传递,而被调用的模块只需要使用其中一部分数据元素时,称为特征耦合
  • 例如一个小系统只需要用户的身份证信息,另外一个只需要用户的姓名信息,但是把整个用户信息作为参数传入,则会出现特征耦合

公共环境耦合:

  • 当两个或多个模块通过一个公共数据环境相互作用时(公共环境可以是全程变量、共享的通信区、内存的公共覆盖区、任何存储介质上的文件、物理设备等)
  • 例如多个模块共同使用一个全局数组,不同模块可以读写,读或写该数据

内容耦合:

  • 挺多种情况的,大概的意思就是内容串了
  • 一些汇编程序模块可能出现内容耦合

尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合。

2 为每种类型的模块内聚举一个具体例子

【三大类,七小类:偶逻时,通过,顺功】

【低内聚】

偶然内聚:

  • 一个模块完成一组任务,即使有关系也松散
  • 例如模块T中有n条语句,这些语句没什么关系,只是在另外几个模块都有,就把他们作为模块放在一起

逻辑内聚:

  • 一个模块完成的任务在逻辑上属于相似或相同的一类
  • 例如某一个模块将打印,年,月,日等时间信息,具体打印什么,由传入的控制标志所决定

时间内聚:

  • 一个模块包含的任务必须在同一段时间内执行
  • 例如对变量的初始化放在同一个模块实现

【中内聚】

过程内聚:

  • 模块内处理的元素是相关的,必须按一定次序执行
  • 例如一个子程序,需要依次读取学生的学号,姓名,分数等信息,由于操作具有特定顺序,所以继承成一个模块

通信内聚:

  • 所有元素使用同一个输入数据和(或)产生同一个输出数据
  • 例如一个子程序,负责将输入的信息处理输出成报告,同时利用输入的数据更新已有数据,因为这两个操作使用同一个数据源,所以该模块具有通信内聚性。

【高内聚】

顺序内聚:

  • 一个模块内的处理元素和同一个功能密切相关,而且这些处理必须顺序执行(通常一个处理元素的输出数据作为下一个处理元素的输入数据),则称为顺序内聚。
  • 例如一个模块,通过输入的生日,得到年龄,再根据年龄计算相应信息

功能内聚:

  • 模块内所有处理元素属于一个整体,完成一个单一的功能
  • 例如一个模块的所有操作都是为了计算出某个信息

剩下的几道题好恐怖,逃了~

  • 14
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值