软件工程第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分)

正确答案:信息隐藏

相关推荐
青青家的小灰灰1 分钟前
金三银四面试官最想听的 React 答案:虚拟 DOM、Hooks 陷阱与大型列表优化
前端·react.js·面试
HelloReader2 分钟前
深入理解 Tauri 架构与应用体积优化实战指南
前端
lemon_yyds2 分钟前
vue 2 升级vue3 : ref 和 v-model 命名为同名
前端·vue.js
codingWhat3 分钟前
小程序里「嵌」H5:一套完整可落地的 WebView 集成方案
前端·uni-app·webview
重庆穿山甲7 分钟前
Java开发者的大模型入门:Spring AI Alibaba组件全攻略(二)
前端·后端
光影少年9 分钟前
在 React 中,什么情况下需要用 useCallback 和 useMemo?它们的区别是什么?
前端·react.js·掘金·金石计划
合天网安实验室10 分钟前
H2O-3反序列化漏洞分析(CVE-2025-6507&CVE-2025-6544)
前端·黑客
袋鱼不重11 分钟前
Typescript 核心概念
前端·typescript
重庆穿山甲13 分钟前
Java开发者的大模型入门:Spring AI Alibaba组件全攻略(一)
前端·后端
ssshooter1 小时前
Tauri 踩坑 appLink 修改后闪退
前端·ios·rust