哈工大2019软件构造期末试题解析
需积分: 0 187 浏览量
更新于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 上传
2022-08-03 上传
2021-09-10 上传
2023-09-09 上传
点击了解资源详情
2022-10-05 上传
2022-08-03 上传
StoneChan
- 粉丝: 31
- 资源: 321
最新资源
- Angular实现MarcHayek简历展示应用教程
- Crossbow Spot最新更新 - 获取Chrome扩展新闻
- 量子管道网络优化与Python实现
- Debian系统中APT缓存维护工具的使用方法与实践
- Python模块AccessControl的Windows64位安装文件介绍
- 掌握最新*** Fisher资讯,使用Google Chrome扩展
- Ember应用程序开发流程与环境配置指南
- EZPCOpenSDK_v5.1.2_build***版本更新详情
- Postcode-Finder:利用JavaScript和Google Geocode API实现
- AWS商业交易监控器:航线行为分析与营销策略制定
- AccessControl-4.0b6压缩包详细使用教程
- Python编程实践与技巧汇总
- 使用Sikuli和Python打造颜色求解器项目
- .Net基础视频教程:掌握GDI绘图技术
- 深入理解数据结构与JavaScript实践项目
- 双子座在线裁判系统:提高编程竞赛效率