跳转至

系统开发基础:题库练习

已整理本章知识点练习 161 条来源题目,共 158 道练习。题号沿用来源序号;同材料的不同小问分别保留。

题干保留事实条件、选项与必要题图;平台答案、整理解析与纠错默认收起。解析重新归纳为复习笔记,平台答案不等同于官方答案。

题库整理进度 · 历年试卷清单

知识点练习

题目 001

来源:知识点练习「系统开发基础」第 1 题(原站入口)。

在 MVC(模型/视图/控制器)架构中,视图负责描述( )。

  • A. 将应用问题域中包含的抽象领域知识呈现给用户的方式

  • B. 应用问题域中所包含的抽象类

  • C. 用户界面对用户输入的响应方式

  • D. 应用问题域中包含的抽象领域知识

答案与解析

平台答案:A。

整理解析

选 A。模型表达领域数据、规则和状态,视图负责把模型内容呈现给用户,控制器负责解释输入并协调相应操作。视图描述的是呈现方式,不等于模型中的抽象类或领域知识本身。

题目 002

来源:知识点练习「系统开发基础」第 2 题(原站入口)。

关于结构化开发方法,下列说法不正确的是( )。

  • A. 将数据流映射为软件系统的模块结构

  • B. 一般情况下,数据流类型包括变换流型和事务流型

  • C. 不同类型的数据流有不同的映射方法

  • D. 一个软件系统只有一种数据流类型

答案与解析

平台答案:D。

整理解析

选 D。结构化设计把分析得到的数据流图映射为模块结构,常用变换映射和事务映射。一个系统的不同部分可以分别呈现这两类数据流,不能规定全系统只能有一种。

题目 003

来源:知识点练习「系统开发基础」第 3 题(原站入口)。

模块 A 把某班某门课的成绩交给模块 B,B 计算平均成绩、最高分和最低分,再把结果返回 A。在软件结构图中,B 属于( )模块。

  • A. 传入

  • B. 传出

  • C. 变换

  • D. 协调

答案与解析

平台答案:C。

整理解析

选 C。B 接收调用方 A 的原始成绩,在内部完成统计变换,再把所得结果返回 A,符合变换模块的职责。判断依据是数据如何进入、加工和返回,而不是模块是否有输入或输出。

题目 004

来源:知识点练习「系统开发基础」第 4 题(原站入口)。

关于统一过程 UP,下列说法不正确的是( )。

  • A. UP是以用例和风险为驱动,以架构为中心,迭代并且增量的开发过程

  • B. UP定义了四个阶段,即起始、精化、构建和确认阶段

  • C. 每次迭代都包含计划、分析、设计、构造、集成、测试以及内部和外部发布

  • D. 每个迭代有五个核心工作流

答案与解析

平台答案:B。

整理解析

平台选 B。UP 的四阶段是起始、精化、构建、移交(Transition),最后一阶段不是“确认”。经典 UP 的五个核心工作流为需求、分析、设计、实现、测试,各次迭代的投入比例不同;不要把它们与 RUP 全部工作流的数量混为一谈。C 的“内部和外部发布”也应按过程裁剪理解:迭代可形成内部可执行版本,不代表每次都必须对最终用户正式发布。

题目 005

来源:知识点练习「系统开发基础」第 5 题(原站入口)。

某公司开发的软件产品只有部分需求已明确,其余需求仍需细化;同时受市场竞争压力,产品要尽快上市。以下哪种开发模型最不适合这一情形( )?

  • A. 瀑布

  • B. 原型

  • C. 增量

  • D. 螺旋

答案与解析

平台答案:A。

整理解析

选 A。传统瀑布模型倾向于较早明确需求、按阶段推进,面对尚待澄清的需求和尽早交付压力,返工与等待完整交付的成本较高。原型可帮助澄清需求,增量可先交付核心功能;螺旋突出风险分析。这里是场景适配比较,不意味着瀑布绝不允许反馈,也不意味着其他模型必然更快。

题目 006

来源:知识点练习「系统开发基础」第 6 题(原站入口)。

在用于屏蔽软件错误的容错系统中,以下哪项不属于“冗余附加”技术的组成部分( )?

  • A. 关键程序和数据的冗余存储及调用

  • B. 冗余备份程序的存储及调用

  • C. 实现错误检测和错误恢复的程序

  • D. 实现容错软件所需的固化程序

答案与解析

平台答案:A。

整理解析

按题目使用的容错教材分类选 A。“冗余附加”指支撑容错机制的额外功能,包括备份程序的存取调用、错误检测与恢复程序、相关固化程序,对应 B、C、D。A 不在这一特定分类的列举中,不能据此说关键程序或数据不能采用冗余。冗余也不等于零故障,平台长解析中“热备备用模块失效率为0”的说法不成立。

题目 007

来源:知识点练习「系统开发基础」第 7 题(原站入口)。

用 McCabe 度量法计算图示程序的环路复杂性,结果为( )。

题目配图

  • A. 2

  • B. 3

  • C. 4

  • D. 5

答案与解析

平台答案:C。

整理解析

平台选 C。按可见图把判定、处理框作为结点,共 6 个结点、8 条边,套用平台公式 E−N+2 得到 4。但图中语句2、语句3都返回顶部,没有绘出出口,常规单入口、单出口程序流图的前提并不完整。不能把“2个判定加1”和“8−6+2”在这张无出口图上当作互相验证,也不能将4直接等同于完整程序所有执行路径数。原页完整图已核实确无出口,也没有补充图或附注;这里只保留平台计算口径与原图,不据此补画出口或推断遗漏结构。

题目 008

来源:知识点练习「系统开发基础」第 8 题(原站入口)。

关于软件文档,下列说法不正确的是( )。

  • A. 文档仅仅描述和规定了软件的使用范围及相关的操作命令

  • B. 文档也是软件产品的一部分,没有文档的软件就不能称之为软件

  • C. 软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量

  • D. 高质量文档对于发挥软件产品的效益有着重要的意义

答案与解析

平台答案:A。

整理解析

平台选 A。软件文档还可记录需求、架构、接口、测试、部署和维护等内容,远不止操作范围与命令。B 采用教材“程序、数据及相关文档构成软件产品”的交付口径;它强调产品完整性,不应理解成缺少说明文档的程序便不能运行。

题目 009

来源:知识点练习「系统开发基础」第 9 题(原站入口)。

某搜索引擎在投入使用后,计划增加语音输入搜索功能,使用户可以说出搜索内容。这属于( )维护。

  • A. 正确性

  • B. 适应性

  • C. 完善性

  • D. 预防性

答案与解析

平台答案:C。

整理解析

选 C。新增语音搜索是在原有系统上扩充用户功能,属于完善性维护。若是修复已有功能错误才是改正性维护;为适配变化的运行环境而修改是适应性维护;提前降低未来故障或维护风险则是预防性维护。应按本次修改的目的分类,不只看“输入方式变了”。

题目 010

来源:知识点练习「系统开发基础」第 10 题(原站入口)。

对图示程序做白盒测试,现有 4 个用例:①(x=0,y=3)、②(x=1,y=2)、③(x=-1,y=2)、④(x=3,y=1)。至少需要①②才能达到(10)覆盖;至少需要①②③或①②④才能达到(11)覆盖。

题目配图

请作答:第 10 题。

  • A. 语句

  • B. 条件

  • C. 判定/条件

  • D. 路径

答案与解析

平台答案:A。

整理解析

本问选 A。①使 (x=0)&&(y>2) 为真,执行语句A;②使第一判定为假,随后 (x<1)||(y=1) 也为假,执行语句B。两例覆盖图中的全部处理语句,缺少任意一个都漏掉相应语句,所以满足语句覆盖。它们尚未经过第二判定为真的分支,不能说已经覆盖全部路径。

题目 011

来源:知识点练习「系统开发基础」第 11 题(原站入口)。

对图示程序做白盒测试,现有 4 个用例:①(x=0,y=3)、②(x=1,y=2)、③(x=-1,y=2)、④(x=3,y=1)。至少需要①②才能达到(10)覆盖;至少需要①②③或①②④才能达到(11)覆盖。

题目配图

请作答:第 11 题。

  • A. 语句

  • B. 条件

  • C. 判定/条件

  • D. 路径

答案与解析

平台答案:D。

整理解析

本问选 D。图中三条完整控制路径分别是:第一判定真执行A;第一判定假、第二判定假执行B;第一判定假、第二判定真,直接到出口。①②覆盖前两条,③或④补齐第三条,故①②③或①②④达到图示路径覆盖。若按代码短路求值进一步拆分复合条件,还应另行分析条件覆盖;“有循环时每个环只走一次”也不是一般全路径覆盖的定义,循环可能产生无穷多条执行路径。

同材料可参照第 10 题。

题目 012

来源:知识点练习「系统开发基础」第 12 题(原站入口)。

关于结构化开发方法,下列说法不正确的是( )。

  • A. 总的指导思想是自顶向下,逐层分解

  • B. 基本原则是功能的分解与抽象

  • C. 与面向对象开发方法相比,更适合于大规模、特别复杂的项目

  • D. 特别适合于数据处理领域的项目

答案与解析

平台答案:C。

整理解析

选 C。结构化方法强调自顶向下、功能分解与抽象,对以数据处理为中心且需求较稳定的系统有适用性。它并不因这些特点就普遍比面向对象方法更适合大规模复杂项目;实际还取决于需求变化、领域建模、架构和团队能力,不能仅按规模判定方法优劣。

题目 013

来源:知识点练习「系统开发基础」第 13 题(原站入口)。

模块 A、B、C 中都重复出现同样的 5 个语句,但这些语句彼此没有联系。为消除重复,把这 5 个语句提取成模块 D。D 的内聚类型是( )内聚。

  • A. 功能

  • B. 通信

  • C. 逻辑

  • D. 巧合

答案与解析

平台答案:D。

整理解析

选 D。5 个语句只因在多处重复而被放在一起,彼此没有任务或数据联系,属于巧合内聚,也称偶然内聚。去除重复并不自动提高内聚;功能内聚还要求各部分共同完成一个明确的功能。

题目 014

来源:知识点练习「系统开发基础」第 14 题(原站入口)。

关于增量开发模型,下列说法正确的是( )。

  • A. 需求被清晰定义

  • B. 可以快速构造核心产品

  • C. 每个增量必须要进行风险评估

  • D. 不适宜商业产品的开发

答案与解析

平台答案:B。

整理解析

选 B。增量模型可优先实现可工作的核心功能,再逐步补充能力并吸收反馈。它不要求全部需求一开始都清晰,也适用于商业产品。以每轮风险分析为标志的是螺旋模型;增量开发也可以做风险管理,但不能把“每个增量必须风险评估”当成其定义特征。

题目 015

来源:知识点练习「系统开发基础」第 15、116 题(原站入口)。

关于 CMM,下列说法不正确的是( )。

  • A. CMM是指软件过程能力成熟度模型

  • B. CMM根据软件过程的不同成熟度划分了5个等级,其中,1级被认为成熟度最高,5级被认为成熟度最低

  • C. CMMI的任务是将已有的几个CMM模型结合在一起,使之构造成为“集成模型”

  • D. 采用更成熟的CMM模型,一般来说可以提高最终产品的质量

答案与解析

平台答案(来源第 15 题):B。

整理解析(来源第 15 题)

选 B。传统软件 CMM 的等级从低到高为:1初始级、2可重复级、3已定义级、4已管理级、5优化级,选项把高低方向颠倒了。成熟过程有助于稳定交付和持续改进,但等级本身不保证每个产品都没有缺陷;这些等级名称也不要与不同版本 CMMI 的术语直接混用。

来源第 116 题对照

原题题干

下列有关 CMM 及 CMMI 的表述,哪一项不正确( )?

原题选项对照

原选项内容本页选项
A

CMM是指软件过程能力成熟度模型

A
B

CMM根据软件过程的不同成熟度划分了5个等级,其中,1级被认为成熟度最高,5级被认为成熟度最低

B
C

CMMI的任务是将已有的几个CMM模型结合在一起,使之构成“集成模型”

C
D

采用更成熟的CMM模型,一般来说可以提高最终产品的质量

D

原平台答案(来源第 116 题,原题选项):B;对应本页选项:B;本页平台答案:B。

整理解析(来源第 116 题)

选 B。CMM 的五级成熟度由 1 级到 5 级递增,1 级最低,5 级最高,选项恰好倒置。较成熟的过程有助于稳定地控制质量,但成熟度等级不是某个具体产品必然高质量的保证。

题目 016

来源:知识点练习「系统开发基础」第 16 题(原站入口)。

ISO/IEC 软件质量模型把可靠性描述为:软件在规定时间、规定条件下维持其性能水平的能力。以下哪项不是可靠性的子特性( )?

  • A. 成熟性

  • B. 容错性

  • C. 易恢复

  • D. 可移植性

答案与解析

平台答案:D。

整理解析

选 D。原解析图采用传统 ISO/IEC 9126 式分类:成熟性、容错性、易恢复性及可靠性的依从性归入可靠性;可移植性是与可靠性并列的质量特性。应结合标准版本理解,不能把这张旧分类表直接套到所有后续版本。

题目配图

题目 017

来源:知识点练习「系统开发基础」第 17、145 题(原站入口)。

软件开发中,系统测试阶段的测试目标主要依据( )阶段的成果。

  • A. 需求分析

  • B. 概要设计

  • C. 详细设计

  • D. 软件实现

答案与解析

平台答案(来源第 17 题):A。

整理解析(来源第 17 题)

选 A。系统测试要验证整个软件是否满足系统需求,因此目标来源于需求分析形成的功能、性能及其他质量要求。设计和实现资料可以帮助设计测试,但不能替代需求作为整体行为的依据。

来源第 145 题对照

原题题干

软件开发中的系统测试,其测试目标主要依据哪个阶段的成果确定( )?

原题选项对照

原选项内容本页选项
A

需求分析

A
B

概要设计

B
C

详细设计

C
D

软件实现

D

原平台答案(来源第 145 题,原题选项):A;对应本页选项:A;本页平台答案:A。

整理解析(来源第 145 题)

选 A。系统测试把整个软件当作系统,检查其功能与质量属性是否满足规定需求,因此目标来自需求分析。概要设计主要支持集成层面的接口与协作测试,详细设计主要支持模块内部测试;不应只按示意 V 图的垂直位置机械对应。

题目 018

来源:知识点练习「系统开发基础」第 18 题(原站入口)。

关于软件文档,下列说法不正确的是( )。

  • A. 项目相关人员可以通过文档进行沟通

  • B. 编写文档会降低软件开发的效率

  • C. 编写高质量文档可以提高软件开发的质量

  • D. 文档是软件的不可或缺的部分

答案与解析

平台答案:B。

整理解析

选 B。适量、准确并及时更新的文档有助于沟通、减少误解和返工,不能概括成“编写文档就会降低效率”。反过来,也不能断言任何文档都自动提高效率;重复、过时或不必要的文档同样会增加成本。

题目 019

来源:知识点练习「系统开发基础」第 19 题(原站入口)。

图示程序流程图有(19)条不同的简单路径;采用 McCabe 度量法,其环路复杂性为(20)。

题目配图

请作答:第 19 题。

  • A. 3

  • B. 4

  • C. 5

  • D. 6

答案与解析

平台答案:A。

整理解析

平台选 A,实际采用的是“3条独立基本路径”的口径:可取不进入循环、循环一次且不交换、循环一次且交换三条代表路径,分别可由 n=1,以及 n=2 时相邻元素不逆序或逆序来触发。严格图论的简单路径不重复结点,任何完整循环都会再次经过 y=n−1 判定,所以从入口到出口只有直接退出那条简单路径。原题术语不严谨,应区分基本路径、简单路径和所有循环执行路径。

题目 020

来源:知识点练习「系统开发基础」第 20 题(原站入口)。

图示程序流程图有(19)条不同的简单路径;采用 McCabe 度量法,其环路复杂性为(20)。

题目配图

请作答:第 20 题。

  • A. 3

  • B. 4

  • C. 5

  • D. 6

答案与解析

平台答案:A。

整理解析

本问选 A。按单入口、单出口图计算,共有 y=n−1 和 A[i]>A[i+1] 两个二路判定,环路复杂性为 P+1=2+1=3;逐框计数也得 E=10、N=9,E−N+2=3。静态判定结点只数一次,与测试时实际执行了几次无关。平台用“第一个判断至少执行两次”来凑3次判断,是错误的计算依据;环路复杂性也不是任意循环次数下全部执行路径的条数。

同材料可参照第 19 题。

题目 021

来源:知识点练习「系统开发基础」第 21 题(原站入口)。

关于软件维护及可维护性,下列说法不正确的是( )。

  • A. 软件维护要解决软件产品交付用户之后运行中发生的各种问题

  • B. 软件的维护期通常比开发期长得多,其投入也大得多

  • C. 进行质量保证审查可以提高软件产品的可维护性

  • D. 提高可维护性是在软件维护阶段考虑的问题

答案与解析

平台答案:D。

整理解析

选 D。可维护性应从需求、设计、编码、测试等开发环节持续考虑,例如明确模块职责、降低耦合、保留有效文档和自动化测试,而不是等交付后的维护阶段再补救。维护阶段通常很长、累计投入可能很大,但不是每个项目都必然如此。

题目 022

来源:知识点练习「系统开发基础」第 22 题(原站入口)。

软件工程的三个基本要素是方法、工具和( )。

  • A. 软件系统

  • B. 硬件系统

  • C. 过程

  • D. 人员

答案与解析

平台答案:C。

整理解析

选 C。方法回答技术上如何分析、设计、实现和验证;工具为这些活动提供自动化支持;过程组织活动、产物、职责和检查点。质量承诺是软件工程的基础,但本题采用的三要素组合是方法、工具、过程。

题目 023

来源:知识点练习「系统开发基础」第 23 题(原站入口)。

选择系统的适当解决方案,把系统划分为若干子系统并建立整体体系结构,属于( )设计阶段的工作。

  • A. 概要

  • B. 详细

  • C. 结构化

  • D. 面向对象

答案与解析

平台答案:A。

整理解析

选 A。概要设计先确定系统整体组织、子系统划分及接口关系;详细设计再细化模块内部的数据结构、算法和实现细节。结构化与面向对象是设计方法,不是与概要、详细相对应的两个时间阶段。

题目 024

来源:知识点练习「系统开发基础」第 24 题(原站入口)。

某公司准备开发一个技术含量高、客户相关风险也多的产品。以下哪种开发过程模型最适合这一情形( )?

  • A. 瀑布

  • B. 原型

  • C. 增量

  • D. 螺旋

答案与解析

平台答案:D。

整理解析

选 D。螺旋模型以风险驱动每一轮计划、分析、开发与评估,适合逐步验证高技术风险和客户需求风险。平台“仅有螺旋模型考虑风险”过于绝对;其他过程也可开展风险管理,区别在于螺旋把它作为显式的组织核心。

题目 025

来源:知识点练习「系统开发基础」第 25 题(原站入口)。

在敏捷开发方法中,哪一种强调不同项目需要采用不同的策略、约定与方法体系( )?

  • A. 极限编程(XP)

  • B. 水晶法(Crystal)

  • C. 并列争球法(Scrum)

  • D. 自适应软件开发(ASD)

答案与解析

平台答案:B。

整理解析

选 B。Crystal 是一组可按团队规模、沟通需求和系统关键程度裁剪的方法,强调为具体项目选择适当实践,而非一套规则适用于所有项目。平台扩展说明中的 Scrum“固定30天迭代”不宜照搬;Sprint 通常是固定长度、一个月或更短的周期。

题目 026

来源:知识点练习「系统开发基础」第 26 题(原站入口)。

一个模块完成两个操作:向某个数据结构区域写数据,以及从同一区域读取数据。该模块属于( )内聚。

  • A. 过程

  • B. 时间

  • C. 逻辑

  • D. 通信

答案与解析

平台答案:D。

整理解析

选 D。两个操作因为共同访问同一数据区域而组合,属于通信内聚。它不同于仅按执行顺序组织的过程内聚;顺序内聚还应体现前一步输出成为后一步输入,原表只写“必须顺序执行”不够准确。

题目配图

题目 027

来源:知识点练习「系统开发基础」第 27 题(原站入口)。

正式技术评审的目标是( )。

  • A. 允许高级技术人员修改错误

  • B. 评价程序员的工作效率

  • C. 发现软件中的错误

  • D. 记录程序员的错误情况并与绩效挂钩

答案与解析

平台答案:C。

整理解析

选 C。正式技术评审主要针对工作产品查找需求、设计、逻辑或实现缺陷,同时检查一致性与标准符合情况。评审对象是技术成果,不是用错误数给程序员作绩效排名;修复缺陷也不要求只能由高级人员现场完成。

题目 028

来源:知识点练习「系统开发基础」第 28 题(原站入口)。

自底向上集成测试策略的优点是( )。

  • A. 主要的设计问题可以在测试早期处理

  • B. 不需要写驱动程序

  • C. 不需要写桩程序

  • D. 不需要进行回归测试

答案与解析

平台答案:C。

整理解析

按常规集成模型选 C。自底向上先集成真实的底层模块,因此无需用桩模拟尚未接入的下层被调用模块;相反,常要写驱动模拟尚未接入的上层调用者。集成后仍需回归测试,高层控制与整体设计问题也可能较晚暴露。外部服务等其他依赖是否需替身,是另一层测试边界问题。

题目 029

来源:知识点练习「系统开发基础」第 29 题(原站入口)。

采用 McCabe 度量法,图示程序的环路复杂性为( )。

题目配图

  • A. 2

  • B. 3

  • C. 4

  • D. 5

答案与解析

平台答案:C。

整理解析

选 C。图中有 8 个圆形结点、10 条连接边,左侧与右侧的两条弧线也各算一条边,所以 V(G)=E−N+2=10−8+2=4。交汇于同一个结点的多条边要分别计数,不能只数竖直、水平线。

题目 030

来源:知识点练习「系统开发基础」第 30 题(原站入口)。

关于软件可维护性,以下补全“可维护性( )”的说法中,不正确的是哪一项?

  • A. 是衡量软件质量的一个重要特性

  • B. 不受软件开发文档的影响

  • C. 是软件开发阶段各个时期的关键目标

  • D. 可以从可理解性、可靠性、可测试性、可行性、可移植性等方面进行度量

答案与解析

平台答案:B。

整理解析

平台选 B。清楚的需求、架构、接口与维护文档能降低理解和修改成本,所以可维护性会受开发文档影响。D 是平台教材的宽泛评价口径,不应直接当作标准质量模型的可维护性子特性清单;例如在常见 ISO/IEC 分类中,可靠性、可移植性通常是并列质量特性。

题目 031

来源:知识点练习「系统开发基础」第 31 题(原站入口)。

若用户需求尚不清楚且经常变化,但系统规模不大、复杂度不高,最适合采用(31)开发方法。若问题属于数据处理领域,系统同样不大、不复杂,而且需求变化较少,则最适合采用(32)开发方法。

请作答:第 31 题。

  • A. 结构化

  • B. Jackson

  • C. 原型化

  • D. 面向对象

答案与解析

平台答案:C。

整理解析

本问选 C。需求不清晰且经常变化时,可先构建原型让用户试用和反馈,再逐步澄清需要做什么;题目还限制系统不大、不复杂,符合这种沟通方式的常见适用场景。平台说“只有原型化适用”过于绝对,面向对象等方法也可结合原型和迭代。

题目 032

来源:知识点练习「系统开发基础」第 32 题(原站入口)。

若用户需求尚不清楚且经常变化,但系统规模不大、复杂度不高,最适合采用(31)开发方法。若问题属于数据处理领域,系统同样不大、不复杂,而且需求变化较少,则最适合采用(32)开发方法。

请作答:第 32 题。

  • A. 结构化

  • B. Jackson

  • C. 原型化

  • D. 面向对象

答案与解析

平台答案:A。

整理解析

本问选 A。题目强调数据处理、需求较稳定和规模复杂度有限,按教材选用面向功能分解与数据流分析的结构化方法。Jackson 也与数据结构驱动的设计有关,但不能仅因“数据处理”就认定必须选择它;本题是在给定的整体开发方法分类下作适配选择。

同材料可参照第 31 题。

题目 033

来源:知识点练习「系统开发基础」第 33 题(原站入口)。

一个开发小组计划建设超大规模软件,通过通信卫星向订阅者提供移动电话通信,并进行监视与控制。下列过程模型中最不适合的是( )。

  • A. 瀑布

  • B. 原型

  • C. 螺旋

  • D. 喷泉

答案与解析

平台答案:B。

整理解析

平台选 B。题意把“原型模型”视为独立承担整个超大规模系统交付的过程,这种做法较难独自覆盖整体架构、跨系统集成及风险控制。但不能因此断言大型系统不应使用原型;对关键技术、接口和需求制作局部原型,仍能帮助降低风险。

题目 034

来源:知识点练习「系统开发基础」第 34 题(原站入口)。

以用户需求为动力、以对象为驱动,并适合面向对象开发方法的过程模型是( )。

  • A. 瀑布

  • B. 原型

  • C. 螺旋

  • D. 喷泉

答案与解析

平台答案:D。

整理解析

选 D。喷泉模型用于描述面向对象开发,允许分析、设计、实现等活动迭代、重叠,体现围绕对象模型逐步完善系统。平台把螺旋模型限定成“面向对象开发模型”不准确;螺旋的核心是风险驱动,可与不同开发方法结合。

题目 035

来源:知识点练习「系统开发基础」第 35、117 题(原站入口)。

在 ISO/IEC 软件质量模型中,以下哪项不属于易使用性的子特性( )?

  • A. 易理解性

  • B. 易学性

  • C. 易操作性

  • D. 易分析性

答案与解析

平台答案(来源第 35 题):D。

整理解析(来源第 35 题)

选 D。按原图的传统软件质量模型,易理解、易学、易操作属于易用性;易分析性属于维护性,用于判断问题原因或修改影响。这里按题目使用的标准分类版本作答。

题目配图

来源第 117 题对照

原题题干

题目把易使用性定义为软件使用所需努力及用户对使用体验评价的一组属性。按此 ISO/IEC 软件质量模型,哪项不属于易使用性的子特性( )?

原题选项对照

原选项内容本页选项
A

易理解性

A
B

易学性

B
C

易分析性

D
D

易操作性

C

原平台答案(来源第 117 题,原题选项):C;对应本页选项:D;本页平台答案:D。

整理解析(来源第 117 题)

选 C。易理解、易学和易操作关注用户学习、理解与操作软件的难易;易分析性关注定位缺陷、分析变更影响,属于可维护性。

题目 036

来源:知识点练习「系统开发基础」第 36 题(原站入口)。

子系统结构设计需要确定各子系统的模块结构并绘制模块结构图。在这个过程中,不需要考虑下列哪项工作( )?

  • A. 每个子系统如何划分成多个模块

  • B. 每个子系统采用何种数据结构和核心算法

  • C. 如何确定子系统之间、模块之间传送的数据及其调用关系

  • D. 如何评价并改进模块结构的质量

答案与解析

平台答案:B。

整理解析

按结构设计与详细设计的教材分工选 B。模块结构设计重点是划分职责、确定接口和调用关系、评价模块结构;内部数据结构与具体算法通常在详细设计中展开。但对架构有决定影响的核心算法或数据组织,实际工程中仍可能需要提前验证,不能把“不属于本题阶段的主要任务”理解成绝不考虑。

题目 037

来源:知识点练习「系统开发基础」第 37 题(原站入口)。

