【系统架构设计师-综合题(3)】软件工程

文章目录

题目

1

随着软件构件技术的发展,人们开始尝试利用软件构件进行搭积木式的开发,即构件组装模型。构件组装模型的一般开发过程顺序为()。

① 测试与发布

② 建立构件库

③ 构建应用软件

④ 构件的修改与维护

⑤ 设计构件组装

  • A. ②③①④
  • B. ⑤②③①
  • C. ②⑤④①
  • D. ②⑤③④①

2

以下关于敏捷方法的描述中,不属于敏捷方法核心思想的是()。

① 敏捷方法是适应型,而非可预测型

② 敏捷方法是迭代增量式的开发过程

③ 敏捷方法是以人为本,而非以过程为本

④ 敏捷开发中强调以过程为本

⑤ 敏捷方法强调可预测性

  • A. ①②③④⑤
  • B. ①②③④
  • C. ④⑤
  • D. ①②③

3

在需求变更管理过程中,哪个环节是确保变更建议被详细分析并转化为明确需求变更提议的关键步骤?()

  • A. 识别出问题
  • B. 问题分析和变更描述
  • C. 变更分析和成本计算
  • D. 变更实现

4

净室软件工程是一种应用数学与统计学理论以经济的方式生产高质量软件工程的技术,力图通过严格的工程化的软件过程达到开发中的零缺陷或接近零缺陷。以下技术手段中,( )是净室软件工程的核心。

  • A. 统计控制下的增量式开发
  • B. 基于函数的规范和设计
  • C. 正确性验证
  • D. 统计测试和软件认证

5

静态测试采用人工和计算机辅助静态分析的手段对程序进行检测,以下方法中属于静态测试方法的是()。

  • A. 边界值分析
  • B. 错误推测法
  • C. 桌前检查
  • D. 逻辑覆盖测试

6

在自动化测试实践中,关于测试脚本的类型,以下哪个选项正确地对应了"通过录制用户操作直接生成的脚本"?()

  • A. 结构化脚本
  • B. 线性脚本
  • C. 共享脚本
  • D. 数据驱动脚本

7

在白盒测试中,测试强度最高的是()。

  • A. 语句覆盖
  • B. 分支覆盖
  • C. 判定覆盖
  • D. 路径覆盖

8

以下关于测试的说法,正确的是()。

  • A. Web 系统测试的测试内容与其它系统测试内容完全不同,其测试内容包括:链接测试、表格测试、图形测试等
  • B. 链接测试需要保证 Web 应用系统上没有孤立的页面
  • C. 回归测试一般用于集成测试阶段,它强调组装模块时应增量式组装,因为这样测试更全面
  • D. AB 测试也叫金丝雀测试,主要看新版本的软件能否正常运行,如果能正常运行就逐步平移部署

参考答案与解析

1

知识点: 软件工程 > 开发模型 > 构件组装模型

答案:B

解析:

构件组装模型强调"先设计组装方案,再准备/获取构件并形成构件库,然后进行系统组装,最后测试发布"。因此一般开发过程可概括为:

  1. 设计构件组装(⑤):在需求明确后进行体系结构与组装结构设计,明确构件职责与接口关系
  2. 建立构件库(②):开发、复用或采购构件并纳入构件库,形成可检索与可复用的构件资产
  3. 构建应用软件(③):按组装结构把构件集成到应用中,完成系统搭建与集成实现
  4. 测试与发布(①):对组装后的系统进行集成测试/系统测试,通过验收后发布

构件的修改与维护(④)属于系统运行后的维护阶段活动,不属于"开发过程的一般顺序"中的主流程步骤,因此不应插入到 ⑤②③① 的主流程中。对应选项 B。

2

知识点: 软件工程 > 信息系统开发方法 > 敏捷开发

答案:C

解析:

敏捷的核心思想强调"适应变化、迭代增量、以人为本",而不是强调流程的刚性与强可预测性。

  • ①"适应型而非可预测型"符合敏捷强调对变化的快速响应
  • ②"迭代增量式开发"是敏捷常见交付方式
  • ③"以人为本而非以过程为本"符合敏捷价值观(个体与互动高于流程与工具)
  • ④"强调以过程为本"与敏捷价值观相反
  • ⑤"强调可预测性"更贴近计划驱动/预测型方法的目标,不是敏捷核心诉求

因此,不属于敏捷核心思想的是 ④ 和 ⑤,对应选项 C。

3

知识点: 软件工程 > 需求工程 > 需求变更管理

答案:B

解析:

需求变更管理通常遵循"提出---澄清---评估---决策---实施---验证/发布"的链路。题干强调的是把"变更建议"经过充分分析后,形成"明确的需求变更提议",本质上是从"模糊建议/问题"到"可评审、可评估、可执行的变更描述"的转化步骤。

  • A 识别出问题:属于变更的来源发现阶段,只是提出线索,还没有形成明确的变更提议
  • B 问题分析和变更描述:对建议进行深入分析,澄清问题边界、目标、影响范围与期望结果,并把它写成可理解、可验证的变更描述,这是把建议转为明确提议的关键步骤
  • C 变更分析和成本计算:在变更提议已明确后,进一步做影响分析与成本/进度评估,为决策提供依据
  • D 变更实现:在审批通过后执行落地,不负责把建议转化为提议

