- 瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和( C)。
A、详细计划 B、可行性分析 C、 运行阶段 D、 测试与排错
2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大(C )。
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、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C )
A、基于瀑布模型的结构化方法 B、基于需求动态定义的原型化方法
C、基于对象的面向对象的方法 D、基于数据的数据流开发方法
8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B )
A、结构化方法 B、原型化方法 C、面向对象的方法 D、控制流方法
9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(B )
A、控制流 B、数据流 C、程序流 D、指令流
10、软件开发的结构化生命周期方法将软件生命周期划分成(A )
A、 计划阶段、开发阶段、运行阶段
B、 计划阶段、编程阶段、测试阶段
C、 总体设计、详细设计、编程调试
D、需求分析、功能定义、系统设计
11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为(A )
A、 瀑布模型 B、 对象模型 C、 螺旋模型 D、 层次模型
12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是( C)
A、 分析阶段 B、 设计阶段 C、 编码阶段 D、 测试阶段
三.判断
1.软件的开发与运行经常受到硬件的限制和制约。(√)
2.模块内的高内聚往往意味着模块间的松耦合。(√ )
5.软件的质量好坏主要由验收人员负责,其他开发人员不必关心。(X )
6.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。(√)
7. 应该尽量使用机器语言编写代码,提高程序运行效率,而减少高级语言的使用。(X)
8.UML只能应用于软件系统模型的建立。(X)
10.软件测试的目的是为了无一遗漏的找出所有的错误。(X)
一、填空
1.结构化分析方法的分析策略是___自顶向下逐步求精_______。
2.衡量模块独立性的两个定性标准是_耦合性与内聚性________。
3.软件集成测试的方法主要有两种,它们是___渐增式与非渐增式测试_______。
4.可行性研究的目的是用最小的代价在尽可能短的时间内确定该软件项目_是否值得开发_。
5.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是__功能需求_。
6.软件生存周期中时间最长、花费的精力和费用最多的一个阶段是__维护_____阶段。
7. 计算机辅助软件工程这一术语的英文缩写为_CASE_______。
8.McCall提出的软件质量模型包括______11_____个软件质量特性。
9.软件结构是以____模块_______为基础而组成的一种控制层次结构。
10.软件概要设计的主要任务就是__软件结构的设计______。
11.结构化程序设计方法是使用___三种基本控制结构(条件\控制\循环)____构造程序。
12.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和__数据存储对象_
二、选择
1.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法( C )
A、基于瀑布模型的结构化方法 B、基于需求动态定义的原型化方法
C、基于对象的面向对象的方法 D、基于数据的数据流开发方法
2、面向对象的开发方法中,(B)将是面向对象技术领域内占主导地位的标准建模语言。
A、Booch方法 B、UML语言
C、OMT方法 D、Coad方法
3、功能模型中所有的(A)往往形成一个层次结构。在这个层次结构中一个数据流图的过程可以由下一层的数据流图作进一步的说明。
A、数据流图 B、概念模型图 C、状态迁移图 D、事件追踪图
4、(A)应当在应用分析之前进行,因为我们在了解问题之前应当对问题敞开思想考虑,不应加以限制。
A、问题域分析 B、高层分析 C、实例的建立 D、类的开发
5、通过执行对象的操作改变对象的属性,但它必须通过(B)的传递。
A、接口 B、消息 C、信息 D、操作
6、所有的对象可以成为各种对象类,每个对象类都定义了一组(B)
A、说明 B、方法 C、过程 D、类型
9、面向对象的主要特征除对象唯一性、封装、继承外,还有(A)
A、多态性 B、完整性 C、可移植性 D、兼容
10、在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有(B)
A、 隐藏复杂性 B、 信息隐藏 C、 即存类的重用 D、 类的开发
13、在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是(B)
A、数据流图 B、状态图 C、系统结构图 D、时序图
14、人们常用的评价软件质量的4个因素是( B )
A.可维护性、可靠性、健壮性、效率 B.可维护性、可靠性、可理解性、效率
C.可维护性、可靠性、完整性、效率 D.可维护性、可靠性、移植性、效率
15、软件可移植性是用来衡量软件的( C )重要尺度之一。
A.通用性 B.效率 C.质量 D.人机界面
16、为了提高软件的可移植性,应注意提高软件的( D )
A.使用的方便性 B.简洁性 C.可靠性 D.设备独立性
20.在软件质量因素中,软件在异常条件下仍能运行的能力称之为软件的( B )
A.可靠性 B.健壮性 C.可用性 D.安全性
21.在软件设计中,设计复审是和软件设计本身一样重要的环节,其主要的目的和作用是为了能够( B)
A.减少测试工作量 B.避免后期付出高代价 C.保证软件质量 D.缩短软件开发周期
22.在软件危机中表现出来的软件质量差的问题,其原因是( B)
A.用户经常干预软件系统的研发工作 B.没有软件质量标准
C.软件研发人员不愿意遵守软件质量标准 D.软件研发人员素质太差
23.软件工程管理是( D)一切活动的管理。
A.需求分析 B.软件设计过程 C.模块设计 D.软件生命期
24.软件管理的主要职能包括(D )
A.人员管理、计划管理 B.标准化管理、配置管理 C.成本管理、进度管理 D.(A)和(B)
26.结构化设计方法在软件开发中用于(A )。
A、概要设计 B、详细设计 C、程序设计 D、测试用例设计
28.软件测试中,白盒法是通过分析程序的(B )来设计测试用例的。
A、应用范围 B、内部逻辑 C、功能 D、输入数据
29.软件维护费用高的主要原因是(C )。
A、人员少 B、人员多 C、生产率低 D、生产率高
30.软件质量必须在(D )加以保证。
A、开发之前 B、开发之后 C、可行性研究过程中 D、设计与实现过程中
31.确认测试主要涉及的文档是(A )。
A、需求规格说明书 B、概要设计说明书 C、详细设计说明书 D、源程序
33.为了适应软硬件环境变化而修改软件的过程是( C )。
A、校正性维护 B、完善性维护 C、适应性维护 D、预防性维护
35.软件质量保证应在( A )阶段开始。
A.需求分析 B.设计 C.编码 D.投入使用
36.在McCall软件质量度量模型中,(C )属于面向软件产品修改。
A.可靠性 B.可重用性 C.适应性 D.可移植性
37.对象实现了数据和操作的结合,使数据和操作(C )于对象的统一体中。
A.结合 B.隐藏 C.封装 D.抽象
39.瀑布模型的存在问题是(B )
A.用户容易参与开发 B.缺乏灵活性
C.用户与开发者易沟通 D.适用可变需求
40.软件测试方法中的静态测试方法之一为(A )
A.计算机辅助静态分析 B.黑盒法 C.路径覆盖 D.边界值分析
41.程序的三种基本控制结构是(B )
A.过程、子程序和分程序 B.顺序、选择和重复
C.递归、堆栈和队列 D.调用、返回和转移
43.详细设计的结果基本决定了最终程序的(C )
A.代码的规模 B.运行速度 C.质量 D.可维护性
44.结构化程序设计主要强调的是( D)
A. 程序的规模 B. 程序的效率 C. 程序设计语言的先进性 D. 程序易读性
46.黑盒测试在设计测试用例时,主要研究 ( A )
A.需求规格说明与概要设计说明 B.详细设计说明
C.项目开发计划 D.概要设计说明与详细设计说明
47.若有一个计算类型的程序,它的输入量只有一个,其范围是从输入的角度考虑一组测试用例, 设计这组测试用例的方法是(C )
A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法
48.下列属于维护阶段的文档是( C )
A.软件规格说明 B.用户操作手册 C.软件问题报告 D.软件测试分析报告
49.快速原型模型的主要特点之一是(D )
A.开发完毕才见到产品 B.及早提供全部完整的软件产品
C.开发完毕后才见到工作软件 D.及早提供工作软件
52.下列模型属于成本估算方法的有( A)
A.COCOMO模型 B.McCall模型 C.McCabe度量法 D.时间估算法
53.能力成熟度模型可以( A )
A、使软件组织建立一个有规律的成熟的软件过程 B、使用软件没有错误
C、使软件开发人员掌握更多的技术 D、避免开发人员跳槽
55.数据字典是对数据定义信息的集合,它所定义的对象都包含于(A )
A.数据流图 B.程序框图 C.软件结构 D.方框图
56.需求分析阶段的任务是确定 ( D )。
A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能
58.软件详细设计的主要任务是确定每个模块的 A 。
A.算法和使用的数据结构 B.外部接口 C.功能 D.编程
59.程序的三种基本控制结构是( B )。
A.过程、子程序积分程序 B.顺序、选择和重复
C.递归、堆栈和队列 D.调用、返回和转移
60.软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试(B )。
A.结构合理性 B.软件外部功能 C.程序正确性 D.程序内部逻辑
61.在软件开发和维护的过程中,为了定量地评价软件质量,必须对软件特性进行 (B)
A.测试 B.度量 C.评审 D.维护
64.对象是OO方法的核心,对象的类型有多种,通常把例如飞行、事故、演出、开会等等,称之为( C )
A.有形实体 B.作用 C.事件 D.性能说明
65.在面向对象软件开发方法中,类与类之间主要有以下结构关系(A)
A.继承和聚集 B继承和一般 C 聚集和消息传递 D继承和方法调用
66.以下哪一项不是软件危机的表现形式(C)
A成本高 B生产率低 C技术发展快 D质量得不到保证
67.以下哪一项不是面向对象的特征(D)
A)多态性 B)继承性 C封装性 D过程调用
68.面向对象模型主要由以下哪些模型组成(A)
A对象模型、动态模型、功能模型 B对象模型、数据模型、功能模型
C数据模型、动态模型、功能模型 D对象模型、动态模型、数据模型
69.软件项目计划一般不包括以下哪项内容(D)
A培训计划 B 人员安排 C 进度安排 D软件开发标准的选择和制定
三、简答
1. 简述软件工程方法学所包含的内容。
软件工程方法学包括三个要素, 这就是方法、工具和过程。其中,方法是完成软件开发的各项任务的技术方法,回答“如何做”的问题;工具是为方法的运用提供自动的或半自动的软件支撑,过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
2.什么是软件过程?它与软件工程方法学有何关系?
(1)软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
(2) 软件过程是软件工程方法学的3个重要组成部分之一。
(3) 软件工程方法学包含三个要素:方法、工具和过程。
3.分析软件危机产生的主要原因有哪些?
答:导致软件危机的主要原因有:
(1)软件日益复杂和庞大(2)软件开发管理困难和复杂(3)软件开发技术落后(4)生产方式落后(5)开发工具落后(6)软件开发费用不断增加
4、说明结构化程序设计的主要思想是什么?
答:(1)自顶向下、逐步求精的程序设计方法
(2)使用3种基本控制结构、单入口、单出口来构造程序。
5、软件测试包括哪些步骤?说明这些步骤的测试对象是什么?
答:(1)单元测试:测试对象对单元模块
(2)集成测试:测试对象为组装后的程序模块
(3)确认测试:测试对象为可运行的目标软件系统
(4)系统测试:测试对象为计算机系统的各组成部分
6、需求分析与软件设计二个阶段任务的主要区别是什么?
答:需求分析定义软件的用户需求,即定义待开发软件能做什么
软件设计定义软件的实现细节以满足用户需求,即研究如何实现软件。
7、说明软件测试和调试的目的有何区别?
答:测试的目的是判断和发现软件是否有错误
调试的目的是定位软件错误并纠正错误。
四、综合应用
1、某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同(助教,讲师,副教授,教授)作不同的处理,其中若是助教还必须输入工龄,只有工龄超过两年才能调整工资。请用等价类划分法设计测试用例。
输入条件 | 合理等价类 | 不合理等价类 |
职称 | ①教授 ②副教授 ③讲师 | ⑤四种职称之外任意一种 |
职称兼工龄 | ④助教兼工龄大于2年 | ⑥助教兼工龄等于两年 ⑦助教兼工龄小于两年 |
二、填空(20分)
1.增量模型适合于___软件需求_____不明确、设计方案有一定风险的软件项目。
2.结构化分析方法的分析策略是____自顶向下逐步求精______。
3.可行性研究实质上是要在较高层次上以较抽象的方式进行_____需求分析和设计______的过程。
4.衡量模块独立性的两个定性标准是____耦合性和内聚性_____。
5.Jackson方法是一种面向_____数据结构_________的设计方法。
6.软件集成测试的方法主要有两种,它们是____渐增式和非渐增式测试______。
7.维护阶段是软件生存周期中花费精力和费用_____最多________的阶段。
8.继承性是子类自动共享其父类的________数据结构和方法______机制。
9.在面向对象方法中,人们常用状态图描述类中对象的_______动态行为____。
10.规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称该软件为_____容错____软件。
1.需求分析中,开发人员要从用户那里解决的最重要的问题是( A )。
A、要让软件做什么 B、要给该软件提供哪些信息
C、要求软件工作效率怎样 D、要让该软件具有何种结构
2.DFD中的每个加工至少有( B )。
A、一个输入流或一个输出流 B、一个输入流和一个输出流
C、一个输入流 D、一个输出流
3.详细设计与概要设计衔接的图形工具是( B )。
A、DFD图 B、SC图 C、PAD图 D、程序流程图
4.下列几种类型中,耦合性最弱的是( D )。
A、内容型 B、控制型 C、公共型 D、数据型
5.确认测试中,作为测试依据的文档是( A )。
A、需求规格说明书 B、设计说明书 C、源程序 D、开发计划
6.为了适应软硬件环境变化而修改软件的过程是( C )。
A、校正性维护 B、完善性维护 C、适应性维护 D、预防性维护
7.瀑布模型是一种( A )。
A、整体开发模型 B、非整体开发模型 C、风险驱动模型 D、对象驱动模型
8.用于描述对象模型的工具是( D )。
A、数据流图 B、结构图 C、状态图 D、对象图
9.基线可作为软件生存期中各开发阶段的一个检查点。当采用的基线发生错误时,可以返回到最近和最恰当 的( C )上
A.配置项 B.程序 C.基线 D.过程
10.软件质量保证应在( A )阶段开始。
A.需求分析 B.设计 C.编码 D.投入使用
四.简答题(20分)
1.为了提高设计质量,应从哪几方面优化软件结构?
2.集成测试阶段,渐增式与非渐增式测试有哪些区别?
3.说明瀑布模型的局限性。
4.说明面向对象的特征。
5.软件工程管理包括哪些内容?
1.某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同(助教,讲师,副教授,教授)作
不同的处理,其中若是助教还必须输入工龄,只有工龄超过两年才能调整工资。请用等价类划分法设计测试用例。(7分)〔答案〕
(1)借书:根据读者的借书证查询读者档案,若借书数目未超过规定数量,则办理借阅手续(修改库存记录及读者档案),超过规定数量者不予借阅。对于第一次借阅者则直接办理借阅手续。
(2)还书:根据读者书中的条形码,修改库存记录及读者档案,若借阅时间超过规定期限则罚款。
请对以上问题,画出分层数据流图。(8分)
3.某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求如下:
(1)报社发行多种刊物,每种刊物通过订单来征订,订单中有代码,名称,订期,单价,份数等项目,订户通过填写订单来订阅报刊。
(2)报社下属多个发行站,每个站负责收集登陆订单、打印收款凭证等事务。
(3)报社负责分类并统计各个发行站送来的报刊订阅信息。
请就此需求建立对象模型。(10分)
参考答案
7.A 8.D
输入条件 | 合理等价类 | 不合理等价类 | |||
职称 |
| ⑤四种职称之外任意一种 | |||
职称兼工龄 | ④助教兼工龄大于2年 |
|
设计测试用例:
输入数据 |
预期结果 |
覆盖范围 |
教授 |
输入有效,进行调整工资处理 |
① |
副教授 |
输入有效,进行调整工资处理 |
② |
讲师 |
输入有效,进行调整工资处理 |
③ |
助教 3 |
输入有效,进行调整工资处理 |
⑤ |
助教 2 |
输入有效,不调整工资处理 |
⑥ |
助教 1 |
输入有效,不调整工资处理 |
⑦ |
工程师 |
输入无效 |
④ |
软件工程
一、单向选择题(四选一、每小题3分,共18分)
1、软件的发展经历了(D)个发展阶段。0102
- 一
- 二
- 三
- 四
2、需求分析的任务不包括(B)。0401
- 问题分析
- 系统设计
- 需求描述
- 需求评审。
4、当模块中包含复杂的条件组合,只有(A)能够清晰地表达出各种动作之间的对应关系。
- 判定表和判定树
- 盒图
- 流程图
- 关系图
5、以下不属于逻辑覆盖的是(D)。1402
- 语句覆盖
- 判定覆盖
- 条件覆盖
- 基本路径
6、为适应软件运行环境的变化而修改软件的活动称为(B)。1501
- 纠错性维护
- 适应性维护
- 改善性维护
- 预防性维护
二、填空题(每空2分,共18分)
-
- 软件项目管理的范围主要集中于3个P上,即:People人员、Problem问题和(过程process 项目project
三、判断题(每小题2分,共24分,错误打X、正确打√)
- 用户对软件需求的描述不精确,往往是产生软件危机的原因之一。(√)
- 目前,软件项目的进度安排的两种比较常用的方法是程序评估与审查技术(PERT)和关键路径法(CPM)。(√)
- 一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作,建立良好的人际关系,善于听取别人的意见。(√)0206
- 目前的绝大多数软件都不适合于快速原型技术。(X)0402
- 面向数据的设计方法适用场合是具有明显的层次信息结构的应用如:企事业的信息管理系统;系统软件(如操作系统)等。(√)10001
- 缺乏处理大型软件项目的经验。是产生软件危机的唯一原因。(X)0102
- 测试计划、测试用例、出错统计和有关的分析报告一般不用长期保存。(X)1401
- 软件也会磨损和老化。(X)0101
- 完善性维护是提高或完善软件的性能。(√)0101
四、简答题(每小题4分,共20分)
1、软件危机
是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。
3、软件项目的质量管理
制定软件质量保证计划,按照质量评价体系控制软件质量要素,对阶段性的软件产品进行评审,对最终软件产品进行确认,确保软件质量。
4、好的编程风格应遵循哪四条规则?1304
1)节简化 2)模块化
3)简单化 4)文档化
《软件工程》试题及参考答案
一、单向选择题(四选一、每小题3分,共18分)
1、对在数据流图中每一个命令的图形元素均给以定义是(B)0501
A、条目定义
B、数据字典
C、数据定义
D、数据说明
2、软件的可行性研究中不包括(D)0302
A、法律可行性
B、技术可行性
C、经济可行性
D、政治可行性
3、根据用户在软件使用过程中提出的建设性意见而进行的维护活动称为(C)。1501
- 纠错性维护
- 适应性维护
- 改善性维护
- 预防性维护
4、人机界面的风格大致经过了(B)代的演变。1202
A三 B四 C五 D六
5、以下不属于白盒测试技术的是(D)1402
A 逻辑覆盖 B基本路径测试 C循环覆盖测试 D等价类划分
6、为改正软件系统中潜藏的错误而进行的维护活动称为(A)。1501
A 纠错性维护 B适应性维护 C改善性维护 D预防性维护
二、填空题(每空2分,共18分)
- 文档(document)—一种数据媒体和其上所记录的(数据)。0101
- 机器语言、汇编语言:依赖于机器,面向(机器)0101
- 软件有效性(efficiency),指软件系统的时间和(空间)效率。0103
- 软件定义过程可通过软件系统的 可行性研究 和 需求分析 两个阶段来完成。0103
- 软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。0103
- 为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。0402
- 一个软件的深度是指其控制的(层数)。0801
- 以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫(编码)过程。1301
- 软件维护是软件生命周期的(最后)一个阶段。1501
三、判断题(每小题2分,共24分,错误打X、正确打√)
- 缺乏有力的方法学的指导和有效的开发工具的支持, 这往往是产生软件危机的原因之一。(√)0102
- 一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。(X)0206
- 在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求。(√)0402
- 快速原型技术适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。(√)0402
- 流程图也称为程序(框图)是最常用的一种表示法。(√)0802
- 面向数据设计方法一般都包括下列任务: 确定数据结构特征;用顺序、选择和重复三种基本形式表示数据等步骤。(√)1001
- 理想的人机界面应针对具有典型个性的特定的一类用户设计。(√)1201
- 数据输入的一般准则中包括尽量(增加)用户输入的动作。(X)1204
- 用穷举测试是较现实的测试方法。(X)1401
10、编码时应尽可能使用全局变量(X)1302
11、重视程序结构的设计,能使程序具有较好的层次结构(√)1301
12、程序中的注解越少越好( X )。1302
四、简答题(每小题4分,共20分)
1、计算机软件
与计算机系统操作有关的程序、规程、 规则及任何与之有关的文档和数据。0101
2、需求分析的任务是什么?0103
需求分析的任务是确定待开发的软件系统“做什么”。具体任务包括确定软件系统的功能需求、性能需求和运行环境约束,编制软件需求规格说明书、软件系统的验收测试准则和初步的用户手册。
4、快速原型技术的基本思想是什么?0402
在软件开发的早期,快速开发一个目标软件系统的原型,让用户对其进行评价并提出修改意见,然后开发人员根据用户的意见对原型进行改进。
《软件工程》试题及参考答案
一、单向选择题(四选一、每小题3分,共18分)
1、在设计测试用例时,应当包括(C)1401
A、合理的输入条件
B、不合理的输入条件
C、合理的和不合理的输入条件
D、部分条件
2、下列各项中不属于逻辑覆盖的是(D)1402
A、语句覆盖
B、判定覆盖
C、判定——条件覆盖
D、全部覆盖
5、实践表明,确定发生错误的位置和内在原因所需的工作量几乎占整个调试工作量的(D)%。1404
- 30
- 50
- 70
- 90
二、填空题(每空2分,共18分)
- 黑盒测试主要是测试软件是否满足(功能)需求。1402
- (调试)的目的是确定错误的位置和引起错误的原因,并加以改正。因此,又称为排错或纠错。1404
- 软件工程由方法、工具和(过程)三部分组成,称软件工程的三要素。0101
三、判断题(每小题2分,共24分,错误打X、正确打√)
- 文档可用于专业人员和用户之间的通信和交流;软件开发过程的管理; 运行阶段的维护。(√)0101
- 软件开发、设计几乎都是从头开始,成本和进度很难估计。(√)0101
- 适应性维护是改进软件未来的可维护性和可靠性。(X)0101
- 由于软件是逻辑产品,软件质量较容易直接度量。(X)0203
- 按照功能,软部件可划分为系统软件和应用软件两类。(√)0301
- 如果某子功能可以用一段简洁、精确的文字描述清楚,就无需进一步分解,是创建用户需求的数据流模型应遵循的规则。(√)0502
- 耦合度是对软件结构中模块间关联程度的一种度量。在设计软件时应追求尽可能紧密的耦合的系统。(X)0803
- 在面向对象设计阶段则着重完成“如何做”的问题,也就是着重考虑对象的实现细节。(√)1101
- 随着软件复杂性的不断提高,软件的维护难度越来越大。(√)1501
- 软件的可维护性差是软件维护工作量和费用激增的直接原因。(√)1505
《软件工程》试题及参考答案
一、单向选择题(四选一、每小题3分,共18分)
1、从事物的组成部件及每个部件的属性、功能来认识事物。这种方法被称为(A)的方法。0701
A、面向对象
B、面向数据
C、面向过程
D、面向属性
2、判定表由四部分组成:左上部列出(B)。0802
- 条件组合与动作之间的对应关系
- 所有条件
- 所有可能的动作
- 可能的条件组合
4、耦合度也可以分为七级:其中最松散的耦合是(A)。0801
- 非直接耦合
- 数据耦合
- 特征耦合
- 控制耦合
二、填空题(每空2分,共18分)
- 软件工程由方法、(工具)和过程三部分组成,称软件工程的三要素。0101
- 软件可理解性,指系统具有清晰的结构,能直接反映问题的(需求)。0103
- 在实体-关系图简称E-R图中,数据对象实体用长方形、关系用(菱形)、属性用椭圆表示。0502
- 从工程管理的角度软件设计可分为概要设计和(详细)设计两大步骤。0801
- 通过向用户提供视觉和听觉上的反馈,保持用户与界面间的双向通信,是提高界面可(交互)性的措施之一。1204
- 测试用例中,不仅要选择合理的输入数据,还要选择(不合理)的输入数据。1401
三、判断题(每小题2分,共24分,错误打X、正确打√)
- 纠错性维护是改正运行期间发现的潜伏错误。(√)0101
- 软件可移植性(portability),是指软件从一个计算机系统或(环境)移植到另一个上去的难易程度。(√)0103
- 软件复杂性不能反映出软件的可理解性、模块化、简单性等属性。(X)0204
- 当程序内的分支数和循环数增加时,V(G)值将随之增加,即程序的复杂性增大。(√)0204
- 一般来说,设计软件时应尽量使用数据耦合,减少控制耦合,限制外部环境耦合和公共数据耦合,杜绝内容耦合。(√)0803
- 编码的依据是详细设计说明书。(√)1303
- 程序文档应该包括代码的功能、代码的完成者等内容。(√)1303
- 预防性维护是修改软件,以适应软硬件环境的变化。(X)0101
四、简答题(每小题4分,共20分
5、瀑布模型一般适应哪些场合?0104
瀑布模型一般适用于功能、性能明确、完整、无重大变化的软件系统的开发。例如操作系统、编译系统、数据库管理系统等系统软件的开发。应用有一定的局限性。
五、综合题(每小题10分,共20分)
1、软件工程的目标是什么?0103
答:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。
《软件工程》试题及参考答案
一、单向选择题(四选一、每小题3分,共18分)
1、描述静态数据结构的概念模式是(A )。0801
A、E-R图 B、DFD C、结构图 D、框图
2、结构化程序设计理论认为,实现良好的程序结构要应用( A )的分析方法。1301
A、自顶向下 B、自底向上 C、面向对象 D、基于组件
4、软件生产过程中,需求信息由(D )给出。0401
A、程序员 B、项目管理者 C、软件分析设计人员 D、软件用户
二、填空题(每空2分,共18分)
- 软件工程由(方法)、工具和过程三部分组成,称软件工程的三要素。0103
- 基于计算机系统的软件要素中的软部件由程序、数据和(文档)组成。0301
- 流程图也称为程序框图是最常用的一种表示法,它有顺序、分支和(循环)三个基本控制构件。0802
- 机器语言和汇编语言,也称为(低级)语言。1301
- 软件测试是执行程序发现并排除程序中潜伏的(错误)的过程。1401
- 动态测试有两种测试方法:黑盒测试和(白盒)测试。1401
- 软件可维护性,是指软件产品交付使用后,在实现改正潜伏的错误、改进性能等属性、适应环境变化等方面工作的(难易)程度。0103
三、判断题(每小题2分,共24分,错误打X、正确打√)
- 开发大型软件易产生疏漏和错误,往往是产生软件危机的原因之一。(√)0102
- 据统计,软件维护人员为了分析和理解原软件系统所花费的工作量约占整个维护工作量的60%以下。(X)0201
- 最高耦合度是数据耦合。(X)0803
- 人机界面(Human-Computer Interface,简称HCI)又称人- 机接口或用户界面。(√)1201
- 在同一用户界面中,所有的菜单选择、命令输入、数据显示和其他功能应采用不同的形式和风格。(X)1204
- 判定覆盖必然满足语句覆盖。(√)1402
- 为提高可交互性一般对大多数操作动作应允许用户恢复。同时应尽量减少用户记忆的信息量。(√)1204
- 编程中应采用统一的标准和约定,降低程序的复杂性。(√)1303
- 软件在使用过程中维护不十分复杂。(X)0101
- 软件可重用性(reusability),是指软部件可以在多种场合使用的程度。(√)0103
四、简答题(每小题4分,共20分)
1、螺旋模型的适应场合有哪些?0104
适应场合:支持需求不明确、特别是大型软件系统的开发,并支持面向规格说明、面向过程、面向对象等多种软件开发方法,是一种具有广阔前景的模型。