数据流图中,某个加工要执行的动作取决于多个逻辑条件。哪种工具能清楚表达复杂条件组合与相应动作之间的关系( )?

  • A. 流程图

  • B. NS盒图

  • C. 形式语言

  • D. 决策树

答案与解析

平台答案:D。

整理解析

选 D。决策树沿分支表示条件取值,在叶子处给出对应动作,能直观看到一组条件如何导向处理策略。决策表也常适合表达复杂条件组合,但不在本题选项中;流程图和NS图更侧重执行控制结构。

题目 038

来源:知识点练习「系统开发基础」第 38 题(原站入口)。

按软件过程活动给软件工具分类,逆向工程工具属于( )工具。

  • A. 软件开发

  • B. 软件维护

  • C. 软件管理

  • D. 软件支持

答案与解析

平台答案:B。

整理解析

按过程活动分类选 B。逆向工程从已有代码、数据或运行行为中恢复设计、结构及规则,帮助理解和维护现有系统。它不以“文档缺失”为必要条件,也不只用于维护,但本题采用的工具分类将其归入软件维护。

题目 039

来源:知识点练习「系统开发基础」第 39 题(原站入口)。

对下面代码进行白盒测试,达到条件覆盖至少需要(39)个用例;用 McCabe 度量法计算的环路复杂性为(40)。

1
2
3
4
5
6
7
8
Int find_max(int i, int j, int k) {
    int max;
    if (i > j) then
        if (i > k) then max = i;
        else max = k;
    else if (j > k) then max = j;
    else max = k;
}

请作答:第 39 题。

  • A. 3

  • B. 4

  • C. 5

  • D. 6

答案与解析

平台答案:B。

整理解析

本问选 B。i>j 为真时才执行 i>k,为假时才执行 j>k;要让两个内层条件都分别取真、假,每条外层分支至少要2个用例,共至少4个。例如 (i,j,k) 取 (3,2,1)、(3,2,4)、(2,3,1)、(2,3,4)。这也让外层条件两种结果都出现。原代码混用 C 式声明和 then,且没有 return,应按控制逻辑伪代码理解,不能当作可直接编译的 C 函数;整理仅恢复缩进和符号,未补写返回语句。

题目配图

题目 040

来源:知识点练习「系统开发基础」第 40 题(原站入口)。

对下面代码进行白盒测试,达到条件覆盖至少需要(39)个用例;用 McCabe 度量法计算的环路复杂性为(40)。

1
2
3
4
5
6
7
8
Int find_max(int i, int j, int k) {
    int max;
    if (i > j) then
        if (i > k) then max = i;
        else max = k;
    else if (j > k) then max = j;
    else max = k;
}

请作答:第 40 题。

  • A. 1

  • B. 2

  • C. 3

  • D. 4

答案与解析

平台答案:D。

整理解析

本问选 D。控制流有 i>j、i>k、j>k 三个静态二路判定,所以 V(G)=3+1=4。原解析图含9个结点、11条边,亦有 11−9+2=4。单次执行只经过两个判定,不改变整个程序的静态环路复杂性。原片段不是完整可编译的 C 函数,缺少返回语句等问题不影响此处按图分析的四条分支路径。

题目配图

同材料可参照第 39 题。

题目 041

来源:知识点练习「系统开发基础」第 41 题(原站入口)。

图中模块 A、B 都访问同一组全局变量和数据结构,它们之间属于( )耦合。

题目配图

  • A. 公共

  • B. 控制

  • C. 标记

  • D. 数据

答案与解析

平台答案:A。

整理解析

选 A。两个模块通过共享的全局数据环境发生关联,属于公共耦合。若仅通过参数传简单数据,通常讨论数据耦合;若传整个记录或结构体,通常讨论标记耦合;传递决定对方执行分支的标志则涉及控制耦合。

题目 042

来源:知识点练习「系统开发基础」第 42 题(原站入口)。

关于增量开发模型,下列说法不正确的是( )。

  • A. 不必等到整个系统开发完成就可以使用

  • B. 可以使用较早的增量构件作为原型,从而获得稍后的增量构件需求

  • C. 优先级最高的服务先交付,这样最重要的服务接受最多的测试

  • D. 有利于进行好的模块划分

答案与解析

平台答案:D。

整理解析

平台选 D。增量交付依赖先合理划分功能和接口,划分本身是需要解决的设计难点,不能说选择增量模型就自动得到良好的模块划分。较早交付的重要能力通常会在后续迭代反复验证,但“接受最多测试”也取决于测试计划,不是机械保证。

题目 043

来源:知识点练习「系统开发基础」第 43 题(原站入口)。

设计软件模块结构时,下列哪项不能改进设计质量( )?

  • A. 模块的作用范围应在其控制范围之内

  • B. 模块的大小适中

  • C. 避免或减少使用病态连接(从中部进入或访问一个模块)

  • D. 模块的功能越单纯越好

答案与解析

平台答案:D。

整理解析

平台选 D,宜理解为反对“越细小、越简单就一定越好”的绝对化:过度拆分会增加接口与协调成本,模块还应保持适当规模。单一职责与功能内聚本身是合理目标;若把“功能单纯”理解成职责明确,D也可成为良好原则。因此平台仅靠区分“单纯”和“单一”判错,措辞依据不足。

题目 044

来源:知识点练习「系统开发基础」第 44 题(原站入口)。

仓库体系结构由一个居于中心的数据仓库和若干其他构件组成,各构件访问仓库并对数据进行增加、删除、修改等操作。以下关于这种风格的说法中,不正确的是(44);不属于仓库风格的是(45)。

请作答:第 44 题。

  • A. 支持可更改性和可维护性

  • B. 具有可复用的知识源

  • C. 支持容错性和健壮性

  • D. 测试简单

答案与解析

平台答案:D。

整理解析

平台选 D。尤其在黑板式系统中,多种知识源围绕共享状态协作,调度与交互可能使测试、结果重现更困难,不能保证“测试简单”。原解析将黑板系统的特征泛化到所有仓库系统也偏宽;集中仓库的容错性仍须通过备份、恢复等设计实现,不能从风格名称直接保证。

题目 045

来源:知识点练习「系统开发基础」第 45 题(原站入口)。

仓库体系结构由一个居于中心的数据仓库和若干其他构件组成,各构件访问仓库并对数据进行增加、删除、修改等操作。以下关于这种风格的说法中,不正确的是(44);不属于仓库风格的是(45)。

请作答:第 45 题。

  • A. 数据库系统

  • B. 超文本系统

  • C. 黑板系统

  • D. 编译器

答案与解析

平台答案:D。

整理解析

按题目常见架构示例分类,平台选 D:数据库、黑板、超文本被列为仓库风格,编译器常用作管道—过滤器的例子。但编译器也可以围绕共享语法树、符号表等组织成仓库结构,实际可混合多种风格;本题答案不能理解成编译器绝不属于仓库风格。

同材料可参照第 44 题。

题目 046

来源:知识点练习「系统开发基础」第 46 题(原站入口)。

图(a)给出模块层次结构,图(b)给出集成测试顺序。此处采用的测试策略为(46);其优点不包括(47)。

题目配图

请作答:第 46 题。

  • A. 自底向上

  • B. 自顶向下

  • C. 三明治

  • D. 一次性

答案与解析

平台答案:C。

整理解析

本问选 C。图(b)一端从 A 向下加入 B、C、D,另一端先测试叶子 E、F、G,再形成 B/E/F 与 D/G 子集,最后汇合。两端分别采用自顶向下、自底向上并在中间会合,就是三明治集成。

题目 047

来源:知识点练习「系统开发基础」第 47 题(原站入口)。

图(a)给出模块层次结构,图(b)给出集成测试顺序。此处采用的测试策略为(46);其优点不包括(47)。

题目配图

请作答:第 47 题。

  • A. 较早地验证了主要的控制和判断点

  • B. 较早地验证了底层模块

  • C. 测试的并行程度较高

  • D. 较少的驱动模块和桩模块的编写工作量

答案与解析

平台答案:D。

整理解析

平台选 D。三明治策略可以较早检查顶层控制和底层功能,并让两端并行推进;但顶层可能需要桩、底层可能需要驱动,数量是否减少取决于划分和调度。D 不是必然优势,也不能反过来说这种策略永远无法减少测试替身的工作量。

同材料可参照第 46 题。

题目 048

来源:知识点练习「系统开发基础」第 48 题(原站入口)。

按 McCabe 度量法,图示程序的环路复杂性为( )。

题目配图

  • A. 1

  • B. 2

  • C. 3

  • D. 4

答案与解析

平台答案:C。

整理解析

选 C。图中10个编号结点、11条有向边,V(G)=11−10+2=3;其中4、5是两个二路分支点,也可用2+1核对。8→4是回边,不能漏计;环路复杂性不是简单地数图中画了几个圈。

题目 049

来源:知识点练习「系统开发基础」第 49 题(原站入口)。

软件开发的需求分析阶段,其输出不包括( )。

  • A. 数据流图

  • B. 实体联系图

  • C. 数据字典

  • D. 软件体系结构图

答案与解析

平台答案:D。

整理解析

选 D。按结构化开发的阶段划分,数据流图、概念实体联系图与数据字典用于表达需求分析结果;软件体系结构图主要是设计阶段的产物,回答实现方案如何组织。这里是教材的阶段职责区分,实际迭代中可交叉完善。

题目 050

来源:知识点练习「系统开发基础」第 50 题(原站入口)。

结构化分析中的数据流图用于描述(50)。若为图书馆管理系统绘制数据流图,下列(51)属于外部实体。

请作答:第 50 题。

  • A. 数据对象之间的关系,用于对数据建模

  • B. 数据在系统中如何被传送或变换,以及如何对数据流进行变换的功能或子功能,用于对功能建模

  • C. 系统对外部事件如何响应,如何动作,用于对行为建模

  • D. 数据流图中的各个组成部分

答案与解析

平台答案:B。

整理解析

本问选 B。DFD 展示数据从哪里来、经过哪些加工和存储、流向哪里,从而表达系统的功能分解。实体之间的关系通常用 ER 图描述,事件驱动的状态变化通常用状态模型描述,数据字典则解释图中数据项的含义。

题目 051

来源:知识点练习「系统开发基础」第 51 题(原站入口)。

结构化分析中的数据流图用于描述(50)。若为图书馆管理系统绘制数据流图,下列(51)属于外部实体。

请作答:第 51 题。

  • A. 读者

  • B. 图书

  • C. 借书证

  • D. 借阅

答案与解析

平台答案:A。

整理解析

本问选 A。相对于图书馆管理软件的边界,读者提交查询、借阅等请求并接收结果,是数据的外部来源或去处。图书和借书证更适合作为业务数据对象,借阅则是一项业务活动,不能仅因它们与系统有关就都叫外部实体。

同材料可参照第 50 题。

题目 052

来源:知识点练习「系统开发基础」第 52 题(原站入口)。

在结构化开发方法中,主要负责模块内部数据结构及算法设计的是( )。

  • A. 体系结构设计

  • B. 数据设计

  • C. 接口设计

  • D. 过程设计

答案与解析

平台答案:D。

整理解析

选 D。过程设计把结构中的部件细化为可执行的处理步骤,确定内部算法和所需数据结构。数据设计关注文件、数据库等数据组织,体系结构设计关注主要部件及关系,接口设计关注交互边界;本题强调的是模块内部的处理实现。

题目 053

来源:知识点练习「系统开发基础」第 53 题(原站入口)。

哪种敏捷方法把定期迭代称作“冲刺”,原题将周期写为每30天一次;按需求优先级实现产品,并由多个自组织、自治小组并行地增量交付( )?

  • A. 极限编程XP

  • B. 水晶法

  • C. 并列争球法

  • D. 自适应软件开发

答案与解析

平台答案:C。

整理解析

选 C,即 Scrum。识别线索是按优先级推进产品,并用 Sprint(冲刺)组织短周期增量。原题的“30天”是旧式教材表述;现代 Scrum 的 Sprint 是固定长度、一个月或更短,不要求恰好30天,多团队并行也不是使用 Scrum 的必要条件。

题目 054

来源:知识点练习「系统开发基础」第 54 题(原站入口)。

某开发组为公司开发产品控制软件,全程监控生产与销售:从采购各种材料,经产品加工,到最终销售。采购流程、加工过程和销售过程都可能变化。最不适合采用(54)模型,主要原因是该模型(55)。

请作答:第 54 题。

  • A. 瀑布

  • B. 原型

  • C. 增量

  • D. 喷泉

答案与解析

平台答案:A。

整理解析

本问选 A。采购、加工、销售流程都可能变化,意味着需求需要持续调整;传统瀑布较早确定基线并按阶段推进,跨阶段返工可能较大。选择依据是题干给出的需求变化,而不是平台解析额外假定的“大型系统”。

题目 055

来源:知识点练习「系统开发基础」第 55 题(原站入口)。

某开发组为公司开发产品控制软件,全程监控生产与销售:从采购各种材料,经产品加工,到最终销售。采购流程、加工过程和销售过程都可能变化。最不适合采用(54)模型,主要原因是该模型(55)。

请作答:第 55 题。

  • A. 不能解决风险

  • B. 不能快速提交软件

  • C. 难以适应变化的需求

  • D. 不能理解用户的需求

答案与解析

平台答案:C。

整理解析

本问选 C。瀑布按阶段交付与评审,对后期需求变化通常要重新检查上游分析、设计和下游实现,适应成本较高。它并非不能理解用户或绝不管理风险,本题应抓住“难以适应变化的需求”。

同材料可参照第 54 题。

题目 056

来源:知识点练习「系统开发基础」第 56 题(原站入口)。

以下哪项不属于软件质量特性中的可移植性( )?

  • A. 适应性

  • B. 易安装性

  • C. 易替换性

  • D. 易理解性

答案与解析

平台答案:D。

整理解析

选 D。按教材采用的传统质量分类,适应性、易安装性、易替换性属于可移植性;易理解性属于易用性。不同标准版本的分组可能调整,不能把这组名称当作所有版本通用的完整清单。

题目 057

来源:知识点练习「系统开发基础」第 57 题(原站入口)。

对图示流程采用白盒测试,达到路径覆盖至少需要(57)个测试用例;按 McCabe 度量法,其环路复杂性为(58)。

题目配图

请作答:第 57 题。

  • A. 3

  • B. 4

  • C. 6

  • D. 8

答案与解析

平台答案:C。

整理解析

本问选 C。按图示判定组合均可实现的口径,a有0、正、负三类控制路线,后面的 i>0 又分真、假两路,因此共有3×2=6条完整路径。每次执行只能覆盖其中一条,所以最少6例;例如让a取−1、0、1,分别配i=0、1。此结论还默认各语句不会让这些分支组合变成不可达。

题目 058

来源:知识点练习「系统开发基础」第 58 题(原站入口)。

对图示流程采用白盒测试,达到路径覆盖至少需要(57)个测试用例;按 McCabe 度量法,其环路复杂性为(58)。

题目配图

请作答:第 58 题。

  • A. 1

  • B. 2

  • C. 3

  • D. 4

答案与解析

平台答案:D。

整理解析

本问选 D。图中 a≠0、a>0、i>0 三个二路判定,环路复杂性为3+1=4;按处理框计数也有8个结点、10条边,10−8+2=4。前一问的6是全部可行路径数,4是独立路径基的规模,两者不是同一个指标。

同材料可参照第 57 题。

题目 059

来源:知识点练习「系统开发基础」第 59 题(原站入口)。

关于软件测试,下列说法不正确的是( )。

  • A. 在设计测试用例时应考虑输入数据和预期输出结果

  • B. 软件测试的目的是证明软件的正确性

  • C. 在设计测试用例时,应该包括合理的输入条件

  • D. 在设计测试用例时,应该包括不合理的输入条件

答案与解析

平台答案:B。

整理解析

选 B。测试用于发现缺陷、检查需求实现并提供质量证据;一般有限测试通过,不能证明程序在所有可能输入和环境下都绝对正确。用例需要输入及预期结果,也应包含合法输入与不合法输入,以检验正常处理和错误处理。

题目 060

来源:知识点练习「系统开发基础」第 60 题(原站入口)。

某模块中,处理 A 向数据结构 X 写入数据,处理 B 从同一数据结构 X 读取数据。该模块属于( )内聚。

  • A. 逻辑

  • B. 过程

  • C. 通信

  • D. 内容

答案与解析

平台答案:C。

整理解析

选 C。读、写操作都围绕数据结构 X 展开,结合点是共同数据,因此是通信内聚。仅有执行先后要求通常指过程内聚;“内容”在本题教材分类中通常出现在内容耦合概念,不是这里的内聚类型。

题目 061

来源:知识点练习「系统开发基础」第 61 题(原站入口)。

使用结构化方法开发软件时,设计阶段的接口设计主要依据需求分析产物(61);接口设计的主要任务为(62)。

请作答:第 61 题。

  • A. 数据流图

  • B. E-R图

  • C. 状态-迁移图

  • D. 加工规格说明

答案与解析

平台答案:A。

整理解析

本问选 A。DFD 描述系统边界及加工之间流动的数据,能据此识别外部交互、输入输出以及模块间需要传递的信息,为接口设计提供主要线索。数据字典等分析产物可进一步细化字段和约束,并非只看一张图即可完成设计。

题目 062

来源:知识点练习「系统开发基础」第 62 题(原站入口)。

使用结构化方法开发软件时,设计阶段的接口设计主要依据需求分析产物(61);接口设计的主要任务为(62)。

请作答:第 62 题。

  • A. 定义软件的主要结构元素及其之间的关系

  • B. 确定软件涉及的文件系统的结构及数据库的表结构

  • C. 描述软件与外部环境之间的交互关系,软件内模块之间的调用关系

  • D. 确定软件各个模块内部的算法和数据结构

答案与解析

平台答案:C。

整理解析

本问选 C。接口设计规定系统与外部环境如何交互、内部模块如何调用与交换信息。A偏向体系结构,B偏向数据组织,D偏向模块内部的过程设计。接口也不限于人机界面,还包括服务、模块及外部系统之间的约定。

同材料可参照第 61 题。

题目 063

来源:知识点练习「系统开发基础」第 63 题(原站入口)。

关于螺旋模型,下列说法不正确的是( )。

  • A. 它是风险驱动的,要求开发人员必须具有丰富的风险评估知识和经验

  • B. 它可以降低过多测试或测试不足带来的风险

  • C. 它包含维护周期,因此维护和开发之间没有本质区别

  • D. 它不适用于大型软件开发

答案与解析

平台答案:D。

整理解析

平台选 D。螺旋模型适合风险高、规模较大的项目,用逐轮风险分析决定后续开发、验证或是否继续投入。其他模型也能管理风险,区别是螺旋以此组织过程。C 的“开发与维护没有本质区别”应理解为都可沿迭代周期演化,不表示维护与首次开发的约束、任务和成本完全相同。

题目 064

来源:知识点练习「系统开发基础」第 64 题(原站入口)。

关于极限编程 XP 中的结对编程,下列说法不正确的是( )。

  • A. 支持共同代码拥有和共同对系统负责

  • B. 承担了非正式的代码审查过程

  • C. 代码质量更高

  • D. 编码速度更快

答案与解析

平台答案:D。

整理解析

平台选 D。结对编程让一人操作、一人同步检查与讨论,可支持共享理解和持续代码审查;但并不保证即时编码速度更快。平台“编码速度不能改变”同样过于绝对,配对经验、任务类型及减少返工等都会影响局部速度和总体交付效率,质量收益也依赖有效协作。

题目 065

来源:知识点练习「系统开发基础」第 65 题(原站入口)。

关于 C/S(客户机/服务器)体系结构的优点,下列说法不正确的是( )。

  • A. 允许合理地划分三层的功能,使之在逻辑上保持相对独立性

  • B. 允许各层灵活地选用平台和软件

  • C. 各层可以选择不同的开发语言进行并行开发

  • D. 系统安装、修改和维护均只在服务器端进行

答案与解析

平台答案:D。

整理解析

选 D。典型 C/S 的客户端也包含需要部署、更新和维护的软件,因此不能说一切变更只在服务器端完成。A、B、C 实际按三层 C/S 讨论表现、业务和数据职责的分离;C/S 本身并不必然限定为三层。

题目 066

来源:知识点练习「系统开发基础」第 66 题(原站入口)。

设计软件模块结构时,下列哪项不能改进设计质量( )?

  • A. 尽量减少高扇出结构

  • B. 模块的大小适中

  • C. 将具有相似功能的模块合并

  • D. 完善模块的功能

答案与解析

平台答案:C。

整理解析

平台选 C。仅因功能看起来相似就把模块合并,可能把不同职责和变化原因绑在一起,削弱内聚、扩大依赖。应根据职责和数据联系判断;真正重复且职责一致的逻辑仍可合理抽取复用。模块规模、扇入扇出等也需结合上下文,平台所列行数或数量阈值只能作为经验参考。

题目 067

来源:知识点练习「系统开发基础」第 67 题(原站入口)。

模块 A、B、C 都含有相同程序块,而块内语句彼此没有联系。将该块提取为模块 D 后,D 属于(67)内聚;以下关于这种内聚类型的说法中,不正确的是(68)。

请作答:第 67 题。

  • A. 巧合

  • B. 逻辑

  • C. 时间

  • D. 过程

答案与解析

平台答案:A。

整理解析

本问选 A。各语句互不相关,只是碰巧在多个地方一起出现,把它们打包并没有形成统一职责,因此属于巧合内聚(偶然内聚)。与第13题考点相近,但题干、选项和本组后续小问不同,分别保留。

题目 068

来源:知识点练习「系统开发基础」第 68 题(原站入口)。

模块 A、B、C 都含有相同程序块,而块内语句彼此没有联系。将该块提取为模块 D 后,D 属于(67)内聚;以下关于这种内聚类型的说法中,不正确的是(68)。

请作答:第 68 题。

  • A. 具有最低的内聚性

  • B. 不易修改和维护

  • C. 不易理解

  • D. 不影响模块间的耦合关系

答案与解析

平台答案:D。

整理解析

平台选 D。将不相关操作集中到一个模块,可能让多个调用方依赖同一组无关细节,修改影响范围也可能扩大,不能断言不会影响耦合。巧合内聚通常最弱、难于理解维护,但平台“必然增加耦合”也过强,具体还须看接口和依赖如何变化。

同材料可参照第 67 题。

题目 069

来源:知识点练习「系统开发基础」第 69 题(原站入口)。

对图示流程图分别做语句覆盖和路径覆盖测试,所需的最少用例数分别是(69);按 McCabe 度量法,环路复杂度为(70)。

题目配图

请作答:第 69 题。

  • A. 2和3

  • B. 2和4

  • C. 2和5

  • D. 2和6

答案与解析

平台答案:B。

整理解析

平台选 B,即2和4;这是把循环限制为零次或一次来枚举代表路径的口径。一次循环内,要走语句3的分支与走语句4、5的分支互斥,所以在这个限制下至少2例覆盖全部语句,零次循环加循环内3种路线共4条。一般循环可执行多轮,完整路径可能无穷多;若一次运行能在不同轮切换分支,单例也可能覆盖全部语句,是否可行取决于未给出的条件和语句内容。因此题干缺少循环边界,不能无条件断言最少2例、4例。

题目 070

来源:知识点练习「系统开发基础」第 70 题(原站入口)。

对图示流程图分别做语句覆盖和路径覆盖测试,所需的最少用例数分别是(69);按 McCabe 度量法,环路复杂度为(70)。

题目配图

请作答:第 70 题。

  • A. 1

  • B. 2

  • C. 3

  • D. 4

答案与解析

平台答案:D。

整理解析

本问选 D。图中判断1、判断2、判断3共3个二路判定,静态环路复杂度为3+1=4;按开始、结束和处理框计数为11个结点、13条边,13−11+2=4。循环回到判断1并不会新增判定结点。这个4不表示所有循环执行路径只有4条。

同材料可参照第 69 题。

题目 071

来源:知识点练习「系统开发基础」第 71 题(原站入口)。

某医院预约系统允许患者查看专家特长介绍与就诊时间,记录患者信息,并让患者预约特定时间就诊。用 DFD 做功能建模时,患者属于(71);用 ERD 做数据建模时,患者属于(72)。

请作答:第 71 题。

  • A. 外部实体

  • B. 加工

  • C. 数据流

  • D. 数据存储

答案与解析

平台答案:A。

整理解析

本问选 A。以预约软件为系统边界,患者向系统提供预约和身份信息、读取专家及时间信息,是系统外部的数据来源与接收者,所以在DFD中画为外部实体。判断依据是系统边界和信息交互,不是“患者不参与任何加工”。

题目 072

来源:知识点练习「系统开发基础」第 72 题(原站入口)。

某医院预约系统允许患者查看专家特长介绍与就诊时间,记录患者信息,并让患者预约特定时间就诊。用 DFD 做功能建模时,患者属于(71);用 ERD 做数据建模时,患者属于(72)。

请作答:第 72 题。

  • A. 实体

  • B. 属性

  • C. 联系

  • D. 弱实体

答案与解析

平台答案:A。

整理解析

本问选 A。ERD 把需要存储其属性、与预约等业务对象建立联系的患者建模为实体。题干没有给出必须依靠另一实体才能识别患者的条件,不能据此判为弱实体。相同业务对象在DFD和ERD中的角色可以不同,因为两种模型的关注点不同。

同材料可参照第 71 题。

题目 073

来源:知识点练习「系统开发基础」第 73 题(原站入口)。

企业财务系统的下列要求中,属于功能需求的是( )。

  • A. 每个月特定的时间发放员工工资

  • B. 系统的响应时间不超过 3 秒

  • C. 系统的计算精度符合财务规则的要求

  • D. 系统可以允许100个用户同时查询自己的工资

答案与解析

平台答案:A。

整理解析

平台选 A。按月定时发工资直接规定系统要完成的业务行为;响应时间和并发人数属于性能约束。计算精度在本题按质量或业务约束归类,但若具体要求规定金额计算、舍入方式,它也可能成为可执行的功能规则,不能把所有精度描述一概排除在功能需求之外。

题目 074

来源:知识点练习「系统开发基础」第 74 题(原站入口)。

用白盒方法测试图示流程,要达到分支覆盖至少需(74)个用例,正确的一对用例是(75)。每个用例以(A,B,X;X)表示,分号前是输入,分号后是预期输出。

题目配图

请作答:第 74 题。

  • A. 1

  • B. 2

  • C. 3

  • D. 4

答案与解析

平台答案:B。

整理解析

本问选 B。图中有两个顺序判定,每个都要经历真、假;一例不能同时覆盖同一个判定的两个结果,因此至少2例。输入(1,1,5)依次走假、假;(5,2,20)先使首判定为真,整数除法后X=4,再使第二判定为真,所以2例足够。首判定是A>2或B=3,要为假须A≤2且B≠3,不能像平台解析那样只讨论A。

题目 075

来源:知识点练习「系统开发基础」第 75 题(原站入口)。

用白盒方法测试图示流程,要达到分支覆盖至少需(74)个用例,正确的一对用例是(75)。每个用例以(A,B,X;X)表示,分号前是输入,分号后是预期输出。

题目配图

请作答:第 75 题。

  • A. (1,3,3;3)和(5,2,15;3)

  • B. (1,1,5;5)和(5,2,20;9)

  • C. (2,3,10;5)和(5,2,18;3)

  • D. (5,2,16;3)和(5,2,21;9)

答案与解析

平台答案:B。

整理解析

本问选 B。第一例(1,1,5)使A>2或B=3为假,后续A=5且X>3也为假,输出5;第二例(5,2,20)先令X=20/5=4,再满足A=5且X>3,执行X=X+5,输出9。A、C、D三组选项的首判定都只取真,不能覆盖其假分支。图中明确输入为int,应使用整数除法;第二次判断使用的是更新后的X。

