网站大量收购独家精品文档,联系QQ:2885784924

为内聚和耦合举例.pdf

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

第 章 作 业5 1、为每种类型的模块耦合举一个具体的例子 1) 非直接耦合: #includestdio.h voidmain() { inta,b; printf(printanintegernumber:); scanf(%d,a); if(a0) printf(dataerror!); else { b=fac(a); prt(b); } } intfac(intn) { intf; if(n==0,n==1) f=1; else f=fac(n-1)*n; return(f); } voidprt(intx) { printf(%d\n,x); } /*函数fac和prt之间为非直接耦合关系*/ 2) 数据耦合: /*上例中,主函数main和子函数fac之间为数据耦合关系*/ 3) 标记耦合: #includestdio.h voidmain() {ints,j,b[10]; for(j=0;j10;j++) b[j]=j; s=sum(b[10]); printf(%d\n,s); } intsum(inta[10]) { intss=0,i; for(i=0;i10;i++)ss=ss+a[i]; return(ss) } /*主函数main和子函数sum之间为标记耦合关系*/ 4) 特征耦合: #includestdio.h voidmain() {intj,b[10]; for(j=0;j10;j++) b[j]=j; add3(b[10]); } voidadd3(inta[10]) { ints=0; s=a[3]+1; printf(%d\n,s); } /*主函数main和子函数sum之间为特征耦合关系*/ 5) 控制耦合: / 根据输入的年龄是否满十八岁判断是否到达法定饮酒年龄 */ #includestdio.h voidmain() { intAge=0;T=0; printf(%s,请输入您的年龄:); scanf(%d,Age); if(age 18) T= 1; else T=0; YesOrNot(T); } voidYesOrNot(ints) { if(s== 1) printf(%s\n, 您已到达法定饮酒年龄!); else printf(%s\n,您未到达法定饮酒年龄!); } /*主函数main和子函数WineOrNot之间为控制耦合关系*/ 6) 外部耦合: #includestdio.h inta,b; voidmain() { pin(); b=a+1; prt(); } voidpin() { printf(printanintegernumber:); scanf(%d,a); } voidprt() { printf(%d\n,b); } /*三个函数之间都存在外部耦合关系*/ 7) 公共环境耦合:两个程序共享一个文件 8) 现代程序设计语言已经从语法上杜绝了内容耦合 2、为每种类型的模块内聚举一个具体的例子 1) 偶然类聚: Word窗口的工具菜单,在本菜单中,各工具间基本没什么联系。该菜单具有偶然内聚。 2) 逻辑内聚: 一个函数能打印季度开支报告、月份开支报告和日开支报告,具体打印哪一个,将由传入的 控制标志决定,该函数具有逻辑内聚性。 3) 时间内聚: 操作系统的开机初始化模块,包含的动作没什么大的关系,但必须在开机后的一段时间内都 完成。整个开机初始化模块具有时间内聚。 4) 过程内聚: 一个模块,为某员工计算工龄工资:打开员工信息文件取出员工记录;按一定的算法计算工 龄;按一定的算法计算工龄工资。 该模块中的三个相对独立的子功能必须以特定次序执行,整个模块具有过程内聚。 5) 通信内聚:一个模块,接收一个远程传来的信息文件,保存,同时马上打印该文件。 该模块针对同一个文件操作,打印和存盘操作没有前后顺序关系,整个模块具有通信内聚。 6) 顺序内聚:某干部退休,模块计算他的离/退休工资:打开干部信息文件;读出文件中他 的职务/级别等信息,通过一定算法判断他是否具备离休资格,结论写入文件;再读出文件

文档评论(0)

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

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档