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

正确答案:信息隐藏

相关推荐
点灯小铭几秒前
基于单片机的鱼缸监测与远程管理系统设计
数据库·单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
RANxy4 分钟前
🚀 Umi Max 项目从0到1:企业级 React 脚手架实战
前端·前端框架
拾年27517 分钟前
深入理解 V8 引擎:从代码执行到垃圾回收的完整链路
前端·javascript·v8
Master_Azur20 分钟前
javaScript进阶
前端
markfeng822 分钟前
React入门教学
前端·react.js
ze_juejin22 分钟前
Object.defineProperty vs Proxy 对比总结
前端
wing9831 分钟前
我的AI编程体验:从白嫖到付费,我为什么最终留下了Codex
前端·人工智能·程序员
Amnesia0_032 分钟前
MYSQL表的约束
数据库·mysql
C137的本贾尼33 分钟前
锁的分类:表锁、行锁、页锁与意向锁
数据库
Full Stack Developme34 分钟前
SQL 执行顺序 及 全部关键字
数据库·sql