同材料可参照第 74 题。

题目 076

来源:知识点练习「系统开发基础」第 76 题(原站入口)。

以下哪项不在经典极限编程 XP 的十二项最佳实践中( )?

  • A. 小型发布

  • B. 结对编程

  • C. 持续集成

  • D. 精心设计

答案与解析

平台答案:D。

整理解析

选 D。经典XP十二项实践中对应的名称是“简单设计”,而不是“精心设计”;小型发布、结对编程、持续集成均在该组实践中。简单设计不等于草率设计,而是满足当前需要并通过测试和重构持续改进,避免无依据的提前复杂化。

题目 077

来源:知识点练习「系统开发基础」第 77 题(原站入口)。

关于管道—过滤器体系结构,下列说法不正确的是( )。

  • A. 软件构件具有良好的高内聚、低耦合的特点

  • B. 支持重用

  • C. 支持并行执行

  • D. 提高性能

答案与解析

平台答案:D。

整理解析

平台选 D,应理解为“不能保证提高性能”。过滤器间的数据转换、传递和缓冲可能带来开销,吞吐量也受最慢阶段限制;另一方面,流水并行和合适的分工又可能提高吞吐量。因此平台直接说“不能提高性能”不准确,需结合工作负载和实现判断。

题目 078

来源:知识点练习「系统开发基础」第 78 题(原站入口)。

模块 A 将学生姓名、学号、手机号等学生信息装入一个结构体,再传递给模块 B。两模块之间属于( )耦合。

  • A. 数据

  • B. 标记

  • C. 控制

  • D. 内容

答案与解析

平台答案:B。

整理解析

选 B。A通过参数传入一整个学生记录结构,按教材称为标记耦合(也称特征耦合或印记耦合)。它不同于只传所需简单数据项的数据耦合,也不是直接共享全局环境的公共耦合。实际应关注B是否依赖不需要的字段及记录布局;传递结构化对象本身并不自动意味着设计错误。

题目 079

来源:知识点练习「系统开发基础」第 79 题(原站入口)。

一个模块承担多个功能,这些功能必须按特定次序执行。该模块属于( )内聚。

  • A. 时间

  • B. 过程

  • C. 信息

  • D. 功能

答案与解析

平台答案:B。

整理解析

选 B。多个操作因为控制流程要求而按特定次序组织,属于过程内聚。若进一步明确前一操作的输出就是下一操作的输入,才有顺序内聚的特征;题目只给出执行次序,没有给出这种数据传递关系。

题目 080

来源:知识点练习「系统开发基础」第 80 题(原站入口)。

系统交付用户后,为改善图形输出而修改系统,这属于( )维护。

  • A. 改正性

  • B. 适应性

  • C. 改善性

  • D. 预防性

答案与解析

平台答案:C。

整理解析

选 C,这里的“改善性”对应完善性维护。题目描述为提升图形输出效果而修改已交付系统,属于功能或表现能力的改进;若实际是纠正未达到原需求的图形错误,则应另按改正性维护判断。

题目 081

来源:知识点练习「系统开发基础」第 81 题(原站入口)。

一个基于 Web 的电子商务应用需要访问保存在数据库中的业务对象。下列哪一项是常用访问方式之一( )?

  • A. JDBC

  • B. XML

  • C. CGI

  • D. COM

答案与解析

平台答案:A。

整理解析

选 A。JDBC 是 Java 的数据库连接与访问接口,可用于建立连接、执行 SQL 并读取结果,最直接对应题目的数据库访问需求。XML 用于表示数据,CGI 规定 Web 服务器与外部程序的交互方式,COM 是组件对象模型。限定说明:CGI 程序或 COM 组件也可以调用数据库接口参与访问流程,不能把平台的分类表述理解为它们绝对无法访问数据库。

题目 082

来源:知识点练习「系统开发基础」第 82 题(原站入口)。

结构化分析会产生数据字典。按本题采用的条目分类,以下哪项不属于数据字典条目( )?

  • A. 外部实体

  • B. 数据流

  • C. 数据项

  • D. 基本加工

答案与解析

平台答案:A。

整理解析

按本题教材的“数据项、数据流、数据存储、基本加工”分类选 A。外部实体描述系统边界外的数据来源或去向。限定说明:不同方法的数据字典也可能登记外部实体,不能把排除它说成所有工具的统一规则;平台解析先说包含外部实体、随后又排除,前后口径不一致。

题目 083

来源:知识点练习「系统开发基础」第 83 题(原站入口)。

商店系统的“检查订货单”加工遵循以下规则:金额大于 5000 元且欠款超过 60 天时不批准;金额大于 5000 元而欠款不超过 60 天时,发批准书和发货单;金额不超过 5000 元时也发批准书、发货单,若同时欠款超过 60 天,还须发催款通知书。用决策表表示时,题目所问的“条件取值的组合数最少”为多少( )?

  • A. 2

  • B. 3

  • C. 4

  • D. 5

答案与解析

平台答案:B。

整理解析

按合并相同行为的规则列计数选 B,共 3 列:①金额>5000 且逾期>60 天,不批准;②逾期≤60 天,不论金额大小都发批准书和发货单;③金额≤5000 且逾期>60 天,发上述两单并催款。两个布尔条件原本仍有 2×2=4 种取值组合;“3”指决策表化简后的规则数,不能理解为原始条件组合只有三种。

题目 084

来源:知识点练习「系统开发基础」第 84 题(原站入口)。

关于增量式软件开发,以下哪项叙述不正确( )?

  • A. 容易理解,管理成本低

  • B. 核心的产品往往首先开发,因此经历最充分的“测试”

  • C. 第一个可交付版本所需要的成本低,时间少

  • D. 即使一开始用户需求不清晰,对开发进度和质量也没有影响

答案与解析

平台答案:D。

整理解析

选 D。增量交付可以逐步获取反馈,但需求不清仍会影响架构、估算与接口,导致后续增量返工,不能断言进度和质量完全不受影响。A 所说管理成本低也只是可能的相对优势;多版本配置与集成会增加管理复杂度,并非无条件成立。

题目 085

来源:知识点练习「系统开发基础」第 85 题(原站入口)。

CMMI 综合并改进了多个过程模型,提供连续式和阶段式两种表示。题设的连续式有 6 个过程域能力等级;其中哪一级的共性目标是将可标识的输入工作产品转换成可标识的输出工作产品,以支持该过程域的特定目标( )?

  • A. CL1(已执行的)

  • B. CL2(已管理的)

  • C. CL3(已定义的)

  • D. CL4(定量管理的)

答案与解析

平台答案:A。

整理解析

选 A,即 CL1“已执行”。关键是过程已实际完成工作并达到过程域目标;CL2 进一步强调过程受计划、监控与管理,CL3 强调组织级定义,CL4 强调定量管理。版本说明:题干采用 CL0—CL5 的旧版连续式分类,不能将“六级”套用到所有新版 CMMI。

题目 086

来源:知识点练习「系统开发基础」第 86 题(原站入口)。

以下哪类工具被题目排除在软件维护工具之外( )?

  • A. 版本控制

  • B. 配置管理

  • C. 文档分析

  • D. 逆向工程

答案与解析

平台答案:B。

整理解析

平台答案保留 B,但该排除缺乏充分依据:配置管理用于控制变更、版本与基线,本来就支持维护,版本控制还是其重要组成部分。原页已核实:B 确为“配置管理”、平台答案确为 B,解析同时列出“配置管理支持工具”。这是平台自身的分类或答案矛盾;若按特定教材另归类别,须说明该分类口径,不能断言配置管理不用于维护。

题目 087

来源:知识点练习「系统开发基础」第 87 题(原站入口)。

下列哪项通常不写入概要设计文档,而属于更细的设计内容( )?

  • A. 体系结构设计

  • B. 数据库设计

  • C. 模块内算法设计

  • D. 逻辑数据结构设计

答案与解析

平台答案:C。

整理解析

选 C。概要设计确定系统结构、模块划分、接口和总体数据安排;模块内部怎样逐步计算属于详细设计的算法设计。数据库和数据结构的设计可跨多个阶段逐步细化,不能仅凭“数据”二字排除它们。

题目 088

来源:知识点练习「系统开发基础」第 88 题(原站入口)。

耦合用于衡量模块之间连接的紧密程度及相对独立性。以下哪项不是其直接判断依据( )?

  • A. 调用模块的方式

  • B. 各个模块之间接口的复杂程度

  • C. 通过接口的信息类型

  • D. 模块提供的功能数

答案与解析

平台答案:D。

整理解析

选 D。调用方式、接口复杂度和传递的是数据还是控制信息,直接反映模块间依赖;模块提供多少功能本身主要涉及职责划分,不能单独决定耦合。功能增多可能间接增加依赖,但不是本题定义中的直接判据。

题目 089

来源:知识点练习「系统开发基础」第 89 题(原站入口)。

对所示程序流程图进行测试:达到判定覆盖至少需要(89)个测试用例,按 McCabe 方法计算的环路复杂度为(90)。

题目配图

请作答:第 89 题。

  • A. 2

  • B. 3

  • C. 4

  • D. 5

答案与解析

平台答案:A。

整理解析

平台给出 A,即 2 个。判定覆盖要求图中的“X>0 或 Y>0”及“Z>5”都经历真、假结果。但原图存在回边,且语句 1、2、3 的内容未知,无法仅凭图严格证明最少必须为 2:若循环内能改变 X/Y/Z,一次运行也可能依次走两个判定的全部分支;若变量不改变,Z≤5 的路径又可能不终止。两用例结论需要额外的状态更新与可行性假设。原页已核实:只有这两个小问和单张流程图,没有赋值语义或循环限制;条件不足属于原题。不要把图中复合判定的条件覆盖与判定覆盖混为一谈。

题目 090

来源:知识点练习「系统开发基础」第 90 题(原站入口)。

对所示程序流程图进行测试:达到判定覆盖至少需要(89)个测试用例,按 McCabe 方法计算的环路复杂度为(90)。

题目配图

请作答:第 90 题。

  • A. 2

  • B. 3

  • C. 4

  • D. 5

答案与解析

平台答案:B。

整理解析

按原图每个菱形视为一个判定结点,选 B。两个二分判定使 V(G)=2+1=3;直接计数也得 E=11、N=10,V=E−N+2=3。环路复杂度是控制流图的独立路径维数,不等于全部循环执行路径数,也不直接给出判定覆盖的最少用例数。若另行展开“或”的短路求值,必须重建图后再计数。

题目 091

来源:知识点练习「系统开发基础」第 91 题(原站入口)。

软件调试要从测试发现的错误定位原因并修正。某种方法先收集成功与失败的数据,分析其联系,再提出可能的错误原因并用数据支持或反驳。该方法称为( )?

  • A. 试探法

  • B. 回溯法

  • C. 归纳法

  • D. 演绎法

答案与解析

平台答案:C。

整理解析

选 C。它从具体观察与样例中概括出解释错误的假设,属于归纳法。沿错误位置反向追踪是回溯;先列一般原因并逐一排除,侧重演绎。

题目 092

来源:知识点练习「系统开发基础」第 92 题(原站入口)。

下列哪项不属于结构化分析阶段的典型输出( )?

  • A. 数据流图

  • B. 数据字典

  • C. 加工逻辑

  • D. 结构图

答案与解析

平台答案:D。

整理解析

选 D。结构化分析用分层数据流图、数据字典和基本加工逻辑描述系统需要完成的工作;模块结构图描述模块划分及调用关系,属于结构化设计。

题目 093

来源:知识点练习「系统开发基础」第 93 题(原站入口)。

航空公司开发机票预订系统,旅客用信用卡付款,系统通过信用卡公司已有管理系统的接口完成支付。用数据流图建立需求模型时,这个信用卡管理系统属于哪类元素( )?

  • A. 外部实体

  • B. 加工

  • C. 数据流

  • D. 数据存储

答案与解析

平台答案:A。

整理解析

选 A。建模边界是机票预订系统,信用卡管理系统位于边界外,通过接口提供服务并交换数据,因而是外部实体;它并非预订系统内部的加工或数据存储。

题目 094

来源:知识点练习「系统开发基础」第 94 题(原站入口)。

企业计划开发涉及多个部门业务的信息管理系统,希望尽早投入实际使用,并在使用中持续完善功能。四种软件过程模型中,哪一种最符合这一目标( )?

  • A. 瀑布模型

  • B. 原型模型

  • C. 演化(迭代)模型

  • D. 螺旋模型

答案与解析

平台答案:C。

整理解析

选 C。先交付可用系统,再依据实际反馈迭代扩充和改善功能,对应演化式开发。原型也可帮助澄清需求,演化原型与这种做法并不完全排斥;本题着重的是持续演进可运行产品,而不只是制作需求验证样品。

题目 095

来源:知识点练习「系统开发基础」第 95 题(原站入口)。

CMMI 有连续式与阶段式表示。按题目采用的 6 个连续式过程域能力等级,使用量化、统计手段改变并优化过程域,以适应客户要求变化和持续改进目标的是哪一级( )?

  • A. CL2(已管理的)

  • B. CL3(已定义级的)

  • C. CL4(定量管理的)

  • D. CL5(优化的)

答案与解析

平台答案:D。

整理解析

选 D,即 CL5“优化”。CL4 侧重用定量方法控制已有过程,CL5 在此基础上持续改进、改变过程以提升绩效。六级编号是题设的旧版模型口径,不能不分版本沿用。

题目 096

来源:知识点练习「系统开发基础」第 96 题(原站入口)。

ISO/IEC 9126 用可靠性描述软件在规定条件和时间内维持规定性能水平的能力。以下哪项不属于其可靠性子特性( )?

  • A. 安全性

  • B. 成熟性

  • C. 容错性

  • D. 易恢复性

答案与解析

平台答案:A。

整理解析

选 A。按 ISO/IEC 9126,成熟性、容错性、易恢复性属于可靠性,安全性列在功能性之下。较新的 ISO/IEC 25010 将安全性单列为质量特性,解题应遵守题目指定的标准版本。

题目 097

来源:知识点练习「系统开发基础」第 97 题(原站入口)。

下面关于模块化设计的说法,哪项不正确( )?

  • A. 尽量考虑高内聚、低耦合,保持模块的相对独立性

  • B. 模块的控制范围在其作用范围内

  • C. 模块的规模适中

  • D. 模块的宽度、深度、扇入和扇出适中

答案与解析

平台答案:B。

整理解析

选 B,包含方向写反了。模块内判定所影响的范围应处于该模块及其下属模块构成的控制范围内,从而避免一个模块影响不受其协调的部分。高内聚、低耦合以及合适的规模与层次都是设计目标;代码行数、扇入扇出数不宜视为跨项目的固定硬阈值。

题目 098

来源:知识点练习「系统开发基础」第 98 题(原站入口)。

企业管理信息系统的采购子系统利用材料价格、数量等计算采购金额,再向财务子系统传送采购金额、收款方、采购日期等信息。两个子系统属于哪种耦合( )?

  • A. 数据

  • B. 标记

  • C. 控制

  • D. 外部

答案与解析

平台答案:B。

整理解析

平台选 B,隐含把这些字段作为一条记录或数据结构参数传递,因而归为标记耦合。题面只列出多项业务数据,没有明确它们的传递形式:若各项作为简单数据参数传递,则可归为 A 数据耦合。字段多并不能证明一定封装成结构,更不能证明一定传地址。原页已核实:确实没有记录或结构参数说明,这种条件不足属于原题,不能为迎合答案补入封装或传地址的假设。

题目 099

来源:知识点练习「系统开发基础」第 99 题(原站入口)。

下面伪代码用缩进表示程序块。若要求覆盖所有路径,至少需要(99)个用例;相应控制流图的 McCabe 环路复杂度为(100)。

题目配图

请作答:第 99 题。

  • A. 2

  • B. 4

  • C. 6

  • D. 8

答案与解析

平台答案:B。

整理解析

按图中判断结果可实现的常规假设,选 B。x>0 时才判断 y>0,x≤0 时才判断 z>0,所以终端分支为“x正、y正”“x正、y非正”“x非正、z正”“x非正、z非正”,共 4 条,不能误算成三个判断全部组合的 8 条。忽略占位语句对判断值的额外改动时,可分别取 (x,y,z)=(1,1,0)、(1,−1,0)、(−1,0,1)、(−1,0,−1)。

题目 100

来源:知识点练习「系统开发基础」第 100 题(原站入口)。

下面伪代码用缩进表示程序块。若要求覆盖所有路径,至少需要(99)个用例;相应控制流图的 McCabe 环路复杂度为(100)。

题目配图

请作答:第 100 题。

  • A. 2

  • B. 3

  • C. 4

  • D. 5

答案与解析

平台答案:C。

整理解析

选 C。控制流含 x>0、y>0、z>0 三个二分判定,且为单入口单出口连通图,V(G)=3+1=4。这里无循环,恰有四条结构路径;其他程序中环路复杂度与全部路径数未必相等。纠错:本题解析配图把外层 else 下的“语句5”误标为“语句3”,也错移了左侧内层语句编号;应以题干伪代码为准,拓扑形态与复杂度不受这些标签错误影响。

题目 101

来源:知识点练习「系统开发基础」第 101 题(原站入口)。

商场销售系统依赖信用卡公司的信息系统。由于对方改变了数据格式,销售系统随之修改;这属于哪类维护( )?

  • A. 改正性

  • B. 适应性

  • C. 改善性

  • D. 预防性

答案与解析

平台答案:B。

整理解析

选 B。变化来自系统外部的数据交换环境,修改是为了继续兼容新格式,因此是适应性维护。不是修复既有逻辑错误,也不是单纯增加功能。

题目 102

来源:知识点练习「系统开发基础」第 102 题(原站入口)。

采用数据流图进行建模时,应遵循怎样的分解方向和抽象层次变化( )?

  • A. 自顶向下、从具体到抽象

  • B. 自顶向下、从抽象到具体

  • C. 自底向上、从具体到抽象

  • D. 自底向上、从抽象到具体

答案与解析

平台答案:B。

整理解析

选 B。先描述整个系统与外部的数据交换,再把较高层的加工逐层分解为更具体的子加工,即自顶向下、从抽象到具体。各层仍是需求的逻辑模型,不等于越细就必须写成实现代码。

题目 103

来源:知识点练习「系统开发基础」第 103 题(原站入口)。

结构化设计中的结构图表示软件系统由哪些模块组成,以及模块之间如何调用。下列哪项不属于题目所称的基本成分( )?

  • A. 模块

  • B. 调用

  • C. 数据

  • D. 控制

答案与解析

平台答案:D。

整理解析

平台答案为 D,但“控制”的含义不够明确。结构图确实可表示模块间传递的控制信息,常用带实心圆的箭头区别于数据传递;若 D 指控制信息,则不能将它排除。只有把“控制”限定为程序内部的顺序、分支、循环等控制结构,才符合平台解释。原页已核实: D 就是“控制”,题干无额外限定;这处术语歧义仍须保留,不能把“结构图不表示控制信息”当成结论。

题目 104

来源:知识点练习「系统开发基础」第 104 题(原站入口)。

有关系统原型的用途,下列哪项被题目判为不正确( )?

  • A. 可以帮助导出系统需求并验证需求的有效性

  • B. 可以用来探索特殊的软件解决方案

  • C. 可以用来指导代码优化

  • D. 可以用来支持用户界面设计

答案与解析

平台答案:C。

整理解析

按原型法通常用于需求澄清、方案探索和界面验证的教材口径,选 C。限定说明:不能据此绝对断言原型无法指导优化;性能原型和实验代码也能提供算法或实现性能的信息。代码优化不是一般需求原型的主要目标,这是平台答案较合理的适用范围。

题目 105

来源:知识点练习「系统开发基础」第 105 题(原站入口)。

以下关于极限编程 XP 最佳实践的说法,哪项不正确( )?

  • A. 只处理当前的需求,使设计保持简单

  • B. 编写完程序之后编写测试代码

  • C. 可以按日甚至按小时为客户提供可运行的版本

  • D. 系统最终用户代表应该全程配合XP团队

答案与解析

平台答案:B。

整理解析

选 B。XP 提倡测试先行:先用自动化测试表达预期行为,再编写使测试通过的代码,并持续重构。简单设计、频繁集成或小版本交付、客户代表持续参与都符合其方向。重构应保持外部可观察行为,不能把它简单等同于重新定义需求。

题目 106

来源:知识点练习「系统开发基础」第 106 题(原站入口)。

在 ISO/IEC 9126 质量模型里,“安全性”归属于以下哪一个质量特性( )?

  • A. 功能性

  • B. 可靠性

  • C. 效率

  • D. 可维护性

答案与解析

平台答案:A。

整理解析

选 A。题目指定的 ISO/IEC 9126 将安全性列为功能性的子特性。不要用后续 ISO/IEC 25010 中安全性独立成类的分类替换本题口径。

题目 107

来源:知识点练习「系统开发基础」第 107 题(原站入口)。

模块 A 向模块 B 传递数据结构 X,这两个模块属于哪种耦合( )?

  • A. 数据耦合

  • B. 公共耦合

  • C. 外部耦合

  • D. 标记耦合

答案与解析

平台答案:D。

整理解析

选 D。模块通过记录或复合数据结构参数联系,按本题分类是标记耦合;只传递简单数据参数才对应数据耦合,共享公共数据环境则是另一种联系。数据结构可按值或按引用传递,不应把某一种传递机制说成必要条件。

题目 108

来源:知识点练习「系统开发基础」第 108 题(原站入口)。

Theo Mandel 提出的界面设计三条“黄金准则”不包含以下哪项( )?

  • A. 用户操纵控制

  • B. 界面美观整洁

  • C. 减轻用户的记忆负担

  • D. 保持界面一致

答案与解析

平台答案:B。

整理解析

选 B。三条准则关注用户掌握控制、降低记忆负担和保持一致性。美观整洁可以是良好界面的要求,但不在这里指定的三条名称中。

题目 109

来源:知识点练习「系统开发基础」第 109 题(原站入口)。

下列关于软件测试的说法中,哪项正确( )?

  • A. 实际上,可以采用穷举测试来发现软件中的所有错误

  • B. 错误很多的程序段在修改后错误一般会非常少

  • C. 测试可以用来证明软件没有错误

  • D. 白盒测试技术中,路径覆盖法往往能比语句覆盖法发现更多的错误

答案与解析

平台答案:D。

整理解析

选 D。路径覆盖比单纯执行过每条语句更关注分支组合,因此通常有更强的发现缺陷机会,但并不保证一定发现更多错误。一般软件的输入和状态空间巨大,测试通过不能证明没有缺陷;小型有限域可做穷举,也不能因此宣称能发现任意软件的所有错误。缺陷聚集是经验现象,不是严格的数量正比定律。

题目 110

来源:知识点练习「系统开发基础」第 110 题(原站入口)。

招聘系统限定年龄为 20—60 岁(包含两端),学历为本科、硕士或博士,专业为计算机科学与技术、通信工程或电子工程。按这三个字段设计测试时,以下哪组不是好的测试用例( )?

  • A. (20,本科,电子工程)

  • B. (18,本科,通信工程)

  • C. (18,大专,电子工程)

  • D. (25,硕士,生物学)

答案与解析

平台答案:C。

整理解析

按分别检验无效等价类的目的,选 C:18 岁和大专同时违反两个字段约束,失败时不易判断是哪项校验被触发。A 是合法边界,B 只违反年龄,D 只违反专业。多字段同时无效仍可用于组合健壮性测试,所以“不好”应限于本题这种单独验证无效类的目标。

题目 111

来源:知识点练习「系统开发基础」第 111 题(原站入口)。

系统交付使用一段时间后,某功能被发现响应很慢。开发人员修改一个模块的算法,使运行速度提高;这属于哪种维护( )?

  • A. 改正性

  • B. 适应性

  • C. 改善性

  • D. 预防性

答案与解析

平台答案:C。

整理解析

按题目将其视为性能改善的意图,选 C。通过改进算法提升效率属于改善性维护。若“慢”实际违反了原先约定的性能需求,而修改是修复该缺陷,则也可能归为改正性维护;题面未交代原性能基线,不能仅凭速度提升给所有修改定类。

题目 112

来源:知识点练习「系统开发基础」第 112 题(原站入口)。

某考试系统先审核报名表;审核通过的考生登录后,系统自动生成一套试题,由考试中心提供标准答案;阅卷老师提交成绩,考生再查询自己的分数。用数据流图建模时,哪项不是外部实体( )?

  • A. 考生

  • B. 考试中心

  • C. 阅卷老师

  • D. 试题

答案与解析

平台答案:D。

整理解析

选 D。考生、考试中心和阅卷老师是相对系统边界的外部参与者,可作为数据来源或去向;试题是系统处理和传递的数据内容,不是独立的外部参与者。

题目 113

来源:知识点练习「系统开发基础」第 113 题(原站入口)。

关于软件设计应遵循的原则,下列哪一项不正确( )?

  • A. 系统需要划分多个模块,模块的规模越小越好

  • B. 考虑信息隐蔽,模块内部的数据不能让其他模块直接访问,模块独立性要好

  • C. 尽可能高内聚和低耦合

  • D. 采用过程抽象和数据抽象设计

答案与解析

平台答案:A。

整理解析

选 A。模块应围绕清晰职责划分且规模适当,过小会增加接口、调用和理解成本,并非越小越好。信息隐藏、合理抽象以及高内聚低耦合有利于降低修改对其他模块的影响。

题目 114

来源:知识点练习「系统开发基础」第 114 题(原站入口)。

一个模块的处理元素都与同一功能密切相关,必须按次序执行,而且前一步输出直接作为下一步输入。按这种联系应判为哪种内聚( )?

  • A. 过程

  • B. 时间

  • C. 顺序

  • D. 逻辑

答案与解析

平台答案:C。

整理解析

选 C。决定性的线索是处理之间存在“输出接着作为输入”的数据联系,这是顺序内聚;仅要求按一定次序执行而没有这种数据联系,才更接近过程内聚。

题目 115

来源:知识点练习「系统开发基础」第 115 题(原站入口)。

按题目所说的敏捷方法 Scrum“步骤”,下面哪一项不在其中( )?

  • A. Product Backlog

  • B. Refactoring

  • C. Sprint Backlog

  • D. Sprint

答案与解析

平台答案:B。

整理解析

选 B。Product Backlog 和 Sprint Backlog 是 Scrum 的工件,Sprint 是迭代事件;Refactoring 是可采用的工程实践,并非 Scrum 规定的步骤或工件。术语说明:把其余三项统一叫“步骤”不准确,且 Scrum 团队完全可以在 Sprint 中重构。

题目 118

来源:知识点练习「系统开发基础」第 118 题(原站入口)。

采用 MVC(模型、视图、控制器)架构开发软件时,以下哪项不是它的优点( )?

  • A. 有利于代码重用

  • B. 提高系统的运行效率

  • C. 提高系统的开发效率

  • D. 提高系统的可维护性

答案与解析

平台答案:B。

整理解析

选 B。分离业务状态、界面呈现和交互处理,主要有利于重用、分工与维护;是否更快取决于算法、数据访问和具体实现,不能从采用 MVC 直接推出。纠错:MVC 不必等同于固定的三层部署结构,也不能反过来断言它在任何实现中都无法提升运行效率。

题目 119

来源:知识点练习「系统开发基础」第 119 题(原站入口)。

关于软件文档通常在哪个阶段编写,下面哪项说法不正确( )?

  • A. 软件需求规格说明书在需求分析阶段撰写

  • B. 概要设计规格说明书在设计阶段撰写

  • C. 测试设计必须在测试阶段撰写

  • D. 测试分析报告在测试阶段撰写

