软件工程期末考试复习提库(超全)

软件工程期末复习题题库(超全)

选择题一

1.具有风险分析的软件生命周期模型是(  C   )。
A.瀑布模型      B.喷泉模型  C.螺旋模型        D.增量模型

2.软件工程的基本要素包括方法、工具和( A )。
A. 过程        B. 软件系统   C. 硬件环境         D. 人员

3.软件的复杂性是( A ),它引起人员通信困难、开发费用超支、开发时间超时等问题。
A. 固有的         B. 人为的   C. 可消除的         D. 不可降低的

4.在结构化分析方法中,( C )表达系统内部数据运动的图形化技术。
A. 数据字典         B. 实体关系图   C. 数据流图         D. 状态转换图

5.“软件危机” 是指(  C  )。
A.计算机病毒的出现      B.利用计算机进行经济犯罪活动

C.软件开发和维护中出现的一系列问题 D.人们过分迷恋计算机系统

6.随着软硬件环境变化而修改软件的过程是(  B  )。
A.校正性维护       B.适应性维护     C.完善性维护       D.预防性维护

7.需求分析中开发人员要从用户那里了解( A )。
A.软件做什么       B.用户使用界面   C.输入的信息       D.软件的规模

8.软件详细设计的主要任务是确定每个模块的(  A  )。
A.算法和使用的数据结构     B.外部接口     C.功能         D.编程

9.为了提高模块的独立性,模块内部最好是(  C  )。//外部耦合,功能内聚
A.逻辑内聚       B.时间内聚     C.功能内聚       D.通信内聚

10.一个模块的(  C  )太大一般是因为缺乏中间层次,应当适当增加中间层次的控制模块。
A.深度         B. 宽度  C. 扇出         D. 扇入

11.模块的内聚性最高的是(  D  )。
A.逻辑内聚       B.时间内聚  C. 偶然内聚       D.功能内聚

12.需求分析是(  A  )。
A. 软件开发工作的基础     B. 软件生存周期的开始

C. 由系统分析员单独完成的    D. 由用户自己单独完成的

13.在白盒测试技术测试用例的设计中,(  B  )是最强的覆盖标准。
A.语句覆盖       B.路径覆盖  C. 条件组合覆盖      D.判定覆盖

14.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称( A )。 A. 改正性维护      B. 适应性维护   C. 完善性维护             D. 预防性维护

15.( C ) 是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。

A. 多态性         B. 继承   C. 封装        D. 消息

16.对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。
A.结合    B.隐藏   C.封装   D.抽象

17.面向对象的开发方法中,(  C  )将是面向对象技术领域内占主导地位的标准建模语言。
A.Booch方法  B.Coad方法  C.UML语言  D.OMT方法

18.( A )意味着一个操作在不同的类中可以有不同的实现方式。
A.多态性  B.多继承   C.类的可复用  D.信息隐藏
19.
单元测试的测试用例主要根据(  D  )的结果来设计。
A.需求分析      B.源程序   C.概要设计  D.详细设计

20.软件测试是为了( B )而执行程序的过程。
A. 纠正错误    B. 发现错误  C. 避免错误        D. 证明正确

21.类构件的重用方式有多态重用、继承重用和( A )

A.实例重用       B.重载重用    C. 代码重用           D. 方法重用

22.支持面向对象技术的软件生存周期模型是(  A  )。
A.喷泉模型       B.螺旋模型    C.增量模型          D.瀑布模型

23.在白盒测试技术测试用例的设计中,(  A  )是最弱的覆盖标准。
A.语句覆盖       B.路径覆盖    C.条件组合覆盖      D.判定覆盖

24.下面哪些测试方法属于白盒测试(  A E   )。//BCD是黑盒测试
A、基本路径测试  B、等价类划分  C、边界值分析  D、错误推测  E、逻辑覆盖测试

25.瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和( C )。
A、详细计划  B、可行性分析 C、运行阶段  D、测试与排错

26.从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大( C )。
A、详细设计阶段  B、概要设计阶段 C、需求分析阶段  D、测试和运行阶段

27.在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标( A )。
A、需求分析阶段  B、详细设计阶段 C、概要设计阶段  D、可行性研究阶段

28.软件工程的出现主要是由于( C )。
A.程序设计方法学的影响  B.其它工程科学的影响 C. 软件危机的出现  D.计算机的发展

29.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C )
A、硬件环境     B、软件开发的环境 C、软件开发工具和软件开发的环境  D、开发人员的素质

30.软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为 ( B )
A、相互排斥  B、相互补充 C、独立使用  D、交替使用

31.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法( C )
A、基于瀑布模型的结构化方法  B、基于需求动态定义的原型化方法

C、基于对象的面向对象的方法  D、基于数据的数据流开发方法

