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

正确答案:信息隐藏

相关推荐
代码派2 分钟前
MySQL 慢 SQL 排查这件事,NineData 社区 VS DBeaver/ Navicat 技术分析
数据库·sql·mysql·navicat·数据库管理工具·dbeaver·数据库对比
发现一只大呆瓜3 分钟前
性能优化:CDN 缓存加速与调度原理
前端·javascript·面试
chaofan9807 分钟前
2026 轻量模型三国杀:Flash-Lite vs GPT-4.1 Nano vs Haiku,技术选型到底该站谁?
前端·人工智能·microsoft
小蜜蜂dry7 分钟前
nestjs学习 - 守卫
前端·nestjs
Lsx-codeShare24 分钟前
前端发版后页面白屏?一套解决用户停留旧页面问题的完整方案
前端·javascript·前端框架·vue·vite
心柠26 分钟前
TypeScript的知识梳理
前端·javascript·typescript
虾..30 分钟前
Linux HTTP服务器
linux·服务器·http
Cache技术分享34 分钟前
354. Java IO API - 获取路径信息
前端·后端
北寻北爱38 分钟前
面试篇-vue中第三方库的使用(echarts)
前端
白菜!!!41 分钟前
SQL中IF、IFNULL、NULLIF、ISNULL函数的使用
数据库·sql·mysql