没有合适的资源?快使用搜索试试~ 我知道了~
软件工程期末考试复习题
需积分: 4 357 浏览量
2023-03-22
18:17:22
上传
评论
收藏 344KB DOC 举报
温馨提示
软件工程期末复习题 计算机科学与技术软件工程期末考试
资源推荐
资源详情
资源评论




软 件 工 程 复 习
1
一、单选题
1. 软件是一种( C ) A.物质产品 B.物理产品 C.逻辑产品 D.文档产品
2. 下列4个选项中,不属于软件危机表现的是( D ) A.开发的软件可靠性差 B.经费预算不断突破,完
成时间一再拖延 C.开发的软件可维护性差 D.开发的软件规模庞大,结构复杂
3. 下列4个选项中,不属于软件危机原因的是:软件( D ) A.规模越来越大 B.结构越来越复杂 C.开
发技术落后 D.用户素质不高
4. 软件产品的生产主要是( D ) A.生产 B.再生产 C.开发 D.研制
5. 软件工程是一门( C ) A.理论性学科 B.原理性学科 C.工程性学科 D.心理性学科
6. 软件重用的单位是( A ) A.软件模块 B.性能 C.系统 D.功能
7. 软件工程着重于( C ) A.理论研究 B.原理探讨 C.建造软件系统 D.原理的理论
8. 软件工程中的“软件”是指( D ) A.程序 B.数据 C.文档 D.程序、数据及文档
9. 下列模型中,属于文档驱动的是( C ) A.喷泉模型 B.增量模型 C.瀑布模型 D.螺旋模型
10. 下列模型中,属于对象驱动的是( A ) A.喷泉模型 B.增量模型 C.瀑布模型 D.螺旋模型
11. 下列 4 种模型中,属于风险驱动的是( D ) A.喷泉模型 B.增量模型 C.瀑布模型 D.螺旋模型
12. 软件生存周期中时间最长的阶段是( D ) A.需求分析 B.概要设计 C.测试 D.维护
13. 软件开发各阶段中,时间长、费用高的阶段是( D ) A.需求分析 B.详细设计 C.编码 D.测试
14. 解决“软件要做什么”问题的阶段是( B ) A.可行性研究 B.需求分析 C.详细设计 D.编码
15. 可行性研究的主要内容不包括( C ) A.简要的需求分析 B.压缩的概要设计 C.周到的详细设
计 D.审慎的可行性分析
16. 三大可行性分析不包括( D ) A.技术可行性分析 B.经济可行性分析 C.法律(社会)可行性
分析 D.开发可行性分析
17. 在可行性研究阶段用来描述用户现行系统的高层物理模型的常用工具是( A ) A.系统流程图
B.程序流程图 C.数据流程图 D. 程序网络图
18. 下列工作中,不在需求分析阶段进行的是( B ) A.编写需求规格说明 B.编写集成测试计划 C.编
写用户手册初稿 D.修改完善软件开发计划
19. 需求分析的主要结果是( C ) A.开发计划 B.可行性研究报告 C.需求规格说明 D.设计说明
20. 需求分析要解决的最重要的问题是( A ) A.要让软件做什么 B.要给软件提供哪些信息 C.要求软
件工作效率怎样 D.要让该软件具有何种结构
21. 需求规格说明的内容不应包括软件的( B ) A.主要功能与性能 B.算法详细过程 C.用户界面 D.运
行环境
22. 数据流图用于描述待开发软件的( B ) A.物理模型 B.逻辑模型 C.控制结构 D.数据结构
23. DFD 中的每个加工至少有( A ) A.一个输入流和一个输出流 B.一个输入流或一个输出流 C.一个输
入流 D.一个输出流
24. 分层 DFD 的顶层图描述了系统的( B ) A.细节 B.输入与输出 C.作者 D.绘制时间
25. 在 DFD 中,下列数据流中可以不命名的是( B ) A.处理与处理之间的数据流 B.处理与局部数据存
储之间的数据流 C.处理与数据源点之间的数据流 D.处理与数据终点之间的数据流
26. DFD 中一般不画( A ) A.控制流 B.数据流 C.局部数据存储 D.外部实体
27. 在 DFD 中,箭头表示( A ) A.数据流 B.数据存储 C.数据处理 D.数据源点
28. 在 DFD 中,双杠表示( D ) A.数据处理 B.数据源点 C.数据流 D.数据存储
29. 父图与子图平衡指子图的输入、输出流同父图相应加工的输入、输出流( A ) A.必须一致 B.数
目必须相等 C.名字必须相同 D.数目必须不等
30. 关于 DD 的 4 类条目,不可再分解的最小元素条目是( B ) A.数据流条目 B.数据项条目 C.数据存
储条目 D.加工条目
31. 表示”X 由 a 或 b 组成”的 DD 定义式是( B ) A. X=a+b B. X=[a|b] C. X=a…b D. X=|a b|
32. 软件结构图上,一层中最大模块数称为该图的( C ) A.扇出 B.扇入 C.宽度 D.深度
33. 软件结构图上,模块的直接上层模块数称为该模块的( B ) A.扇出 B.扇入 C.宽度 D.深度
34. 软件结构图上,模块的直接下层模块数称为该模块的( A ) A.扇出 B.扇入 C.宽度 D.深度
35. 软件结构使用的图形工具,一般采用( C ) A.
DFD 图 B.
PAD 图 C.
SC 图 D.
ER 图
36. 软件结构图中,模块框之间若有直线连接,表示它们之间存在着( A ) A.调用关系 B.组成关系
C.连接关系 D.顺序执行关系
37. 下列工作中,不在概要设计阶段进行的是( D ) A.划分模块 B.确定模块功能 C.确定模块的接口