32.软件测试基本方法中,下列 ( D ) 不用测试实例。
A). 白盒测试法 B). 动态测试法 C). 黑盒测试法 D). 静态测试法

33.结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的( B )
A、控制流  B、数据流  C、程序流  D、指令流

34.软件开发的结构化生命周期方法将软件生命周期划分成( A )
A、 计划阶段、开发阶段、运行阶段  B、 计划阶段、编程阶段、测试阶段

C、 总体设计、详细设计、编程调试  D、需求分析、功能定义、系统设计

35.可行性研究主要从以下几个方面进行研究:( A )
A) 技术可行性,经济可行性,操作可行性 B) 技术可行性,经济可行性,系统可行性

C) 经济可行性,系统可行性,操作可行性 D) 经济可行性,系统可行性,时间可行性

36.耦合是对软件不同模块之间互连程度的度量。各种耦合按从强到弱排列如下: ( C )
A) 内容耦合,控制耦合,数据耦合,公共环境耦合。 B) 内容耦合,控制耦合,公共环境耦合,数据耦合。

C) 内容耦合,公共环境耦合,控制耦合,数据耦合。 D) 控制耦合,内容耦合,数据耦合,公共环境耦合。

37.可行性分析研究的目的( B )
A 争取项目 B 项目值得开发否 C 开发项目 D 规划项目

38.数据字典是用来定义( D )中的各个成分的具体含义
A 流程图 B 功能结构图 C 系统结构图 D 数据流图

39.程序的三种基本控制结构的共同特点是( C )
A 只能用来描述简单程序 B 不能嵌套使用 C 单入口,单出口 D 仅用于自动控制系统

40.为高质量的开发软件项目,在软件结构设计时,必须遵循( A )原则
A 信息隐蔽 B 质量控制 C 程序优化 D 数据共享

41.黑盒测试在设计测试用例时,主要研究( A )
A 需求规格说明于概要设计说明 B 详细设计说明 C 项目开发计划 D 概要设计说明与详细设计说明

42.通过 ( B ) 可以完成数据流图的细化。
A). 结构分解 B). 功能分解 C). 数据分解 D). 系统分解

43.程序流程图 (PDF) 中的箭头代表的是 ( B )
A). 数据流 B). 控制流 C). 调用关系 D). 组成关系

44.软件定义期问题定义阶段涉及的人员有 ( D )
A). 用户、使用部门负责人 B). 软件开发人员、用户、使用部门负责人

C). 系统分析员、软件开发人员 D). 系统分析员、软件开发人员、用户、使用部门负责人

45.( C )应考虑对模块相联和资源共享问题进行描述和制约。
A). 系统设计 B). 详细设计 C). 接口控制 D). 结构化编辑工具

46.业界存在三种需求分析方法:面向功能分析、面向对象分析和 B 。
A.面向算法分析 B.面向数据分析 C.面向程序分析 D.面向硬件分析

47.软件可维护性的特性中相互矛盾的是 C 。
A.可修改性和可理解性 B.可测试性和可理解性 C.效率和可修改性 D.可理解性和可读性

48.软件测试方法中的 D 属于静态测试方法。
A. 黑盒法 B.路径覆盖 C.错误推测 D.人工检测

49.结构化分析方法采用的基本手段是 A 。
A. 分解与抽象 B.分解与综合 C.归纳与推导 D.试探与回溯

50.可行性研究要进行一次(D)需求分析。
A.深入的 B.详尽的 C.彻底的 D.简化的、压缩了的

51,可维护性的特性中相互促进的是(A)
A.可理解性和可测试性  B.效率和可移植性 C.效率和可修改性   D.效率和结构好

52.(D)是以提高软件质量为目的的技术活动。
A.技术创新  B.测试  C.技术创造  D.技术评审

53.软件测试可能发现软件中的( B ),但不能证明软件 ( )。
A.所有错误,没有错误 B.错误,没有错误 C.逻辑错误,没有错误 D. 设计错误,没有错误

54.以下不属于软件维护困难表现的是 ©。
A.读懂别人的程序是困难的。
B.文档的不一致性。
C.源程序及相关文档的错误或丢失。
D.软件开发和软件维护在人员和时间上的差异。E. 软件维护不是一项吸引人的工作。

55.软件设计一般分为总体设计和详细设计,它们之间的关系是 (A)。
A.全局和局部 B.抽象和具体 C.总体和层次 D.功能和结构

56.一组语句在程序多处出现,为了节省空间,把这些语句放在一个模块中,该模块的内聚度是( C )的。
A.逻辑性 B.瞬时性 C.偶然性 D.通信性

57.在一个课程注册系统中,定义了类 CourseSchedule 和类 Course , 并在类 CourseSchedule 中定义了方法 add (c:Course) 和方法 remove (c:Course),则类 CourseSchedule 和类 Course 之间的关系是( C )。
A.泛化关系 B.组合关系 C.依赖关系 D.包含关系

