admin 管理员组文章数量: 1086019
2025年1月1日发(作者:winform设置treeview背景)
软件工程期末复习题
一、单选题(本大题共10小题,每小题2分,共20分)
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.软件开发费用只占整个软件系统费用的( B ) A.1/2 B.1/3 C.1/4
D.2/3
10.下列4种模型中,属于文档驱动的是(C ) A.喷泉模型 B.增量模型
C.瀑布模型 D.
螺旋模型
11.下列4种模型中,较为适合用于面向对象的开发方法的是( A ) A.
喷泉模型 B.增
量模型品 C.瀑布模型 D.螺旋模型
12.下列4中方法中,属于面向数据结构的设计方法的是(C ) A.
Booch方法 B. Coad
方法 C. Jackson方法 D. SA方法
13.下列4中方法中,属于面向数据流的分析方法的是( D ) A.
Booch方法 B. Coad
方法 C. Jackson方法 D. SA方法
14.软件生存周期中时间最长的阶段是( B ) A.需求分析 B.概要设计
C.测试 D.维
护
15.一般而言,软件开发各阶段中,时间长、费用高、困难大的阶段
是( D ) A.需求分
析 B.详细设计 C.编码 D.测试
16.解决“软件必须做什么”问题的阶段是( B ) A.可行性研究 B.需
求分析 C.详细
设计 D.编码
17.下列工作中,不在需求分析阶段进行的是( B ) 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.数据流图用于描述待开发软件的( B ) A.物理模型 B.逻辑模型 C.
控制结构 D.
数据结构
中的每个加工至少有( A ) A.一个输入流和一个输出流 B.
一个输入流或一个
输出流 C.一个输入流 D.一个输出流
25.分层DFD的顶层图描述了系统的( B ) A.细节 B.输入与输出 C.
作者 D.绘制时
间
26.在DFD中,下列数据流中可以不命名的是( A ) A.处理与处理之
间的数据流 B.处
理与局部数据存储之间的数据流 C.处理与数据源点之间的数据流
D.处理与数据终点之间的数据流
中一般不画( A ) A.控制流 B.数据流 C.局部数据存储 D.外
部实体
28.在DFD中,箭头表示( A ) A.数据流 B.数据存储 C.数据处理 D.数
据源点
29.在DFD中,双杠表示( D ) A.数据处理 B.数据源点 C.数据流 D.
数据存储
30.父图与子图平衡指子图的输入、输出流同父图相应加工的输入、
输出流( A ) A.
必须一致 B.数目必须相等 C.名字必须相同 D.数目必须不等
31.数据字典中一般不包括( D ) A.数据流条目 B.数据存储条目 C.
加工条目 D.源
点与终点条目
32.关于DD的4类条目,不可再分解的最小元素是( B ) A.数据流条
目 B.数据项条
目 C.数据存储条目 D.加工条目
33.表示“X由a或b组成”的DD定义式是(B ) A. X=a+b B.
X=[a|b] C.
X=a…b D. X=|a b|
34.软件结构图上,一层中最大模块数称为该图的( C ) A.扇出 B.扇入
C.宽度 D.深
度
35.当一幅DFD中既有变换流又有事务流时,这就是一个( C ) A.变
换型DFD B.事务
型DFD C.综合型DFD D.分层DFD
35.软件结构图上,一层中最大模块数称为该图的( C ) A.扇出 B.扇入
C.宽度 D.深
度
36.软件开发中结构化设计方法用于( B ) A.测试用例设计 B.概要设
计 C.程序设计
D.详细设计
37.软件结构使用的图形工具,一般采用( C ) 图 图
图 图
38.软件结构图中,模块框之间若有直线接,表示它们之间存在着(A )
A.调用关系 B.
组成关系 C.连接关系 D.顺序执行关系
39.下列工作中,不在概要设计进行的是( D ) A.划分模块 B.确定模
块功能 C.确定
模块的接口 D.确定模块的算法
40.为提高模块独立性,模块之间最好是(D ) A.公共耦合 B.控制耦合
C.内容耦合 D.
数据耦合
41.为提高模块独立性,模块内部最好是(C ) A.逻辑内聚 B.时间内聚
C.功能内聚 D.
通信内聚
42.在软件概要设计中,不使用的图形工具是( D ) 图 图
图 D.
PAD图
43.概要设计与详细设计衔接的图形工具是( B ) A.数据流图 B.结构
图 C.程序流程
图 图
44.软件概要设计结束后得到( B ) A.数据流图 B.结构图 C.程序流程
图 图
45.划分模块时,一个模块的( A ) A.作用范围应在其控制范围内 B.
控制范围应在其
作用范围内
C.作用范围与控制范围互不包含
D.作用范围与控制范围不受任何限制
46.结构化程序设计主要强调程序的( C ) A.效率 B.执行速度 C.易读
性 D.规模
47.详细设计的任务是确定每个模块的( B ) A.外部特性 B.内部特性
C.功能 D.输
入输出数据
48.程序的三种基本控制结构是( B ) A.过程、子程序和分程序 B.顺
序、选择和重
复
C.递归、堆栈和队列
D.调用、返回和转移
49.程序的三种基本控制结构的共同特点是( D ) A.不能嵌套使用 B.
只能用来写简
单程序
C.已经用硬件实现
D.单入口和单出口
50.下列工作中不属于详细设计基本任务的是( D ) A.为模块内的数
据结构进行设计
B.对数据库进行物理设计
C.为每个模块进行详细的算法设计
D.为模块进行功能设计
51.不属于详细描述处理过程常用的工具是( D ) A.图形 B.表格 C.
语言 D.程序
52.下列4图中不属于详细设计中描述处理过程的主要工具的是(D )
图
图 C.程序流程图 D.程序图
53.结构化程序设计主要强调的是( A ) A.程序易读性 B.程序效率 C.
程序规模 D.
程序代码
54.下列4图中支持结构化程序设计原理并可自动生成程序的是
( D ) A.程序流程图
B.工程网络图
C.程序图
D. PAD图
55.下列结构中不属于Jackson结构图描述的基本结构的是( D ) A.
顺序结构 B.选
择结构 C.重复结构 D.组装结构
56.结构化程序思想提出前程序设计中曾强调程序的效率,现在更重
视程序的( D )
A.效率
B.安全性
C.一致性
D.可理解性
57.源程序文档化要求在每个模块之前加序言性注释。该注释内容
不应有( B ) A.
模块的功能 B.语句的功能 C.模块的接口 D.开发历史
58.程序设计语言的心理特性在语言中表现不应包括(C )A.歧义性
B.简洁性 C.保密
性 D.传统性
59.程序设计语言的工程特性其中之一表现在( A ) A.软件的可重用
性 B.数据结构
的描述性
C.抽象类型的描述性
D.数据库的易操作性
60.程序设计语言的技术特性不应包括( D ) A.数据结构的描述性 B.
抽象类型的描
述性
C.数据库的易操作性
D.软件的可移植性
61.下列语言中,存取管理数据库最方便的是(C ) A.汇编语言 B. C语
言 C. SQL D.
Prolog
62.下列语言中,主要用于实时、并发和嵌入系统,属于面向对象的
语言是( C ) A.
Pascal语言 B. C语言 C. Ada语言 D. SQL语言
63.对于开发专家系统等人工智能领域的系统,下列语言中最合适的
是( D ) A.汇编
语言 B. C语言 C. SQL语言 D. Prolog语言
64.下列语言中,第一个体现结构化编程思想的语言是( B ) A.
FORTRAN 语言 B.
Pascal 语言 C. C语言 D. 4GL语言
65.下列语言中,产生的目标代码运行效率最高的是( A ) A.汇编语言
B. Cobol语言
C. SQL语言
D. Prolog语言
66.软件测试的目的是(B ) A.试验性运行软件 B.发现软件错误 C.证
明软件正确 D.
找出软件全部错误
67.软件测试用例主要包括输入数据和(C) A.测试计划 B.测试规则
C.预期输出结果
D.测试报告
68.为了提高测试效率,应该( D ) A.随机地选取测试数据 B.取一切
可能的输入数据
作测试数据 C.完成编码以后制定测试计划 D.选择发现错误可能性
大的数据作测试用例
69.成功的测试是指运行测试用例后( B ) A.未发现程序错误 B.发现
了程序错误 C.
证明程序正确 D.改正了程序错误
70.与设计测试用例无关的文档是( A ) A.项目开发计划 B.需求规格
说明 C.设计说
明 D.源程序
71.白盒法设计测试用例的根据是程序的( B ) A.应用范围 B.内部逻
辑 C.功能 D.
输入数据
72.黑盒法设计测试用例的根据是程序的( C ) A.应用范围 B.内部逻
辑 C.功能 D.
输入数据
73.黑盒测试中,着重检查输入条件的组合是( D ) A.等价类划分法 B.
边界值分析法
C.错误推测法
D.因果图法
74.集成测试主要是为了发现( B ) A.需求分析的错误 B.概要设计的
错误 C.详细设
计的错误 D.编码的错误
75.下列技术中不属于白盒测试的是(D )A.语句覆盖 B.判定覆盖 C.
条件覆盖 D.边
界值分析
76.集成测试时,能较早发现高层模块接口错误的测试方法为( A ) A.
自顶向下渐增
测试 B.自底向上渐增测试
C.非渐增式测试
D.系统测试
77.确认测试的依据是( A ) A.需求规格说明书 B.设计说明书 C.源程
序 D.开发计
划
78.关于白盒技术的逻辑覆盖,下列描述中错误的是( B ) A.判定覆盖
可能使一些条
件得不到测试 B.语句覆盖查错能力最强 C.条件组合覆盖查错能力
较强 D.路径覆盖查错能力强
79.下列覆盖中发现错误能力最强的是(B )A.条件覆盖 B.路径覆盖
C.判定覆盖 D.
条件组合覆盖
80.白盒技术中,未归属于逻辑覆盖的是(B ) A.判定覆盖 B.循环覆盖
C.路径覆盖 D.
条件覆盖
81.黑盒技术中不包括( A ) A.基本路径测试 B.边界值分析 C.错误推
测 D.等价类
划分
82.下列描述中,不属于基本路径测试步骤的是( A ) A.进行边界值分
析 B.据详细设
计或源程序导出程序图 C.计算程序图的环路复杂性 D.确定只含独
立路径的基本路径集
83.下列描述中,不属于单元测试内容的是( A ) A.软件的性能 B.模
块接口 C.重要
执行路径 D.局部数据结构
84.下列测试中,最早进行的是确( A ) A.单元测试 B.集成测试 C.确
认测试 D.系统
测试
85.关于集成测试,下列描述中错误的是( A ) A.可采用演绎法 B.可
采用自顶向下结
合法 C.可采用自底向上结合法 D.可采用非渐增式方法
86.软件维护困难的主要原因是( C ) A.费用低 B.人员少 C.开发方法
的缺陷 D.维
护难度大
87.软件维护费用高的主要原因是( B ) A.生产率高 B.生产率低 C.人
员多 D.人员
少
88.下列文档中,产生于维护阶段的是( C ) A.软件需求说明 B.操作手
册 C.软件问
题报告 D.测试分析报告
89.为识别和纠正错误,弥补软件性能缺陷而修改软件的过程称为
( A ) A.校正性维
护 B.适应性维护 C.完善性维护 D.预防性维护
90.为使软件适应其运行环境变化而修改软件的过程称为( B ) A.校
正性维护 B.适
应性维护 C.完善性维护 D.预防性维护
91.为使软件增加功能、增强性能、提高效率而修改软件的过程称
为( C ) A.校正性
维护 B.适应性维护 C.完善性维护 D.预防性维护
92.为提高软件的可维护性和可靠性而对软件进行修改称为( D ) A.
校正性维护 B.
适应性维护 C.完善性维护 D.预防性维护
93.维护活动数量较大,约占整个维护活动的50%的维护类型是(C )
A.校正性维护 B.
适应性维护 C.完善性维护 D.预防性维护
94.软件维护的副作用是指( C ) A.开发时的错误 B.隐含的错误 C.修
改软件造成的
错误 D.运行时误操作
95.下列软件特性中相互促进的是( A ) A.可理解性和可测试性 B.效
率和可移植性
C.效率和可修改性
D.效率和结构好
96.下列软件特性中相互矛盾的是( C ) A.可修改性和可理解性 B.可
测试性和可理
解性 C.效率和可修改性 D.可理解性和可读性
97.下列措施中,不利于提高软件可维护性的是( B ) A.建立明确的软
件质量目标 B.
使用瀑布模型 C.使用面向对象的开发方法 D.使用历史文档
98.采用快速原型模型开发时,首先应( C ) A.构造原型 B.运行原型 C.
快速分析 D.
评价原型
99.演化提交模型是在瀑布模型基础上,于开发过程的( C ) A.需求分
析阶段进行增
量开发 B.设计阶段进行增量开发
C.所有阶段都进行增量开发
D.编码阶段进行增量开发
100.面向对象程序设计语言不同于其他语言的最主要的特点是( A )
A.继承性 B.多态性 C.封装性 D.内聚性
101.面向对象方法的基本特性不包括( D ) A.继承性 B.多态性 C.封
装性 D.正确性102.面向对象方法中建立动态模型的图形工具是( D )A.
程序图 B.数据流图 C.对象图 D.状态图
103.面向对象的方法中组成功能模型的图形工具是( D ) A.程序图
B.对象图 C.状态图
104.面向对象的方法中组成对象模型的图形工具是( B ) A.程序图
B.对象图 C.状态图
105.汽车装有一个发动机,汽车和发动机之间的关系是( B ) A.一般
──具体 B.整体──部分 C.分类关系 D.归纳关系
106.火车是一种陆上交通工具,火车和陆上交通工具之间的关系是
( D ) A.组装关系
B.整体──部分
C.聚集关系
D.一般化关系
107.面向对象程序设计不同于其他设计的最主要特点是( C ) A.模
块 B.抽象 C.继承 D.共享
108.软件部件的内部实现与外部可访问性分离,这是指软件的( C )
A.继承性 B.共
享性 C.封装性 D.抽象性
109.实现共享和提高重用的主要途径是(A ) A.使用继承 B.提高内
聚 C.降低耦合 D.
使用封装
110.同一类中有相同的数据结构,这种共享的级别是( B ) A.不同类
级共享 B.同一类级共享 C.不同应用级共享 D.同一应用级共享
111.类库机制的共享级别是( C ) A.不同类级共享 B.同一类级共享
C.不同应用级共享 D.同一应用级共享
112.面向对象分析阶段建立的三个模型中,核心模型(C ) A.功能模
型 B.动态模型 C.
对象模型 D.分析模型
113.对象模型的描述工具是( C ) A.状态图 B.数据流图 C.对象图 D.
结构图
114.动态模型的描述工具是( A ) A.状态图 B.数据流图 C.对象图 D.
结构图
115.在只有单重继承的类层次结构中,类层次的结构是( A ) A.树型
结构 B.网状结构 C.星型结构 D.环型结构
116.在含有多重继承的类层次结构中,类层次的结构是( B ) A.树型
结构 B.网状结构 C.星型结构 D.环型结构
117.表示对象的相互行为的模型是( B ) A.对象模型 B.动态模型 C.
功能模型 D.分析模型
118.描述类中某个对象的行为,反映了状态与事件关系的是( B ) A.
对象图 B.状态图 C.流程图 D.结构图
119.有时间间隔的操作是( B ) A.动作 B.活动 C.加工 D.处理
120.与事件联系在一起的瞬时操作是( B ) A.处理 B.动作 C.活动 D.
加工
121.常用动词或动词词组来表示( C ) A.对象 B. 类 C.关联 D.属性
122.在确定类时,候选的类包括所有的( A ) A.名词 B.形容词 C.动词
D. 代词123.在确定属性时,候选的属性包括所有的( C ) A.动词 B.名词
C.修饰性名词词组
D.词组
124.面向对象方法中实现信息隐蔽是通过对象的( C ) A.分类性 B.
继承性 C.封装性 D.共享性
125.作为软件开发工作的第一步和软件项目管理过程中一个关键
的活动是( D ) A.
编写设计说明 B.制定测试计划 C.编写需求说明 D.制定项目计划
126.下列模型中,不属于质量度量模型的是( C ) A. Boehm模型 B.
McCall模型 C.
喷泉模型 D. ISO软件质量评价模型
127. ISO软件质量评价模型分为( C ) A. 1层 B. 2层 C. 3层 D. 4
层
128.为了定量评价软件质量,必须对软件特性进行( A ) A.评审 B.测
试 C.分析 D.
维护
129.制定软件开发进度的主要方法不包括( B ) A.工程网络图 B.软
件结构图 C.
Cantt图 D.任务资源表
130.一个项目是否开发,从经济上来说是否可行,归根结底取决于
( A ) A.成本的估算 B.项目计算 C.工程管理 D.工程管理
131.成本估算方法不包括( B ) A.差别估算方法 B. Jackson方法 C.
自顶向下估算方法 D.自底向上估算方法
132.自顶向下估算方法的主要特点是重视( B ) A.成本估算 B.系统
级工作 C.低级别工作 D.工程管理
133.自顶向下估算方法的缺点是往往不清楚( C ) A.成本估算上的
技术性困难 B.系统级上的技术性困难 C.低级别上的技术性困难 D.工程
管理上的技术性困难134.自底向上估算的优点是对各部分的估算交给
负责该部分的人做,估算( D ) A.往往偏低 B.不太准确 C.往往偏高 D.相
对较准确
135.自底向上估算的缺点是往往缺少系统级工作量估算,所以估算
( A ) A.往往偏低
B.不太准确
C.往往偏高
D.较为准确
136.版本管理是对系统不同的版本进行( A ) A.标识与跟踪 B.项目
计划 C.工程管理 D.工程网络图
137.基线可作为检查点,采用的基线发生错误时,可返回到最近的最
恰当( C ) A.配置项 B.程序 C.基线 D.过程
138.属于软件产品的重要组成部分,在软件开发过程起重要的作用
的是( C ) A.需求规格说明 B.概要设计说明 C.软件文档 D.测试大纲
139.开发过程中作为开发人员前阶段成果体现和后阶段工作依据
的是( C ) A.开发文档 B.管理文档 C.用户文档 D.维护文档
140.开发过程中由开发人员制定、提交管理人员的工作计划或报
告属于( A ) A.开发文档 B.管理文档 C.用户文档 D.维护文档
141.开发人员为用户准备的有关该软件使用、操作、维护的资料
属于( C ) A.开发文档 B.管理文档 C.用户文档 D.维护文档
142.软件开发环境是支持软件产品开发的( A ) A.工具 B.工具箱 C.
工作台 D.软件系统
143.软件开发环境由软件开发工具和环境集成机制构成,前者用于
支持( D ) A.需求分析的相关过程、活动和任务 B.软件设计的相关过程、
活动和任务 C.软件编码的相关过程、活动和任务 D.软件开发的相关过
程、活动和任务
144.早期的软件工具只完成一个特定任务,后来出现了工作台,它是
一组( B ) A.工具 B.工具的集合 C.软件 D.软件的集合
145.分析和设计工作台支持软件过程的分析和设计阶段,有时称为
( A ) A.上游CASE 工具 B.中游CASE工具 C.下游CASE工具 D.全程
CASE工具
146.以语言为中心的程序设计环境支持软件生存期(D ) A.前期活
动 B.初期活动 C.
中期活动 D.后期活动
147.以语言为中心的程序设计环境特别强调( B ) A.对可行性研究
活动的支持 B.对编程、调试和测试活动的支持
C.对需求分析活动的支持
D.对设计活动的支持
148.软件开发环境中最主要的组成部分是( C ) A.软件工程 B.项目
管理工具 C.软件工具 D.需求分析工具
149.软件工具是一个( C ) A.软件工程 B.项目管理工具 C.程序系统
D.需求分析工具
(Computer-Aided Software Engineering)的含义是计
算机辅助( D ) A.设计 B.教育 C.分析 D.软件工程
151. CASE是一组( D ) A.工具的集合 B.方法的集合 C.程序的集合
D.工具和方法的集合
152. CASE涉及的技术有两类:一类支持软件开发过程本身,另一类
支持( D ) A.开发技术 B.开发方法 C.开发方法管理 D.开发过程管理
153.平台集成是指工具运行在相同的( D ) A.硬件平台上 B.软件平
台上 C.硬件/软件平台上 D.硬件/操作系统平台上
154.表示集成是指工具提供相同的( B ) A.语言 B.用户界面 C.命令
D.操作系统155.数据集成指不同软件工程能相互( B ) A.合作 B.交换数
据 C.交流 D.通讯156.控制集成指工具激活后能控制其他( A ) A.工具的
操作 B.系统的操作 C.软件的操作 D.应用操作
157. CASE工作台支持设计、实现或测试等特定的软件开发阶段,
是一组( A ) A.工具集 B.平台集 C.软件包 D.程序包
158.由支持程序设计的一组工具组成的工作台是( A ) A.程序设计
工作台 B.分析和
设计工作台 C.测试工作台 D.文档工作台
159.支持工作台中一个工具对系统其他工具的访问的CASE集成
属于( A ) A.控制集成 B.平台集成 C.数据集成 D.表示集成
160.三种不同级别的表示集成不包括( A ) A.数据集成 B.窗口集成
C.命令集成 D.
交互集成
二、填空题(本大题共10空,每空2分,共20分)
1.文档是有关计算机程序功能、设计、编制、使用的文字或图形
资料。
2.划分软件生存周期阶段时,应遵循一条基本原则:各阶段的任务尽
可能相对独立,
同一阶段各项任务的性质尽可能相同。
3.软件工程包含软件软件开发技术和软件工程管理两大部分内容。
4.瀑布模型是将生存周期各活动规定为依线性顺序联接的若干阶
段的模型。
5.喷泉模型是一种以用户需求为动力,以对象为驱动的模型。
6.面向对象开发方法一般用喷泉模型,也可选用瀑布模型、增量模
型。
7.结构化方法可选用瀑布模型、增量模型、螺旋模型。
8.可行性研究的主要内容有技术可行性、经济可行性和社会可行
性研究。
9.效益分析有有形效益和无形效益两种。
10.需求分析的基本任务是准确定义新系统的目标,回答系统必须
“做什么”。
11.结构化设计是面向数据流的,Jackson方法是面向数据结构的设
计方法。
12.结构化方法由结构化分析、结构化设计、结构化程序设计构成。
方法利用图形等半形式化的描述方式表达需求,简明易懂,用
它们形成需求
说明书中的主要部分。
14.一个DFD中,既有变换流,又有事务流时,这就是一个综合的数据
流图。
中有四类条目:数据流条目、数据项条目、数据存储条目、
加工条目。
16.需求分析阶段要确定对问题的综合需求,其中最主要的是功能需
求,该阶段产生
的最重要的文档之一是需求规格说明书。
18.解决一个复杂问题,往往采取的策略是分解。
方法中主要描述工具是DFD(数据流图) 与 DD(数据字典) 。
20.数据流图中的箭头表示数据流,椭圆表示加工(处理) ,双杠表示
数据存储,
矩型框表示外部实体(数据源点或终点)。
中,每个加工至少有1个输入流和1个输出流。
22.当DFD中某加工的一组动作存在多个复杂组合判断时,宜用判
定表或判定树。
23.软件设计的基本原理有模块化、抽象、信息隐蔽、模块独立性。
24.模块具有的基本属性有:接口、功能、逻辑和状态。
25.通过信息隐蔽,可定义和实施对模块的过程细节和局部数据结构
的存取限制。
26.模块之间的联系越紧密,其耦合性就越强,模块的独立性就越差。
27.模块内各元素的联系越紧密,其内聚性就越高,模块的独立性就
越好。
28.划分模块时,应尽量做到低耦合、高内聚。
29.耦合性最低的是无直接耦合。内聚性最高的是功能内聚。
30.概要设计阶段产生的重要的文档之一是概要设计说明书。
31.软件结构是以模块为基础而组成的一种控制层次结构。
32.反映软件结构的基本形态特征是深度、宽度、扇入、扇出。
33.一个模块把数值作为参数送给另一个模块,这种耦合方式属于数
据耦合。
34.两个模块内部都使用同一张表,这种耦合属于公共耦合。
35.一个模块内部各程序段都在同一张表上操作,该模块的内聚性属
于通信内聚。
36.结构化设计对数据有两种分析方法,它们是变换分析设计和事务
分析设计。
37.概要设计阶段应为每个模块写一份处理说明和接口说明。
的设计要点是使用三种基本控制结构,自顶向下逐步求精构
造算法。
图清晰地反映了程序的层次结构,图中的竖线为程序的层
次线。
40.程序的三种基本控制结构是顺序结构、选择结构、重复结构。
41.详细描述处理过程常用三种工具是过程设计语言、判定表、判
定树。
42.描述加工逻辑一般用以下三种工具:结构化语言(伪码) 、判定
表、判定树。
图是一种算法描述工具,它是一种由左往右展开的二维树
型结构。
44.数据库的概念设计、逻辑设计、物理设计分别对应于系统开发
中的需求分析、
概要设计、详细设计。
45.程序设计语言的特性主要有心理特性、工程特性和技术特性。
46.通常考虑选用语言的因素有:项目的应用领域、软件开发的方法、
软件执行的
环境、算法和数据结构的复杂性、软件开发人员的知识,其中选择
语言的关键因素是项目的应用领域。
47.项目的应用领域一般有科学工程计算、数据处理与数据库应用、
实时处理、系
统软件和人工智能几种类型。
48.与编码风格有关的因素有:源程序文档化、数据说明、语句构造、
输入和输
出、程序效率。
49.软件测试是为了发现错误而执行程序的过程。
50.软件测试方法一般分两大类:静态测试法和动态测试法,动态测
试包括黑盒
法和白盒法。
51.被测试程序不在机器上运行而采用人工分析检测或计算机辅助
分析检测称为静
态测试,使被测试程序在机器上运行的测试方法称为动态测试。
52.动态测试包括白盒法和黑盒法,检查程序是否满足功能要求应采
用黑盒法。
53.动态测试中,主要测试软件功能的方法称为黑盒法,测试软件内
部结构及处理
过程的方法称为白盒法。
54.要覆盖含有循环结构的所有路径是不可能的,一般通过限制循环
次数来测试。
55.白盒技术中的逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、
判定/条件覆盖、
条件组合覆盖和路径覆盖。其中查错能力最弱的是语句覆盖。
56.黑盒技术设计方法主要有等价类划分、边界值分析、错误推测、
因果图等。
57.用等价类划分法设计一个测试用例时,应使其覆盖尽可能多的尚
未被覆盖的合
理等价类或 1 个不合理等价类。
58.如果规格说明书中含有输入条件的组合情况,则使用因果图。
59.集成测试方法有渐增式和非渐增式,渐增式测试组合模块的方法
有自顶向
下结合和自底向上结合,自顶向下结合可采用深度优先或宽度优先
策略。
60.单元测试时,需要设计驱动模块和桩模块。
61.单元测试大量使用白盒技术;集成测试最常用的是黑盒技术,为
保证覆盖主
要控制路径,也可能使用一定数量的白盒技术;确认测试仅使用黑盒
技术。62.软件维护分为校正性维护、适应性维护、完善性维护、预防
性维护。其中维护
活动数量较大(约占整个维护活动的50%) 的是完善性维护。
63.度量一个可维护性软件的7种特性时采用的方法有质量检查表、
质量测试、质量
标准。其中质量测试和质量标准用于定量分析和评价程序的质量。
64.维护阶段是软件生存周期中时间最长的阶段,花费精力和费用最
多的阶段。
65.软件交付使用后,由于软件开发过程中产生的错误没有完全彻底
在测试阶段
发现,必然有一部分隐含错误带到维护阶段。
66.未按软件工程方法开发的软件,只有程序而无文档,其维护很困
难,属于非结构
化维护。
67.维护费用增加的主要原因是维护的生产率非常低。
68.所有软件维护申请报告要按规定方式提出,该报告也称软件问题
报告。
69.快速原型开发步骤是:①快速分析;②构造原型;③运行原型;④评
价原型;⑤修
改。其中修改过程代替了初始的快速分析,形成原型开发循环过程。
70.结构化方法的本质是功能分解,其稳定性、可修改和可重用性都
比较差。
71.对象具有状态,对象用数据值来描述它的状态。
72.对象具有行为,用于改变对象的状态。对象实现了数据和操作的
结合。
73.对象的抽象是类,类的具体化就是对象。
74.类具有属性,它是对象的状态的抽象,用数据结构来描述类的属
性。
75.类具有操作,它是对象的行为的抽象。
76.类之间有两种结构关系,它们是一般----具体关系和整体---部分
关系。
77.聚集关系是“整体──部分”关系,关系中有整体类和部分类之
分。
78.一般化关系是“一般──具体”的关系,关系中有一般化类和具
体类之分。
79.一般化关系和继承是同时存在的。
80.面向对象程序设计语言的最主要特点是继承性,这是其他语言没
有的。
81.继承性是子类自动共享父类属性和操作的机制。
82.类的层次结构中,上层类称父类或超类,下层类称子类。
83.关联表示类之间的联系。两个类之间的关联称二元关联,其在对
象图上的表示
是在两个类之间画一条直线;三个类之间的关联称三元关联,其在对
象图上的表示是在三个类之间的连线上画一个菱形。
84.面向对象分析模型中,对象模型描述系统的静态结构,使用对象
图工具;动
态模型描述系统的控制结构,使用状态图工具;功能模型描述系统的
所有计算,表明如何从输入值得到输出值,使用数据流图工具。
85.软件工程规范可分为三级:国际标准和国家标准、行业标准、企
业标准和开
发小组标准。
86.软件开发人员一般分为:项目负责人、系统分析员、高级程序员、
程序员、资
料员和其他辅助人员。
87.主程序员组织机构的制度突出了主程序员的管理,责任集中在少
数人身上,
有利于提高软件质量。
88.软件项目管理过程中一个关键活动是制定项目开发计划,这是软
件开发工作的
第一步。
89.成本估算是在软件项目开发前,估算项目开发所需的经费、资源
及开发进度。
90.差别估算的优点是可以提高估算的准确度,缺点是不易明确“差
别”的界限。
91.冗余技术中的结构冗余包括:静态冗余、动态冗余和混合冗余。
92.奇偶码、循环码等冗余码制式属于信息冗余;采用指令复执或程
序复算来消除
瞬时错误带来的影响属于时间冗余
集成主要有平台集成、数据集成、表示集成、控制集成、
过程集成。
94.软件开发环境是与软件生存期、软件开发方法和软件处理模型
紧密相关的。
95.软件工具通常由工具、工具接口和工具用户接口三部分构成。
96.软件开发环境是相关的一组软件工具的集合,它支持一定的软件
开发方法或按
照一定的软件开发模型组织而成。
97.产品管理包括版本管理和配置管理。开发过程管理包括项目计
划与控制和
任务管理等。
98.软件开发环境的主要目标是提高软件开发的生产力、提高软件
质量和降低软
件成本。
99.计算机辅助软件工程这一术语的英文为: CASE。
是多年来在软件开发管理、软件开发方法、软件开发环
境和软件工程等方面研究和发展的产物。
三、名词解释(本大题共4小题,每小题5分, 共20分)
1.软件:软件是计算机程序及其说明程序的各种文档的集合。程
序是计算任务的处
理对象和处理规则的描述;文档是有关计算机程序功能、设计、编
制、使用的文字或图形资料。软件与硬件一起构成完整的计算机系统。
2.软件生存周期模型:描述软件开发过程中各种活动如何执行的模
型。
3.增量模型:一种非整体开发的模型。软件在该模型中是“逐渐”
开发出来的,开发
出一部分,向用户展示一部分,可让用户及早看到部分软件,及早发现
问题。或者先开发一个“原型”软件,完成部分主要功能,展示给用户并
征求意见,然后逐步完善。该模型适合于软件需求不明确、设计方案有
一定风险的软件项目。
4.需求分析:开发人员准确理解用户要求,进行调查分析,将用户非
形式的需求陈述
转化为完整的需求定义,再转换到相应的形式功能规约(需求规格说
明)的过程。
5. SA:结构化分析,是以“自顶向下逐层分解”(把一个复杂问题
分成若干小问题,
然后再分别解决)为基本思想的面向数据流的需求分析方法。
6. DFD:数据流图。以图形方式描绘数据在系统中流动和处理过
程,用于表示系统逻
辑模型(功能模型)的一种工具。
7.软件结构图:描述软件的模块层次结构(即程序的控制层次体系)
的图形工具。
图:表示软件系统结构的工具。它既可描述软件总的模块
层次结构──H图(层
次图) ,又可描述每个模块输入/输出数据、处理功能及模块调用
的详细情况──IPO图。
9.事务型数据流图:加工将它的输人流分成许多发散的数据流,形
成许多加工路径并
据输入值选择其中一个路径执行。这种特征的DFD称为事务型数
据流图。
10.模块化:自顶向下逐层把软件系统划分成若干模块的过程。
11.抽象:只考虑事物共有的本质特性而暂不考虑其细节的思维方
式。
12.信息隐蔽:使模块内的信息(过程或数据)不被不需要这些信息
的其他模块访问。
13.模块独立性:每个模块只完成要求的独立的子功能,且与其他模
块联系最少且接
口简单。
14.耦合性:软件系统结构中各模块间相互联系的紧密程度。
15.内聚性:模块的功能强度的度量,即一个模块内部各个元素彼此
结合的紧密程度。
16.模块的控制范围:受该模块内一个判定影响的所有模块的集合。
17.模块的作用范围:模块本身及其所有下属模块(直接或间接下属
模块)的集合。
18.程序设计风格:指一个人编制程序时所表现出来的特点、习惯、
逻辑思路等。
19.序言性注释:位于模块起始部分,用以说明模块的用途、功能、
接口,描述数据、
开发历史等。
20.功能性注释:嵌在源程序内部,用以描述语句或程序段是做什么
或执行后的结果。
21.软件测试:为了发现错误而执行程序的过程。
22.单元测试:对源程序中每一个程序单元进行测试,检查各个模块
是否正确实现规
定的功能,从而发现模块在编码中或算法中的错误。(测试①模块接
口、②局部数据结构、③重要的执行路径、④错误处理、⑤边界条件) 。
22.集成测试:在单元测试基础上,将所有模块按设计要求组装成一
个完整的系统进
行的测试,也称组装测试或联合测试。用于发现模块组装中可能出
现的问题。23.确认测试(有效性测试):按照需求规格说明书的要求检
测软件,验证软件的功能
和性能及其他特性是否与用户的要求一致。
24.系统测试:将通过了确认测试的应用软件作为整个计算机系统
中的一个元素,和
其他系统元素(如硬件,人员,数据库等)结合进行测试,以验证所有系
统元素都能否正常配合,从而完成整个系统的功能,达到预期性能。
25.回归测试:在软件修改或调试或增殖了新模块后,使用先前的测
试用例对软件重
复曾进行过的测试,以验证软件的修改/调试/增殖后有无引出新的
错误,是否仍然满足需求规格说明。
26.渐增式测试:首先对一个模块进行模块测试,然后将这些模块逐
步组装成较大的
系统,在组装过程中边连接边测试,以发现连接过程中产生的问题。
27.非渐增式测试(整体拼装):首先对每个模块分别进行模块测试,
然后把所有模块
组装在一起,再进行测试。
28.黑盒法:把被测试对象看成一个黑盒子,不考虑程序内部结构和
处理过程,只在软
件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能
要求。因此,黑盒测试又称为功能测试或数据驱动测试。
29.白盒法:把测试对象看作一个打开的盒子,测试人员必须了解程
序的内部结构和
处理过程,对程序中尽可能多的逻辑路径进行测试,检验内部控制结
构和数据结构是否有错,实际的运行状态与预期的状态是否一致。
30.合理等价类:正确的输入数据。
31.不合理等价类:错误的输入数据。
32.驱动模块:软件测试时,用于代替所测模块的上层模块的一种辅
助模块,它接收测
试数据,把这些数据传送给所测模块,最后输出测试结果。
33.桩模块(存根模块):软件测试时,用于代替所测模块调用的下层
子模块的一种辅
助模块。它接受所测模块传送给它的数据并向所测模块返回必要
的返回数据。
34.调试:根据测试结果,确定错误的原因和位置并改正错误的过程,
也称为纠错。
35.校正性维护:为纠正错误,弥补缺陷而修改软件的过程。21%
36.适应性维护:为使软件适应其运行环境变化而修改软件的过程。
25%
37.完善性维护:为使软件增加功能、增强性能而修改软件的过程。
50%
38.预防性维护:为提高软件的可维护性和可靠性而修改软件的过
程。4%
39.软件可维护性:软件能够被理解、修改的容易程度。
40.维护副作用:因修改软件而造成的错误或其他不希望出现的情
况。
41.对象:封装了数据结构及可施加在这些数据结构上的操作的封
装体,这个封装体
有可唯一地标识它的名字,而且向外界提供一组服务。
42.类:具有相同属性和相同操作的一组相似对象的抽象
43.状态:对象的静态性质和特征,用数据值(属性值)描述。
44.属性:类的静态性质和特征(状态的抽象),用数据结构描述。不
同对象的同一属
性可有相同或不同的属性值。
45.行为:对象的动态性质,用操作描述。
46.操作:类的动态性质(类中对象所使用的一种功能或变换),用操
作名和方法描述。
类中各对象可共享操作,每个操作都有一个目标对象作为其隐含参
数。
47.方法:类控制操作的实现步骤。
48.消息:对象之间进行通信的构造,是对象要执行的操作的一个说
明。
49.消息传递:一个对象发送消息给另一个对象,接收消息的对象经
过解释后给予响
应,这种通信机制称为消息传递。
50.链:对象之间的物理或逻辑联系,即关联的实例。
51.关联:类之间的联系,即链的抽象
52.角色:类在关联中的作用,位于关联的端点。
53.关系:类之间的静态结构关系。①聚集关系(组装关系,整体─部
分关系);②一般
化关系(分类关系,归纳关系,一般─具体关系):一般化关系和继承同
时存在。
54.继承:子类自动共享父类数据结构和方法(属性和操作) 的机制。
55.单重继承:子类只继承一个父类的数据结构和方法。
56.多重继承:子类继承了多个父类的数据结构和方法。
57.多态性:相同的操作可作用于多种类型的对象上并获得不同结
果。即不同的对象,
收到同一消息可以产生不同的姑果,这种现象称为多态性。
58.封装性:指所有软件部件内部都有明确的范围以及清楚的外部
边界,软件部件的
内部实现与外部可访问性分离。
59.事件:指定时刻发生的某件事情。是某事情发生的信号,没有持
续时间。
60.重用性:同一事物不经修改或稍加修改就可多次重复使用的性
质。
61.对象模型(数据模型):描述系统的静态结构(静态的、结构化的
系统数据性质),
从客观实体的对象关系角度表现对象的相互关系。主要关心系统
中对象的结构、属性和操作,使用对象图作描述工具,是分析阶段三个模
型的核心,其他两个模型的框架。
62.动态模型(操作模型):描述系统的控制结构(与时间和变化有关
的系统性质),关
心系统的控制,操作的执行顺序,从对象的事件和状态角度表现对象
的相互行为。
使用状态图作描述工具。
63.功能模型:描述系统的所有计算,表明一个功能如何从输入值得
到输出值,不考虑
计算次序。使用数据流图/用例图作描述工具。功能模型也包括对
象模型中值的
结束条件,说明对象模型中操作的含义、动态模型中动作的意义及
对象模型中约束的意义。
64.时间冗余:以重复执行指令(指令复执)或程序(程序复算)来消除
瞬时错误的影
响。复执不成功时,通常发出中断,转入错误处理程序,或对程序进行
复算,或重新组合系统,或放弃处理。
65.人力资源:工作要求的人员的数量、级别及其工作时段。
66.硬件资源:工作所需的硬件支持和测试设备。
67.软件资源:工作所需的支持软件和应用软件。
68.专家估算:依靠专家对项目做出估算。
69.类推估算:自顶向下法中,它是将估算项目的总体参数与类似项
目直接比较得到
结果。自底向上方法中,类推是在两个具有相似条件的工作单元之
间进行。
70.工程网络图:常用来描述项目进度的一种图形工具,是有向图,
用圆表示事件,箭
头表示子任务的进行;箭头上的数字表示此子任务的持续时间;箭头
下面括号中的数字表示任务的机动时间;圆左边部分的数字表示事件号,
右上部的数字表示前一子任务结束或后一子任务开始的最早时刻,右下
部的数字表示前一子任务结束或后一子任务开始的最迟时刻。
71.软件配置管理:一组管理整个软件生存期各阶段中变更的活动。
其主要目标是:
标识变更;控制变更;确保变更正确地实现;报告有关变更。
72.基线:软件生存期中各开发阶段的一些特定点,作用是把开发各
阶段工作的划分
更加明确化,使本来连续的工作在这些点上断开,以便于检查与肯定
阶段成果。73.软件开发环境:①软件开发环境是一组相关工具的集
合;②这些相关工具是按一
定的开发方法或一定开发处理模型组织起来的;③这些相关工具支
持整个软件生存期的各阶段或部分阶段。
74.软件工具:为支持计算机软件的开发、维护、模拟、移植或管
理而研制的程序系
统。
75.程序设计环境:解决如何将规范说明转换成可工作的程序问题,
包括方法与工具。
76.系统合成环境:主要考虑把很多子系统集成为一个大系统的问
题。用于辅助控制
子系统及其向大系统的集成。
77.项目管理环境:是解决由于软件产品的规模大、生存期长、人
们的交往多而造成
的问题。
:用于辅助软件开发各阶段进行软件开发的一组工具和
方法的集合。
版权声明:本文标题:软件工程期末复习题 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1735753235a1688845.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论