答案与解析

平台答案:C。

整理解析

选 C。测试设计可以在需求和设计阶段开始:先依据需求确定验收或系统测试目标,再依据设计细化集成与单元测试。因此不必等到测试执行阶段才写测试设计,文档也可随开发逐步更新。

题目 120

来源:知识点练习「系统开发基础」第 120 题(原站入口)。

对下图使用白盒测试方法,图中有(120)条路径;按 McCabe 方法度量,该程序图的环路复杂度为(121)。

题目配图

请作答:第 120 题。

  • A. 3

  • B. 4

  • C. 5

  • D. 6

答案与解析

平台答案:B。

整理解析

平台答案保留 B,即 4,但只能按基本独立路径的口径解释。原图中“语句6”明确回到“判断1”,所以没有循环次数上限时,控制流图中的完整执行路径可因循环次数和分支组合而无限增多,不能说总共只有四条。可取四条基本代表:零轮退出;一轮走判断2的否分支后退出;一轮走判断2真、判断3真后退出;一轮走判断2真、判断3假后退出。平台列出的单轮路径遗漏了回到判断1再退出的步骤,图中并不存在语句6直接到结束的边。原页已核实:未写“独立/基本路径”,也没有循环次数上限;这是原题措辞缺失,不能默加限定使其看似没有问题。

题目 121

来源:知识点练习「系统开发基础」第 121 题(原站入口)。

对下图使用白盒测试方法,图中有(120)条路径;按 McCabe 方法度量,该程序图的环路复杂度为(121)。

题目配图

请作答:第 121 题。

  • A. 3

  • B. 4

  • C. 5

  • D. 6

答案与解析

平台答案:B。

整理解析

选 B。图中有三个二分判定,按每个菱形一个判定计,V(G)=3+1=4。逐边核对也为 E=13、N=11,得到 13−11+2=4。回边“语句6→判断1”必须计算在内;数值 4 是独立路径维数,与允许反复循环时的全部执行路径数不同。

题目 122

来源:知识点练习「系统开发基础」第 122 题(原站入口)。

关于软件维护的性质与投入,下列哪项说法不正确( )?

  • A. 软件维护解决软件产品交付用户之后运行中发生的各种问题

  • B. 软件维护期通常比开发期长得多,投入也大得多

  • C. 软件的可维护性是软件开发阶段各个时期的关键目标

  • D. 相对于软件开发任务而言,软件维护工作要简单得多

答案与解析

平台答案:D。

整理解析

选 D。维护往往需要理解既有行为、兼容旧数据和接口,并控制变更的连锁影响,不能认为它比开发简单得多。维护期和累计投入通常较大,但也不能把“每次维护必比开发复杂、每个项目维护必更贵”作为普遍定律。

题目 123

来源:知识点练习「系统开发基础」第 123 题(原站入口)。

结构化分析中,用于定义和说明数据流图元素的工具是哪一项( )?

  • A. 加工逻辑

  • B. 实体联系图

  • C. 流程图

  • D. 数据字典

答案与解析

平台答案:D。

整理解析

选 D。数据字典为图中的数据项、数据流、存储及相关加工提供名称、组成、含义或说明,补足图形本身无法表达的细节。加工逻辑则进一步解释基本加工怎样把输入转换成输出。

题目 124

来源:知识点练习「系统开发基础」第 124 题(原站入口)。

以下哪项不属于良好的启发式模块设计原则( )?

  • A. 提高模块独立性

  • B. 模块规模越小越好

  • C. 模块作用域在其控制域之内

  • D. 降低模块接口复杂性

答案与解析

平台答案:B。

整理解析

选 B。模块划分要兼顾职责完整、接口复杂度、理解成本和修改影响,规模适中即可,并非越小越好。把作用域限制在控制域内,可以减少对下属关系之外模块的影响。

题目 125

来源:知识点练习「系统开发基础」第 125 题(原站入口)。

喷泉模型适用于面向(125)的开发方法;该模型的特点不包括(126)。

请作答:第 125 题。

  • A. 对象

  • B. 数据

  • C. 数据流

  • D. 事件

答案与解析

平台答案:A。

整理解析

本问选 A。喷泉模型针对面向对象开发,分析、设计、编码等活动可相互重叠并反复迭代,便于复用已有对象或构件。题目两个空分别询问适用方法和模型特点,作答时应区分。

题目 126

来源:知识点练习「系统开发基础」第 126 题(原站入口)。

喷泉模型适用于面向(125)的开发方法;该模型的特点不包括(126)。

请作答:第 126 题。

  • A. 以用户需求为动力

  • B. 支持软件重用

  • C. 具有迭代性

  • D. 开发活动之间存在明显的界限

答案与解析

平台答案:D。

整理解析

本问选 D。喷泉模型强调活动的迭代与重叠,阶段之间不要求严格完成后才能启动下一阶段,因此“存在明显界限”与其特点不符。活动没有僵硬界限,不代表无需管理或检查阶段成果。

题目 127

来源:知识点练习「系统开发基础」第 127 题(原站入口)。

一个模块中的全部处理元素都围绕同一数据结构进行操作,应归为哪种内聚( )?

  • A. 逻辑

  • B. 过程

  • C. 通信

  • D. 功能

答案与解析

平台答案:C。

整理解析

选 C。这些操作的共同联系是使用同一份数据,因此是通信内聚;题目并没有说明它们必然共同完成不可分割的单一功能。补充:平台表格对顺序内聚的描述过简,真正区分它与过程内聚的关键是前一处理的输出成为后一处理的输入。

题目 128

来源:知识点练习「系统开发基础」第 128 题(原站入口)。

为了提高程序执行效率,下列哪种做法一般不包括在提高效率的方法之中( )?

  • A. 设计更好的算法

  • B. 采用不同的数据结构

  • C. 采用不同的程序设计语言

  • D. 改写代码使其更紧凑

答案与解析

平台答案:D。

整理解析

选 D。源代码更紧凑或行数更少,不意味着机器执行的操作更少。更合适的算法、数据结构以及语言和运行时实现可能改变性能,但也应测量验证;平台把其余三项概括为都能提高效率同样不能无条件成立。

题目 129

来源:知识点练习「系统开发基础」第 129 题(原站入口)。

使用白盒测试检验下列流程图,候选测试数据列于第二张图。至少采用测试用例(129)可实现语句覆盖;至少采用测试用例(130)可实现路径覆盖。

题目配图

题目配图

请作答:第 129 题。

  • A. ①

  • B. ②

  • C. ③

  • D. ④

答案与解析

平台答案:A。

整理解析

本问选 A。用例①为 (A,B,X)=(2,0,4),第一个复合判定为真,执行 x=x/A 后 x=2;随后 A=2 为真,又执行 x=x+1,两个赋值语句都被执行,因此一例足够达到语句覆盖。它并未覆盖两个判定的全部真假结果,不能据此声称达到路径覆盖。

题目 130

来源:知识点练习「系统开发基础」第 130 题(原站入口)。

使用白盒测试检验下列流程图,候选测试数据列于第二张图。至少采用测试用例(129)可实现语句覆盖;至少采用测试用例(130)可实现路径覆盖。

题目配图

题目配图

请作答:第 130 题。

  • A. ①

  • B. ①②

  • C. ③④

  • D. ①②③④

答案与解析

平台答案:D。

整理解析

按图中把每个复合判定视为一个结点的路径,选 D。①(2,0,4)走真/真,即 ace;②(1,1,1)走假/假,即 abd;③(2,1,1)走假/真,即 abe;④(4,0,2)先除以 A,更新后的 x 不大于 1,走真/假,即 acd。四组覆盖四条不同路径,缺一便遗漏一条。第二个判定必须使用第一个赋值之后的 x。

题目 131

来源:知识点练习「系统开发基础」第 131 题(原站入口)。

关于螺旋模型,错误的陈述填入(131);该模型不具有的特点填入(132)。

请作答:第 131 题。

  • A. 将风险分析加入到瀑布模型中

  • B. 将开发过程划分为几个螺旋周期,每个周期大致和瀑布模型相符合

  • C. 适合于大规模、复杂且具有高风险的项目

  • D. 可以快速地提供一个初始版本让用户测试

答案与解析

平台答案:D。

整理解析

平台本问选 D,意在把风险驱动的螺旋模型与强调尽快交付增量的模型作区分。螺旋模型通过多轮目标确定、风险分析、开发验证和下一轮规划推进,适合风险较高的复杂项目。限定说明:它也可以使用原型、较早交付可测试版本,所以 D 的“可以快速提供”并非与螺旋模型绝对冲突;应理解为不是其核心保证或区分性特征。

题目 132

来源:知识点练习「系统开发基础」第 132 题(原站入口)。

关于螺旋模型,错误的陈述填入(131);该模型不具有的特点填入(132)。

请作答:第 132 题。

  • A. 支持用户需求的动态变化

  • B. 要求开发人员具有风险分析能力

  • C. 基于该模型进行软件开发,开发成本低

  • D. 过多的迭代次数可能会增加开发成本,进而延迟提交时间

答案与解析

平台答案:C。

整理解析

本问选 C。风险识别、评估和多轮迭代需要投入,不能把开发成本低作为螺旋模型的普遍特点。其价值在于提早处理重大风险,可能减少后续损失;并非采取该模型就一定使总成本高于其他方案。

题目 133

来源:知识点练习「系统开发基础」第 133 题(原站入口)。

模块 A 不经过模块 B 的正常入口,而直接转入 B 的内部执行,这属于哪种耦合( )?

  • A. 数据

  • B. 公共

  • C. 外部

  • D. 内容

答案与解析

平台答案:D。

整理解析

选 D。A 依赖并侵入 B 的内部控制结构,破坏了通过公开接口交互的边界,属于内容耦合;它不只是传递数据参数或共享外部数据。

题目 134

来源:知识点练习「系统开发基础」第 134 题(原站入口)。

下列哪项通常不属于软件详细设计阶段的主要任务( )?

  • A. 数据结构设计

  • B. 算法设计

  • C. 模块之间的接口设计

  • D. 数据库的物理设计

答案与解析

平台答案:C。

整理解析

选 C。模块间的接口和调用安排通常在概要设计中确定;详细设计再细化模块内部的数据结构、具体算法以及数据库物理实现。实际项目可迭代完善接口,题目考查的是传统阶段分工。

题目 135

来源:知识点练习「系统开发基础」第 135 题(原站入口)。

关于软件文档的作用,下列哪项叙述不正确( )?

  • A. 文档也是软件产品的一部分,没有文档的软件就不能称之为软件

  • B. 文档只对软件维护活动有用,对开发活动意义不大

  • C. 软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量

  • D. 高质量文档对于发挥软件产品的效益有着重要的意义

答案与解析

平台答案:B。

整理解析

按教材口径选 B。需求、设计、接口和测试等文档也支持开发中的沟通、决策与验证,不只服务于后续维护。A 强调文档属于完整的软件产品交付物;“没有文档就不是软件”是教材中的规范性表述,不能据此否认无文档程序仍是软件。

题目 136

来源:知识点练习「系统开发基础」第 136 题(原站入口)。

对下列流程图实施白盒测试,达到路径覆盖至少需要多少个用例( )?

题目配图

  • A. 3

  • B. 4

  • C. 6

  • D. 8

答案与解析

平台答案:A。

整理解析

按图示控制流粒度选 A,共三条路径:第一个判定真时执行语句 A;第一个假、第二个真时直接汇合;两个都假时执行语句 B。可分别用 (x,y)=(0,3)、(0,1)、(0,0) 实现。这里把每个含 && 的菱形作为一个整体判定;若另外展开语言的短路求值控制流,路径粒度会改变,不能仍不加说明地沿用“三条”。

题目 137

来源:知识点练习「系统开发基础」第 137 题(原站入口)。

搜索引擎交付后,开发者更换了索引方法,使用户取得结果更快。这属于哪类维护( )?

  • A. 正确性

  • B. 适应性

  • C. 完善性

  • D. 预防性

答案与解析

平台答案:C。

整理解析

选 C,完善性维护。题目把修改描述为增强既有性能,而不是适应外部格式或平台变化。若是在修复违反原定性能要求的缺陷,则需考虑改正性维护;原选项 A 写作“正确性”,这里保留该词,不将其默改为规范名称。

题目 138

来源:知识点练习「系统开发基础」第 138 题(原站入口)。

关于结构化分析的数据字典中所写的加工逻辑,下列哪一项不正确( )?

  • A. 对每一个基本加工,应该有一个加工逻辑

  • B. 加工逻辑描述输入数据流变换为输出数据的加工规则

  • C. 加工逻辑必须描述实现加工的数据结构和算法

  • D. 结构化语言,判定树和判定表可以用来表示加工逻辑

答案与解析

平台答案:C。

整理解析

选 C。基本加工规格说明要明确输入如何按业务规则转为输出,但需求分析不必指定实现这些规则的具体数据结构和算法。结构化语言、判定树或判定表可以用来消除业务逻辑歧义。

题目 139

来源:知识点练习「系统开发基础」第 139 题(原站入口)。

软件设计中划分模块时,模块的作用范围和控制范围应满足哪种关系( )?

  • A. 控制范围应该在其作用范围之内

  • B. 作用范围应该在其控制范围之内

  • C. 作用范围与控制范围互不包含

  • D. 作用范围与控制范围不受任何限制

答案与解析

平台答案:B。

整理解析

选 B。控制范围包含该模块及其直接或间接下属模块;作用范围是受模块内部某个判定影响的模块集合。让后者包含于前者,能使影响落在该模块能够协调的范围内。

题目 140

来源:知识点练习「系统开发基础」第 140 题(原站入口)。

绘制分层数据流图时,以下哪一项不属于应遵循的要求( )?

  • A. 给图中的每个数据流、加工、数据存储和外部实体命名

  • B. 图中要表示出控制流

  • C. 一个加工不适合有过多的数据流

  • D. 分解尽可能均匀

答案与解析

平台答案:B。

整理解析

选 B。通常的 DFD 表示数据来源、流动、存储和转换,并不用于画执行先后、条件分支等控制流。纠错:父子图平衡是保持分解前后边界数据流一致;避免无输入却有输出、无输出或输入不足以产生输出的加工,是另一组语义检查,并非只要父子平衡就自动满足。

题目 141

来源:知识点练习「系统开发基础」第 141 题(原站入口)。

关于软件设计原则,以下哪项不正确( )?

  • A. 将系统划分为相对独立的模块

  • B. 模块之间的耦合尽可能小

  • C. 模块规模越小越好

  • D. 模块的扇入系数和扇出系数合理

答案与解析

平台答案:C。

整理解析

选 C。模块大小需结合职责和接口成本权衡,越小不一定越独立或易维护。纠错:平台解析说“作用域应该在模块之内”不准确,正确的是作用域应在该模块的控制域内,控制域还包括下属模块;调用层次也不是越少越好。

题目 142

来源:知识点练习「系统开发基础」第 142 题(原站入口)。

关于增量模型的优点,下面哪项不正确( )?

  • A. 强调开发阶段性早期计划

  • B. 第一个可交付版本所需要的时间少和成本低

  • C. 开发由增量表示的小系统所承担的风险小

  • D. 系统管理成本低、效率高、配置简单

答案与解析

平台答案:D。

整理解析

选 D。多次交付需要协调增量依赖、接口、版本与配置,管理不一定简单或成本低。较小增量可能较早交付并缩小单次变更风险,但不代表整个项目自动具备所有瀑布模型的优点,也不代表需求变化没有代价。

题目 143

来源:知识点练习「系统开发基础」第 143 题(原站入口)。

以下关于敏捷统一过程 AUP 的陈述,哪项不正确( )?

  • A. 在大型任务上连续

  • B. 在小型活动上迭代

  • C. 每一个不同的系统都需要一套不同的策略、约定和方法论

  • D. 采用经典的UP阶段性活动,即初始、精化、构建和转换

答案与解析

平台答案:C。

整理解析

选 C。AUP 保留初始、精化、构建、转换等 UP 阶段,在阶段内部迭代交付;题目用“大型上连续、小型上迭代”描述这种组织方式。C 更接近水晶方法按项目规模、关键性等裁剪方法的思想,不是 AUP 的特有原则,也不意味着每个系统都必须从零发明方法论。

题目 144

来源:知识点练习「系统开发基础」第 144 题(原站入口)。

ISO/IEC 软件质量模型将可移植性定义为软件从一个环境转移到另一个环境的能力。下列哪项不是其子特性( )?

  • A. 适应性

  • B. 易测试性

  • C. 易安装性

  • D. 易替换性

答案与解析

平台答案:B。

整理解析

选 B。易测试性衡量检查软件及其修改效果的难易,属于可维护性;适应新环境、安装和替换其他软件才是题目所用可移植性分类的内容。

题目 146

来源:知识点练习「系统开发基础」第 146 题(原站入口)。

在信息系统规划与分析阶段,用户和系统分析人员通常用文档进行沟通。下列哪项不属于该阶段的典型沟通文档( )?

  • A. 可行性研究报告

  • B. 总体规划报告

  • C. 项目开发计划

  • D. 用户使用手册

答案与解析

平台答案:D。

整理解析

按传统阶段分工选 D。可行性、总体规划和开发计划用于讨论是否建设、建设范围与实施安排;用户手册主要服务于产品使用。手册草稿也可以提前编写以验证需求,因此不是只有软件全部完成后才能动笔。

题目 147

来源:知识点练习「系统开发基础」第 147 题(原站入口)。

系统可维护性关注维护人员理解、纠正、修改和改进软件的难易。以下哪项不属于本题列举的评价指标( )?

  • A. 可理解性

  • B. 可测试性

  • C. 可修改性

  • D. 一致性

答案与解析

平台答案:D。

整理解析

选 D。可理解、可测试、可修改直接反映能否定位影响并安全实施变更。“一致性”不在本题的这组常用指标中,但一致的命名、接口和文档仍有助于维护,不能把它视为与维护无关,也不宜不分标准版本就断言它只属于可移植性。

题目 148

来源:知识点练习「系统开发基础」第 148 题(原站入口)。

题目用下列代码考查语句覆盖和控制流复杂度:语句覆盖至少需要(148)个用例,McCabe 环路复杂度为(149)。程序块以缩进表示。

1
2
3
4
5
6
7
8
input A,n
for i = 2 to n
    key = A[i]
    j = i-1
    while j > 0 and A[j]>key
        A[j+1]=A[j]
        j = j-1
    A[j+1] = key

请作答:第 148 题。

  • A. 1

  • B. 2

  • C. 3

  • D. 4

答案与解析

平台答案:A。

整理解析

选 A。原代码的缩进关系已核实:外层 for 遍历 i=2…n,内层 while 移动大于 key 的元素,最后的 A[j+1]=key 在 while 外、for 内。以从 1 开始的 A=[2,1]、n=2 为例,一次运行就能执行所有赋值和循环体语句,因此语句覆盖一例足够。原解析图入口把 input A,n 写成 input i,n,是解析图的变量笔误,应以已核实题干为准。

题目 149

来源:知识点练习「系统开发基础」第 149 题(原站入口)。

题目用下列代码考查语句覆盖和控制流复杂度:语句覆盖至少需要(148)个用例,McCabe 环路复杂度为(149)。程序块以缩进表示。

1
2
3
4
5
6
7
8
input A,n
for i = 2 to n
    key = A[i]
    j = i-1
    while j > 0 and A[j]>key
        A[j+1]=A[j]
        j = j-1
    A[j+1] = key

请作答:第 149 题。

  • A. 2

  • B. 1

  • C. 3

  • D. 4

答案与解析

平台答案:C。

整理解析

选 C。原代码的缩进关系已核实,最后的 A[j+1]=key 位于 while 外、for 内。按平台流程图的粒度,for 与整个 while 条件各是一个二分判定,V(G)=2+1=3。若把 and 的短路求值拆成 j>0 与 A[j]>key 两个判定,再加外层 for,更细的控制流图会得到 4;这一差别来自建图粒度,不是缩进疑义。

同材料可参照第 148 题。

题目 150

来源:知识点练习「系统开发基础」第 150 题(原站入口)。

需求规定月收入不超过 3500 元免征个人所得税。用 3499、3500、3501 三个输入来测试这一需求,采用的是哪种测试方法( )?

  • A. 判定覆盖

  • B. 边界值分析

  • C. 路径覆盖

  • D. 因果图

答案与解析

平台答案:B。

整理解析

选 B。三个数分别处于题设阈值的下方、边界及上方,是典型边界值分析;3500 只是本题给定的需求阈值。纠错:黑盒测试中的因果图表示输入条件与输出结果间的逻辑关系,可进一步导出判定表,不是用于根因分析的石川图或鱼骨图。

题目 151

来源:知识点练习「系统开发基础」第 151 题(原站入口)。

以下关于软件维护的陈述,哪项正确( )?

  • A. 工作量相对于软件开发而言要小很多

  • B. 成本相对于软件开发而言要更低

  • C. 时间相对于软件开发而言通常更长

  • D. 只对软件代码进行修改的行为

答案与解析

平台答案:C。

整理解析

选 C。软件交付后可持续使用多年,维护通常延续得比初次开发更久,累计成本和工作量也可能很大。维护不只改代码,还可能更新相关数据、配置和文档并开展验证;但具体时长与投入不能脱离产品寿命一概而论。

题目 152

来源:知识点练习「系统开发基础」第 152 题(原站入口)。

零件厂商系统中的一个基本加工,会根据客户类型、订单金额和客户信用等条件的组合采取不同动作。哪种方式最适合编写其加工规格说明( )?

  • A. 自然语言

  • B. 流程图

  • C. 判定表

  • D. 某程序设计语言

答案与解析

平台答案:C。

整理解析

选 C。判定表把多个条件的取值组合与应执行动作对应起来,便于检查规则遗漏或冲突。自然语言和流程图并非绝对不能描述加工,也不只用于实现阶段,只是这种多条件决策用判定表通常更清楚。

题目 153

来源:知识点练习「系统开发基础」第 153 题(原站入口)。

对模块结构进行优化时,下面哪项做法不适当( )?

  • A. 使模块功能完整

  • B. 消除重复功能,改善软件结构

  • C. 只根据模块功能确定规模大小

  • D. 避免或减少模块之间的病态连接

答案与解析

平台答案:C。

整理解析

选 C。规模不能只由模块自身功能决定,还应考虑职责是否单一、与其他模块的接口、耦合及理解成本。保持功能完整、减少重复和避免病态连接都有助于结构质量。

题目 154

来源:知识点练习「系统开发基础」第 154 题(原站入口)。

以下关于快速原型模型优点的叙述,哪一项不正确( )?

  • A. 有助于满足用户的真实需求

  • B. 适用于大型软件系统的开发

  • C. 开发人员快速开发出原型系统,因此可以加速软件开发过程,节约开发成本

  • D. 原型系统已经通过与用户的交互得到验证,因此对应的规格说明文档能正确描述用户需求

答案与解析

平台答案:B。

整理解析

平台选 B,按教材意图是不把“适合大型系统整体开发”当作快速原型模型的固有优势。限定说明:大型项目也可以在局部或需求阶段使用原型,并非规模大就不能采用;快速搭出原型也不自动节约总成本。D 的验证更只能增加对需求的信心,不能保证规格说明已完整、无误,题目中这些表述不宜当作普遍保证。

题目 155

来源:知识点练习「系统开发基础」第 155 题(原站入口)。

关于三层 C/S 结构,以下哪项说法不正确( )?

  • A. 允许合理划分三层结构的功能,使之在逻辑上保持相对独立性,提高系统的可维护性和可扩展性

  • B. 允许更灵活有效地选用相应的软硬件平台和系统

  • C. 应用的各层可以并行开发,但需要相同的开发语言

  • D. 利用功能层有效地隔开表示层和数据层,便于严格的安全管理

答案与解析

平台答案:C。

整理解析

选 C。表示层、业务功能层与数据层可通过约定接口协作,并不要求都用同一种语言或平台实现。纠错:三层 C/S 与 MVC 是不同的划分概念,不能用模型、视图、控制器直接替代这三层;HTML 也是标记语言,平台所举例子并不能准确说明三层 C/S 的结构。

题目 156

来源:知识点练习「系统开发基础」第 156 题(原站入口)。

模块 A、B 通过外部变量交换输入和输出信息。按给出的选项,它们属于哪种耦合( )?

  • A. 数据

  • B. 标记

  • C. 控制

  • D. 公共

答案与解析

平台答案:D。

整理解析

在所列选项中选 D。两个模块依赖共享的外部数据环境,而非通过简单参数或记录参数交换数据,符合公共耦合的通常解释。分类口径说明:某些教材另把共享全局简单变量称作“外部耦合”,本题未提供该选项,也未说明外部变量的具体形态;不能从题面补出“共享多个变量”作为必然事实。

题目 157

来源:知识点练习「系统开发基础」第 157 题(原站入口)。

软件开发以获得高质量系统为目标。下面哪一项不属于高质量本身的要求( )?

  • A. 软件必须满足用户规定的需求

  • B. 软件应遵循规定标准所定义的一系列开发准则

  • C. 软件开发应采用最新的开发技术

  • D. 软件应满足某些隐含的需求,如可理解性、可维护性等

答案与解析

平台答案:C。

整理解析

选 C。满足明确及合理的隐含需求、遵循适用标准,是评价质量的依据;技术是否最新不是质量条件。新技术可能适合也可能不适合项目,不能仅因它新就断言不稳定,关键是与需求、风险和工程能力匹配。

题目 158

来源:知识点练习「系统开发基础」第 158 题(原站入口)。

在所列白盒测试覆盖方法中,哪一种通常被认为发现错误的能力最弱( )?

  • A. 判定覆盖

  • B. 语句覆盖

  • C. 条件覆盖

  • D. 路径覆盖

答案与解析

平台答案:B。

整理解析

按常见教材比较选 B。语句覆盖只要求每条可执行语句至少运行一次,可以完全漏掉某个判定的另一分支。纠错:判定—条件覆盖要求每个判定及其原子条件都经历真和假,并不要求全部条件组合;全部组合属于条件组合覆盖。条件覆盖与判定覆盖也不能简单相互推出,覆盖率本身更不保证一定发现某个具体缺陷。

题目 159

来源:知识点练习「系统开发基础」第 159 题(原站入口)。

某财务系统组件中的一个变量没有正确初始化,以下哪类测试最可能首先发现该问题( )?

  • A. 单元测试

  • B. 集成测试

  • C. 接受测试

  • D. 安装测试

答案与解析

平台答案:A。

整理解析

选 A。单元测试直接检查组件内部行为,便于用初始状态和边界输入暴露初始化缺陷。集成、接受或安装测试也可能间接触发问题,但范围较大,通常不如针对组件的测试容易定位。

题目 160

来源:知识点练习「系统开发基础」第 160 题(原站入口)。

软件交付后的维护可按维护对象分类。使用专门程序,对文件或数据中的记录进行增加、修改、删除,这属于哪种维护( )?

  • A. 程序维护

  • B. 数据维护

  • C. 代码维护

  • D. 设备维护

答案与解析

平台答案:B。

整理解析

选 B。被维护的是文件或数据库内的记录内容,因此属于数据维护。这里按维护对象分类,与改正性、适应性、完善性、预防性这种按目的分类的维度不同。

题目 161

来源:知识点练习「系统开发基础」第 161 题(原站入口)。

关于高质量软件文档,下面哪项说法不正确( )?

  • A. 不论项目规模和复杂程度如何,都要用统一的标准指定相同类型和相同要素的文档

  • B. 应该分清读者对象

  • C. 应当是完整的、独立的、自成体系的

  • D. 行文应十分确切,不出现多义性描述