58.软件策划的上游是( A ),下游是( B )
A)需求分析 B)软件设计 C)软件测试 D)可行性分析

59.概要设计的结果是提供一份 ( A )。
A). 模块说明书 B). 框图 C). 程序 D). 数据流图

60.面向数据流软件设计方法一般是把数据流图中的数据流化分为 (B) 两种流,再将数据流图映射为软件结构。
A). 数据流与事务流 B). 交换流和事务流
C). 信息流与控制流 D). 交换流和数据流

选择题二(答案在下面)

a(1)在软件工程中,白盒测试法可用于测试程序的内部结构。此方法将程序看作是
A) 路径的集合 B)循环的集合 C)目标的集合 D)地址的集合
c(2)在下述哪一种测试中,测试程序的设计者必须接触到源程序
I. 功能测试 Ⅱ. 结构测试
A)均不须 B)只有Ⅰ C)只有Ⅱ D)Ⅰ和Ⅱ
a(3)检查软件产品是否符合需求定义的过程称为
A)确认测试 B)集成测试 C)验证测试 D)验收测试
c(4)下述陈述中,哪一个不是软件健壮性的度量指标?
A)失败后重新启动所需的时间 B)引起失败的时间所占的百分比
D)失败前的平均工作时间 D)在一次失败中数据恶化的概率
b(5) 对软件是否能达到用户所期望的要求的测试称为
A) 集成测试 B) 有效性测试 C) 系统测试 D) 验收测试
a(6)在面向数据流的软件设计方法中,一般将信息流分为
A)变换流和事务流 B)变换流和控制流
C)事务流和控制流 D)数据流和控制流
d(7)软件需求说明书是软件需求分析阶段的重要文件,下述哪个(些)是其应包含的内容
I. 数据描述 Ⅲ. 模块描述
II. 功能描述 Ⅳ. 性能描述
A)Ⅱ B)Ⅲ和Ⅳ C)Ⅰ、Ⅱ和Ⅲ D)Ⅰ、Ⅱ和Ⅳ
(8)软件测试一般分为三类,即
I. 静态测试 Ⅱ. 动态测试 Ⅲ. 正确性测试
设计测试用例对程序进行测试,应属于
A)Ⅰ B)Ⅱ C)Ⅰ和Ⅱ D)Ⅲ
(9)模块独立性是由内聚性和耦合性来度量的,其中内聚性是度量____,耦合性是度量____。
A)模块间联系程度 B)模块的功能强度
C)信息隐蔽程度 D)模块的复杂程度
(10)软件设计中一般将用到图形工具,下述哪种(些)工具可用作设计的图形工具
I. 结构图 Ⅱ. 实体关系图 Ⅲ. IPO图
II. Ⅳ. 流程图 Ⅴ. N-S图
A)Ⅰ和Ⅱ B)Ⅲ和Ⅳ C)Ⅰ、Ⅲ、Ⅳ和Ⅴ D)全部
A (2)C (3)A (4)C (5) B (6)A (7)D (8)B (10)C
(11)试判断下列论述中哪个(些)是正确的
I. 软件系统中所有的信息流都可以认为是变换流
II. 软件系统中所有的信息流都可以认为是事务流
III. 事务分析和变换分析的设计步骤基本类似
A)Ⅰ B)Ⅱ C)Ⅲ D)Ⅰ和Ⅲ
(12)软件的有效性测试是验证软件的运行是否达到用户的期望,用户的期望应体现于
A)详细设计报告 B)软件需求说明书
C)总体设计报告 D)有效性测试要求
(13)软件设计中的软件过程其主要描述的是
A)模块间关系 B)模块操作细节
C)模块控制方法 D)模块类型
(14)软件测试是软件件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?
I. 预防软件发生的错误 Ⅱ. 发现改正程序错误 Ⅲ. 提供诊断错误信息
A)只有Ⅰ均不须 B)只有Ⅱ C)只有Ⅲ D)都是
(15)软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?
A)功能测试 B)单元测试
C)结构测试 D)确认测试
(16)软件维护是软件运行期的重要任务,下列维护任务中哪一类维护是软件维护的主要部分?
A)完善性维护 B)适应性维护
C)改正性维护 D)预防性维护
(17)软件开发中常采的结构化生命周期方法,由于其特征而一般称其为
A)瀑布模型 B)对象模型 C)螺旋模型 D)层次模型
(18)软件原型化开发方法有其基本步骤,下述
I. 获取基本需求 Ⅱ. 开发工作模型 Ⅲ. 严格细部说明 Ⅳ. 模型验证
中,哪些(个)是实现原型化的最基本的步骤?
A)全部都是 B)Ⅰ,Ⅱ和Ⅳ C)Ⅳ D)Ⅰ和Ⅱ
(19)软件设计将涉及软件的结构、过程和模块的设计,其中软件过程是指
A)模块间的关系 B)模块的操作细节
C)软件层次结构 D)软件开发过程
(20)软件需求分析和设计过程中,其分析与设计对象可归结为两个主要的对象,即数据和程序,按一般实施的原则,对二者的处理应该是
A)先数据后程序 B)先程序后数据 C)与顺序无关 D)可同时进行
(11)D (12)B (13)B (14)D (15)B (16)A (17)A (18)B(19)B (20)A
(21)结构化分析(SA)方法将欲开发的软件系统分解为若干基本加工,并对加工进行说明,下述
I. 结构化语言 Ⅱ. 判定树 Ⅲ. 判定表
是常用的说明工具,其中便于对加工出现的组合条件的说明工具是
A)Ⅱ和Ⅲ B)Ⅰ、Ⅱ和Ⅲ C)Ⅰ和Ⅲ D)Ⅰ和Ⅱ
(22)软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是
A)分析阶段 B)设计阶段 C)编码阶段 D)测试阶段
(23)加工是对数据流图中不能再分解的基本加工的精确说明,下述哪个是加工的最核心成分?
A)加工顺序 B)加工逻辑 C)执行频率 D)激发条件
(24)构建一个原型不支持下述哪种功能?
A)取代最终系统 B)辅助收集软件需求
C)辅助估计工程代价 D)作为较大工程的基础
(25)软件文档是软件的重要组成部分,也是软件开发阶段的基础,它还影响到软件的
A)可复用性 B)可维护性 C)可扩展性 D)可移植性
(26) 下列哪种描述是正确的?
A)定义阶段产生软件需求规划 B)测试在软件生命周期中是可选的
C)CASE工具只能辅助软件生命周期的设计阶段
D)后一阶段改变时,不需要更新以前所有阶段的文档
(27)黑盒测试法和白盒测试法经常用于软件测试阶段,其中白盒测试法主要用于测试软件的
A)结构合理性 B)程序正确性 C)程序外部功能 D)程序内部逻辑
(28)软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是
A)设计人员和用户 B)分析人员和用户 C)分析人员和设计人员 D)编码人员和用户
\(21)A (22)C (23)B (24)A (25)B (26) A (27) D (28) B (29) C (30) A
(29)数据流图是用于软件需求分析的工具,下列元素
I. 数据流 Ⅱ. 加工 Ⅲ. 数据存储 Ⅳ. 外部实体(源或潭)
哪些是其基本元素?
A)Ⅰ,Ⅱ和Ⅲ B)Ⅰ和Ⅲ C)全部 D)Ⅰ,Ⅲ和Ⅳ
(30) 数据字典(DD)是定义哪一种系统描述工具中的数据的工具?
A) 数据流程图 B) 系统流程图 C) 程序流程图 D) 软件结构图
(31) 软件需求分析一般应确定的是用户对软件的
A) 功能需求 B) 非功能需求 C) 性能需求 D) 功能需求和非功能需求
(32) 软件设计包括总体设计和详细设计两部分,下列陈述中哪个是详细设计的内容?
A) 软件结构 B) 数据库设计 C) 制定测试计划 D) 模块算法
(33) 数据字典是对数据定义信息的集合,它所定义的对象都包含于
A) 数据流图 B) 程序框图 C) 软件结构 D) 方框图
(34) 软件设计中,设计复审是和设计本身一样重要的环节,其主要目的和作用是能
A) 减少测试工作量 B) 避免后期付出高代价
C) 保证软件质量 D) 缩短软件开发周期
(35) 程序设计语言的选择是顺利实施编程的重要基础,评价可用语言的因素甚多,而其首要的选择依据是
A) 语言的应用领域 B) 对语言的熟悉程度
C) 数据结构的复杂度 D) 算法的复杂度
(36) 软件开发的原型化方法是一种动态定义软件需求的方法,下述条件:
I. 成熟的原型化人员 Ⅱ. 快速的成型工具 Ⅲ. 需求了解的准确性
哪个(些)条件是实施原型化方法所必备的?
A)Ⅰ和Ⅱ B)Ⅱ和Ⅲ C)Ⅰ,Ⅱ和Ⅲ D)Ⅲ
(37) 软件的可维护性度量可分解为对多种因素的度量,下述各种因素
I. 可测试性 Ⅱ. 可理解性 Ⅲ. 可修改性 Ⅳ. 可复用性
哪个(些)是可维护性度量的内容?
A)全部 B)Ⅰ C)Ⅰ,Ⅱ和Ⅲ D)Ⅰ和Ⅱ
(38) 软件测试是软件开发过程中重要和不可缺少的阶段,其包含的内容和步骤甚多,而测试过程的多种环节中基础的是
A) 集成测试 B) 单元测试 C) 系统测试 D) 验收测试
(39) 数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘制方法中,那些是常采用的?
I. 自顶向下 Ⅱ. 自底向上 Ⅲ. 分层绘制 Ⅳ. 逐步求精
A)全是 B)Ⅰ,Ⅲ和Ⅳ C)Ⅱ,Ⅲ和Ⅳ D)Ⅰ和Ⅲ
(31) D (32) D (33) A (34) B (35) A (36) A (37) C (38) B (39) B (40) B
(40) 结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的
A) 控制流 B) 数据流 C) 程序流 D) 指令流
(41) 软件结构是软件模块间关系的表示,下列术语中哪一个不属于对模块间关系的描述?
A) 调用关系 B) 从属关系 C) 嵌套关系 D) 主次关系
(42) 原型化方法是一类动态定义需求的方法,下列叙述中,哪一个不具有原型化方法的特征?
A) 提供严格定义的文档 B) 加强用户参与和决策 C) 简化项目管理 D) 加快需求的确定
(43) 评审是对软件进行静态测试的一种方法,下述结论中,哪个是与软件评审无关的内容?
A) 尽量发现错误 B) 检查软件文档 C) 根据评审标准 D) 依靠测试信息
(44) 软件维护是软件得以正常运行的重要环节,按照软件工程方法的理解,一般软件维护应该开始于
A) 阅读设计文档 B) 理解程序代码 C) 分析软件结构 D) 查阅测试记录
(45) 软件工程哪个阶段产生软件需求定义?
A) 定义阶段 B) 工程阶段 C) 维护阶段 D) 开发阶段
(46) 自顶向下绘制多层数据流程图时,必须考虑到父图与子图之间的平衡,此平衡通常由___来维护
A) 输出数据 B) 数据字典 C) 处理序号 D) 输入数据
(47) 下述哪种是内聚性最严格的形式?
A) 逻辑 B) 功能 C)过程 D) 一致性
(48) 下述哪个不是白盒测试法的概念?
A) 应该执行边界条件下的所有循环 B) 应该执行边界条件下的所有接口
B) 应该执行所有逻辑判断的真假情况 D) 应该至少执行一次模型中的所有独立路径
(49) 原型化方法是一个动态设计过程,它要求使用该方法的人员具有下述哪种能力
A) 熟练的编程技能 B) 及时获得用户需求 C) 协作精神及有力管理 D) 巧妙使用工具
(50) 数据流程图(DFD)是用于描述结构化方法中哪一个工作阶段的工具?
(41) D (42) A (43) D (44) C (45) A (46) B (47) B (48) B (49) B (50) B
A) 可行性分析 B) 需求分析 C) 详细设计 D) 程序编码
(51) 判定树和判定表是用于描述结构化分析方法中哪一环节的工具?
A) 功能说明 B) 数据加工 C) 流程描述 D) 结构说明
(52) 在结构化方法中,软件功能分解应属于软件开发中的哪一阶段?
A) 详细设计 B) 需求分析 C) 总体设计 D) 编程调试
(53) 信息隐蔽的概念与下述哪一种概念直接相关?
A) 软件结构定义 B) 模块独立性 C) 模块类型划分 D) 模块耦合度
(54) 结构化程序流程图中一般包括三种基本结构,下述结构中哪一种不属于其基本结构?
A) 顺序结构 B) 条件结构 C) 选择结构 D) 嵌套结构
(55) 软件复审时其主要的复审对象是
A) 软件结构 B) 软件文档 C) 程序编码 D) 文档标准
(51) B (52) C (53) B (54) D (55) B

