哈工大2019软件构造期末试题解析
需积分: 0 137 浏览量
更新于2024-08-05
5
收藏 856KB PDF 举报
"2019年哈尔滨工业大学软件构造期末试题1"
这是一份2019年哈工大春季学期软件构造课程的期末考试试卷,主要考察学生对软件构造相关概念的理解和应用。试题包括单项选择题,涵盖多个知识点。
1. 软件构造实体分类:题目询问哪种组合中的软件构造实体,一个属于构建时视图(build-time view),另一个属于瞬时视图(moment-view)。选项中A选项的Software Configuration Item (SCI)通常在构建时视图中,而StackTrace则是在程序运行时出现;B选项的CodeSnapshot和TestCase都是在运行时刻产生的;C选项的Static linking library与Memory Dump也是在程序运行时才涉及;D选项的Abstract Syntax Tree (AST)是编译时产生的,属于构建时视图,而CodeChurn是代码变化度量,可能发生在任何时间。正确答案是D,AST与CodeChurn。
2. 不需执行代码的工具/命令:问题是哪些工具或命令可以在不执行代码的情况下获得期望结果。A选项的JUnit和Eclipse Memory Analyzer (MAT)需要执行测试代码;B选项的Checkstyle是静态代码分析工具,gitcommit是版本控制操作,都不需执行代码;C选项的Eclipse Memory Analyzer (MAT)和jmap用于分析内存,不需要运行代码;D选项的SpotBugs和VisualVM也需要分析运行中的Java应用。正确答案是B,Checkstyle和gitcommit。
3. 变与不变性(immutability and mutability):题目涉及对变与不变性的理解。A选项,被static和final修饰的变量不一定是不可变的,它们只是不能被重新赋值;B选项,State设计模式可以使对象有状态转换,但不是变与不变性的定义;C选项,Collections.unmodifiableList返回的列表是不可变的,其内容不能更改;D选项,迭代器本身不是不可变的,它可以被用来修改列表。正确答案是C。
4. 关于ADT(抽象数据类型)的Rep、AF(抽象函数)和RI(代表实现):题目询问关于这些概念的正确说法。A选项是正确的,Immutable类的对象在其创建后rep不能改变;B选项,Repexposure是对于所有ADT都重要的,不只限于immutable ADT;C选项,RI是ADT的实现细节,不是对外公开的;D选项,关于ADT的代表实现,如果泄露可能会导致问题,但选项没有完整表述。正确答案是A。
这份试题深入考察了软件工程中的基本概念,如软件生命周期中的视图、代码分析工具、对象的变与不变性以及抽象数据类型的内部表示和接口。学习者需要对这些概念有扎实的理解才能正确答题。
2019-08-25 上传
2015-06-28 上传
2023-09-20 上传
2023-08-26 上传
2024-01-06 上传
2023-07-02 上传
2024-06-16 上传
2024-06-01 上传
StoneChan
- 粉丝: 30
- 资源: 321
最新资源
- OptiX传输试题与SDH基础知识
- C++Builder函数详解与应用
- Linux shell (bash) 文件与字符串比较运算符详解
- Adam Gawne-Cain解读英文版WKT格式与常见投影标准
- dos命令详解:基础操作与网络测试必备
- Windows 蓝屏代码解析与处理指南
- PSoC CY8C24533在电动自行车控制器设计中的应用
- PHP整合FCKeditor网页编辑器教程
- Java Swing计算器源码示例:初学者入门教程
- Eclipse平台上的可视化开发:使用VEP与SWT
- 软件工程CASE工具实践指南
- AIX LVM详解:网络存储架构与管理
- 递归算法解析:文件系统、XML与树图
- 使用Struts2与MySQL构建Web登录验证教程
- PHP5 CLI模式:用PHP编写Shell脚本教程
- MyBatis与Spring完美整合:1.0.0-RC3详解