答案与解析

平台答案:A。

整理解析

选 A。文档应遵循适用规范,但具体种类、深度与要素可按项目规模、复杂程度和读者需求裁剪,不宜要求所有项目完全相同。明确受众、内容完整且自洽、表达无歧义,才是共同的质量目标。

历年真题:2026年5月(考生回忆版)

本节收录本卷归入本模块的 9 题;题号沿用试卷编号;同材料的不同小问分别保留。

2026-05 Q001

来源:2026年5月软件设计师综合知识真题(考生回忆版)第 1 题(原站试卷目录)。

观察下面的程序流程图。第1空要求分别给出语句覆盖、路径覆盖所需的最少测试用例数;第2空要求用McCabe方法求环路复杂度。

程序流程图

本题回答第1题(第1空),选项中前一个数对应语句覆盖,后一个数对应路径覆盖。

  • A. 2和6

  • B. 2和8

  • C. 4和8

  • D. 4和6

答案与解析

平台答案:B。

整理解析

图中J2的两侧不能在同一次执行中同时经过,所以覆盖全部语句至少要2个测试。结构上可分别走S1→J1(Y)→S2→J2(Y)→S4→J3(Y)→S6→S8,以及S1→J1(N)→S3→J2(N)→S5→J4(N)→S7→J4(Y)→S8;两次合起来覆盖S1~S8。路径覆盖还必须考虑J4的回边,不能仅从图断定只需8次。平台B作为来源答案保留,不把其路径数结论当作已证实事实。

补充与纠错

原始题图已下载核对,J4取N后经过S7并返回J4,J4取Y后通向S8,存在循环。若允许任意多次经过回边,结构上的终止路径数没有有限上界;判定条件又未给出,实际可行路径集合也无法确认。若额外限制回边最多经过k次且相关分支均可行,则结构路径数为2×[2+(k+1)]=6+2k;仅在k=1时得到8。回忆版没有写出这个限制,不可为迁就答案补造条件,也不能把环路复杂度5当作全部路径数。

2026-05 Q002

来源:2026年5月软件设计师综合知识真题(考生回忆版)第 2 题(原站试卷目录)。

观察下面的程序流程图。第1空要求分别给出语句覆盖、路径覆盖所需的最少测试用例数;第2空要求用McCabe方法求环路复杂度。

程序流程图

本题回答第2题(第2空:环路复杂度)。

  • A. 4

  • B. 5

  • C. 6

  • D. 3

答案与解析

平台答案:B。

整理解析

按原图计入开始、结束节点,节点数为14、边数为17,单个连通控制流图的环路复杂度为17−14+2=5。也可数出J1~J4四个二分判定,得到4+1=5,因此对应B。这个数是独立路径基的维数,不是所有执行路径的数量。

2026-05 Q029

来源:2026年5月软件设计师综合知识真题(考生回忆版)第 29 题(原站试卷目录)。

下列项目中,哪一项不属于题目所列的软件可维护性主要影响因素?

  • A. 文档的完整程度

  • B. 代码行数

  • C. 可理解性

  • D. 可测试性

答案与解析

平台答案:B。

整理解析

文档完整、容易理解和容易测试,都直接帮助定位及修改问题。行数主要反映规模,不能单独判断维护难度,因此本题的排除项是B;这不等于规模对实际维护成本毫无影响。

2026-05 Q038

来源:2026年5月软件设计师综合知识真题(考生回忆版)第 38 题(原站试卷目录)。

某登录模块依次读取用户登录信息、验证密码、记录登录日志、跳转主页;操作顺序固定,且后一步依赖前一步的结果。该模块属于( )。

  • A. 时间内聚

  • B. 顺序内聚

  • C. 功能内聚

  • D. 偶然内聚

答案与解析

平台答案:B。

整理解析

选 B。关键条件是前一步的结果供后一步使用,形成顺序内聚。仅有固定执行顺序而没有这种结果依赖,通常只能说明过程内聚;时间内聚强调同时执行,功能内聚强调共同实现一个明确功能。

2026-05 Q042

来源:2026年5月软件设计师综合知识真题(考生回忆版)第 42 题(原站试卷目录)。

测试中采用等价类划分,主要为了( )。

  • A. 简化编码

  • B. 减少重复测试,提高测试效率

  • C. 保证发现 100% 的缺陷

  • D. 取代系统测试

答案与解析

平台答案:B。

整理解析

选 B。把预期处理方式相同的输入归为一类,再选代表值测试,可减少重复用例。划分本身可能有遗漏,不能保证发现全部缺陷,也不能替代完整的系统测试。

2026-05 Q044

来源:2026年5月软件设计师综合知识真题(考生回忆版)第 44 题(原站试卷目录)。

软件容错技术的主要目标是( )。

  • A. 降低开发成本

  • B. 彻底消除缺陷

  • C. 简化测试流程

  • D. 出现故障后仍能正常运行

答案与解析

平台答案:D。

整理解析

选 D。容错是在设计覆盖的故障条件下,借助冗余、恢复等机制维持规定服务,或允许受控的降级运行。它不等于消除全部缺陷,也不能保证面对任意故障都完全不受影响。

2026-05 Q050

来源:2026年5月软件设计师综合知识真题(考生回忆版)第 50 题(原站试卷目录)。

软件过程改进(SPI)的基本目标是( )。

  • A. 系统地提升过程能力和产品质量

  • B. 降低成本

  • C. 缩短开发周期

  • D. 减少人员

答案与解析

平台答案:A。

整理解析

选 A。SPI 持续评估并改进开发过程,使组织更稳定地交付高质量软件。降低成本、缩短工期可能是收益,裁减人员并非其基本目标。

2026-05 Q067

来源:2026年5月软件设计师综合知识真题(考生回忆版)第 67 题(原站试卷目录)。

分层数据流图中,父图加工 P 有 3 条输入、2 条输出。分解成子图时没有拆分或合并数据流,下列哪项违反父子图平衡( )?

  • A. 子图有 3 条输入、2 条输出

  • B. 子图内部加工多于 1 个

  • C. 子图有 2 条输入、3 条输出

  • D. 子图含有数据存储

答案与解析

平台答案:C。

整理解析

选 C。在不拆分、不合并的前提下,子图对外的输入、输出必须分别对应父加工,不能把 3 入 2 出变成 2 入 3 出。数量一致只是必要条件,还需核对数据内容和方向;子图内部增加加工或数据存储不因此违反平衡。

2026-05 Q072

来源:2026年5月软件设计师综合知识真题(考生回忆版)第 72 题(原站试卷目录)。

关于软件文档,正确的说法是( )。

  • A. 项目结束后再补写即可

  • B. 文档应与软件产品一致

  • C. 内容越详细,质量就越高

  • D. 敏捷开发完全不需要文档

答案与解析

平台答案:B。

整理解析

选 B。文档应随软件演进更新,保证准确、适用并与实现一致。详细程度应服务读者需要;敏捷开发减少无效文档工作,并不取消必要文档。

2025年下半年软件设计师考试基础知识真题(考生回忆版)

本节已整理 6 条来源记录;题号沿用来源,答案与解析默认收起。

2025-11 Q003

来源:第 3 题(原站入口)。

衡量软件可维护性时,以下哪项属于关键度量( )?

  • A.

    用户数量

  • B.

    功能点数量

  • C.

    数据库容量

  • D.

    平均修复时间(MTTR)

答案与解析

平台答案:D。

整理解析

选D。MTTR统计故障修复所需的平均时间,在相同口径和条件下越短,通常越容易恢复和维护。用户量、功能点数与数据库容量可影响系统规模或维护工作量,但不是这里直接衡量修复效率的指标;MTTR也不能覆盖可维护性的全部方面。

2025-11 Q007

来源:第 7 题(原站入口)。

设计黑盒测试时,主要以哪项为依据( )?

  • A.

    代码复杂度

  • B.

    软件需求规格说明书

  • C.

    设计文档

  • D.

    程序内部逻辑

答案与解析

平台答案:B。

整理解析

选B。黑盒测试依据规定的输入、输出和外部行为设计用例,因此以软件需求规格说明书为主要依据。代码复杂度与内部控制逻辑更直接用于白盒测试;设计文档可提供辅助信息。

2025-11 Q011

来源:第 11 题(原站入口)。

模块间哪种耦合会形成应避免的“病态连接”( )?

  • A.

    外部耦合

  • B.

    标记耦合

  • C.

    内容耦合

  • D.

    公共耦合

答案与解析

平台答案:C。

整理解析

选C。内容耦合意味着一个模块直接依赖或改动另一个模块的内部实现,例如从非正常入口进入其代码;这种“病态连接”破坏模块边界,内部变化容易传播到其他模块。

2025-11 Q023

来源:第 23 题(原站入口)。

下列哪项符合敏捷开发的特点( )?

  • A.

    快速迭代交付

  • B.

    注重计划和预测

  • C.

    强调文档驱动

  • D.

    严格遵循流程

答案与解析

平台答案:A。

整理解析

选A。敏捷开发通过短周期迭代,尽早交付可工作的软件并依据反馈调整。它仍需要计划、文档和适当流程,但不以僵化预测、文档驱动或严格照搬流程作为首要特征。

2025-11 Q025

来源:第 25 题(原站入口)。

软件质量保证(SQA)旨在产出高质量软件。下列哪项不属于其强调的软件质量要点( )?

  • A.

    软件必须采用成熟的技术体系进行开发

  • B.

    软件应满足某些隐含的需求,如可理解性、可维护性等

  • C.

    软件必须满足用户规定的需求

  • D.

    软件应遵循规定标准所定义的一系列开发准则

答案与解析

平台答案:A。

整理解析

选A。软件质量需要符合明确需求、规定的开发准则及合理的隐含需求。成熟技术可以降低某些实施风险,但“必须采用成熟技术体系”并不是判定软件质量的普遍必要条件。

2025-11 Q029

来源:第 29 题(原站入口)。

下列哪项属于软件的完善性维护( )?

  • A.

    优化界面交互

  • B.

    预防未来故障

  • C.

    修复软件缺陷

  • D.

    适应新操作系统

答案与解析

平台答案:A。

整理解析

选A。优化交互、增强功能或改善性能通常属于完善性维护。预防未来故障属于预防性维护,修复已存在缺陷属于改正性维护,适应新操作系统属于适应性维护。

2025年上半年软件设计师考试基础知识真题(考生回忆版)

本节已整理 7 条来源记录;题号沿用来源,答案与解析默认收起。

2025-05 Q007

来源:第 7 题(原站入口)。

测试软件系统时,要重点发现各模块接口之间的问题,最适合采用( )。

  • A.

    单元测试

  • B.

    系统测试

  • C.

    验收测试

  • D.

    集成测试

答案与解析

平台答案:D。

整理解析

选D。集成测试把模块组合起来,检查调用、数据传递和接口约定能否正确配合。单元测试主要检查单个模块,系统测试关注完整系统是否满足规格,验收测试关注是否达到约定的交付与使用要求。

2025-05 Q010

来源:第 10 题(原站入口)。

用数据流图描述某医院挂号系统:患者在终端提交挂号请求;系统验证患者信息,生成挂号单,再将挂号单存入挂号记录。以下( )不是数据流。

  • A.

    挂号请求

  • B.

    患者信息

  • C.

    挂号记录

  • D.

    挂号单

答案与解析

平台答案:C。

整理解析

选C。题目说把挂号单“存储到挂号记录”,因此这里的挂号记录承担数据存储的角色;挂号请求、患者信息、挂号单则是系统接收、处理或传递的数据。应依据对象在需求中的作用分类,不能只看名称。

补充与纠错

数据流表示数据的传递,不是加工动作本身。同一名称在不同模型中可以表示不同角色;本题是由“存储到挂号记录”这一明确关系确定其为存储。

2025-05 Q018

来源:第 18 题(原站入口)。

关于数据流图的分层组织,下列叙述中不正确的是( )。

  • A.

    各层数据流图之间应该保持“平衡”关系

  • B.

    顶层数据流图只包含一个处理框,表示待开发的系统

  • C.

    数据流图的层次越多,细节程度越低

  • D.

    分层的数据流图可以清晰的表达系统的层次结构,使得系统更易于理解

答案与解析

平台答案:C。

整理解析

选C。数据流图从整体向下分解时,会展示更细的处理和数据传递细节,不是细节越来越少。子图应与对应父加工在输入输出上保持平衡;通常用一个加工表示整个待开发系统的上下文图。

补充与纠错

“顶层图”在教材中有时指上下文图,有时指第一次分解后的图,编号习惯需结合定义;本题采用前者口径。分层描述的是功能及数据关系,不能等同于程序模块调用结构。

2025-05 Q021

来源:第 21 题(原站入口)。

一个模块中,前一部分处理产生的输出会成为后一部分处理的输入。该模块属于( )。

  • A.

    顺序内聚

  • B.

    功能内聚

  • C.

    通信内聚

  • D.

    巧合内聚

答案与解析

平台答案:A。

整理解析

选A。前一处理的输出是后一处理的输入,形成数据结果接续的处理链,是顺序内聚。仅共用输入或同一数据结构更接近通信内聚;偶然放在一起且无关联是巧合内聚。

补充与纠错

顺序执行本身还不够,关键是输出到输入的数据依赖。功能内聚也不意味着代码绝对不可再分,其重点是围绕单一功能;不要把平台“模块已不可再分”理解为硬性结构限制。

2025-05 Q022

来源:第 22 题(原站入口)。

某电商平台把订单处理、支付网关集成、物流跟踪等功能拆成独立服务,服务之间通过API通信。这种组织方式属于( )。

  • A.

    分层架构

  • B.

    事件驱动架构

  • C.

    面向对象架构

  • D.

    微服务架构

答案与解析

平台答案:D。

整理解析

选D。按订单、支付、物流等业务能力拆分独立服务,并通过接口协作,最符合微服务架构。分层主要按技术职责分层,面向对象主要讨论对象组织,事件驱动则突出事件产生与响应的交互方式。

补充与纠错

微服务可以结合事件驱动、分层和面向对象设计,API也不限于同步直接调用。题干线索最支持D,但仅凭API通信不足以证明所有微服务特征;平台把其他架构说成与分布式服务无关或互相排斥,过于绝对。

2025-05 Q025

来源:第 25 题(原站入口)。

银行开发核心交易系统,要求严格满足监管审计,且需求很少变化。下列开发模型中,最适合的是( )。

  • A.

    敏捷开发(Scrum)

  • B.

    快速应用开发(RAD)

  • C.

    增量模型

  • D.

    瀑布模型

答案与解析

平台答案:D。

整理解析

选D。需求较稳定时,瀑布式的阶段划分、评审和基线文档便于安排审计与交付控制,因此是给定条件下的常见选择。这里的判断依据是需求变化少且重视阶段审查,而不是银行项目必然只能采用瀑布。

补充与纠错

敏捷、增量开发也能满足监管、稳定性和文档要求,需配套相应控制;平台将敏捷与合规说成矛盾、将增量一概判为难以稳定,并不成立。

2025-05 Q028

来源:第 28 题(原站入口)。

在ISO/IEC 25010:2023中,下列( )不是可维护性的子特性。

  • A.

    可修改性(Modifiability)

  • B.

    可分析性(Analysability)

  • C.

    模块化(Modularity)

  • D.

    容错性(Fault Tolerance)

答案与解析

平台答案:D。

整理解析

选D。可修改性、可分析性和模块化都描述理解或改变软件的难易程度,属于可维护性;容错性强调出现故障时仍能维持规定功能,属于可靠性。

补充与纠错

判定应以题目指定的2023版及相应质量特性为准;不要把旧版标准中其他特性的归属直接混用。

2024年下半年软件设计师基础知识真题(学员版)

本节已整理 9 条来源记录;题号沿用来源,答案与解析默认收起。

2024-11-student Q002

来源:第 2 题(原站入口)。

详细设计完成后的重点审查对象,不包括下列哪项( )?

  • A.

    数据流图

  • B.

    算法

  • C.

    数据结构

  • D.

    软件界面

答案与解析

平台答案:A。

整理解析

选A。详细设计审查关注模块算法、内部数据结构以及界面等实现细节。数据流图主要刻画需求分析中的数据流动与处理功能,不是本题所问的详细设计重点审查对象。

2024-11-student Q004

来源:第 4 题(原站入口)。

以下哪种软件工程做法不能提高可维护性( )?

  • A.

    重视程序的结构设计,使程序具有较好的层次结构

  • B.

    尽可能在软件开发过程中保证各阶段文档的正确性

  • C.

    尽可能利用硬件的特点

  • D.

    在进行概要设计时,应加强模块间的联系

答案与解析

平台答案:D。

整理解析

平台选D。加强模块间依赖通常提高耦合,使局部修改更易波及其他模块;维护性设计应倾向高内聚、低耦合。层次清晰以及正确的开发文档通常有助维护。

补充与纠错

C“尽可能利用硬件的特点”也不能无条件保证可维护性:过度依赖具体硬件可能增加迁移和维护成本。原解析把A、B、C均说成有助维护过于绝对;按题目考查低耦合的意图保留D,并说明单选表述的局限。

2024-11-student Q006

来源:第 6 题(原站入口)。

数据流图中的哪类元素不属于待开发系统本身( )?

  • A.

    外部主体

  • B.

    数据加工

  • C.

    数据存储

  • D.

    数据流

答案与解析

平台答案:A。

整理解析

选A。外部主体表示系统边界之外、与系统交换数据的人、组织或其他系统;加工和数据存储描述内部处理,数据流描述数据传递,其中也包括跨越系统边界的输入输出。

2024-11-student Q023

来源:第 23 题(原站入口)。

哪种模型由用户需求推动、以对象为驱动,适合面向对象开发( )?

  • A.

    统一过程模型

  • B.

    瀑布模型

  • C.

    喷泉模型

  • D.

    螺旋模型

答案与解析

平台答案:C。

整理解析

选C。喷泉模型强调面向对象开发中的迭代与各阶段交叠,教材常用“以用户需求为动力、以对象为驱动”描述它。统一过程也支持面向对象开发,但本题这组特征性表述指向喷泉模型。

2024-11-student Q054

来源:第 54 题(原站入口)。

财务软件的一个流水账文件保存某月全部收支记录。由它生成该月每日、每周和整月流水统计,把这些统计功能放进同一模块,该模块属于( )内聚。

  • A.

    偶然

  • B.

    逻辑

  • C.

    功能

  • D.

    通信

答案与解析

平台答案:D。

整理解析

选D。日、周、月统计都以同一个月的流水账文件为输入,功能之间由共享数据关联,按题目口径属于通信内聚。只说“都是统计”不足以区分逻辑内聚;本题明确给出了共同的数据来源。

2024-11-student Q056

来源:第 56 题(原站入口)。

对下面的程序流程图,完成路径覆盖至少要设计( 56 )个测试用例;其McCabe环路复杂度为( 57 )。

请作答:第56题。

  • A.

    5

  • B.

    4

  • C.

    6

  • D.

    7

答案与解析

平台答案:B。

整理解析

平台答案B,即4。图中有3个二分判断,基本独立路径数为3+1=4:一条直接从判断1的Y支经语句2退出,其余三条分别经过语句3、4、5,再经语句6回到语句1之前,并在后续迭代从判断1的Y支退出。这里计数的是控制流图的独立路径。

补充与纠错

题干写的是“路径覆盖”,但图中有循环且未限定循环次数,所有执行路径可能无限多,不能直接断言4个用例覆盖全部路径。4对应基本独立路径数;要形成实际测试还要看判断条件与路径是否可行。平台解析还漏写了回边经过的语句6和语句1,不应照搬。

2024-11-student Q057

来源:第 57 题(原站入口)。

对下面的程序流程图,完成路径覆盖至少要设计( 56 )个测试用例;其McCabe环路复杂度为( 57 )。

请作答:第57题。

  • A.

    1

  • B.

    3

  • C.

    4

  • D.

    2

答案与解析

平台答案:C。

整理解析

选C。三个二分判断给出环路复杂度V=3+1=4。若把begin、end、语句1至6、判断1至3全部作为节点,则N=11、E=13,V=E−N+2=13−11+2=4。回边是语句6→语句1,不能跳过语句1。

补充与纠错

平台解析列E=12、N=9却写12−9+2=4,算术与计数口径均有问题:该算式实际为5。按图完整计数应取E=13、N=11,或直接用3个二分判断加1,保留平台答案4。

2024-11-student Q058

来源:第 58 题(原站入口)。

医院拟开发患者监护系统:随时接收脉搏、体温、血压、心电图等生理信号,定时记录病人情况并形成患者日志;信号超出医生规定的安全范围时,向值班护士报警。护士可请求系统打印病情报告,再把打印件送至档案室存档。绘制该系统的数据流图时,( 58 )不属于数据流,( 59 )不属于加工。

请作答:第58题。

  • A.

    生理信号

  • B.

    警告信息

  • C.

    患者日志

  • D.

    病情报告

答案与解析

平台答案:C。

整理解析

选C。题目把患者日志作为定期写入并持续保存的历史记录,因而在这一数据流图中将它建模为数据存储;生理信号、警告信息和病情报告则是在系统与外部对象之间传送的数据。

补充与纠错

日志“存放处”是数据存储,写入或读取的日志内容仍可作为数据流。此处按题干对患者日志这一持久记录的角色判别,不是说日志数据在任何情况下都不能流动。

2024-11-student Q059

来源:第 59 题(原站入口)。

医院拟开发患者监护系统:随时接收脉搏、体温、血压、心电图等生理信号,定时记录病人情况并形成患者日志;信号超出医生规定的安全范围时,向值班护士报警。护士可请求系统打印病情报告,再把打印件送至档案室存档。绘制该系统的数据流图时,( 58 )不属于数据流,( 59 )不属于加工。

请作答:第59题。

  • A.

    存档病情报告

  • B.

    接收生理信号

  • C.

    打印病情报告

  • D.

    记录病人情况

答案与解析

平台答案:A。

整理解析

选A。系统负责接收信号、记录情况和按请求打印报告;把纸质报告送档案室保存的是护士及档案室,处在所述软件系统边界之外,因此“存档病情报告”不是该系统内部的加工。

补充与纠错

平台用“存档是存储动作,所以不算加工”解释并不严谨:软件写入数据存储也可能由加工完成。本题排除A的依据是护士送交档案室这一外部人工活动与系统边界。

2024年下半年软件设计师案例分析真题:案例题

本节收录 1 组案例。

2024-11-case Q001

数码相机控制软件的数据流图与结构化设计

(一)(15分)

【说明】

某公司为一款数码相机开发控制软件,以控制并支持数码相机进行拍摄和播放。

相机正面视图包括镜头、手动调焦环、闪光灯、自动对焦传感器、亮度传感器、PC连接器线口、拍摄按钮;相机背面视图有显示屏、对焦开关、模式切换按钮(模式包括拍照、录像和播放)。相机功能包括。

(1)在拍照或录像模式下,在按下拍摄按钮后打开镜头,根据模式进行拍摄照片或录制视频,并显示在显示屏上;在播放模式下,显示照片或播放视频。

(2)可以根据对焦开关设置为手动还是自动进行对焦。在手动对焦模式下,从手动对焦环获取对焦设置,在自动模式下,从自动对焦传感器获取设置。

(3)环境的亮度由亮度传感器测量。该传感器的值决定镜头的光圈并在必要时激活闪光灯。闪光灯有1、2、3三种不同功率的闪光强度。

(4)照片存储为JPG格式,视频存储为AVI格式。

(5)在播放模式下,如果相机连接至电脑后,可将已存储在相机中的照片和视频以媒体流传输至电脑中。

现采用结构化方法对数码相机控制软件进行分析与设计,获得如图1所示的上下文数据流图和图2所示的0层数据流图。

01(5分)
使用说明中的词语,给出图1中的实体E1~E10的名称。
02(2分)
使用说明中的词语,给出图2中的数据存储D1~D2的名称。
03(6分)
根据说明和图中术语,给出图中数据流条目“可视化数据”、“媒体流”、“闪光强度”的组成。
04(2分)
采用结构图对控制软件进行设计,说明结构化设计的步骤。

答案与解析

平台参考答案(原意保留)

平台参考答案(保留原意):

  1. 外部实体:E1 拍摄按钮;E2 自动对焦传感器;E3 闪光灯;E4 亮度传感器;E5 镜头;E6 电脑;E7 手动对焦环;E8 模式切换按钮;E9 对焦开关;E10 显示屏。
  2. 数据存储:D1 视频记录;D2 照片记录。
  3. 数据流组成:
  4. 可视化数据 = [JPG图片 | AVI视频]。
  5. 媒体流 = [JPG图片 | AVI视频]。
  6. 闪光强度 = [功率1 | 功率2 | 功率3]。
  7. 平台列出的“结构化设计步骤”:需求分析 → 概要设计 → 详细设计 → 系统测试。

解析与纠错

解析与纠错:

  • 图1已逐一核图。识别外部实体应依据跨越系统边界的数据流:E1 输入拍摄按键状态,E2 输入自动对焦设置,E3 接收闪光强度,E4 输入亮度,E5 输入记录可视化数据并接收打开指令,E6 接收媒体流,E7 输入手动对焦设置,E8 输入模式,E9 输入对焦模式,E10 接收查看可视化数据。平台实体映射与图一致。
  • 图2中“拍摄”向 D1 写入视频、向 D2 写入照片,因此分别是视频存储、照片存储;“视频记录”“照片记录”与其含义相同。“播放”读取这两个存储。
  • 数据字典中的 [A | B] 表示择一。按题目给定的存储格式,可以使用平台的 JPG图片/AVI视频表述;闪光强度则是 1、2、3 三个功率档位。题干没有给出媒体流的包头、帧结构、时序或原始传感数据编码,不应自行增补。“记录可视化数据”进入拍摄加工之前是否已编码成 JPG/AVI,也不能只凭存储格式推出;平台写法是在题目抽象层次上的概括。
  • 第4问询问的是从数据流图形成软件结构图的结构化设计步骤。平台给出的“需求分析、概要设计、详细设计、系统测试”混入了生命周期阶段,不能准确回答本问。较合适的回答是:复核并细化数据流图;判断数据流属于变换型还是事务型,确定变换中心及输入/输出流,或事务中心及各动作路径;通过变换分析/事务分析将数据流图映射为初始模块结构图;逐层分解模块并明确接口;按高内聚、低耦合及合理控制范围等原则评审、优化结构图,再开展模块详细设计。

2024年上半年软件设计师考试综合知识(专业解析+参考答案)

本节已整理 7 条来源记录;题号沿用来源,答案与解析默认收起。

2024-05 Q002

来源:第 2 题(原站入口)。

【考生回忆版】软件交付后,为适应软硬件环境的变化而进行修改,属于( )维护。

  • A.

    改善性

  • B.

    适应性

  • C.

    预防性

  • D.

    改正性

答案与解析

平台答案:B。

整理解析

选B。修改的原因是运行环境发生变化,所以属于适应性维护;修复已有错误属于改正性维护,扩充功能或改善性能通常属于完善性维护,为降低未来故障风险作调整则属于预防性维护。

补充与纠错

原A项“改善性”照录,教材也常用“完善性”这一名称;本题仍以软硬件环境变化这一原因判别,保留平台B。

2024-05 Q004

来源:第 4 题(原站入口)。

【考生回忆版】结构化分析方法的基本思想是( )。

  • A.

    自底向上逐步分解

  • B.

    自顶向下逐步分解

  • C.

    自底向上逐步抽象

  • D.

    自顶向下逐步抽象

