哈工大软件构造期末复习题集(1)

Static linking和Dynamic linking的区别在于____

A 前者发生在构造阶段,后者发生在运行阶段
B 前者的软件运行时需要库文件,后者不需要
C 同样的源代码,经过前者产生的代码尺寸比后者的要小
D 二者都是试图把外部库文化和开发者的代码链接在一起形成可执行文件

正确答案:A

以下说法正确的是____

A Code static analysis是发生在build-time
B Deployment是把build-time的软件转换为run-time的软件的手段之一
C Files随时间发生变化,产生各个不同版本,按时间连起来形成period view
D 对软件的profiling和tracing均发生在run-time

正确答案:ABCD

关于软件构造的质量指标,以下说法不正确的是____

A 健壮性刻画了软件能够恰当的处理spec范围之外的各类异常情况的能力
B 各项质量指标的优先级是等价的,在软件构造过程中要对它们做出全面优化(正确性不能折中
C 代码行数LoC是内部质量指标之一,但它可能对多项外部质量指标产生影响
D 程序的可复用性与程序的开发代价/运行效率直接存在折中

正确答案:B

HIT CS32207 关注的软件构造质量指标包括___

A Ready to change
B Safe from bugs
C Easy to understand
D Efficient to run
E Cheap for develop
F Easy to extend

正确答案:ABCDEF

以下__不是agile development敏捷开发过程的特征

A 线性过程
B 增量式过程
C 迭代过程
D 测试驱动开发(Test-Driven)
E 持续集成、持续交付
F V字模型(确认/验证)

正确答案:A

关于软件配置管理SCM的说法,不正确的是___

A 用于追踪和控制软件开发过程中的变化
B 其基本管理单元是软件配置项SCI,即开发过程中发生变化的基本单元
C 版本是为软件处于特定时刻(moment)的形态指派一个唯一的编号
D Git是一种典型的集中式版本控制系统(Git 为分布式

正确答案:D

以下关于软件配置管理SCM和Git的说法,不正确的是___

A 软件配置项SCI是软件演化过程中发生变化和SCM管理变化的基本单元,不需再细分
B Git中在本地机器上的.git目录对应于SCM中的配置管理数据库CMDB
C Git中的SCI是“文件”,它有三种形态:已修改(modified)、已暂存(staged)、已提交(committed)
D Git中两次相邻提交v1和v2,若后者提交时间晚于前者,那么Git仓库中只记录v2中的文件相对于v1中的文件发生变化的代码行(增加和删除的代码行)(Git的sci是文件

正确答案:D

针对Git仓库的object graph,以下不正确的说法是__

A 它是一个有向图,边的方向指向产生时间较晚的commit节点(指向父节点
B 一个commit节点可以有0个、1个、2个、多个parent节点(最多两个
C 一个branch(分支)本质上相对于一个指向特定commit节点的“指针”
D 可以有两个不同的branch指向同一个commit节点
E git commit指令相当于在object graph当前分支HEAD指向的commit基础上,派生出一个新的commit节点。

正确答案:AB

以下说法不正确的是___

A 如果发现了一个新bug,需要返回到版本仓库中对之前的各个版本进行测试,已确认该bug最早是在哪个历史版本中引入的
B 如果某个bug已被正确修复并已通过测试,那么为了降低后续测试的代价,应将该bug对应的测试用例从测试库中删除
C 代码覆盖度code coverage是指所有测试用例执行后有多大百分比覆盖了被测程序的所有代码行
D 可以从被测代码中寻找依据来设计处于“边界”上的测试用例。

正确答案:B

以下关于JUnit的说法,不正确的是___

A 眸仿佛前标注着@Test,意味着它是一个测试方法。@Test是Java中的annotation
B 如果未通过测试,方法中的assertXXX()将抛出AssertionError
C 一个Java测试类可以定义全局属性并在@Before方法中对属性进行数据准备,在@Test方法中使用数据
D 如果一个Java测试类定义了多个@Test方法,那么它们按照在代码中出现的先后次序加以执行。

正确答案:D

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
1. 构件:是指语义完整,语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述通信接口和实现代码的复合体。2. 构件模型:是对构件本质特征的抽象描述。3. 构件组装:是指将库中的构件经适当修改后相互连接,或者将它们与当前开发项目中的软件元素相连接,最终构成新的目标软件。4. 软件体系结构:Hayes Roth认为软件体系结构是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、接口和关系。5. 面向服务体系结构(SOA):本质上是服务的合,服务间彼此通信,这种通信可能是简单地数据传送,也可能是两个或更多的服务协调进行某些活动。6. 可靠性:是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统特性的基本能力。7. 可修改性:是指能够快速地以较高的性能价格比对系统进行变更的能力。通常以某些具体的变更为基准,通过考察这些变更的代价衡量可修改性。可修改性包括:可维护性、可扩展性、结构重组、可移植性。8. 敏感点:是一个或多个构件(和/或构件之间的关系)的特性。9. 权衡点:是影响多个质量属性的特性,是多个质量属性的敏感点。10. 软件产品线:就是在一个公共的软件资源合基础上建立起来的共享同一个特性合的系统合。11. 框架:是封装了特定应用族抽象设计的抽象类的合,框架又是一个模板,关键的方法和其他细节在框架实例中实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值