软 件 工 程 复 习
2
D.确定模块的算法
38. 为提高模块独立性,模块之间最好是( D ) A.公共耦合 B.控制耦合 C.内容耦合 D.数据耦合
39. 为提高模块独立性,模块内部最好是( C ) A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚
40. 划分模块时,一个模块的( A ) A.作用范围应在其控制范围内 B.控制范围应在其作用范围内 C.作
用范围与控制范围互不包含 D.作用范围与控制范围不受任何限制
41. 结构化程序设计主要强调程序的( C ) A.效率 B.执行速度 C.易读性 D.规模
42. 详细设计的主要任务是确定每个模块的( B ) A.外部特性 B.内部特性 C.功能 D.输入和输出
43. 程序的三种基本控制结构是( B ) A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈
和队列 D.调用、返回和转移
44. 程序的三种基本控制结构的共同特点是( D ) A.不能嵌套使用 B.只能用来写简单程序 C.已经用
硬件实现 D.单入口和单出口
45. 下列工作中不属于详细设计基本任务的是( D ) A.为模块内的数据结构进行设计 B.对数据库进
行物理设计 C.为每个模块进行详细的算法设计 D.为模块进行功能设计
46. 下列 4 图中支持结构化程序设计原理并可自动生成程序的是( D ) A.程序流程图 B.工程网络图
C.程序图 D. PAD 图
47. 源程序文档化要求在每个模块之前加序言性注释,该注释内容不应有( B ) A.模块的功能 B.语句
的功能 C.模块的接口 D.开发历史
48. 下列语言中,存取管理数据库最方便的是( C ) A.汇编语言 B. C 语言 C. SQL D. Prolog
49. 下列语言中,产生的目标代码运行效率最高的是( A ) A.汇编语言 B. JAVA C. SQL D. C++
50. 软件测试的目的是( B ) A.运行软件 B.发现软件错误 C.证明软件正确 D.改正软件错误
51. 测试用例主要包括输入数据和( C ) A.测试计划 B.测试规则 C.预期输出结果 D.测试报告
52. 为了提高测试效率,应该( D ) A.随机地选取测试数据 B.取一切可能的输入数据作测试数据 C.完
成编码以后制定测试计划 D.选择发现错误可能性大的数据作测试用例
53. 成功的测试是指运行测试用例后( B ) A.未发现程序错误 B.发现了程序错误 C.证明程序正确
D.改正了程序错误
54. 白盒法设计测试用例的根据是程序的( B ) A.应用范围 B.内部逻辑 C.功能 D.输入数据
55. 黑盒法设计测试用例的根据是程序的( C ) A.应用范围 B.内部逻辑 C.功能 D.输入数据
56. 集成测试主要是为了发现( B ) A.需求分析的错误 B.概要设计的错误 C.详细设计的错误 D.编
码的错误
57. 下列技术中不属于白盒技术的是( D )A.语句覆盖 B.判定覆盖 C.条件覆盖 D.边界值分析
58. 集成测试时,能较早发现高层模块接口错误的测试方法为( A ) A.自顶向下渐增测试 B.自底向上
渐增测试 C.非渐增式测试 D.系统测试
59. 确认测试的依据是( A ) A.需求规格说明 B.设计说明 C.源程序 D.开发计划
60. 关于白盒技术的逻辑覆盖,下列描述中错误的是( B ) A.判定覆盖可能使一些条件得不到测试
B.语句覆盖查错能力最强 C.条件组合覆盖查错能力较强 D.路径覆盖查错能力最弱
61. 下列覆盖中发现错误能力最强的是( D ) A.条件覆盖 B.语句覆盖 C.判定覆盖 D.条件组合覆盖
62. 黑盒技术中不包括( A ) A.基本路径测试 B.边界值分析 C.错误推测 D.等价类划分
63. 下列描述中,不属于基本路径测试步骤的是( A ) A.进行边界值分析 B.据详细设计或源程序导出
程序图 C.计算程序图的环路复杂性 D.确定只含独立路径的基本路径集
64. 下列测试中,最早进行的是( A ) A.单元测试 B.集成测试 C.确认测试 D.系统测试
65. 关于集成测试,下列描述中错误的是( A ) A.可采用演绎法 B.可采用自顶向下结合法 C.可采用
自底向上结合法 D.可采用非渐增式方法
66. 为识别和纠正错误,弥补软件性能缺陷而修改软件的过程称为( A ) A.校正性维护 B.适应性维护
C.完善性维护 D.预防性维护
67. 为使软件适应其运行环境变化而修改软件的过程称为( B ) A.校正性维护 B.适应性维护 C.完善
性维护 D.预防性维护
68. 为使软件增加功能、增强性能、提高效率而修改软件的过程称为( C ) A.校正性维护 B.适应性
维护 C.完善性维护 D.预防性维护
69. 为提高软件的可维护性和可靠性而对软件进行修改称为( D ) A.校正性维护 B.适应性维护 C.完
善性维护 D.预防性维护
70. 软件维护的副作用是指( C ) A.开发时的错误 B.隐含的错误 C.修改软件造成的错误 D.运行时