答案与解析

平台答案:B。

整理解析

选B。结构化分析先从系统整体功能出发,逐层分解为更细的子功能与加工,逐步明确输入、处理和输出,即自顶向下逐步分解。

2024-05 Q010

来源:第 10 题(原站入口)。

【考生回忆版】软件测试中,系统测试主要为了发现( )阶段的问题。

  • A.

    软件实现

  • B.

    概要设计

  • C.

    详细设计

  • D.

    需求分析

答案与解析

平台答案:D。

整理解析

平台答案D。按V模型的对应关系,系统测试依据需求阶段形成的软件需求规格,检查整个系统是否满足功能与非功能要求;集成测试着重模块接口,单元测试着重各单元实现。因此平台按测试依据与开发阶段的对应关系选择需求分析。

补充与纠错

原题把“测试依据来自需求阶段”写成“发现需求阶段的问题”,不够严谨。系统测试发现的缺陷可能源于需求、设计或实现,不能据测试阶段判定缺陷一定在哪一阶段引入。平台D保留,按V模型对应关系解释。

2024-05 Q012

来源:第 12 题(原站入口)。

【考生回忆版】以下哪项是瀑布模型的主要特点( )?

  • A.

    用户容易参与到开发活动中

  • B.

    易于处理可变需求

  • C.

    缺乏灵活性

  • D.

    用户与开发者沟通容易

答案与解析

平台答案:C。

整理解析

选C。瀑布模型按阶段推进并依赖较早确定的需求,后期变更常要回溯修改多个阶段的成果,因此对频繁变化的需求不够灵活。A、B、D不是这种过程模型天然具备的优势。

补充与纠错

缺乏灵活性是相对迭代反馈较多的过程而言,不是说瀑布实践绝对禁止反馈、用户参与或需求变更。

2024-05 Q046

来源:第 46 题(原站入口)。

在给出的白盒测试覆盖方法中,哪一种通常具有最强的查错能力( )?

  • A.

    语句覆盖

  • B.

    条件覆盖

  • C.

    判定覆盖

  • D.

    路径覆盖

答案与解析

平台答案:D。

整理解析

选D。按本题常见教材口径,路径覆盖要求检查各条可能的控制流路径,对路径组合的要求最全面。

补充与纠错

条件覆盖与判定覆盖一般不存在彼此包含的关系,不能把二者排成绝对强弱序列。有循环时可行路径可能无限,实际测试需限制范围;即使覆盖全部所考虑路径,也不能据此保证软件没有缺陷。

2024-05 Q050

来源:第 50 题(原站入口)。

采用面向数据流的软件设计方法时,信息流通常分为哪两种( )?

  • A.

    数据流和控制流

  • B.

    变换流和控制流

  • C.

    变换流和事务流

  • D.

    数据流和事务流

答案与解析

平台答案:C。

整理解析

选C。变换流围绕输入、变换处理、输出组织模块;事务流由一个事务中心识别输入的事务类型,再选择相应的处理分支。

补充与纠错

平台对事务流的说明混入了数据库事务的完整性、一致性和原子性概念。结构化设计中的事务流重点是识别事务并分派处理,不是数据库事务的ACID要求。

2024-05 Q056

来源:第 56 题(原站入口)。

以下关于软件原型作用的说法,哪一项不正确( )?

  • A.

    对具有高风险的开发功能,可以证实设计和实现的可行性

  • B.

    可为软件系统提供明确的需求说明

  • C.

    证实引入新的开发技术的可行性

  • D.

    主要用于提高需求分析师和设计人员的沟通效率

答案与解析

平台答案:B。

整理解析

平台答案B,但其理由不足。原型可验证高风险方案及新技术的可行性,也能帮助用户与开发方发现、澄清和验证需求,所以B“可为软件系统提供明确的需求说明”按通常含义并非明显错误。

补充与纠错

原页已核实:题干只问原型作用中的不正确项,B、D及平台答案B均已核实,没有附加条件。原型不等于完整正式的需求规格文档,但这不能推出它无法帮助形成明确需求。D把主要沟通对象表述为需求分析师和设计人员,忽略用户参与,也值得质疑。保留平台B;其排除B的理由不足,不能把有歧义的选项强行解释成唯一结论。

2024年上半年软件设计师应用技术真题(专业解析+参考答案):案例题

本节保留 1 条来源:1 组完整,0 组不完整。

2024-05-case Q001

产品缺陷检测系统的数据流图与数据字典

阅读下列说明和图,回答问题。

【说明】

随着智能制造的发展,现代工业生产线上大量使用机器学习等技术,以实现生产流程的智能化和自动化,提升产品质量。某企业欲开发基于机器视觉的产品缺陷检测系统来改造生产线,该系统的主要功能是:

(1)图像采集。连接高分辨率工业相机对产品表面进行拍摄,接收拍摄的产品原始图像并进行存储,图像附带产品号、时间戳等信息。

(2)图像预处理。对产品原始图像通过灰度化、去噪、对比度增强等操作消除图像中的噪声和失真,将预处理后的图像进行存储。

(3)缺陷识别。从预处理后的图像中提取出特征并进行存储,包括颜色、形状、纹理等。基于特征和系统参数进行产品缺陷识别,得到识别结果。识别结果包括:无缺陷,或有缺陷,以及有缺陷时至少一种缺陷类型。

(4)结果输出。根据缺陷识别结果向控制分拣系统发送控制指令;同时将识别结果通过前端监控页面展示给质量管理员。

(5)后台管理。质量管理员对视觉检测系统参数进行管理或设置,供缺陷识别使用。

(6)数据导出。视觉模型训练平台发送数据请求,将积累的产品图像及识别数据(图像特征与识别结果)通过接口进行导出,用于进行进一步训练和优化模型。

现采用结构化方法对缺陷检测系统进行分析与设计,获得如图1所示的上下文数据流图和图2所示的0层数据流图。

01(4分)
使用说明中的词语,给出图1中的实体E1E4的名称。
02(4分)
使用说明中的词语,给出图2中的数据存储D1
D4的名称。
03(4分)
根据说明和图中词语,补充图2中缺失的数据流及其起点和终点。每条数据流的解答格式如下:
数据流名称:
04(3分)
根据说明和图,给出P3到D4的数据流“识别结果”的组成。

答案与解析

平台参考答案(原意保留)

平台参考答案:

  1. E1 工业相机;E2 视觉模型训练平台;E3 控制分拣系统;E4 质量管理员。
  2. D1 原始图像表;D2 预处理图像表;D3 图像特征表;D4 识别结果表。
  3. 平台列出的缺失数据流:
  4. D1 → P6:导出原始图像数据。
  5. D2 → P6:导出预处理图像数据。
  6. D3 → P6:导出图像特征数据。
  7. D4 → P6:导出识别结果数据。
  8. 平台给出的数据组成:识别结果 = [无缺陷 | 有缺陷 | 有缺陷时至少一种缺陷类型]。

解析与纠错

解析与纠错:

  • E1 输入产品图像,E2 发出数据请求并接收产品图像和识别数据,E3 接收控制指令,E4 提供系统参数并查看识别结果,因此平台四个实体名称与图1相符。
  • 图2中 P1 写入原始图像,P2 写入预处理图像,P3 写入图像特征和识别结果,分别对应 D1—D4。题干没有要求具体物理表名,使用“原始图像存储”等同义名称也能准确描述数据存储。
  • 数据导出加工 P6 需要读取图像和识别数据,平台列出的 D1、D2、D3、D4 → P6 四条读取流符合其导出全部已存图像与识别数据的理解。
  • 图2还遗漏了 系统参数存储 → P3(缺陷识别),数据流名称为“系统参数”。说明明确要求“基于特征和系统参数进行产品缺陷识别”,图中 P5 虽向系统参数存储写入数据,却没有后续读取流。平台只列出四条导出流,未覆盖这项必要输入;不能根据本问有4分就断言只能存在4条缺流。
  • 特征提取和识别都属于 P3,P3内部可以直接使用刚提取的特征,题目未必要求再补 D3 → P3 的读取流。是否额外读取历史特征应由业务要求决定,不应无依据增添。
  • 平台对“识别结果”的表达把“有缺陷”和“至少一种缺陷类型”列成互斥选项,会允许“有缺陷但没有类型”,不满足题意。可写为:
识别结果 = [无缺陷 | 有缺陷 + 缺陷类型列表]
缺陷类型列表 = 缺陷类型 + {缺陷类型}

这里 [] 内择一,+ 表示组成连接,{} 表示可重复零次或多次,因此有缺陷时至少有一种类型。产品号、时间戳属于题干已说明的图像信息;识别结果是否另带它们,题干没有给出,不能直接加为必填字段。

2023年下半年软件设计师案例真题(考生回忆版):案例题

本节保留 1 条来源,答案与解析默认收起。

2023-11-case Q002

众包训练数据系统的数据流图

【考生回忆版】

为减少聊天机器人训练数据集的人工收集成本,拟开发众包信息系统,功能如下。

  1. 用户管理:众包工作者提供角色和标识,保存到用户表。
  2. 添加问题:众包工作者提供问题建议,管理员添加初始问题;问题和问题类别分别存储,类别标明问题来自工作者还是管理员。
  3. 答复问题:系统随机展示5个问题,工作者可回答或拒绝。回答时提供答案,拒绝时提供拒绝原因;若回答问题数不足5个,继续展示问题,否则工作者提供问题建议。回答和拒绝均以不同状态标记保存到答复表。
  4. 数据服务:按其它训练平台的请求,提供包含问题、问题类别和回复的数据集。

使用结构化方法分析与设计,得到图1上下文数据流图和图2的0层数据流图。

上下文数据流图

图1 上下文数据流图

0层数据流图

图1 0层数据流图

【问题1】(3分)使用需求说明中的词语,写出图1中E1~E3的实体名称。

【问题2】(4分)使用需求说明中的词语,写出图2中D1~D4的数据存储名称。

【问题3】(4分)按需求和图中术语,补出图2缺失的数据流,并给出各自起点和终点。

【问题4】(4分)说明分层数据流图中父图与子图平衡的含义,以及保持平衡的方法。

答案与解析

平台参考答案(原文保留)

【问题1】

E1:管理员
E2:众包工作者
E3:其它训练平台

【问题2】

D1:用户表
D2:答复表
D3:问题类别表
D4:问题表

【问题3】
E2- > P3 问题建议
E2- > P2 问题建议

D2至P4答复

D4至P2问题

【问题4】
父图与子图之间平衡是指任何一张DFD子图边界上的输入/输出数据流必须与其父图对应加工的输入/输出数据流保持一致。
父图中某个加工的一条数据流对应于子图中的几条数据流而子图中组成这些数据流的数据项全体正好等于父图中的这条数据流,那么它们仍然是平衡的。

解析与纠错

  1. 沿上下文图的边界数据流识别实体:提供初始问题的是E1管理员;提供角色/标识、回复和问题建议,并接收问题的是E2众包工作者;请求并接收数据集的是E3其它训练平台。
  2. D1接收角色与标识,是用户表;P2答复问题把问答写入D2,故D2是答复表;P3分别把问题类别和问题写入D3、D4,对应问题类别表、问题表。
  3. 根据现有图,三条可以直接确定的缺失流为:E2→P3“问题建议”,D4→P2“问题”,D2→P4“答复”。分别补足新增问题的输入、随机展示问题的读取、数据集中回复信息的读取。平台另列E2→P2“问题建议”,但P2的已述职责是展示及答复问题,接收并保存建议由P3完成;题文和图没有要求把同一建议再独立输入P2。因此保留平台这条答案,但标明其必要性缺乏给定依据,不把它作为确定的第四条补流。
  4. 父子图平衡比较的是系统边界所传信息:子图的全部外部输入/输出,应与父图对应加工的输入/输出等价,不得凭分解新增或遗漏外部接口。允许父图一条复合流在子图拆成若干流,只要数据字典中各流的数据项合并后与父流相同;加工与内部存储之间的新流不因此破坏平衡。逐一核对外部实体、方向、名称及数据项即可检查。这里父图的“回复”可以在子图细分为答案或拒绝原因,再用状态区分。

题目先称第二幅图为图2,原图注却写“图1 0层数据流图”;保留原图注,小问中图2指第二幅图。题文的“回答问题数不足5”也照其原条件保留,不擅自改成“回答和拒绝的总次数不足5”。

2023年下半年软件设计师考试基础知识(专业解析+参考答案)

本节已整理 9 条来源记录;题号沿用来源,答案与解析默认收起。

2023-11 Q024

来源:第 24 题(原站入口)。

【考生回忆版】统一过程模型分为四个阶段,其中进行需求分析和架构演进的阶段为( )。

  • A.

    移交

  • B.

    精化

  • C.

    构建

  • D.

    起始

答案与解析

平台答案:B。

整理解析

选B。精化阶段进一步分析需求、处理关键风险并建立或完善体系结构基线。起始阶段明确范围与可行性,构建阶段逐步实现系统,移交阶段面向用户部署和交付。

补充与纠错

需求分析、架构设计等工作流会跨阶段迭代,精化只是本题所问的重点阶段,不表示这些活动只能在该阶段发生。

2023-11 Q036

来源:第 36 题(原站入口)。

【考生回忆版】关于基于构件的开发模型,下列说法不正确的是( )。

  • A.

    本质上是演进模型,以迭代方式构建软件

  • B.

    必须采用面向对象开发技术

  • C.

    采用预先打包的软件构件构造软件

  • D.

    构件可以是组织内部开发的,也可以是商品化成品软件构件

答案与解析

平台答案:B。

整理解析

选B。构件开发的核心是通过约定接口选择、适配和组装可复用构件,构件既可内部开发也可外购;它不要求内部实现一律采用面向对象语言或技术。

补充与纠错

教材常把此模型归为演进式、迭代式开发,但“使用构件”本身不能推出任何具体项目都必须采用同一种生命周期,也不能保证构件无需适配与测试。

2023-11 Q046

来源:第 46 题(原站入口)。

下列作为白盒测试原则的描述中,哪一项不正确?

  • A.

    在所有的逻辑判断中,取“真”和取“假”的两种情况至少都能执行一次

  • B.

    程序模块中的所有独立路径至少执行一次

  • C.

    每个循环都应在边界条件和一般条件下各执行一次

  • D.

    在输入条件规定的取值范围的情况下,合理的输入和不合理的输入至少都能执行一次

答案与解析

平台答案:D。

整理解析

白盒测试依据内部控制结构设计用例,例如使判定的真、假分支被执行,覆盖独立路径,并检查循环边界。D依据输入条件区分有效和无效输入,属于通常的黑盒用例设计要求,故选D。

补充与纠错

纠错:A描述的是判定(分支)覆盖,不是平台解析所称的路径覆盖;B的独立路径也不等于程序的一切可能路径。白盒测试同样可以使用无效输入,这里的区分是用例设计依据,并非禁止测试某类输入。

2023-11 Q047

来源:第 47 题(原站入口)。

以下哪一项不属于提高软件可维护性的方法?

  • A.

    改进文档

  • B.

    建立明确的软件质量目标和优先级

  • C.

    提高算法计算效率

  • D.

    进行质量保证审查

答案与解析

平台答案:C。

整理解析

文档、质量目标与优先级、质量保证审查都能帮助理解和控制后续修改。单纯提高算法计算效率主要改善性能,不能保证软件更容易理解、修改或验证,因此本题选C。

2023-11 Q049

来源:第 49 题(原站入口)。

下列关于软件测试原则的陈述中,哪一项不正确?

  • A.

    充分注意测试中的群集现象

  • B.

    设计测试用例时,应包括合理的输入条件和不合理的输入条件

  • C.

    应该由程序员测试自己编写的程序

  • D.

    严格执行测试计划,避免测试的随意性

答案与解析

平台答案:C。

整理解析

按本题强调独立测试、避免作者偏见的传统考法,选C。缺陷可能集中在少数模块,测试应同时考虑有效与无效输入,并遵循计划。

补充与纠错

纠错:不能像平台解析那样断言程序员不应设计测试用例或测试自己的代码。开发者编写和运行单元测试是正常职责;需要避免的是只由作者自测就认定软件质量合格,独立测试和评审用于补充不同视角。

2023-11 Q050

来源:第 50 题(原站入口)。

一种敏捷方法把使命作为指导,并把特征看作体现客户价值的关键点。这描述的是哪种方法的原则?

  • A.

    自适应软件开发(ASD)

  • B.

    极限编程(XP)

  • C.

    并列争球法(Scrum)

  • D.

    水晶法(Crystal)

答案与解析

平台答案:A。

整理解析

自适应软件开发(ASD)强调以使命和特征组织开发,在推测、协作、学习的循环中调整计划,以适应变化,所以选A。

2023-11 Q064

来源:第 64 题(原站入口)。

以下关于软件工程标准化的作用,哪一项说法不正确?

  • A.

    可以提高开发人员之间的沟通效率

  • B.

    有助于提高管理水平

  • C.

    有助于提高软件产品质量

  • D.

    可以提高每一位开发人员的开发技能

答案与解析

平台答案:D。

整理解析

统一术语、过程和交付物要求,有助于沟通、管理和质量控制。标准化本身不能保证每位开发人员的具体开发技能都提高,因此D的说法过强,选D。

2023-11 Q067

来源:第 67 题(原站入口)。

设计模块 M 和 N 时,以下哪种信息交互方式最好?

  • A.

    M和N通过通信模块传送数据

  • B.

    M和N通过公共数据域传送数据

  • C.

    M和N通过简单数据参数交换信息

  • D.

    M直接访问N的数据

答案与解析

平台答案:C。

整理解析

仅通过简单数据参数交换所需信息,属于数据耦合,接口明确且对内部实现的依赖较少,故按低耦合原则选C。公共数据域会形成公共耦合,直接访问另一模块内部数据会形成更强的内容耦合;仅引入通信模块也不自动保证低耦合。

2023-11 Q069

来源:第 69 题(原站入口)。

软件文档贯穿软件生存期。以下哪项不属于文档的作用?

  • A.

    提高软件运行效率

  • B.

    作为开发过程的阶段工作成果和结束标记

  • C.

    提高开发过程的能见度

  • D.

    提高开发效率

答案与解析

平台答案:A。

整理解析

文档记录阶段成果、提供后续工作的依据,让开发进展可见,并减少沟通和交接成本;它本身不会使程序执行得更快。运行效率主要取决于算法、实现和执行环境,所以选A。

2023年上半年软件设计师应用技术:案例题

本节保留 1 组案例。

2023-05-case Q001

农事管理服务平台

阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。

随着农业领域科学种植的发展,需要对农业基地及农事进行信息化管理,为租户和农户等人员提供种植相关服务。现欲开发农事管理服务平台,其主要功能是:

(1)人员管理。平台管理员管理租户;租户管理农户并为其分配负责的地块。租户和农户以人员类型区分。

(2)基地管理。租户填写基地名称、地域等描述信息,在显示的地图上绘制地块。

(3)种植管理。租户设定作物及其从种植到采收的整个农事过程,包括农事活动及其实施计划;农户根据相应农事过程提醒进行农事活动并记录。系统会在设定时间向农户进行农事提醒;对逾期未实施活动向租户发出逾期告警。

(4)投入品管理。租户统一维护化肥、杀虫剂等投入品信息,农户在农事活动中设定投入品的实际消耗。

(5)信息服务。用户按查询条件发起农事信息请求,对相关地块农事活动实施情况(如与农事过程比对)等农事信息进行筛选、对比和统计等处理,并将响应信息进行展示。系统也给其他第三方软件提供API接口,通过接口访问的方式,提供账号、密码和查询条件发起农事信息请求,返回特定格式的农事信息。无查询条件时默认返回账号下的所有信息,多查询条件时返回满足全部条件的信息。

现采用结构化方法对农事管理服务平台进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。

【问题1】(4分)

使用说明中的词语,给出图1-1中的实体E1~E4的名称。
【问题2】(4分)

使用说明中的词语,给出图1-2中的数据存储D1~D4的名称。
【问题3】(4分)

根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点。
【问题4】(3分)

根据说明,给出“农事信息请求”数据流的组成。

答案与解析

平台参考答案(原意保留)

问题一
E1:平台管理员 E2:农户 E3:租户 E4:第三方软件

问题二
D1:人员表
D2:基地及地块数据表
D3:农事过程表
D4:农事活动表

问题三

数据流名称 起点 终点
投入品实际消耗 P4 D4
农事过程信息 D3 P5
农事活动信息 D4 P5
农事过程 P3 E2

问题四
农事信息请求 = 账号+密码+查询条件

解析与纠错

实体与数据存储。 E1是平台管理员,E2是农户,E3是租户,E4是第三方软件。D1保存人员,D2保存基地与地块,D3保存农事过程与计划,D4保存实际农事活动。名称可按业务对象命名,不能把某次输入的数据流与整个数据存储混为一谈。

缺失数据流。 平台列出的“D3→P5:农事过程信息”“D4→P5:农事活动信息”分别支撑计划比较和实施情况查询。若由P4处理农户的消耗信息,“P4→D4:投入品实际消耗”可补上记录去向,但还需说明P4从何处取得该消耗输入。

图1-2已经绘有 P3→E2的“农事提醒”。平台第四条“P3→E2:农事过程”若指完整过程或计划,可以与提醒作为不同内容并存;若只是把提醒换了名称,就不是缺失线。同起点、同终点不等于同一数据流,题干又没有明确要求向农户另行传输完整计划,因此不能把这一条当作唯一确定的补图结论。

进一步检查。 农户在农事活动中填写实际消耗,数据可以作为已有E2→P3“农事活动”的组成部分。若仍由P4统一处理消耗,可由P3转交给P4,或让E2把该部分数据直接送入P4;若由P3直接写入D4,则未必需要额外的P4写入路径。这些方案不可无条件并列为必补项。对于定时提醒与逾期判断,若P3使用D3、D4中的持久记录,应补上相应读取,原图两条写入箭头不能代替读取。按账号和地块筛选还需取得归属与地块资料,D1、D2到P5的读取是可行方案,但不是题干规定的唯一分解。应以加工输入足以支撑输出、上下文图与0层图保持平衡为检查依据。

数据字典。 对第三方API,可写为下式;账号与密码标识访问身份,条件序列可以为空,多条件按“且”组合。空条件表示当前账号可访问的全部农事信息,不表示全平台全部数据。

1
2
3
农事信息请求 = 账号 + 密码 + 查询条件集
查询条件集 = 0{查询条件}n
筛选规则:无条件 → 当前账号下全部信息;多条件 → 同时满足全部条件

图中的租户、农户以“查询条件”发起查询,登录身份可由会话提供;不必由这一简图推导每次界面查询都明文携带密码。平台未展开查询条件集的可空性和合取语义,查询条件可空及多条件合取由题干直接得到;界面会话仅是一种实现选择。

补充与完整参考实现

平台解析所用的数据存储局部图(按原图保留):

2023年上半年软件设计师考试基础知识(专业解析+参考答案)

本节已整理 9 条来源记录;题号沿用来源,答案与解析默认收起。

2023-05 Q015

来源:第 15 题(原站入口)。

关于数据流图的基本加工,下列说法不正确的是( )。

  • A.

    对每一个基本加工,必须有一个加工规格说明

  • B.

    加工规格说明必须描述把输入数据流变换为输出数据流的加工规则

  • C.

    加工规格说明要给出实现加工的细节

  • D.

    决策树、决策表可以用来表示加工规格说明

答案与解析

平台答案:C。

整理解析

选C。基本加工的规格说明要明确输入如何按业务规则变成输出,可用结构化语言、决策树或决策表表达;需求分析不要求在这里规定具体代码和依赖实现环境的细节。

补充与纠错

“不规定实现细节”不等于加工规格可以含糊:必要的数据变换、条件和异常规则仍应清晰完整,甚至可用伪代码表达;关键是区分需求逻辑与具体实现选择。

2023-05 Q016

来源:第 16 题(原站入口)。

以下哪项不属于良好的软件设计原则( )。

  • A.

    模块化

  • B.

    提高模块独 立性

  • C.

    集中化

  • D.

    提高抽象层次

答案与解析

平台答案:C。

整理解析

选C。模块化、合理抽象和提高模块独立性,有助于把职责与变化范围控制在清晰的边界内;把职责集中为紧密纠缠的一大块不符合这里的设计取向。

补充与纠错

这不是要求消灭所有集中管理:共享配置或资源管理可以有集中机制,是否合理仍取决于职责。原B项“模块独 立性”的空格照留。

2023-05 Q029

来源:第 29 题(原站入口)。

关于增量模型的优点,下列说法不正确的是( )。

  • A.

    能够在较短的时间提交一个可用的产品系统

  • B.

    可以尽早让用户熟悉系统

  • C.

    优先级高的功能首先交付,这些功能将接受更多的测试

  • D.

    系统的设计更加容易

答案与解析

平台答案:D。

整理解析

选D。增量开发可先交付可用的部分功能,使用户尽早试用并让高优先级功能经历更多反馈与测试;但架构还要容纳后续增量,模块依赖、接口演进和持续集成并不会自动更容易。

补充与纠错

较早交付的应是可用增量,不等于立即交付完整系统;高优先级模块有更多测试机会,也不自动保证测试充分或没有缺陷。

2023-05 Q030

来源:第 30 题(原站入口)。

一种敏捷方法以较短时间(如30天)为一次迭代,称为“冲刺”,并按需求优先级实现产品。这种方法是( )。

  • A.

    极限编程(XP)

  • B.

    水晶法(Crystal)

  • C.

    并列争球法(Scrum)

  • D.

    自适应软件开发(ASD)

答案与解析

平台答案:C。

整理解析

选C。Scrum以固定时长的Sprint组织迭代,从按优先级管理的产品待办事项中选择工作,逐步交付产品增量;“冲刺”是识别该方法的关键术语。

补充与纠错

Scrum不以“多个小组并行开发”作为必需定义,一个团队也可以运用。Sprint通常为一个月或更短的固定时长,题中30天是举例,不是只能采用这一长度;时间盒也不保证所有原计划事项必然完成。

2023-05 Q031

来源:第 31 题(原站入口)。

模块A向模块B传递控制参数,用它决定B执行其中哪部分语句,两个模块之间属于( )耦合。

  • A.

    数据

  • B.

    标记

  • C.

    控制

  • D.

    公共

答案与解析

平台答案:C。

整理解析

选C。传入参数的作用是指挥被调用模块选择执行分支,因此属于控制耦合。仅交换普通数据是数据耦合,传递结构化记录涉及标记耦合,共享公共数据环境则是公共耦合。

补充与纠错

不能只看参数类型是不是布尔值就断定控制耦合;关键在于它是否规定了另一模块要执行的功能或分支。本题明确具备这一含义。

2023-05 Q033

来源:第 33 题(原站入口)。

关于管道-过滤器体系结构风格的优点,下列说法不正确的是( )。

  • A.

    构件具有良好的高内聚、低耦合的特点

  • B.

    支持软件复用

  • C.

    支持并行执行

  • D.

    适合交互处理应用

答案与解析

平台答案:D。

整理解析

选D。过滤器按约定输入输出处理数据,经管道组合成处理流程,便于复用和流水并行;对频繁用户交互、全局状态协调的应用,这种单向数据处理组织通常不够自然。

补充与纠错

过滤器之间仍通过数据流通信,平台“不同过滤器之间不需要交互”不能解释成没有信息交换;它强调的是经统一接口组合、减少彼此内部依赖。并行能力也不保证任意场景都更快。

2023-05 Q034

来源:第 34 题(原站入口)。

对下面流程图进行测试,至少需要( 34 )个测试用例覆盖所有路径;用McCabe方法计算的程序复杂度为( 35 )。

