软件工程第13章小测

一 单项选择题(10分)

1、当一个模块完成一组且只有一组操作并返回结果时,称该模块是()的。(1分)

过程内聚

逻辑内聚

功能内聚

通信内聚

正确答案:功能内聚

2、访问相同数据的所有操作被定义在一个类中,一般这些操作仅关注数据的查询、访问和存储。这样的类符合()。(1分)

过程内聚

逻辑内聚

功能内聚

通信内聚

正确答案:通信内聚

3、当一个构件暗中修改其他构件的内部数据,称为()。(1分)

偶然内聚

逻辑内聚

内容耦合

控制耦合

正确答案:内容耦合

4、当一个构件和某些基本构件(如操作系统、数据库、无线通信功能)进行通信和协作时,发生()。(1分)

内容耦合

公共耦合

控制耦合

印记耦合

正确答案:公共耦合

5、软件必须进行内部或外部的通信,因此()是比如存在的。(1分)

耦合

内聚

分解

抽象

正确答案:耦合

6、下面代码存在的耦合是()。

public class Product{

public float unitPrice;

......

}

public class Order{

private Product myProduct = new Product();

public void setItem(){

myProduct.unitPrice = -100;

}

}(1分)

内容耦合

公共耦合

控制耦合

印记耦合

正确答案:内容耦合

7、下面代码存在的耦合是()。

global variable ==0;

....

while( variable){

if(argument xyz > 25)

module3();

else

module4();

}

......

public class A{ variable=100;}

public class B{ variable=1000;}(1分)

内容耦合

公共耦合

控制耦合

印记耦合

正确答案:公共耦合

8、下面代码存在的耦合是()。

public class ShowResult{

int type;

public float show(){

Cal calResult = new Cal();

calResult.getResult(type);

}

......

}

public class Cal{

public float getResult(int t){

if(t=0)

// return 平均价格;

else if(t=1)

// return 最高价格;

else

// return -1;

}

}(1分)

内容耦合

公共耦合

控制耦合

印记耦合

正确答案:控制耦合

9、下面代码存在的耦合是()。

public class Order{

public float getTotalCost(Customer cus){

int customerLevel = cus.getLevel();

int customerBonuspoint = cus.getBonuspoint();

......//计算总金额

}

}(1分)

内容耦合

公共耦合

控制耦合

印记耦合

正确答案:印记耦合

10、在使用第三方支付工具"支付宝"时,需要遵循其接口规约。其中需要调用AlipayClient构造器,创建AlipayClient对象,并完成初始化。

试分析AlipayClient构造器方法,并分析从下面代码(测试代码)到AlipayClient类的访问,存在的耦合是()。

代码如下:

/**

* @version 1.0

* @description 测试支付宝接口

*/

@RequestMapping("/alipaytest")

public void doPost(HttpServletRequest httpRequest,

HttpServletResponse httpResponse)

throws ServletException, IOException, AlipayApiException {

//获得初始化的AlipayClient

AlipayClient alipayClient =

new DefaultAlipayClient(AlipayConfig.URL, APP_ID, APP_PRIVATE_KEY, AlipayConfig.FORMAT, AlipayConfig.CHARSET, ALIPAY_PUBLIC_KEY,AlipayConfig.SIGNTYPE);

//创建API对应的request

AlipayTradeWapPayRequest alipayRequest = new AlipayTradeWapPayRequest();

//填充业务参数

alipayRequest.setBizContent("{" +

" \"out_trade_no\":\"202210100010101002\"," +

" \"total_amount\":0.1," +

" \"subject\":\"Iphone6 16G\"," +

" \"product_code\":\"QUICK_WAP_WAY\"" +

" }");

//调用SDK生成表单

........

}(1分)

公共耦合

控制耦合

印记耦合

数据耦合

正确答案:数据耦合

二 填空题(2分)

1、为了实现软件的并行开发,同时也保证其易理解和更好的灵活性,进行软件设计时,会将软件分解为"独立"的模块,称为模块化。其衡量标准是建立()的模块。(1分)

正确答案:高内聚、低耦合

2、()则要考虑对外公开什么接口,对内隐藏什么秘密。其目的也是为了做到模块独立,实现软件的可扩展和可收缩。(1分)

正确答案:信息隐藏

相关推荐
苹果嘉尔1213817 分钟前
Linux系统编程——网络(TCP)
linux·运维·服务器
网安蟹佬霸21 分钟前
区块链与智能合约安全实战:从Solidity审计到DeFi漏洞深度剖析
运维·前端·网络·安全·自动化·区块链·智能合约
LadiesAndGentlemen21 分钟前
概览篇:世界模型、空间智能与地理空间智能是什么关系
数据库·人工智能·自然语言处理·开源·aigc
念何架构之路25 分钟前
Gin响应渲染
前端·javascript·gin
invicinble30 分钟前
设计网站的底层思路(深刻版本)
前端
昌原的儿子LEO34 分钟前
Linux进程知识点总结
linux·服务器·c语言·数据库
Databend43 分钟前
Cluster Key 最佳实践:列怎么选、顺序怎么排与粒度设计
大数据·数据库·sql
IT小白杨44 分钟前
哪种浏览器适合跨境电商?2026场景化方案建议与架构对比
服务器·chrome·经验分享·架构·安全架构·指纹浏览器
koi77u1 小时前
嵌入式学习---进程与线程(1)
linux·服务器·学习