软 件 工 程 复 习
3
误操作
71. 下列软件特性中相互促进的是( A ) A.可理解性和可测试性 B.效率和可移植性 C.效率和可修改
性 D.效率和结构好
72. 下列软件特性中相互矛盾的是( C ) A.可修改性和可理解性 B.可测试性和可理解性 C.效率和可
修改性 D.可理解性和可读性
73. 下列措施中,不利于提高软件可维护性的是( B ) A.建立明确的软件质量目标 B.使用瀑布模型 C.
使用面向对象的开发方法 D.使用历史文档
74. 采用快速原型模型开发时,首先应( C ) A.构造原型 B.运行原型 C.快速分析 D.评价原型
75. 面向对象程序设计语言不同于其他语言的最主要的特点是( A ) A.继承性 B.多态性 C.封装性
D.内聚性
76. 面向对象方法的基本特性不包括( D ) A.继承性 B.多态性 C.封装性 D.正确性
77. 子类自动共享父类的操作和属性,称为( A ) A.继承 B.多态 C.封装 D.消息
78. 不同的对象收到相同的消息可能产生不同的结果,称为( B ) A.继承 B.多态 C.封装 D.共享
79. 软件部件的内部实现与外部可访问性分离,这是指软件的( C ) A.继承性 B.共享性 C.封装性
D.抽象性
80. 面向对象方法实现共享和提高重用的主要途径是( A ) A.使用继承 B.提高内聚 C.降低耦合 D.使
用封装
81. 在只有单重继承的类层次结构中,类层次的结构是( A ) A.树型结构 B.网状结构 C.星型结构
D.环型结构
82. 在含有多重继承的类层次结构中,类层次的结构是( B ) A.树型结构 B.网状结构 C.星型结构
D.环型结构
83. 面向对象分析阶段建立的三个模型中,核心是( C ) A.功能模型 B.动态模型 C.对象模型 D.分析模
型
84. 面向对象方法中描述动态模型的图形工具是( D )A.程序图 B.数据流图 C.对象图 D.状态图
85. 面向对象的方法中描述功能模型的图形工具是( D ) A.程序图 B.对象图 C.状态图 D.DFD
86. 面向对象的方法中描述对象模型的图形工具是( B ) A.程序图 B.对象图 C.状态图 D.DFD
87. 对象图又称为( B ) A.程序图 B.类图 C.状态图 D.数据流图
88. 汽车装有一个发动机,汽车和发动机之间的关系是( B ) A.一般──具体 B.整体──部分 C.分
类关系 D.归纳关系
89. 火车是一种陆上交通工具,火车和陆上交通工具之间的关系是( D ) A.组装关系 B.整体──部分
C.聚集关系 D.一般化关系
90. 表示对象的相互行为的模型是( B ) A.对象模型 B.动态模型 C.功能模型 D.分析模型
91. 描述类中某个对象的行为,反映了状态与事件关系的是( B ) A.对象图 B.状态图 C.流程图 D.结构
图
92. 常用动词或动词词组来表示( C ) A.对象 B.类 C.关联 D.属性
93. 在确定类时,候选的类应当包括所有的( A ) A.名词 B.形容词 C.动词 D.代词
94. 面向对象方法中实现信息隐蔽是通过对象的( C ) A.分类性 B.继承性 C.封装性 D.共享性
95. ISO 软件质量评价模型分为( C ) A. 1 层 B. 2 层 C. 3 层 D. 4 层
96. 为了定量评价软件质量,必须对软件特性进行( A ) A.评审 B.测试 C.分析 D.维护
97. 实现容错的主要技术手段是( D ) A.白盒技术 B.黑盒技术 C.结构化技术 D.冗余技术
98. 容错软件常用的技术不包括( D ) A.结构冗余 B.信息冗余 C.时间冗余 D.人员冗余
99. 软件开发环境是支持软件产品开发的( A ) A.工具 B.工具箱 C.工作台 D.软件系统
100. 早期的软件工具只完成一个特定任务,后来出现了工作台,它是一组( B ) A.工具 B.工具的
集合 C.软件 D.软件的集合
101. 软件开发环境中最主要的组成部分是( C ) A.软件工程 B.项目管理工具 C.软件工具 D.需
求分析工具
102. 软件工具是一个( C ) A.软件工程 B.项目管理工具 C.软件系统 D.需求分析工具
103. CASE(Computer-Aided Software Engineering)的含义是计算机辅助( D ) A.设计 B.教育
C.分析 D.软件工程
104. CASE 是一组( D ) A.工具的集合 B.方法的集合 C.程序的集合 D.工具和方法的集合