请作答:第34题。

  • A.

    3

  • B.

    4

  • C.

    5

  • D.

    6

答案与解析

平台答案:B。

整理解析

平台选B,对应4条基本独立路径的思路:直接经判断1的否分支退出;经判断2的否分支走语句3;经判断3的否分支走语句4;以及走判断3的回边后再退出。图中存在循环,不能直接把这4条代表路径解释为原题所写的全部执行路径。

补充与纠错

判断3的Y分支回到判断1之前;若循环次数无界且相应路径可达,可形成任意多次绕回的执行路径。原页已核实:完整原题无循环次数上限或独立路径约定,判断3的Y分支确实回到判断1之前;不能证明用4个用例覆盖所有路径。4是结构上的独立路径数,具体用例可行性还需实际条件;平台B保留,原题条件缺失已核实。

2023-05 Q035

来源:第 35 题(原站入口)。

对下面流程图进行测试,至少需要( 34 )个测试用例覆盖所有路径;用McCabe方法计算的程序复杂度为( 35 )。

请作答:第35题。

  • A.

    2

  • B.

    3

  • C.

    4

  • D.

    5

答案与解析

平台答案:C。

整理解析

选C。图中判断1、判断2、判断3各有两个出口,单一连通控制流图的环路复杂度为判定结点数+1=3+1=4。按包含开始、结束在内的11个结点、13条边计数,也有V(G)=13−11+2=4。

补充与纠错

环路复杂度衡量独立路径数,不是循环执行次数,也不是所有执行路径的总数。平台图中的圈是对平面区域的辅助示意;判定数+1与E−N+2更便于避免把几何圈数误当程序运行次数。

2023-05 Q036

来源:第 36 题(原站入口)。

软件交付用户后,为使界面更友好而改进系统的图形输出,这属于( )维护。

  • A.

    改正性

  • B.

    适应性

  • C.

    改善性

  • D.

    预防性

答案与解析

平台答案:B。

整理解析

平台答案保留B。按当前题干,“为了使用户界面更友好”而改进图形输出属于改善易用性,通常应归为改善性(完善性)维护,即选项C。适应性维护需要外部软硬件、运行环境等变化的动因,题干没有提供这一条件。

补充与纠错

平台把“图形输出改进”直接解释成“输入输出环境改变”,补入了原题没有的事实;易用性改进也不要求先证明运行速度提高。平台原答案B予以保留,整理意见C单独说明。

2022年下半年软件设计师案例真题:案例题

本节保留 1 条来源,答案与解析默认收起。

2022-11-case Q001

充电计量检定的数据流设计

为检定新能源车充电桩的计量准确性,开发计量检定云端软件。充电桩配有电能计量和电费计费功能,充电计量准确性须强制检定。系统要求如下。

  1. 数据接收:计量装置按秒上报充电监测数据和计量数据,包括充电过程中的电压、电流、电能。前者由充电桩监测,后者由计量装置计量;系统还接收计量装置心跳数据,两类数据分别存储。
  2. 基础数据维护:管理员维护充电桩、计量检定装置等基础数据。
  3. 数据分析:对比电压、电流、电能并分析误差,记录充电桩充电误差,供计量装置检定;按计量检测人员给出的查询和统计条件展示结果。
  4. 充电桩检定:计量检测人员依据误差分析结果及检定信息记录开展检定并提交结果;系统更新充电桩的检定结果、检定时间,并保存检定记录。
  5. 异常告警:计量装置心跳停止时,向管理员告警。
  6. 检定信息获取:其它相关第三方服务可查询充电桩的检定信息。

采用结构化方法得到以下上下文数据流图和0层数据流图。

图1-1 上下文数据流图

图1-2 0层数据流图

【问题1】(4分)用说明中的词语填写图1-1的外部实体E1~E4。

【问题2】(5分)用说明中的词语填写图1-2的数据存储D1~D5。

【问题3】(4分)依据说明及图中术语,补出图1-2缺失的数据流,并给出每条流的起点、终点。

【问题4】(2分)写出“充电监测与计量数据”数据流的组成。

答案与解析

平台参考答案(原文保留)

【问题1】
E1:计量装置
E2:管理员
E3:计量检测人员
E4:第三方服务
【问题2】
D1:充电数据文件
D2:基础数据文件
D3:心跳数据文件
D4:充电误差信息文件
D5:检定记录

【问题3】

或者

【问题4】
充电监测数据和计量数据={充电桩ID+计量装置ID+监测电压+监测电流+监测电能+计量电压+计量电流+计量电能+时间}
或者
充电监测数据和计量数据={监测数据+计量数据+时间}

解析与纠错

E1负责上报监测和计量数据,因此是计量装置;E2维护基础数据并接收告警,是管理员;E3提出查询统计条件并提交检定结果,是计量检测人员;E4只查询检定信息,是第三方服务。

按数据进入和使用的处理确定存储:P1分别写入D1充电数据文件、D3心跳数据文件;P2维护D2基础数据文件;P3把误差分析结果写入D4充电误差信息文件;D5保存检定记录。

平台问题3给出的两张答案表并不等价。按“更新充电桩中的检定信息,并存储于检定记录”和第三方查询充电桩信息的要求,第二张表更直接对应如下四条流:

数据流 起点 终点
查询和统计条件 E3计量检测人员 P3数据分析
检定信息 P4充电桩检定 D2基础数据文件
检定信息 P4充电桩检定 D5检定记录
检定信息 D2基础数据文件 P6检定信息获取

第一张表另列D4→P3的“充电信息误差”和D5→P6的“检定信息”,却未体现P4更新D2。若需要查询已保存的误差,可增加D4→P3;若P6从历史记录取当前检定结果,还须说明按充电桩取得最新记录的规则。这些条件下才可采用相应路径,不能把两份图当成完全相同的答案。两份平台图均原样保留。

充电数据需要区分充电桩和计量装置,并按同一时间对齐比较,故可写为:充电桩ID+计量装置ID+监测电压+监测电流+监测电能+计量电压+计量电流+计量电能+时间。平台简写“监测数据+计量数据+时间”只有在两个复合数据项已包含设备标识时才足够。

原上下文图把“充电监测及计量数据”的箭头画向E1;按题干以及0层图E1→P1的方向,应由计量装置流入系统。题图不改,方向冲突在此说明。

2022年上半年软件设计师应用技术:案例题

本节保留 1 组案例。

2022-05-case Q001

外卖订餐系统的数据流

阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
某公司欲开发一款外卖订餐系统,集多家外卖平台和商户为一体,为用户提供在线浏览餐品、订餐和配送等服务。该系统的主要功能是:
1.入驻管理。用户注册、商户申请入驻,设置按时间段接单数量阈值等。系统存储商户/用户信息。
2.餐品管理。商户对餐品的基本信息和优惠信息进行发布、修改、删除。系统存储相关信息。
3.订餐。用户浏览商户餐单,选择餐品及数量后提交订餐请求。系统存储订餐订单。
4.订单处理。收到订餐请求后,向外卖平台请求配送。外卖平台接到请求后发布配送单,由平台骑手接单,外卖平台根据是否有骑手接单返回接单状态。若外卖平台接单成功,系统给支付系统发送支付请求,接收支付状态。支付成功,更新订单状态为已接单,向商户发送订餐请求并由商户打印订单,给用户发送订单状态;若支付失败,更新订单状态为下单失败,向外卖平台请求取消配送,向用户发送下单失败。若系统接到外卖平台返回接单失败或超时未返回接单状态,则更新订单状态为下单失败,向用户发送下单失败。
5.配送。商户备餐后,由骑手取餐配送给用户。送达后由用户扫描骑手出示的订单上的配送码后确认送达,订单状态更改为已送达,并发送给商户。
6.订单评价。用户可以对订单餐品、骑手配送服务进行评价,推送给对应的商户、所在外卖平台,商户和外卖平台对用户的评价进行回复。系统存储评价。
现采用结构化方法对外卖订餐系统进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。

图1-1 上下文数据流图

图1-2 0层数据流图

【问题1】(4分)
使用说明中的词语,给出图1-1中实体E1~E4的名称。
【问题2】(4分)
使用说明中的词语,给出图1-2中的数据存储D1-D4 的名称。
【问题3】(4分)
根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点。
【问题4】(3分)
根据说明,采用结构化语言对“订单处理”的加工逻辑进行描述。

答案与解析

平台参考答案(原意保留)

【问题1】(4分)
E1:商户
E2:外卖平台
E3:用户
E4:支付系统

【问题2】(4分)
D1:用户/商户信息
D2:订餐订单信息
D3:餐品信息
D4:评价信息

【问题3】(4分)【1条1分,满分4分】

数据流名称 起点 终点
餐单 P3或订餐 E3或用户
餐单 D3或餐品信息 P3或订餐
订餐请求 P3或订餐 P4或订单处理
更新订单状态 P4或订单处理 D2或订单信息

【问题4】(3分)

收到订餐请求后,向外卖平台请求配送;

外卖平台接到请求后发布配送单,由平台骑手接单;

外卖平台根据是否有骑手接单返回接单状态;

IF(外卖平台接单成功)THEN{

系统给支付系统发送支付请求,接收支付状态;

IF(支付成功)THEN{

更新订单状态为已接单;

向商户发送订餐请求并由商户打印订单;

给用户发送订单状态;}

ELSE{

更新订单状态为下单失败;

向外卖平台请求取消配送;

向用户发送下单失败;

}ENDIF

}ELSE IF(系统接到外卖平台返回接单失败或超时未返回接单状态)THEN{

更新订单状态为下单失败;

向用户发送下单失败;

}ENDIF

解析与纠错

实体和存储。 E1商户发布餐品并接收订单,E2外卖平台接收配送请求并返回接单状态,E3用户提交订餐及评价,E4支付系统处理支付。D1保存用户/商户信息,D2保存订餐订单,D3保存餐品,D4保存评价。平台解析把E3写成“用户订单状态”,混合了实体和数据流;实体应为“用户”。

补充数据流。 平台给出的四条可以支持完整订餐路径:D3→P3提供餐单,P3→E3展示餐单,P3→P4提交订餐请求,P4→D2写入更新后的订单状态。图中P4名称为“订单管理”,对应说明里的“订单处理”,是同一加工。D2在图中重复绘制用于布线,表示同一个数据存储,不是两套订单库。

订单处理逻辑。 以下只展开说明已明确的分支,不擅自加入新的支付超时或取消规则。平台发布配送单、骑手接单是外部平台的行为,本系统等待其返回接单状态。

收到订餐请求
向外卖平台发送配送请求
等待接单状态或达到题定等待期限
IF 接单成功 THEN
    向支付系统发送支付请求,接收支付状态
    IF 支付成功 THEN
        将订单状态更新为“已接单”并写回订单存储
        向商户发送订餐请求,由商户打印订单
        向用户发送订单状态
    ELSE(支付失败)
        将订单状态更新为“下单失败”并写回订单存储
        向外卖平台请求取消配送
        向用户发送下单失败
    ENDIF
ELSE IF 接单失败 OR 超时未返回接单状态 THEN
    将订单状态更新为“下单失败”并写回订单存储
    向用户发送下单失败
ENDIF

只有接单成功后才请求支付;支付失败分支明确要求取消配送,接单失败/超时分支的题面没有这一要求。入驻时设置的接单数量阈值没有给出具体判定规则,不能替题目补造一个必需的阈值检查分支。

2021年下半年软件设计师案例真题:案例题

本节保留 1 条来源,答案与解析默认收起。

2021-11-case Q001

智慧农业平台的数据流图

某现代农业种植基地要建设集管理与销售于一体的智慧农业平台,提高农作物种植过程的智能化水平。功能要求如下。

  1. 信息维护:农业专家维护农作物、环境等监测数据的监控处理规则。
  2. 数据采集:接收传感器连续上传的农作物长势、土壤墒情、气候等监测数据,解析为监测信息,供数据处理、可视化和存储使用。
  3. 数据处理:按监控处理规则分析实时监测信息,将分析结果用于可视化、存储及远程控制;对历史监测信息进行综合统计和预测,将预测信息用于可视化和存储。
  4. 远程控制:按监控处理规则判定分析结果,并据此自动远程控制控制器;也可按照农业人员提供的控制信息远程控制控制器。
  5. 可视化:实时向农业人员显示监测信息;向农业专家实时显示统计分析结果与预测信息,或根据其请求显示。

采用结构化方法分析、设计该平台,图1-1为上下文数据流图,图1-2为0层数据流图。

【问题1】(4分)使用说明中的词语,填写图1-1的实体E1~E4名称。

【问题2】(4分)使用说明中的词语,填写图1-2的数据存储D1~D4名称。

【问题3】(4分)依据说明和图中术语,补充图1-2缺失的数据流,并写出各自的起点、终点。

【问题4】(3分)“数据处理”可分解成哪些子加工?进一步分解时要注意哪三种常见错误?

答案与解析

平台参考答案(原文保留)

【问题1】
E1:传感器;E2:农业专家;E3:农业人员;E4:控制器
【问题2】
D1:监控处理规则文件 D2:监测信息文件 D3:分析结果文件 D4:预测信息文件
【问题3】
起点D1,终点P4,监控规则
起点D2,终点P3,历史监测信息
起点P3,终点P5,分析结果
起点P3,终点P5,预测信息
【问题4】

监测分析、综合统计分析/预测。

有输入但是没有输出、输入不足以产生输出、有输出但没有输入(或黑洞、灰洞、奇迹)。

解析与纠错

先按数据的来源与去向识别外部实体:上传监测数据的是E1传感器,维护规则并接收分析、预测结果的是E2农业专家,提交控制信息并接收监测信息的是E3农业人员,接收控制指令的是E4控制器。各存储依其写入内容确定:D1监控处理规则文件,D2监测信息文件,D3分析结果文件,D4预测信息文件。

需补的四条数据流为:D1→P4传送监控规则;D2→P3传送历史监测信息;P3→P5分别传送分析结果和预测信息。判断控制动作需要规则,历史分析需要读回历史数据,实时展示分析及预测结果需要从P3取得这两类结果。

P3可分为实时监测分析、历史数据综合统计与预测两类子加工,也可在下一层继续细分统计与预测。P5已承担可视化,不能把平台长解析中的“可视化和存储三个步骤”直接当成P3的正确分解。黑洞是有输入而无输出,奇迹是有输出而无输入,灰洞是输入不足以支持输出。

说明还提到按农业专家请求展示,但上下文图和0层图都未单独画出“展示请求”。上述四条按平台答案保留;若把按请求展示也建模完整,应同时在两层补充该输入,维持父子图的接口平衡,不能称现有图已完整表达全部文字需求。

2022年上半年软件设计师基础知识真题

本节新增3道题,沿用本卷原题号;答案与解析默认收起。

2022-05 Q045

来源:第45题(原站入口)。

关于数据流图的基本加工,下列哪一项说法不正确?

  • A.

    对每一个基本加工,必须有一个加工规格说明

  • B.

    加工规格说明必须描述把输入数据流变换为输出数据流的加工规则

  • C.

    加工规格说明应该采用实现软件的程序设计语言来描述以提高开发效率

  • D.

    决策表可以用来表示加工规格说明

答案与解析

平台答案:C。

整理解析

基本加工规格重点描述输入如何变成输出,可用结构化语言、决策表或决策树表达规则,并不要求直接用最终实现语言编写,故C不正确。

补充与纠错

分析阶段应避免过早绑定实现细节;这不是说任何场合都禁止可执行规格,而是题目所采用的结构化分析方法不要求C所述做法。

2022-05 Q046

来源:第46题(原站入口)。

划分模块时,应使模块的作用范围包含在其控制范围中。若未满足这一要求,下面哪一种处理方法不适当?

  • A.

    将判定所在模块合并到父模块中,使判定处于较高层次

  • B.

    将受判定影响的模块下移到控制范围内

  • C.

    将判定上移到层次较高的位置

  • D.

    将父模块下移,使判定处于较高层次

答案与解析

平台答案:D。

整理解析

控制范围包括模块及其下属模块,作用范围是受模块内判定影响的模块集合。可以上移判定,或把受影响模块移入判定模块的控制范围;单纯下移父模块并不能建立需要的控制关系,故选D。

2022-05 Q052

来源:第52题(原站入口)。

开发刚开始时,尚不能准确、全面地认识软件需求。下列哪一种开发过程模型最不适用于这种情况?

  • A.

    瀑布

  • B.

    演化

  • C.

    螺旋

  • D.

    增量

答案与解析

平台答案:A。

整理解析

瀑布模型强调按阶段形成并确认需求,再据此开展后续工作,对较稳定、清楚的需求依赖更强,选A。演化、增量或螺旋方式可通过迭代逐步澄清需求。

补充与纠错

这是相对适用性的判断,不表示瀑布过程绝无反馈,也不保证其他模型无需前期需求工作。

2021年上半年软件设计师案例真题:案例题

本节保留 1 条来源,答案与解析默认收起。

2021-05-case Q001

无人值守停车系统的数据流图

停车场运营方希望降低成本、减员增效并改善停车体验,拟开发无人值守停车系统。主要需求如下。

  1. 信息维护:管理人员设置车位总数、空余车位数、计费规则等基础信息。
  2. 会员注册:车主用手机号、车牌号等资料注册,提交充值信息,包括等级、绑定并授权支付系统用于充值或交费的支付账号。级别和充值额度不同,享受的停车折扣也不同。
  3. 车牌识别:车辆入场时,若有空位,条件写为“空余车位数大于1”,识别车牌后进行道闸控制;车辆离场时识别车牌,计费成功后请求道闸控制。
  4. 计费:更新车辆离场时间,按计费规则计算停车费。会员收到费用提示后,若储值余额足够则自动扣费并更新余额;不足则使用授权缴费账号请求支付系统支付,取得支付状态。非会员临时停车收到费用提示后,扫描费用信息中的支付码,调用支付系统自助交费,并取得支付状态。
  5. 道闸控制:按照请求向道闸控制系统发送放行指令,接收执行状态。正常放行时,入场车辆的车牌号与入场时间记入停车记录,并修改空余车位数;出场车辆更新停车状态,并修改空余车位数。说明将异常原因写为“道闸重置系统出现问题(断网断电或是故障为抬杠等情况)”:若在规定时间内未收到正常放行的执行状态,系统向管理人员发送异常告警,由管理人员安排排查、处理,以保障有序出入。

采用结构化方法进行分析与设计,得到图1-1上下文数据流图与图1-2的0层数据流图。

【问题1】(5分)使用说明中的词语,填写图1-1实体E1~E5的名称。

【问题2】(3分)使用说明中的词语,填写图1-2数据存储D1~D3的名称。

【问题3】(4分)使用说明中的词语,补出图1-2缺少的数据流及其起点、终点。

【问题4】(3分)依据说明,用结构化语言描述“道闸控制”的加工逻辑。

答案与解析

平台参考答案(原文保留)

【问题1】

E1:车辆 E2:车主 E3:支付系统 E4:管理人员 E5:道闸控制系统

【问题2】

D1:停车记录表 D2:会员信息表 D3:基础信息表

【问题3】

【问题4】

“道闸控制”加工过程
IF(道闸执行状态正常)
IF(车辆入场)THEN
将车牌号及其入场时间信息存入停车记录,修改空余车位数
ELESIF(车辆出场)THEN
更新停车状态,修改空余车位数
ENDIF
ELSEIF(未在规定的时间内接收到其返回的执行状态正常放行)THEN
向管理人员发送异常告警信息
ENDIF

解析与纠错

根据数据流向,E1车辆提供车牌号,E2车主提供会员及充值信息并接收费用,E3支付系统处理支付请求并返回状态,E4管理人员维护基础信息并接收告警,E5道闸控制系统接收抬杆指令并返回执行状态。D1是停车记录表,D2是会员信息表,D3是基础信息表。

四条缺流为:D3→P3“计费规则信息”,P1→P5“道闸控制请求”,P5→D3“更新车位信息”,P3→D2“更新余额”。平台答案图中的“计费规则信息”与长解析一致。更新车位发生于确认正常放行后,不能仅凭发出请求就修改车位数。

结构化描述应先发送放行指令、接收执行状态,再按结果更新记录或告警。可整理为:

发送放行指令
在规定时间内等待道闸执行状态
IF 收到正常放行状态 THEN
    IF 车辆入场 THEN
        保存车牌号及入场时间
        空余车位数减1
    ELSEIF 车辆出场 THEN
        更新停车状态
        空余车位数加1
    ENDIF
ELSE
    向管理人员发送异常告警
ENDIF

以上为按需求整理的伪代码。平台答案的ELESIF是拼写问题,且省略了开头发送指令、等待状态的步骤;其分支意图可以成立,但不是完整过程。题干入场条件保留“大于1”,不能擅改成“大于0”;按该字面条件,仅剩1个空位时不会进入该放行分支。

原页已核实:“(空余车位数大于1)”“道闸重置系统”“故障为抬杠”均是原题写法,按原文保留,不将入场阈值或异常条件擅自改写。

2020年软件设计师案例真题:案例题

本节保留 1 条来源,答案与解析默认收起。

2020-case Q001

智能缺陷检测系统的数据流图

某工业制造企业计划开发智能缺陷检测系统,提高检测效率并节约人力。功能要求如下。

  1. 基础信息管理:管理员设置检测质量标准、监控规则等基础信息。
  2. 检测模型部署:管理员部署以机器学习方法建立的检测模型。
  3. 图像采集:实时接收生产线检测设备拍摄的产品待检信息,进行存储和缺陷检测。待检信息包括产品编号、生产时间、图像序号、产品图像。
  4. 缺陷检测:依据检测模型和检测质量标准,检查收到的一个产品的所有图像。所有图像合格才把产品检测结果设为合格;任一图像不合格即判该产品不合格。不合格产品的检测结果包括产品编号、不合格类型。系统将检测结果发给检测设备,由检测设备剔除不合格产品。
  5. 质量监控:依据监控规则监测产品质量,向检测业务员展示检测情况;满足报警条件时发送质量报警。检测业务员发起远程控制命令,系统据此向检测设备发送控制指令。
  6. 模型监控:结合已部署模型、产品检测信息和基础信息进行监测分析,把模型运行情况发给监控人员。

采用结构化方法,得到图1-1上下文数据流图及图1-2的0层数据流图。

【问题1】(4分)使用说明中的词语,填写图1-1实体E1~E4的名称。

【问题2】(3分)使用说明中的词语,填写图1-2数据存储D1~D3的名称。

【问题3】(5分)按照说明和图中术语,补出图1-2缺少的数据流及起点、终点。

【问题4】(3分)用结构化语言描述“缺陷检测”的加工逻辑。

答案与解析

平台参考答案(原文保留)

【问题1】(4分) E1:检测设备;E2:管理员;E3:检测业务员;E4:监控人员

【问题2】(3分) D1:检测模型文件;D2:产品检测信息文件;D3:基础信息文件

【问题3】(5分)

待检信息 ,起点:P2,终点:P3

远程控制命令,起点:E3,终点:P5

监控规则,起点:D3,终点:P5

检测信息,起点:D2,终点:P5

基础信息,起点:D3,终点:P6

【问题4】(3分) 根据说明,采用结构化语言对缺陷检测的加工逻辑进行描述。

DO{ 检测所收到的所有图像; IF(出现一张图像检测不合格) THEN{ 设置检测结果信息为不合格; 不合格产品检测结果=产品编号+不合格类型; }ELSE{ 设置检测结果信息为合格 } ENDIF 给检测设备发送检测结果; 检测设备剔除掉不合格产品; } ENDDO

解析与纠错

按数据流识别参与者:提供待检信息并接收检测结果、控制指令的是E1检测设备;设置基础信息和部署模型的是E2管理员;接收质量报警、发起远程控制的是E3检测业务员;接收模型运行情况的是E4监控人员。D1保存检测模型,D2保存产品待检信息及检测结果,D3保存标准、规则等基础信息。

缺少的五条流为P2→P3“待检信息”、E3→P5“远程控制命令”、D3→P5“监控规则”、D2→P5“检测信息”、D3→P6“基础信息”。图中已有D1→P3模型信息、D3→P3质量标准,不应重复补入。顶层与0层的外部输入输出还应保持平衡。

判断单位是一个产品:只要它的一张图像不合格,产品结果就不能被后续合格图像改回合格。可用以下结构化描述:

1
2
3
4
5
6
7
8
对每个收到的产品待检信息
    将该产品结果暂设为合格
    按检测模型和检测质量标准检测该产品的所有图像
    若任一图像不合格
        将产品结果设为不合格
        在结果中记录产品编号和不合格类型
    向检测设备发送该产品检测结果
    由检测设备按结果剔除不合格产品

这是按需求归纳的产品级逻辑。平台DO/ENDDO未写迭代对象,理解时应按产品分组,不能在逐张图像的循环中随意覆盖最终判定。剔除产品属于外部检测设备的动作。

2019年下半年软件设计师案例真题:案例题

本节保留 1 条来源,答案与解析默认收起。

2019-11-case Q001

二手车物流系统的数据流图

某公司拟用二手车物流系统提高物流成交效率。业务要求如下。

  1. 订单管理:系统从车辆交易系统抓取交易信息作为线索。帮买顾问看到买车线索后,电话询问买家是否需要物流;需要时将线索发起为订单并存储,系统再寻找承运物流商。
  2. 路线管理:帮买顾问维护物流商路线,保存路线类型、物流商、起止地点。路线分固定路线、包车路线、竞拍体系;前两种采用合约制。包车路线的发车时间由公司自行管理,是订单的首选途径。
  3. 合约管理:帮买顾问按公司与物流商确定的合约设置内容,保存物流商信息、路线起止城市、价格、有效期等。
  4. 寻找物流商:根据订单类型(保卖车、全国购、普通二手车)、起止城市及服务模式(买家接、送到买家等)自动派发或竞拍。新订单若为保卖车、全国购,直接进入竞拍体系;其他订单符合固定路线或包车路线时自动分配给合约物流商,不符合时进入竞拍。竞拍体系将订单推给有相关路线的物流商,由其竞拍出价,最优报价者中标。最后向承运物流商发送物流消息,更新订单物流信息,并向车辆交易系统发送物流信息。
  5. 物流商注册:注册并开通物流商账号。

采用结构化方法分析设计,图1-1是上下文数据流图,图1-2是0层数据流图。

【问题1】(3分)使用说明中的词语,填写图1-1实体E1~E3的名称。

【问题2】(5分)使用说明中的词语,填写图1-2数据存储D1~D5的名称。

【问题3】(4分)依据说明及图中术语,补充图1-2缺少的数据流及其起点、终点。

【问题4】(3分)用结构化语言描述“P5:寻找物流商”的加工逻辑。

答案与解析

平台参考答案(原文保留)

【问题1】

E1:帮买顾问;E2:车辆交易系统;E3:物流商。

【问题2】

D1:线索信息表/线索信息存储;D2:订单信息表/订单信息存储;

D3:路线信息表/路线信息存储;D4:合约信息表/合约信息存储;

D5:物流商信息表。

【问题3】

【问题4】

解析与纠错

E1是发起订单并维护路线、合约的帮买顾问;E2提供交易信息并接收物流信息,因此是车辆交易系统;E3注册并参与运输,为物流商。平台长解析把E2写成“车辆交易信息”,混淆了外部系统与数据,本题参考答案中的实体名称正确。

D1~D5依次保存线索、订单、路线、合约、物流商信息。缺少的数据流为D2→P5“新订单信息”、D3→P5“路线信息”、D4→P5“合约信息”、P5→E2“物流信息”。图中P5→D2的订单物流更新已经存在。平台长解析将父图物流信息方向写成E2→系统,与原图及业务描述相反;正确方向是系统向车辆交易系统发送,对应子图P5→E2。

