《软件工程》经典考试例题复习试题-重点知识点(含答案)
- 格式:pdf
- 大小:472.66 KB
- 文档页数:19


软件工程考试试题(含答案)
软件工程考试试题(含答案)
1. 简答题
1.1 请简述软件生命周期模型,包括传统瀑布模型和敏捷开发模型。
传统瀑布模型:
软件生命周期模型的一种经典模型,包含需求分析、系统设计、编码、测试和运维等阶段,每个阶段完成后才能进入下一个阶段。
优点:
- 易于理解和使用;
- 需求固定,有利于计划和控制;
缺点:
- 需求变更困难;
- 风险高,需求出错难以弥补;
- 开发周期长,无法满足紧迫的需求。
敏捷开发模型:
一种适应快速变化需求的软件开发模型,主要包括用户故事编写、迭代开发、持续集成和自动化测试等实践。
优点: - 高度适应变化;
- 可以提供早期可用软件;
- 强调团队合作和沟通;
缺点:
- 需要高度的客户参与度;
- 需要经验丰富的开发团队;
- 不适用于大型项目。
1.2 什么是需求工程?请简述需求工程的过程和方法。
需求工程:
需求工程是软件开发过程中用来获取、分析、定义和验证系统需求的过程。它的目标是建立对用户需求的准确和完整的理解。
需求工程的过程:
1. 需求获取:通过与用户、利益相关者沟通和交流获取用户需求。
2. 需求分析:对需求进行分析、整理,形成需求的详细描述。
3. 需求定义:将需求进行文档化,包括功能需求、非功能需求等。
4. 需求验证:通过原型、模型或评审等方式验证需求的正确性和完整性。
需求工程的方法: - 面谈法:与用户、利益相关者进行面对面的交谈,获取需求信息。
- 观察法:观察用户的工作环境和行为,了解其需要的功能和约束条件。
- 文献研究法:通过研究现有的相关文档来获取需求信息。
- 原型法:通过创建原型,让用户提供反馈并进一步明确需求。
2. 算法设计题
有一组整数,编写一个算法将这组整数按照从小到大的顺序进行排序。
算法设计:
软件工程复习题 第 20 页(共20页)
软件工程 复习题
(课程代码 252258)
一、填空题(本大题共60小题)
1. 数据项是指__不可再分解的___数据单元。
2. 软件概要设计的主要任务就是___软件结构的设计___。
3. 软件维护的内容包括校正性维持,适应性维护、____完善性维护_____和预防性维护。
4. 在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和___数据存储对象___。
5. 规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有 容错功能 的软件。
6. 软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。
7. 为了便于对照检查,测试用例应由输入数据和预期的 输出结果 两部分组成。
8. 软件结构是以 模块 为基础而组成的一种控制层次结构。
9. 在结构化分析中,用于描述加工逻辑的主要工具有结构化语言、判定表和 判定表 三种。
10. 软件工程是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
11. PDL是一种介于___自然语言___和形式化语言之间的半形式化语言。
12. 从软件的功能角度划分,协助用户开发软件的工具性软件称为_支撑__软件
13. 消除软件结构中高扇入扇出的做法是______增加中间层次的控制模块_____。
14. 如果一个软件系统的全部实际加工都由原子模块来完成,而其他所有非原子模块仅仅执行控制或协调功能,这样的系统就是____完全因子分解_____的系统。
15. 软件的可移植性是指当把软件移植到不同的运行环境时,不需改变其__规格___就能照原样工作的特性。
16. 为满足用户对软件提出的新的要求而对软件进行扩充、改进的维护称为____完善性__维护。
17. 将整个软件划分成若干单独命名和可编址的部分,称之为___模块___。
软件工程复习题及答案
一、选择题软件工程复习题(一)1、瀑布模型本质上是一种()A、线性顺序模型B、顺序迭代模型C、线性迭代模型D、及早见产品模型2、使用程序设计
的控制结构导出测试用例的测试方法是()A、黑盒测试B、白盒测试C、边界测试D、系统测试3、软件结构图的形态特征能反映程序重用率的是
()A、深度B、宽度C、扇入D、扇出4、软件结构图中,模块框之间若有直线连接,表示它们之间存在() A、调用关系B、组成关系C、
链接关系D、顺序执行关系5、需求分析最终结果是产生()A、项目开发计划B、需求规格说明书C、设计说明书D、可行性分析报告6、快速原
型模型的主要特点之一是()A、开发完毕才见到产品B、及早提供全部完整的软件产品C、开发完毕后才见到工作软件D、及早提供工作软件7、
若有一个计算类型的程序,它的输入量只有一个X,其范围是[ -1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.
0,1.0,1.001。设计这组测试用例的方法是 ()A、条件覆盖法B、等价分类法C、边界值分析法D、错误推测法8、软件详细设计主
要采用的方法是()A、模块设计B、结构化设计C、PDL 语言D、结构化程序设计9、开发软件所需高成本和产品的低质量之间有着尖锐的矛
盾,这种现象称做 () A、.软件工程B、软件周期C、软件危机D、软件产生10、按软件生命周期方法设计软件的过程中,画数据流图属于
下面哪个阶段的工作()A、需求分析B、概要设计C、详细设计D、软件维护11、在快速原型模型的开发过程中,仅作为需求说明的补充形式的 原型是()A、探索型模型B、演化型模型C、实验型模型D、提交型模型12、程序设计语言的工程特性之一为()A、软件的可重用性B、数据
结构的描述性C、抽象类型的描述性D、数据库的易操作性13、软件按照设计的要求, 在规定时间和条件下达到不出故障,持续运行的要求的质
量特性称为 ()A、可用性B、可靠性C、正确性D、完整性14、模块设计中,最不希望的内聚是()A、功能内聚B、通信内聚C、过程内聚
.
.....
1. 某旅馆的电话服务如下:可以拨分机号和外线号码。分机号是从7201至7299。外线号码先拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100到300中任意的数字串。市话号码是以局号和分局号组成。局号可以是455,466,888,552中任意一个号码。分局号是任意长度为4的数字串。
要求:写出在数据字典中,电话号码的数据流条目的定义即组成。
电话号码=[分机号|外线号码]
分机号=7201...7299
外线号码=9+[市话号码|长话号码]
长话号码=区号+市话号码
区号=100...300
市话号码=局号+分局号
局号=[455|466|888|552]
分局号=4{数字}4
数字=[0|1|2|3|4|5|6|7|8|9]
2. 为以下程序流程图分别设计语句覆盖和判定覆盖测试用例,并标明程序执行路径。开始(x>1) AND (y=0)(x=2) OR (z>1)语句段1语句段2结束FFTTabcde
(1)语句覆盖测试用例
令x=2,y=0,z=4作为测试数据,程序执行路径为abcde。
(2)判定覆盖
可以设计如下两组数据以满足判定覆盖:
x=3,y=0,z=1(1分)(通过路径abce);
x=2,y=1,z=2(1分)(通过路径acde)。
或者
x=2,y=1,z=1;覆盖路径acde
x=1,y=1,z=1;覆盖路径ace
x=3,y=0,z=1;覆盖路径abce
(注意:本题也还可以有其他答案)
3. 请用判定表画出以下问题的行为逻辑。
人们往往根据天气情况决定出门时的行装。天气可能下雨,也可能不下雨;下雨或不下雨天气可能变冷,也可能不变冷。如果天气要下雨,出门时带上雨伞;如果天气变冷,.
..... 出门时要穿上大衣。
天气情况 下雨 不下雨
变冷 不变冷 变冷 不变冷