选择题三

  1. 王某是某公司的软件设计师,每当软件开发完成后均按公司规定编写软件文档,并提交公司存档,那么该软件文档的著作权()享有。
    A.应由公司     B.应由公司和王某共               
     C.应由王某    D.除署名权以外,著作权的其他权利由王某
  2. 软件工程的基本要素包括方法、工具和()。
    A.软件系统 B.硬件系统    C.过程 D.人员
  3. 在()设计阶段选择适当的解决方案,将系统分解为若干个子系统,建立整个系统的体系结构。
    A.概要 B.详细   C.结构化 D.面向对象
  4. 风险的优先级通常是根据()设定。
    A.风险影响(Risk Imact) B.风险概率(Risk Probability)
    C.风险暴露(Risk Exposure) D.风险控制(Risk Control)
  5. 某公司计划开发一种产品,技术含量很高,与客户相关的风险也很多,则最适于采用()开发过程模型。
    A.瀑布 B.原型  C.增量 D.螺旋
  6. 在敏捷过程的方法中()认为每一个不同的项目都需要一套不同的策略、约定和方法论。
    A.极限编程(XP) B.水晶法(Crystal)
    C.并列争球法(Scrum) D.自适应软件开发(ASD)
  7. 某模块实现两个功能:像某个数据结构区域写数据和从该区域都数据。该模块的内聚类型为()内聚。
    A.过程 B.时间  C.逻辑 D.通信
  8. 正式技术评审的目标是()。
    A.允许高级技术人员修改错误  B.评价程序员的工作效率
    C.发现软件中的错误   D.记录程序员的错误情况并与绩效挂钩
  9. 自底向上的集成测试策略的优点包括()。
    A.主要的设计问题可以在测试早期处理  B.不需要写驱动程序
    C.不需要写桩程序   D.不需要进行回归测试
  10. 采用McCabe度量法计算下列程序图的环路复杂性为()。