软 件 工 程 复 习
4
二、填空题
1. 文档 是有关计算机程序功能、设计、编制、使用的文字或图形资料。
2. 划分软件生存周期阶段时,应遵循一条基本原则:各阶段的任务尽可能 相对独立 ,同一阶段各项
任务的性质尽可能 相同 。
3. 软件工程包含软件 软件开发技术 和 软件工程管理 两大部分内容。
4. 瀑布模型是将 生存周期 各活动规定为依 线性顺序 联接的若干阶段的模型。喷泉模型是一种以
用户需求 为动力,以 对象 为驱动的模型。
5. 面向对象开发方法一般用 喷泉 模型,也可选用 瀑布 模型、增量模型。结构化方法可选用 瀑布
模型、 增量 模型、螺旋模型。
6. 结构化分析的基本思想是 自顶向下 ,逐步求精。
7. 可行性分析的主要内容有 技术 可行性、 经济 可行性和社会可行性分析。
8. 效益有 有形 效益和 无形 效益两种。
9. 成本——效益分析是经济可行性分析的一个主要内容,这里的“成本”包括软件的开发成本和
________成本。
10. 需求分析 的基本任务是准确定义新系统的目标,回答系统必须“ 做什么 ”。
11. 结构化设计是面向 数据流 的,Jackson 方法是面向 数据结构 的设计方法。
12. 结构化方法由结构化分析(SA)、 结构化设计(SD) 、结构化程序设计(SP)构成。
13. SA 方法用 图形等半形式化 的描述方式表达需求,简明易懂,用它们形成需求说明的主要部分。
14. 一个 DFD 中,既有变换流,又有事务流时,这就是一个 综合 的数据流图。
15. DD 中有四类条目:数据流条目、数据项条目、 数据存储条目 、加工条目 。
16. 需求分析阶段要确定对系统的综合需求,其中最主要的是 功能需求 ,该阶段产生的最重要的文档
之一是 需求规格说明 。
17. 解决一个复杂问题,往往采取的策略是 分解 。
18. SA 方法中主要描述工具是 DFD(数据流图) 与 DD(数据字典) 。
19. 数据流图中的箭头表示 数据流 ,椭圆表示 加工(处理) ,双杠表示 数据存储 ,矩型框表示 外部实
体(数据源点或终点)。
20. DFD 中,每个加工、数据存储至少有 1 个输入流和 1 个输出流。
21. 当 DFD 中某加工的一组动作存在多个复杂组合判断时,宜用 判定表 或 判定树 。
22. 一张判定表由四个部分组成,其左上角是 条件列表 ,左下角是 操作列表,右上角是 条件值组
合列 ,左下角是各条件值组合列对应的 操作列 。
23. 软件设计的基本原理有 模块化 、抽象、 信息隐蔽 、模块独立性。
24. 模块具有的基本属性有:接口、功能、逻辑 和状态 。
25. 通过 信息隐蔽 ,可定义和实施对模块的过程细节和局部数据结构的存取限制。
26. 模块之间的联系越紧密,其耦合性就越 强 ,模块的独立性就越 差 。
27. 模块内各元素的联系越紧密,其内聚性就越 高 ,模块的独立性就越 好 。
28. 划分模块时,应尽量做到低耦合、 高 内聚。
29. 耦合性最低的是 无直接 耦合。内聚性最高的是 功能 内聚。
30. 概要设计阶段产生的重要的文档之一是 概要设计说明 。
31. 软件结构是以 模块 为基础而组成的一种 控制 层次结构。
32. 反映软件结构的基本形态特征是 深度 、 宽度 、扇入、扇出。
33. 一个模块把数值作为参数送给另一个模块,这种耦合方式属于 数据耦合 。
34. 两个模块内部都使用同一张表,这种耦合属于 公共耦合 。
35. 一个模块内部各程序段都在同一张表上操作,该模块的内聚性属于 通信内聚 。
36. 结构化设计对数据有两种分析方法,它们是 变换分析 设计和 事务分析 设计。
37. 概要设计阶段应为每个模块写一份 处理说明 和 接口说明 。
38. SP 的设计要点是使用 三种基本控制 结构, 自顶向下 逐步求精构造算法。
39. PAD 图清晰地反映了程序的 层次 结构,图中的竖线为程序的 层次线 。
40. 程序的三种基本控制结构是顺序结构、 选择(分支) 结构、 重复(循环) 结构。
41. 详细描述处理过程常用三种工具是过程设计语言、 判定表 、 判定树 。
42. 描述加工逻辑一般用以下三种工具: 结构化语言(伪码) 、判定表、判定树。
43. PAD 图是一种 算法 描述工具,它是一种 由左往右 展开的二维树型结构。
剩余19页未读,继续阅读
资源评论


黑战士安全
- 粉丝: 361
- 资源: 21
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制