P5可按以下顺序描述,竞拍得到承运商后才执行通知和更新:

对每个新订单
    读取订单类型、起止城市和服务模式
    如果类型是保卖车或全国购
        进入竞拍
    否则
        读取匹配路线及有效合约
        如果存在匹配的包车路线
            优先分配给相应合约物流商
        否则如果存在匹配的固定路线
            分配给相应合约物流商
        否则
            进入竞拍
    需要竞拍时,将订单推送给有相关路线的物流商
    接收竞拍报价,以最优报价确定中标物流商
    向确定的承运物流商发送物流消息
    更新订单物流信息,并将物流信息发给车辆交易系统

包车优先属于题目已给条件,但保卖车、全国购仍按更明确的专门规则直接竞拍。平台两份伪代码图表达的主要分支一致;不要因它们把竞拍循环另列,就理解为尚未确定中标者时已可通知承运。

2019年上半年软件设计师案例真题:案例题

本节保留 1 条来源,答案与解析默认收起。

2019-05-case Q001

学生跟踪系统的数据流图

某学校拟开发学生跟踪系统,自动管理、追踪到课情况和健康状态,让家长及时了解子女在校情况,健康异常时与医护机构对接。需求如下。

  1. 采集学生状态:通过学生卡传感器采集并记录心率、体温(摄氏度)、所在位置等信息。每张卡有唯一ID,并对应一个学生。
  2. 健康状态告警:学生健康状态出现问题时,系统向班主任、家长、医护机构健康服务系统发出警告;由健康服务系统通知相关医生处理。
  3. 到课检查:综合学生状态、课表、校园场所信息判断是否到课,向旷课学生的家长及班主任发送旷课警告。
  4. 汇总在校情况:定期汇总并向家长、班主任发送报告。
  5. 家长注册:家长注册时指定自己的子女,信息存储后等待审核。
  6. 基础信息管理:学校管理人员维护学生、所用学生卡、班主任、课表及校园场所;课表含班级、班主任、时间、位置等,校园场所含名称、所在位置区域。管理人员审核家长注册申请,更新家长状态,将家长ID加入学生信息,使家长与子女关联,并向家长发送注册结果。每名学生至少有一个家长,也可以有多个家长。

用结构化方法得到图1-1上下文数据流图和图1-2的0层数据流图。

【问题1】(5分)使用说明中的词语,填写图1-1实体E1~E5的名称。

【问题2】(4分)使用说明中的词语,填写图1-2数据存储D1~D4的名称。

【问题3】(3分)按说明及图中术语补充图1-2缺少的数据流、起点和终点,写出三条即可。

【问题4】(3分)按说明中的术语,写出图1-1数据流“学生状态”“学生信息”的组成。

答案与解析

平台参考答案(原文保留)

【问题1】(5分)
E1:学生
E2:学校管理人员
E3:班主任
E4:家长
E5:医护机构健康服务系统
【问题2】(4分)
D1:学生状态记录表
D2:学生信息表
D3:校园场所记录表
D4:课表信息记录
【问题3】(3分)

(注:数据流没有顺序要求,按题目要求写出其中3条)

【问题4】(3分)
学生状态=学生卡ID+心率+体温+位置+时间
学生信息=学生ID+学生卡ID+1{家长ID}*+班主任ID+班级

解析与纠错

E1为学生,卡传感器提供其状态;E2为学校管理人员;接收在校报告、告警的E3是班主任,能注册并接收子女报告的E4是家长,E5为医护机构健康服务系统。不要把E5直接写成医生:通知医生由外部健康服务系统完成。

D1~D4分别为学生状态记录表、学生信息表、校园场所记录表、课表信息记录。图中D5已标为家长,本题不要求再填它。

缺失流任选三条时,可写D4→P3“课表信息”、D3→P3“场所信息”、P6→D2“家长ID”。前两条给到课检查提供时间地点对照,后一条反映审核通过后的学生—家长关联。平台答案图还列出家长联系信息及注册申请等其他可补流,要求是补足加工所需输入,不是把所有表都任意连到每个加工。原图已有的学生状态和学生信息流不应重复补入。

学生状态按参考答案由学生卡ID、心率、体温、位置、时间组成,时间用于和课表对齐。学生信息为学生ID、学生卡ID、至少一个家长ID、班主任ID、班级;1{家长ID}*表示一到多个家长ID,不是恰好一个。摄氏度是体温单位,不能与华氏度混用。

2018年下半年软件设计师案例真题:案例题

本节保留 1 条来源,答案与解析默认收起。

2018-11-case Q001

房屋中介系统的数据流图

某房产中介连锁企业拟开发Web房屋中介信息系统,管理房源与客户并提高成交率。需求如下。

  1. 房源采集与管理:系统自动采集外部网站的潜在房源并保存;经纪人联系确认后转为房源,同时添加出售或出租房源的客户。经纪人或客户直接登记的出售、出租房源也保存为房源。房源记录基本情况、配套设施、交易类型、委托方式、业主等,经纪人可以更新管理。
  2. 客户管理:求租、求购客户可自行注册更新,系统将客户需求推送给经纪人;经纪人也可登记更新客户。客户记录身份证号、姓名、手机号、需求情况、委托方式等。
  3. 房源推荐:依据客户的求购、求租需求以及出售、出租房源信息,向已登录客户推荐房源。
  4. 交易管理:经纪人管理租售双方交易,包括提交、取消订单及设置中介费比例。财务人员收取中介费后订单完成,系统更新订单状态与房源状态,并向客户及经纪人发送交易反馈。
  5. 信息查询:客户按自身需求查询房屋供需信息。

采用结构化方法,得到图1-1上下文数据流图与图1-2的0层数据流图。

【问题1】(4分)用说明中的词语填写图1-1实体E1~E4的名称。

【问题2】(4分)用说明中的词语填写图1-2数据存储D1~D4的名称。

【问题3】(3分)按说明及图中术语补充图1-2缺失的数据流及其起点、终点。

【问题4】(4分)按说明中的术语写出图1-1“客户信息”“房源信息”数据流的组成。

答案与解析

平台参考答案(原文保留)

【问题1】

E1:客户;E2:经纪人;E3:财务人员;E4:外部网站

【问题2】

D1:客户记录;D2:潜在房源记录;D3:房源记录;D4:订单记录

【问题3】

缺失数据流如下:

本题1条1分,3条满分。

缺失数据流如下:

1、交易反馈:起点-4交易管理,终点-E2

2、客户需求:起点-D1,终点-3房源推荐

3、房源状态:起点-4交易管理,终点-D3

4、检索潜在房源信息:起点-D2,终点-1房源采集与管理

5、更新客户信息:起点-2客户管理,终点-D1客户记录

【问题4】
客户信息=身份证号+姓名+手机号+需求情况+委托方式。
房源信息=基本情况+配套设施+交易类型+委托方式+业主等。

解析与纠错

E1查询并接收推荐,为客户;E2确认房源、管理交易,为经纪人;E3提交收费信息,为财务人员;E4提供待确认信息,为外部网站。D1~D4分别保存客户、潜在房源、房源、订单记录。未经确认的潜在房源不能直接与正式房源混用。

平台列出的缺流包括P4→E2“交易反馈”、D1→P3“客户需求”、P4→D3“房源状态”、D2→P1“检索潜在房源信息”、P2→D1“更新客户信息”。前三条分别由上下文图的反馈、按需求推荐、成交后更新房源状态得到;原0层图已有P4→D4订单更新及P4→E1反馈,不应重复补入。原答案注明写三条可得满分,五条候选均保留。

数据字典直接取需求字段:客户信息由身份证号、姓名、手机号、需求情况、委托方式组成;房源信息由基本情况、配套设施、交易类型、委托方式、业主等组成。不要将收费信息、订单状态等其他数据流混入客户信息。

2018年上半年软件设计师案例真题:案例题

本节保留 1 条来源,答案与解析默认收起。

2018-05-case Q001

医疗管理系统的数据流图

某医疗护理机构为老年人或有护理需求者提供专业护理,拟开发基于Web的医疗管理系统,提高护理效率。系统需求如下。

  1. 通用信息查询:客户提交查询请求,系统查询通用信息表并返回结果。
  2. 医生聘用:医生提出应聘或辞职申请,主管审批聘用或解聘;系统更新医生表,向医生反馈结果,并删除被解聘医生的出诊安排。
  3. 预约处理:医生安排出诊时间并存入医生出诊时间表。客户查询预约时,系统查询在职医生及其出诊时间等所需数据并返回。客户创建预约、提交请求后,系统新增预约记录,更新所约医生的出诊时间,向医生发送预约通知,并向客户反馈预约结果。
  4. 药品管理:医生提交处方,系统按药品名称查询库存,开出药品,更新对应库存及预约表中的治疗信息,并向医生反馈“药品已开出”。
  5. 报表创建:主管提交含报表类型和时间段的查询请求;系统从预约、通用信息、药品库存、医生及出诊时间数据中查询并生成报表,返回主管。

采用结构化方法得到图1-1上下文数据流图与图1-2的0层数据流图。

【问题1】(3分)用说明中的词语填写图1-1实体E1~E3。

【问题2】(5分)用说明中的词语填写图1-2数据存储D1~D5。

【问题3】(4分)使用说明和图中术语,补充图1-2缺失的数据流及起点、终点。

【问题4】(3分)用说明中的词语写出“预约处理”可分解的子加工,并说明图1-1与图1-2如何保持数据流图平衡。

答案与解析

平台参考答案(原文保留)

【问题1】

E1:客户 E2: 医生 E3:主管

【问题2】

D1:通用信息表

D2:预约表

D3:医生表

D4:出诊时间表

D5:药品库存表

【问题3】

数据流:更新的出诊时间 起点:P3 终点:D4

数据流:删除的医生出诊安排 起点:P2 终点:D4

数据流:药品库存信息 起点:D5 终点:P4

数据流:治疗信息 起点:P4 终点:D2 【问题4】 预约处理分解为: 安排出诊、预约查询、创建预约、预约反馈 。 即保持父图与子图之间的平衡:父图中某个加工的输入输出数据流必须与其子图的输入输出数据流在数量上和名字上相同。父图的一个输入(或输出)数据流对应于子图中几个输入(或输出)数据流,而子图中组成的这些数据流的数据项全体正好是父图中的这一个数据流。

解析与纠错

查询和预约的一方是客户,提出应聘/辞职及处方的是医生,审批和索取报表的是主管,故E1~E3依次为客户、医生、主管。D1保存通用信息,D2保存预约,D3保存医生,D4保存出诊时间,D5保存药品库存。

四条缺失流分别对应明确的读写需求:P3→D4更新出诊时间;P2→D4删除被解聘医生的出诊安排;D5→P4提供药品库存信息;P4→D2写入治疗信息。原图已有P3→D4的“新增出诊时间”,它对应安排出诊,不等于预约后更新可用时间。

预约处理可分为安排出诊、预约查询、创建预约、预约反馈。父子图平衡要求边界输入输出的数据内容和方向一致;复合流可以在子图拆成若干流,只要数据项合起来相同。因此平台“数量上和名字上相同”应理解为不拆分时的对应方式,不能同时要求任何分解后箭头条数都相等。

图1-1中“预约请求/预约查询请求”的斜向箭头指向E1,与需求和图1-2的客户→预约处理方向相反;原图保留,学习时应按客户发起请求理解。

2017年下半年软件设计师案例真题:案例题

本节保留 1 条来源,答案与解析默认收起。

2017-11-case Q001

共享单车系统的数据流图

某公司拟开发共享单车系统,采用北斗定位,提供用户APP、微信小程序及基于Web的管理监控系统。功能如下。

  1. 注册登录:用户在APP中输入手机号、获取验证码后注册,系统保存用户信息;登录后显示用户当前位置周围的单车。
  2. 使用单车:扫描二维码或手动输入编码获取开锁密码,系统发送开锁指令,修改单车状态并新建行程;骑行中单车定时上传位置,系统更新行程。用户停止使用或手动锁车、结束行程后,系统按已设置的计费规则及使用时间结算,更新并展示费用;用户确认支付后,记录行程支付状态,同时重置开锁密码和单车状态。
  3. 辅助管理:用户查看行程列表及详情;报修时上报自身或单车位置及故障信息,系统记录。
  4. 管理监控:商家管理单车基础信息及状态,设置并保存计费规则;查询统计单车、故障、行程,管理用户信用及状态并查询统计用户。

采用结构化方法得到图1-1上下文数据流图与图1-2的0层数据流图。

【问题1】(3分)用说明中的词语填写图1-1实体E1~E3。

【问题2】(5分)用说明中的词语填写图1-2数据存储D1~D5。

【问题3】(5分)使用说明和图中术语及符号,补充图1-2缺失的数据流及其起点、终点。

【问题4】(2分)用说明中的术语写出“使用单车”可分解的子加工。

答案与解析

平台参考答案(原文保留)

【问题1】

E1:用户

E2:商家

E3:单车

【问题2】

D1:用户信息存储

D2:单车信息表

D3:单车行程信息表

D4:计费规则存储

D5:单车故障信息记录

【问题3】

1.起点:p3 终点 :E1 数据流名称:开锁密码

2.起点:p3终点:E1 数据流名称:费用

3.起点:p3 终点:E3 数据流名称:开锁指令

4.起点:D3 终点:p7 数据流名称:行程

5.起点:p3 终点:D2 数据流名称:单车状态
或(起点:P3 终点:D3 数据流名称:支付状态)
(起点:D4,终点:P3,计费规则)

【问题4】

扫码/手动开锁,更新行程,锁车结账
(或扫码/手动开锁,更新行程,锁车,计算费用,重置开锁密码,用户确认支付)

解析与纠错

E1发个人信息、位置及支付确认,为用户;E2设置计费规则并管理信息,为商家;E3上传位置和锁状态、接收开锁指令,为单车。D1~D5分别保存用户、单车、行程、计费规则、故障信息。

按父子图平衡补P3→E1的开锁密码与费用、P3→E3的开锁指令;按查询需求补D3→P7的行程。使用和锁车后还要将单车状态写回D2。平台另列P3→D3支付状态和D4→P3计费规则,均有需求依据;保留原答案全部候选,不能把后两条“或”读成业务上无需这两条流。

图中已有D2→P3开锁密码及P3→E3开锁密码;前者是读取密码,后者可用于重置设备密码,都不能代替向用户返回密码或向单车发开锁指令。子加工可分扫码/手动开锁、更新行程、锁车结账;也可把结账进一步分成锁车、计费、重置密码及处理支付确认。平台分析把依据称为“第4点”,实际使用单车功能在说明第2点。

2017年上半年软件设计师案例真题:案例题

本节保留 1 条来源,答案与解析默认收起。

2017-05-case Q001

部件采购系统的数据流图

一家复杂医疗产品集成商拟建设采购系统,保证高质量部件及时供应。功能如下。

  1. 采购部门每天检查库存;某部件降至订货点时,系统返回该低存量部件及库存量。
  2. 采购部门据此提交采购请求;系统从供应商文件读取供应商数据,向供应商下达采购订单,并保存到采购订单文件。
  3. 供应商提交提单、交运部件后,运输和接收(S/R)部门按三步处理:
  4. 验证装运部件:读取采购订单,与提单比较,并把提单信息发送给S/R职员。收货项目同时列在采购订单和提单中时,将已验证的提单和收货部件项目送检;否则,依据S/R职员提交的装运错误信息,生成装运错误通知发送给供应商。
  5. 检验部件质量:读取质量标准,并把已验证的提单发送给检验员。全部标准都满足的部件进入接受的部件列表,用于更新库存;未通过检查时,将检验员创建的缺陷装运信息生成缺陷装运通知,发送给供应商。
  6. 更新库存:库管员根据接受的部件列表添加本次采购数量,与原有库存量累加后更新库存,并标记订单采购完成。

采用结构化方法得到图1-1上下文数据流图和图1-2的0层数据流图。

【问题1】(5分)用说明中的词语填写图1-1实体E1~E5。

【问题2】(4分)用说明中的词语填写图1-2数据存储D1~D4。

【问题3】(4分)用说明及图中术语补充图1-2缺失的数据流,并写出起点和终点。

【问题4】(2分)用200字以内说明图1-1与图1-2如何保持数据流图平衡。

答案与解析

平台参考答案(原文保留)

【问题1】

E1 供应商

E2 采购部门

E3检验员

E4 库管员

E5 S/R职员

【问题2】

D1 库存表

D2 采购订单表

D3 质量标准表

D4 供应商表

【问题3】

装运错误通知:P3(验证装运部件)-----E1(供应商)

缺陷装运通知:P4(校验部件质量)-----E1(供应商)

已验证的提单和收货部件项目:P3(验证装运部件)------ P4(校验部件质量)

原有库存量:D1(库存表)-----P5(更新部件库存)

【问题4】

父图中某个加工的输入输出数据流必须与其子图的输入输出数据流在数量上和名字上相同。父图的一个输入(或输出)数据流对应于子图中几个输入(或输出)数据流,而子图中组成的这些数据流的数据项全体正好是父图中的这一个数据流。

解析与纠错

根据输入、输出认实体:E1提交提单、接收订单及通知,为供应商;E2提交检查和采购请求,为采购部门;E3提供质量缺陷信息,为检验员;E4提供本次采购数量,为库管员;E5提供装运错误信息,为S/R职员。D1~D4分别存库存、订单、质量标准、供应商信息。

P3应向E1发装运错误通知,P4应向E1发缺陷装运通知,二者共同细化父图的“通知”。P3还应将已验证的提单及收货部件项目送P4;P5做库存累加,需要从D1读取原有库存量,不能只有写回流。

问题4可答:子图所有越过系统边界的数据流,应与父图采购系统的输入输出在方向、外部实体和数据含义上对应;父图的复合流可以在子图拆成若干流,合起来须覆盖相同数据项。例如父图“通知”对应子图两类错误通知。内部加工、存储之间的流不计入外部边界平衡。

平台先称数量、名字必须相同,后又允许一条流分解为多条,前句不能孤立套用为箭头数量必须相等;关键是分解前后边界数据语义一致。

2016年下半年软件设计师案例真题:案例题

本节保留 1 条来源,答案与解析默认收起。

2016-11-case Q001

证券交易平台的数据流图

证券交易所拟建设证券交易平台,提供以下服务。

  1. 开户:根据客户服务助理提交的开户信息办理,将客户信息存入客户记录,余额等账户信息存入账户记录。
  2. 存款:客户向本人账户存款,按存款金额修改余额。
  3. 取款:客户从本人账户取款,按取款金额修改余额。
  4. 证券交易:客户通过在线方式、经纪人通过电话方式交易,将交易信息存入交易记录。
  5. 检查交易:读取交易记录,将交易明细返回客户。

采用结构化方法得到图1-1上下文数据流图和图1-2的0层数据流图。

【问题1】(3分)用说明中的词语填写图1-1实体E1~E3。

【问题2】(3分)用说明中的词语填写图1-2数据存储D1~D3。

【问题3】(4分)用说明及图中术语补充图1-2缺失的数据流,并写出起点、终点。

【问题4】(5分)实际交易通常由证券交易中心完成,平台的“证券交易”需将交易信息传给该中心。用200字以内说明图1-1、图1-2应如何修改。

答案与解析

平台参考答案(原文保留)

【问题1】

E1:客户服务助理,E2:客户,E3:经纪人。

【问题2】

D1:客户记录,D2:账户记录,D3:交易记录。

【问题3】

【问题4】

图1增加外部实体“证券交易中心”,增加“证券交易平台”到“证券交易中心”,数据流:交易信息。

图2增加外部实体“证券交易中心”,增加“证券交易(在线)”到“证券交易中心”,数据流:交易信息。

图2增加“证券交易(电话)”到“证券交易中心”,数据流:交易信息 。

解析与纠错

开户信息来自E1,因此E1是客户服务助理;E2在线交易并存取款、查看明细,为客户;E3电话交易,为经纪人。D1存客户信息,D2存账户信息,D3存交易信息。

按平台答案补四条写入流:存款→D2、取款→D2的修改账户余额;证券交易(在线)→D3、证券交易(电话)→D3的交易记录。图中已有D3→检查交易的读取流,不能把它误作两种交易的记录写入。完整描述余额更新时还需考虑从D2读取当前余额;平台图列出的四条补流并未表达这一步,不能据此认为只给金额就能得到更新后的账户余额。

问题4可答:两图都新增外部实体“证券交易中心”。上下文图增加平台→中心的“交易信息”;0层图分别增加在线交易加工、电话交易加工→中心的“交易信息”,使子图两条流共同对应父图输出。保留原有交易记录及其数据流,不把交易中心当作平台内部存储。

2016年上半年软件设计师案例真题:案例题

本节保留 1 条来源,答案与解析默认收起。

2016-05-case Q001

会议预订系统的数据流图

某会议中心出租一个大型报告厅、一个小型报告厅和多间会议室,可提供投影仪、白板、视频播放/回放设备、计算机等。为公司及各类组织机构租用场地、设备,拟开发会议预订系统,功能如下。

  1. 检查可用性:客户提交预订请求,系统查预订表,判断所选场地在申请日期内是否可用;不可用则返回不可用信息。
  2. 临时预订:管理员收到客户预订请求通知后确认,系统生成并保存新临时预订;对新客户另存客户信息记录。根据客户记录发送临时预订确认信息及支付定金要求。
  3. 分配设施与设备:依临时预订或变更预订中的需求分配场地设施、设备,设备均能满足用户要求;更新相应表及预订表。
  4. 确认预订:管理员收到支付定金通知后检查确认,系统更新预订表,并依客户记录发送预订确认信息。
  5. 变更预订:客户可在支付余款前申请变更。系统检查可用性,可用则重新分配设施、设备,不可用则返回不可用信息;管理员确认变更后,依客户记录发送确认信息。
  6. 要求付款:管理员查询距预订会议时间两周内的预订,依客户记录向符合条件的客户发送支付余款要求。
  7. 支付余款:管理员收到余款支付通知后检查确认,系统在预订表更新已支付余款信息。

结构化分析所得上下文图与不完整0层数据流图分别为图1-1、图1-2。

【问题1】(2分)使用说明中的词语,填写图1-1实体E1~E2的名称。

【问题2】(4分)使用说明中的词语,填写图1-2数据存储D1~D4的名称。

【问题3】(6分)依据说明及图中术语,补充图1-2缺失的数据流,写明起点和终点。

【问题4】(3分)若确认信息经Email系统发送至客户信息中的电子邮件地址,图1-1和图1-2各需如何修改?用150字以内说明。

答案与解析

平台参考答案(原文保留)

【问题1】

E1:客户

E2:管理员

【问题2】

D1:预定表

D2:客户信息记录表

D3:设施表 (场地表或场地设施表)

D4:设备表 注:D3、D4可互换

【问题3】

【问题4】

图1-1中:增加外部实体“第三方Email系统”,将临时预订/预订/变更确认信息终点均修改至“第三方Email系统”。 图1-2中:增加外部实体“第三方Email系统”,增加加工“发送邮件”,将临时预订/预订/变更确认信息终点均修改至“发送邮件”加工,并增加从D2到“发送邮件”加工的数据流“电子邮件地址”,再从发送邮件加工引出数据流 临时预订/预订/变更确认信息 终点为 第三方Email系统。

解析与纠错

E1发起预订并支付,故为客户;E2接收通知、提交确认并查询,为管理员。D1被可用性检查读取并记录预订变动,是预订表;D2保存客户记录;D3、D4都由分配加工访问,分别为设施表和设备表,可对调。

问题3需补六条流:客户→支付余款的“已支付余款凭据”;确认预订→客户的“预订确认信息”;D2→确认预订、变更预订、要求付款三条“客户记录”;D1→要求付款的“距预订会议时间两周内的预订”。前两条补齐父子图对外信息,后三条客户记录提供发送所需资料,最后一条提供筛选后的预订。不能只画查询请求而不画读取结果。

问题4可在150字内答:两图均增外部实体“第三方Email系统”。上下文图将三类确认信息改发该实体;0层图增“发送邮件”,接收临时预订、确认预订、变更预订的确认信息及D2提供的电子邮件地址,再发给Email系统,保持父子图平衡。

这里只改变题目指定的确认信息发送方式,未据此把所有付款凭据、不可用信息等数据流都改成邮件。解析示意图用于展示发邮件的改动,问题3要求补足的原有数据流仍应保留。

补充说明

平台解析给出的发送邮件改动示意图:

2015年上半年软件设计师案例真题:案例题

本节收录 1 道案例,答案与解析默认收起。

2015-05-case Q001

考试系统的数据流图

某大学拟建设无纸化考试系统。系统管理员可创建专业方向、课程编号、任课教师等考试基础信息,教师和学生通过系统完成考试工作。主要功能如下:

  1. 考试设置:教师制定包含题目和答案的试题,设定考试说明、考试时间、提醒时间,录入参加考试的学生信息,并分别存储。
  2. 显示并接收解答:按考试信息在有效时间内向学生显示说明和题目,按提醒时间发出提醒,接收学生解答。
  3. 处理解答:依据答案处理收到的解答数据,存储解答结果。
  4. 生成成绩报告:依据解答结果生成学生个人成绩报告,供学生查看。
  5. 生成成绩单:核算解答结果,生成供教师查看的课程成绩单。
  6. 发送通知:依据成绩报告数据创建通知并发给学生;依据成绩单数据创建通知并发给教师。

采用结构化方法,得到图1-1上下文数据流图和图1-2的0层数据流图。

【问题1】(2分)用说明中的词语给出图1-1中E1~E2的实体名称。

【问题2】(4分)用说明中的词语给出图1-2中D1~D4的数据存储名称。

【问题3】(4分)依据说明和图中词语,补充图1-2缺少的数据流及起点、终点。

【问题4】(5分)图1-2的加工(6)包含创建通知及发送给学生或教师。将该加工分解,给出分解后的加工和数据流;数据流的起点、终点须用加工名称表示。

答案与解析

平台参考答案(原文保留)

【问题1】

E1:教师 E2:学生

【问题2】

D1:试题 D2:学生信息 D3:考试信息 D4:解答结果

【问题3】

数据流名称:题目,起点:D1,终点:2 或显示并接收解答。
数据流名称:答案,起点:D1,终点:3 或处理解答。

【问题4】

分解为:创建通知;发送通知

解析与纠错

先按图中输入输出识别角色:E1提供试题、考试安排与学生信息,并收到课程成绩单,因此是教师;E2提交解答、查看个人成绩并接收提醒,因此是学生。

再按写入内容确定存储:D1为试题,包含题目和答案;D2为学生信息;D3为考试信息;D4为解答结果。

问题3检查加工所需的数据来源:

数据流 起点 终点
题目 D1(试题) 显示并接收解答
答案 D1(试题) 处理解答

问题4可把原加工分为“创建通知”和“发送通知”。生成成绩报告→创建通知传递报告数据;生成成绩单→创建通知传递成绩单数据;创建通知→发送通知传递通知数据。分解后仍须保留发送通知→学生、发送通知→教师的通知输出,保持父子图边界一致。

补充说明

订正与边界:原解析把图中“提醒”写成“题型”,并出现“22显示并接收解答”的编号笔误,均应按图中的加工2理解;报告数据来自生成成绩报告,成绩单数据来自生成成绩单,不能颠倒。说明中的管理员维护基础信息不在两张图展示的考试业务范围内,不能直接拿管理员替换E1或E2;若扩展建模范围,须同步更新上下文和子图。

评论