A.2 B.3  C.4 D.5
11. 以下关于软件可维护性的叙述中,不正确的是“可维护性()”。
A.是衡量软件质量的一个重要特性  B.不受软件开发文档的影响
C.是软件开发阶段各个时期的关键目标 D.可以从可理解性、可靠性、可测试性、可行性、可移植性等方面进行度量
12. 对象、类、继承和消息传递是面向对象的4个核心概念。其中对象是封装()的整体。
A.命名空间 B.要完成任务
C.一组数据 D.数据和行为
13. 面向对象()选择合适的面向对象程序设计语言,将程序组织为相互协作的对象集合,每个对象表示某个类的实例,类通过继承等关系进行组织。
A.分析 B.设计
C.程序设计 D.测试
14. 一个类可以具有多个同名而参数类型列表不同的方法,被称为方法的()。
A.重载 B.调用
C.重置 D.标记
15. UML中有4种关系:依赖、关联、泛化和实现。()是一种结构关系,描述了一组链,链是对象之间的连接;()是一种特殊/一般关系,使子元素共享其父元素的结构和行为。
A.依赖 B.关联
C.泛化 D.实现

A.依赖 B.关联
C.泛化 D.实现
16. UML图中,对新开发系统的需求进行建模,规划开发什么功能或测试用例,采用()最合适。而展示交付系统的软件组件和硬件之间的关系图是()。
A.类图 B.对象图
C.用例图 D.交互图

