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

正确答案:信息隐藏

相关推荐
java_heartLake24 分钟前
PostgreSQL数据库参数调优实践
数据库·postgresql·调优
titxixYY25 分钟前
SElinux
linux·运维·服务器
聚名网1 小时前
手机无法连接服务器1302什么意思?
运维·服务器·智能手机
cnsxjean1 小时前
SpringBoot集成Minio实现上传凭证、分片上传、秒传和断点续传
java·前端·spring boot·分布式·后端·中间件·架构
xnuscd2 小时前
Milvus概念
数据库·学习·mysql
ZL_5672 小时前
uniapp中使用uni-forms实现表单管理,验证表单
前端·javascript·uni-app
沉浮yu大海2 小时前
Vue.js 组件开发:构建可重用且高效的 UI 块
前端·vue.js·ui
莘薪3 小时前
JQuery -- 第九课
前端·javascript·jquery
小gpt&3 小时前
实现qt拖拽显示或者播放
数据库·qt·音视频