一、2025真题
瀑布模型的关键缺点是()。
A.开发周期过长
B.测试阶段过于简单 瀑布模型缺点是测试阶段靠后较晚不是简单
C.缺乏文档支持 瀑布模型是以文档驱动的典型代表。不仅不缺乏文档,反而是文档最繁重的开发模型。
D.无法适应需求动态变更
记忆技巧:瀑布无法倒流,它是一个线性、一次性交付的开发流程
UML用例图主要用于()。
A.测试代码覆盖率
B.描述系统功能需求
C.展示类之间的关系 这是 UML 类图 的核心功能。
D.设计数据库结构
三、按知识点分类的往年题
1.在采用面向对象技术构建软件系统时, 很多敏捷方法都建议的一种重要的设计活动是 () ,它是一种重新组织的技术,可以简化构件的设计而无需改变其功能或行为。
重构
“一种重新组织的技术”
2.一个软件开发过程描述了“谁做” 、“做什么” 、“怎么做”和“什么时候做” 。RUP用()来表述“谁做”
角色
RUP(Rational Unified Process),统一软件开发过程,统一软件过程是一个面向对象且基于网络的程序开发方法论。
3.4.在需求分析阶段,需求调查的内容是( 3 ),需求分析的结果是( 4 )。
信息要求、处理要求、安全性与完整性要求
数据流图、数据字典
E-R 图是数据库设计用的
5.基于构件的软件开发,强调使用可复用的软件“构件”来设计和构建软件系统对所需的构件进行合格性检验、 ( ) ,并将它们集成到新系统中。
适应性修改:
由于构件是"别人"开发的,和当前系统的接口、功能细节不可能完全匹配,必须进行一定的打磨、包装和修改(比如适配接口、去除冗余功能等)。
6.采用面向对象方法开发软件的过程中, 抽取和整理用户需求并建立问题域精确模型的过程叫( )。
面向对象分析
7.使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准。
A程序的内部逻辑
B程序结构的复杂性 这属于衡量代码质量的指标,用来评估模块是否过于复杂
C使用说明书 这两个是黑盒测试的依据,黑盒测试只关心功能是否正常,不需要知道内部代码是怎么写的。
D程序的功能
8.模块A直接访问模块B的内部数据,则模块A和模块B的耦合类型为( )。
内容耦合
1.非直接耦合:无直接联系;
2.数据耦合:简单数据参数,传值
3.标记耦合:数据结构,传址
4.控制耦合:控制信息
5.外部耦合:全局简单变量
6.公共耦合:全局数据结构
7.内容耦合:直接访问内部
9.需求分析阶段,用于描述业务处理流程及各项业务处理所使用数据的图是( )。
数据流图:它用图形化的方式,直观地展示系统内部数据的流向、处理过程和数据存储。
类图和用例图是 UML(统一建模语言)中两种最核心的图,一个用来描述"系统要做什么"(功能需求),另一个用来描述"系统该怎么建"(代码结构)。
10.数据流图(DFD)对系统的功能和功能之间的数据流进行建模,其中顶层数据流图描述了系统的( )。
输入与输出
11.模块A执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能,则该模块具有( )内聚。
1、 偶然内聚:指一个模块内的各个处理元素之间没有任何联系。
2、逻辑内聚:指模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。
3、时间内聚:把需要同时执行的动作组合在一起形成的模块。
4、通信内聚:指模块内所有处理元素都在同一数据结构上操作,或者指各处理使用相同的输入数据或者产生相同的输出数据。
5、顺序内聚:指一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一个功能元素的输出就是下一个功能元素的输入。
6、功能内聚:是最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。
12.需求分析阶段,采用( )对用户各项业务过程中使用的数据进行详细描述。
A数据流图
B数据字典:它用文字和表格,严谨地定义数据流图中所有元素的确切含义、构成和限制。
C E-R图
D关系模式
13.“软件产品必须能够在3秒内对用户请求作出响应”属于软件需求中的( )。
A功能需求
B非功能需求 并没有给系统增加新的功能,而是在约束现有功能的表现和质量。这就是典型的非功能需求(也叫质量需求)
C设计约束 例如“必须使用 Java 语言”或“必须兼容国产麒麟数据库”通常指对开发技术、规范的非业务限制
D逻辑需求 这不是标准的需求分类术语。
14.统一过程模型是一种“用例和风险驱动,以架构为中心,迭代并且增量”的开发过程,定义了不同阶段及其制品,其中细化阶段关注( )。
初始阶段:A项目的初创活动:大致估算,评估可行性,确定项目范围。
细化阶段: B需求分析和构架演进 定义架构,消除高危风险
构建阶段:C系统的构建,产生实现模型:“码农搬砖”阶段,大批量开发功能。
交付阶段:D软件提交方面的工作,产生软件增量:测试、修复 Bug、培训用户、交付运行。
15.项目为了修正一个错误而进行了修改。错误修正后,还需要进行( )以发现这一修正是否引起原本正确运行的代码出错。
回归测试
16.软件工程的基本要素包括方法、工具和( )。
过程
:过程是把工具和方法结合起来来生产某种想要的输出。
17.在( )设计阶段选择适当的解决方案,将系统分解为若干个子系统,建立整个系统的体系结构。
A概要 :划分物理模块,建立体系结构。
B详细:细化模块内部逻辑。
C结构化 是开发方法论或范式,不属于开发阶段名称
D面向对象 是开发方法论或范式,不属于开发阶段名称
18.某公司计划开发一个产品,技术含量很高,与客户相关的风险也很多,则最适于采用( )开发过程模型。
A瀑布
B原型
C增量
D螺旋
19.数据流图(DFD)的作用是( )。
描述对数据的处理流程
20.数据字典中“数据项”的内容包括:名称、编号、取值范围、长度和( )。
数据类型
21.22.在结构化分析中,用数据流图描述( 21 )。当采用数据流图对一个图书馆管理系统进行分析时,( 22 )是一个外部实体。
数据在系统中如何被传送或变换,以及如何对数据流进行变换的功能或子功能,用于对功能建模
读者
23.软件开发过程中,需求分析阶段的输出不包括( )。
A数据流图
B实体联系图
C数据字典
D软件体系结构图 需求分析只关心“做什么”,不关心“怎么做”。软件的体系结构是设计阶段才确定的。
24.25.在采用结构化开发方法进行软件开发时,设计阶段接口设计主要依据需求分析阶段的( 24 )。接口设计的任务主要是( 25 )。
数据流图
状态-迁移图 描述系统状态如何随事件变化 ❌ 主要指导行为建模
加工规格说明 每个处理过程的具体逻辑 ❌ 主要指导模块内部设计
描述软件与外部环境之间的交互关系,软件内模块之间的调用关系
26.以下关于C/S(客户机/服务器)体系结构的优点的叙述中,不正确的是( ) 。
系统安装、修改和维护均只在服务器端进行
27.在设计软件的模块结构时,( )不能改进设计质量。
A尽量减少高扇出结构 扇出过高(像一把大扇子),说明这个模块管得太多、逻辑太复杂,可能是把很多不相关的任务硬塞给了一个模块。
B模块的大小适中
C将具有相似功能的模块合并
D完善模块的功能
28.在面向对象方法中,多态指的是( )。
A 客户类无需知道所调用方法的特定子类的实现
29.耦合是模块之间的相对独立性(互相连接的紧密程度)的度量。耦合程度不取决于( )
模块提供的功能数 一个模块提供 10 个功能还是一个功能,决定的是它内部是否“内聚”;只要这些功能对外的接口简单,它依然可以是低耦合的
A 调用模块的方式
B 各个模块之间接口的复杂程度
C 通过接口的信息类型
D 模块提供的功能数
30.以下关于软件可靠性测试的叙述中,错误的是( )。
应选用适用于所有软件的标准的可靠性测试模型
31.需求分析阶段生成的文档中,用来描述企业中各项业务流程的是()。
数据流图
32.以下关于系统原型的叙述中,不正确的是( )。
A 可以帮助导出系统需求并验证需求的有效性
B 可以用来探索特殊的软件解决方案
C 可以用来指导代码优化 原型是需求阶段的产物,连完整功能都没有,更谈不上支撑负载压力。因此,原型根本触及不到代码优化层面。
D 可以用来支持用户界面设计
33.已知模块A给模块B传递数据结构X,则这两个模块的耦合类型为( )。
如何区分数据耦合与标记耦合?这两种耦合的核心区别在于:模块间传递的,到底是一个“简单数据值”,还是一个“装着很多数据的结构(容器)”?
A数据耦合
D标记耦合
34.以下关于软件测试的叙述中,正确的是( )。
B软件测试是为了发现软件中的错误
C软件测试在软件实现之后开始,在软件交付之前完成
35.数据流图建模应遵循( )的原则。
自顶向下、从抽象到具体
36.以下关于结构化开发方法的叙述中,不正确的是( )。
一个软件系统只有一种数据流类型
选只有
37.模块A提供某个班级某门课程的成绩给模块B,模块B计算平均成绩、最高分和最低分,将计算结果返回给模块A,则模块B在软件结构图中属于( )模块。
A传入:从下属模块取得数据,经处理再将其传送给上级模块。
B传出:从上级模块取得数据,经处理再将其传送给下属模块。
C变换::从上级模块取得数据,进行特定的处理,转换成其他形式,再传送给上级模块。
D协调
38.传统过程模型中,( )首先引入了风险管理。
螺旋模型
39.以下有关测试的说法中,错误的是( )。
测试证明了程序的正确性
测试的目的不是为了“证明程序是对的”,而是为了“发现程序是错的”。
40.41.在软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准,耦合程度最高的是( 40 )耦合;内聚程度最高的是( 41 )内聚。
耦合程度从低到高的顺序为:非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合和内容耦合。
内聚程度从低到高的顺序为:逻辑内聚和偶然内聚、瞬时内聚、过程内聚、通信内聚、顺序内聚、功能内聚。
内聚是看“部门”内部,耦合是看“部门”之间
42.ISO软件质量模型由3个层次组成,分别是质量特性,质量子特性和量度指标。例如( )质量子特性属于可靠性质量特性。
成熟性
43.在UML图中,( )展现了一组对象以及它们之间的关系,描述了类实例的静态快照。
对象图
44.( )强调风险分析,比较适用于庞大、复杂且高风险的系统。
螺旋模型、
45.软件能力成熟度模型(CMM)是对软件组织进化阶段的描述,分为5个成熟度级别,其中在( )级别,说明该组织已经建立了基本的项目管理过程来跟踪成本和进度。
A 可重复级:意思是能重复以往的成功,看到题目项目管理应该选
B 已定义级 开发和工程活动标准化
C 已管理级 对产品和过程设置了量化的质量目标,可以进行定量控制
D 优化级 通过量化反馈和新技术的应用,能够持续改进
46.47.在UML图中,( 1 )展现了一组对象、接口、协作和它们之间的关系;( 2 )展现了运行处理节点及其构件的配置,给出了体系结构的静态实施视图。
类图 部署图
48.数据流图设计中,( )指出了系统所需数据的发源地和系统所产生数据的归宿地,是指软件系统之外的人员或组织。
加工 (C) 对数据流进行处理和变换。
数据存储 (B) 表示需要保存的数据库或文件。
外部实体 (D) 数据的源头或终点,如用户、外部机构。
49.软件过程模型中,( )主要用于解决需求的不确定性问题。
原型化模型
题目核心在于 “解决需求的不确定性” 。当用户说不清具体需求,或开发方对技术方案没把握时,最核心的策略就是先做一个能运行/能演示的模型出来试试。
50.黑盒测试不能发现的错误是( )。
程序数据结构的有效性
51.自动向应用程序注入意想不到的输入,以发现可利用的脆弱性的测试方法是( )。
模糊测试
52.自动向应用程序注入意想不到的输入,以发现可利用的脆弱性的测试方法是( )。
A 源代码测试 对源代码进行扫描或审查。不需要真正运行程序或“注入”数据
B 二进制代码测试 分析二进制机器码找漏洞(比如反汇编)。不涉及注入大量数据。
C 动态渗透测试 通常是安全专家模拟黑客对整个系统进行攻击
D 模糊测试 把大量的随机或半随机数据,自动地、暴力地扔给程序接口
52.数据字典是( )。
关于数据库中数据的描述
53.在UML图中,( )是场景的图形化表示,描述了以时间顺序组织的对象之间的交互活动。
A类图 类的静态结构(属性、方法)以及类之间的关系(继承、关联)。
B对象图 类图的实例化,展示在某一特定时刻,系统中各对象的具体值和关系。
C序列图 专门用于展示对象之间如何交互。
D状态图 描述单个对象在其生命周期内变化
54.数据流图设计中,( )描述了输入数据流到输出数据流之间的转换。
48才出现过
A 外部系统(外部实体) 数据的来源或去处
B 数据存储 数据静置停留的仓库
C 加工 对数据流进行处理和变换
D 用户 属于外部实体的一种,同样不负责内部转换
55.某软件需求“发送消息需要在1秒钟内得到响应”,该需求属于( )。
非功能需求
56.软件过程模型中,( )首次引入风险管理。
螺旋模型
57.需求分析阶段,采用( )对用户各项业务过程中使用的数据进行详细描述。
数据字典