A.类图 B.部署图
C.组件图 D.网络图
17以下关于螺旋模型的叙述中,不正确的是()
A.它是风险驱动的,要求开发人员必须具有丰富的风险评估知识和经验
B.它可以降低过多测试或测试不足带来的风险
C.它包含维护周期,因此维护和开发之间没有本质区别
D.它不适用于大型软件开发
18以下关于极限编程(XP) 中结对编程的叙述中,不正确的是()。
A.支持共同代码拥有和共同对系统负责
B. 承担了非正式的代码审查过程
C. 代码质量更高
D. 编码速度更快
19在设计软件的模块结构时,()不能改进设计质量。
A.尽量减少高扇出结构
B.模块的大小适中
C. 将具有相似功能的模块合并
D. 完善模块的功能
20模块 A、 B 和 C 有相同的程序块,块内的语句之间没有任何联系,现把改程序块取出来,形成新的模块 D,则模块 D 的内聚类型为()内聚。以下关于该内聚类型的叙述中,不正确的是()。
A.巧合
B.逻辑
C.时间
D.过程
A.具有最低的内聚性
B.不易修改和维护
C. 不易理解
D. 不影响模块间的耦合关系
21采用面向对象方法进行软件开发,在分析阶段,架构师主要关注系统的()。
A.技术
B.部署
C.实现
D.行为
22在面向对象方法中,多态指的是()
A.客户类无需知道所调用方法的特定子类的实现
B. 对象动态地修改类
C.一个对象对应多张数据库表
D. 子类只能够覆盖父类中非抽象的方法
23.结构化开发方法中,( )主要包含对数据结构和算法的设计。
A.体系结构设计
B.数据设计
C.接口设计
D.过程设计
24某开发小组欲为一公司开发一个产品控制软件,监控产品的生产和销售过程,从购买各种材料开始,到产品的加工和销售进行全程跟踪。购买材料的流程、产品的加工过程以及销售过程可能会发生变化。该软件的开发最不适宜采用( 29 )模型,主要是因为这种模型( 30 )。
29:
A.瀑布
B.原型
C.增量
D.喷泉
30:
A.不能解决风险
B.不能快速提交软件
C.难以适应变化的需求
D.不能理解用户的需求
25.( )不属于软件质量特性中的可移植性。
A.适应性
B.易安装性
C.易替换性
D.易理解性
26对下图所示流程图采用白盒测试方法进行测试,若要满足路径覆盖,则至少需要( 32 )个测试用例。采用McCabe度量法计算该程序的环路复杂性为( 33 )。

