哈工大2019软件构造期末试题解析
需积分: 0 189 浏览量
更新于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。
这份试题深入考察了软件工程中的基本概念,如软件生命周期中的视图、代码分析工具、对象的变与不变性以及抽象数据类型的内部表示和接口。学习者需要对这些概念有扎实的理解才能正确答题。
1398 浏览量
3212 浏览量
2022-08-03 上传
2021-09-10 上传
163 浏览量
772 浏览量
192 浏览量
2022-08-03 上传
StoneChan
- 粉丝: 31
- 资源: 321
最新资源
- Manning - Code Generation In Action.pdf
- gettingthingsdone修订版.doc
- Manning - Bitter Java.pdf
- 用CodeSmith生成数据库实体类的代码 VB
- 生化工程进展(江南大学 储国成)205页PPT
- Dojo_API 文档
- Selenium深入浅出1.2.pdf
- SendMessage函数完全使用手册
- Manning - Art of Java Web Development - Struts, Tapestry, Commons, Velocity, JUnit, Axis, Cocoon,.pdf
- 实验误差理论基础.ppt
- FMS6403,单芯片带通滤波器设计IC
- WHILE循环语句的翻译程序设计(递归下降法、输出三地址表示)
- Sprint J2ME Requirements v2.2
- 美国口语教程41-50.doc
- 用CodeSmith生成数据库实体类的代码C#
- 最通俗的多播技术详解——交换机组播技术学习手册