因此选 B。

4

知识点: 软件工程 > 其它 > 净室软件工程

答案:C

解析:

净室软件工程(Cleanroom)强调"先保证正确,再用统计手段度量可靠性",其核心在于通过形式化/半形式化的方法对软件进行正确性论证与验证,尽量在进入测试之前就把缺陷消除到接近零的水平。

常见的净室软件工程技术要点包括:

  • 正确性验证:以规约为依据,通过证明、推理或严谨的验证活动保证设计/实现满足规约,这是净室的核心思想
  • 统计控制下的增量式开发:用受控的增量迭代来降低风险、便于度量与改进,但其作用是过程组织方式,不是核心
  • 基于函数的规范和设计、盒结构(黑盒/状态盒/明盒):是实现正确性验证的工程手段与设计方法
  • 统计测试和软件认证:用于基于使用剖面(Usage Profile)的可靠性评估与发布认证,属于度量与认证阶段

因此,净室软件工程的核心是正确性验证,选 C。

5

知识点: 软件工程 > 软件测试 > 静态测试

答案:C

解析:

静态测试的本质特征是"不运行程序",通过人工检查或工具静态分析来发现缺陷,常见形式包括桌前检查(Desk Check)、走查(Walkthrough)、代码审查/评审(Review/Inspection)等。

选项辨析:

  • A 边界值分析:典型黑盒动态测试方法,需要执行程序并用边界输入验证
  • B 错误推测法:常用于动态测试中的经验型用例设计方法,依赖运行验证结果
  • C 桌前检查:人工逐行/逐段检查代码或文档,不运行程序,属于静态测试
  • D 逻辑覆盖测试:白盒动态测试,需要执行代码并统计覆盖率

因此选 C。

6

知识点: 软件工程 > 软件测试 > 自动化测试脚本

答案:B

解析:

"通过录制用户操作直接生成的脚本"对应的是录制回放(Record & Playback)产生的线性脚本:脚本把一次测试过程中的点击、输入、校验等操作按时间顺序串起来执行,结构简单、维护成本相对较高(界面变动就容易失效)。

其他选项不符合"录制直接生成"的特点:

  • 结构化脚本:通常引入分支、循环、函数/过程等结构化设计思想,需要人为抽象与重构
  • 共享脚本:强调可被多个用例复用或被其他脚本调用,通常来自模块化/函数化抽取
  • 数据驱动脚本:把测试数据与脚本逻辑分离,通过多组数据驱动同一套测试流程

因此选 B。

7

知识点: 软件工程 > 软件测试 > 白盒测试覆盖准则

答案:D

解析:

白盒测试覆盖准则通常从弱到强为:语句覆盖 → 判定/分支覆盖 → 条件覆盖/判定-条件覆盖/条件组合覆盖 → 路径覆盖(概念上最强)。

路径覆盖要求"程序中每条可执行路径至少执行一次",覆盖范围包含各判定结果组合,因此测试强度最高。实际工程中由于路径数可能爆炸(尤其存在循环时),常用可行的覆盖准则(如分支覆盖/条件覆盖)替代"完整路径覆盖",但题目问"最高",应选路径覆盖。

8

知识点: 软件工程 > 软件测试 > Web 测试与其它测试

答案:B

解析:

  • A:Web 系统测试与其它系统测试在本质上测试内容并非"完全不同",只是测试重点不同;Web 常强调链接、兼容性、表单、界面等,但测试目标仍是功能、性能、安全等
  • B:链接测试的一个重要目标是避免"孤立页面"(没有任何入口链接可达的页面),保证站点结构完整可达,因此正确
  • C:回归测试的目的在于变更后验证受影响部分及相关功能未被破坏,不限定在集成测试阶段;"增量组装"是集成策略之一,但不是回归测试的定义或特征
  • D:AB 测试用于对比不同版本在用户行为指标上的效果评估;金丝雀发布是灰度发布策略,二者概念不同

因此选 B。

相关推荐
workflower18 小时前
设计模式的分类
设计模式·集成测试·软件工程·软件构建·软件需求·结对编程
小李的便利店18 小时前
系统架构设计师-案例分析-软件系统设计
系统架构·uml·软件项目管理
workflower1 天前
相比传统聊天式AI,AI Agent具备的核心能力
人工智能·语言模型·集成测试·软件工程·软件构建·软件需求
唐维康1 天前
2026年昆明理工大学计算机类考研预估调剂名额分析(人工智能、软件工程)
人工智能·考研·软件工程
九成宫1 天前
IT项目管理期末复习——Chapter 3 项目管理过程组:案例研究
笔记·项目管理·软件工程
workflower1 天前
如何使用设计模式-误区
java·开发语言·设计模式·集成测试·软件工程·需求分析·软件需求
九成宫1 天前
IT项目管理期末复习——Chapter 4 项目综合管理
笔记·项目管理·软件工程
踩着两条虫1 天前
AI驱动的 Vue3应用开发平台深入探究(十五):扩展与定制之自定义设置器与属性编辑器
前端·vue.js·人工智能·低代码·系统架构·编辑器
踩着两条虫2 天前
AI驱动的Vue3应用开发平台深入探究(十):物料系统之内置组件库
android·前端·vue.js·人工智能·低代码·系统架构·rxjava