32:
A.3
B.4
C.6
D.8
33:
A.1
B.2
C.3
D.4
27.以下关于软件测试的叙述中,不正确的是( )。
A.在设计测试用例时应考虑输入数据和预期输出结果
B.软件测试的目的是证明软件的正确性
C.在设计测试用例时,应该包括合理的输入条件
D.在设计测试用例时,应该包括不合理的输入条件
28.某模块中有两个处理A和B,分别对数据结构X写数据和读数据,则该模块的内聚类型为( )内聚。
A.逻辑
B.过程
C.通信
D.内容
29.在面向对象方法中,不同对象收到同一消息可以产生完全不同的结果,这一现象称为( )在使用时,用户可以发送一个通用的消息,而实现的细节则由接收对象自行决定。
A.接口
B.继承
C.覆盖
D.多态
30.面向对象分析的目的是为了获得对应用问题的理解,其主要活动不包括( )。
A.认定并组织对象
B.描述对象间的相互作用
C.面向对象程序设计
D.确定基于对象的操作
31)开发过程模型最不适用于开发初期对软件需求缺乏准确全面认识的情 况。 (29)A.瀑布 B.演化 C.螺旋 D.增量
32/逆向工程从源代码或目标代码中提取设计信息,通常在原软件生命周期的(34)阶段进行。
A 需求分析 B 软件设计 C 软件实现 D 软件维护
33不是单元测试主要检查的内容。
A.模块接口 B.局部数据结构 C.全局数据结构 D.重要的执行路径
答案:A C A C D
B D C C C
B D C A B
CB D D D A
D A A AC D
CD B C D C
A D C

填空题

1.一般来说,可以从 一致性 、完整性__、现实性____和有效性___四个方面验证软件需求的正确性。

2.IPO图是 _输入、处理和输出图 _ 的简称,它是美国IBM公司发展完善起来的一种图形工具。

3.系统流程图是描述__物理模型__的传统工具,用图形符号表达了系统中各种元素之间的__信息流动_____情况。

4.数据流图中的箭头表示数据流,椭圆或圆形表示数据处理,矩形表示数据的源点/终点。

5.集成测试的方法主要有 渐增式和非渐增式 。

6.软件生命周期一般可分为问题定义、可行性研究、需求分析、设计编码、测试、运行与维护阶段。

7.可行性研究主要集中在以下四个方面经济可行性、技术可行性__、__法律可行性___和抉择。

8.在结构化设计中,HIPO图应用在总体设计阶段,由IPO图和_层次图_两部分组成。

9.实施精化设计的目标是基于模块的“高内聚低耦合”的原则,提高模块的_独立性。

10.按软件的功能进行划分,软件可以划分为 系统软件 , 支撑软件 , 应用软件

11.单元测试一般以白盒测试为主,__黑盒__测试为辅。

12.面向对象的数据存储管理模式分为__文件__、关系数据库和面向对象数据库三种。

13.通用体系结构模式有:分层模式、管道与过滤器模式和黑板模式。

14.成本效益分析的目的是从( 经济 )角度评价开发一个项目是否可行。

15.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和 ( 宽度优先策略  ) 。

16.汇编语言是面向( 机器 ) 的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。

17.详细设计的任务是确定每个模块的内部特性,即模块的算法、( 使用的数据 )。

18.所有软件维护申请报告要按规定方式提出,该报告也称(  软件问题  )报告。

19.有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的( 维护支援 )技术。

20.用户界面的( 可使用性) 是用户界面设计最重要的也是最基本的目标

21.(数据流图) 和( 数据字典 )共同构成系统的逻辑模型

22.常见的软件概要设计方法有三大类:以数据流图为基础构造模块结构的 结构化设计方法 ,以数据结构为基础构造模块的 Jackson方法 ,以对象、类、继承和通信为基础的 面向对象设计方法。

23.实用的白盒测试覆盖技术有 4 种:语句覆盖、条件覆盖、分支 (或判定) 覆盖和组合覆盖。

24.传统软件维护一般分为 4 大类,分别是纠错性维护、适应性维护、完善性维护和预防性维护。

25.传统软件维护一般分为 4 大类,分别是纠错性维护、适应性维护、完善性维护和预防性维护。

26用于表示分析模型的 UML 图形机制主要是类图、活动图、交互图与状态图。

26.内聚性有 6 种类型 偶然内聚、逻辑内聚、时间内聚、通信内聚、顺序内聚、功能内聚。

27.一般而言,在面向对象建模过程中,人们最常用的是建立系统的用例图、类图和顺序图。

28.常用的软件开发方法有结构化方法、面向对象方法和形式化开发方法

29.内聚性 是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。

30.在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、 判定树。

判断题

1.软件的开发与运行经常受到硬件的限制和制约。(√)

2.模块内的高内聚往往意味着模块间的松耦合。(√ )

3.Jackson图只能表达程序结构,不能表达数据结构。(X)

上述数据流图表示数据A和B同时输入变换成C。(X )

5.软件的质量好坏主要由验收人员负责,其他开发人员不必关心。(X )

6.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。(√)

7.应该尽量使用机器语言编写代码,提高程序运行效率,而减少高级语言的使用。(X)

8.UML只能应用于软件系统模型的建立。(X)

9.容错就是每个程序采用两种不同的算法编写。(X)

10.软件测试的目的是为了无一遗漏的找出所有的错误。(X)

判断题二

向滞后的项目中增加人手会使得项目更加滞后。(T)

过程描述语言可以用于描述软件的系统结构。(F)

按照瀑布模型开发软件的一条指导思想是清楚地区分逻辑设计与物理设计,以便尽早开始程序的物理实现。( F )

只有质量差的软件产品才需要维护。( F )

层次图用来描述软件的层次结构。层次图中的一个矩形框代表一个模块,方框间的连线表示模块的组成关系。在层次图中除最顶层的方框之外,给每个方框都加编号,即成为带有编号的层次图。( F )

建立动态模型的第一步,是编写典型交互行为的脚本。( T )

软件错误可能出现在开发过程的早期,越早修改越好。(T)

软件模块的耦合是越低越好。( T )

一个好的测试用例在于能发现至今未发现的错误。(  T  )

面向对象设计的结果只能采用面向对象语言来实现( F )

一个成功的项目唯一提交的就是运行程序。( F  )

用例之间的关系有3种。(  T  )

面向对象设计准则也要遵循弱耦合的原则,但是继承耦合则应该提高,紧密地继承耦合与高度的一般-特殊内聚是一致的。 ( T )

软件工作的考虑范围主要是程序设计和实现。( F   )

环形复杂度定量度量程序的逻辑复杂度,可以用这个公式来计算环形复杂度:流图G的环形复杂度V(G) = N– E + 2。(改成E-N+2)( F )

等价类划分方法将所有可能的输入数据划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。( T )

在进行总体(改成概要)设计时应加强模块间的联系。(    F   )

系统结构图是精确表达程序结构的图形表示法。因此,有时也可以将系统结构图当作系统流程图使用。( T )

建立动态模型的第一步,是编写典型交互行为的脚本。(   T    )

在程序调试时,找出错误的位置和性质比改正该错误更难。(   F   )

如果通过软件测试没有发现错误,则说明软件是正确的。(  F    )

快速原型模型可以有效地适应用户需求的动态变化。(  T   )

模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。( T )

集成测试主要由用户来完成。(    F   )

面向对象 = 对象 + 类 + 继承 + 消息传递。(    T   )

面向对象的分析是面向计算机系统建立软件系统的对象模型。(  F  )

软件的开发与运行经常受到硬件的限制和制约。( T )

模块内的高内聚往往意味着模块间的松耦合。( T )

Jackson图只能表达程序结构,不能表达数据结构。( F )

软件测试的目的是为了无一遗漏的找出所有的错误。( F )

软件的质量好坏主要由验收人员负责,其他开发人员不必关心。( F )

判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。( T )

应该尽量使用机器语言编写代码,提高程序运行效率,而减少高级语言的使用。( F )

UML只能应用于软件系统模型的建立。( F )

容错就是每个程序采用两种不同的算法编写。( F )

简答题

1.衡量模块独立性的两个定性标准是什么?这两个标准的定义分别是什么?在我们的软件设计中,关于模块独立性我们追求的目标是什么?
衡量模块独立性的两个定性标准是内聚和耦合(2分)。

耦合是指对一个软件结构内不同模块彼此之间互相依赖(连接)的紧密程度;而内聚则标志一个模块内部各个元素彼此结合的紧密程度(2分)。

在我们的软件设计中,关于模块独立性我们追求的目标是紧密内聚松散耦合(1分)。

2.什么是黑盒测试法?
黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程(2分)。

它只检查程序功能是否能按照规格说明书的规定正常使用(1分),

程序是否能适当地接收输入数据(1分),

产生正确地输出信息(1分)。

维护的类型有:改正性(错误)、适应性(环境)、完善性(功能)、预防性(新产品)

3.什么是耦合?模块的耦合包括哪些类型?
耦合是对一个软件结构内不同模块之间互连程度的度量。

模块的耦合包括以下几种类型:数据耦合,控制耦合,特征耦合,公共环境耦合,内容   耦合,标记耦合,无耦合/非直接耦合

4.什么是内聚?模块的内聚包括哪些类型?
内聚标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展

模块的内聚包括以下几种类型:低内聚 — 偶然内聚,逻辑内聚,时间内聚  中内聚 — 过程内聚,通信内聚; 高内聚 — 顺序内聚,功能内聚

5.软件生存周期包括哪些活动?
答:软件生存周期的活动包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等活动。


转载:https://blog.csdn.net/weixin_46232841/article/details/111387192

  • 56
    点赞
  • 723
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值