《软件工程模拟试题及参考答案》(一)
一、单向选择题(四选一、每小题3分,共18分)
1、面向对象(Object Oriented)方法是将现实世界的事物以对象的方式( B )到计算机世界的方法。
a对应 b 映射 c 反映 d 反射
2、盒图也称为(D)或Chapin图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。0802
流程图 框图 判定表 N-S图
3、面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的(A)结构。1001
程序 数据 逻辑 物理
4、人机界面的风格大致经过了(B)代的演变。
三 四 五 六
5、以下不属于白盒测试技术的是(D)1402
逻辑覆盖 基本路径测试 循环覆盖测试 等价类划分
6、为改正软件系统中潜藏的错误而进行的维护活动称为(A)。1501
纠错性维护 适应性维护 改善性维护 预防性维护
二、填空题(每空2分,共18分)
文档—一种数据媒体和其上所记录的(数据)。0101
机器语言、汇编语言:依赖于机器,面向(机器)0101
软件有效性,指软件系统的时间和(空间)效率。0103
软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。0103
软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。0103
为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。0402
一个软件的深度是指其控制的(层数)。0801
以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫(编码)过程。1301
软件维护是软件生命周期的(最后)一个阶段。1501
三、判断题(每小题2分,共24分,错误打X、正确打√)
缺乏有力的方法学的指导和有效的开发工具的支持, 这往往是产生软件危机的原因之一。(√)0102
一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。(X)0206
在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求。(√)0402
快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。(√)0402
流程图也称为程序框图是最常用的一种表示法。(√)0802
面向数据设计方法一般都包括下列任务: 确定数据结构特征;用顺序、选择和重复三种基本形式表示数据等步骤。(√)1001
理想的人机界面应针对具有典型个性的特定的一类用户设计。(√)1201
数据输入的一般准则中包括尽量增加用户输入的动作。(X)1204
用穷举测试是较现实的测试方法。(X)1401
四、简答题(每小题4分,共20分)
1、计算机软件——与计算机系统操作有关的程序、规程、 规则及任何与之有关的文档和数据。0101
2、需求分析的任务是什么?0103
需求分析的任务是确定待开发的软件系统“做什么”。具体任务包括确定软件系统的功能需求、性能需求和运行环境约束,编制软件需求规格说明书、软件系统的验收测试准则和初步的用户手册。
3、软件项目的成本管理——估算软件项目的成本,作为立项和签合同的依据之一,并在软件开发过程中按计划管理经费的使用。0201
4、快速原型技术的基本思想是什么?0402
在软件开发的早期,快速开发一个目标软件系统的原型,让用户对其进行评价并提出修改意见,然后开发人员根据用户的意见对原型进行改进。
5、程序设计语言的有哪些特点?1301
1)一致性2)二义性3)紧致性4)局部性
五、综合题(每小题10分,共20分)
1、可将软件生存周期划分为哪3个过程和哪9个阶段。0103
(1)3个过程是:软件定义过程、软件开发过程、软件使用与维护过程。
(2)9个阶段有:可行性研究、需求分析、概要设计、详细设计、实现、组装测试、验收测试、使用与维护、退役。
2、画出与图1所示的程序流程图对应的程序图,并试计算其巡回秩数V(G)。
解:(1)程序图如(图2)所示:
(2)计算其巡回秩数:V(G)=E –N +2=13 –10 +2=5
(图一) (图二)
《软件工程模拟试题及参考答案》(二)
一、单向选择题(四选一、每小题3分,共18分)
1、软件的发展经历了(D)个发展阶段。0102
一 二 三 四
2、需求分析的任务不包括(B)。
问题分析 系统设计 需求描述 需求评审。
3、一个软件的宽度是指其控制的(C)。0801
模块数 层数 跨度 厚度
4、当模块中包含复杂的条件组合,只有(A)能够清晰地表达出各种动作之间的对应关系。
判定表和判定树 盒图 流程图 关系图
5、以下不属于逻辑覆盖的是(D)。
语句覆盖 判定覆盖 条件覆盖 基本路径
6、为适应软件运行环境的变化而修改软件的活动称为(B)。1501
纠错性维护 适应性维护 改善性维护 预防性维护
二、填空题(每空2分,共18分)
软件可靠性是指在给定的时间间隔内,程序成功运行的(概率)。0101
高级语言:独立于机器,面向过程或面向(对象)0101
软件项目管理的范围主要集中于3个P上,即:People人员、Problem问题和(过程)。0201
人机界面的风格第一代界面是命令和(询问)方式。1202
由于维护或在维护过程中其他一些不期望的行为引入的错误称为维护的(副作用)。1504
在公式V(G)= E – N + 2中:E为程序图G中边的总数; N 为程序图中结点的总数。V(G)又称为图G的环形(复杂度)0204。
任何一个基于计算机系统都可以用输入-处理-输出(IPO)图来描述,它将该系统转换成一个信息变换模型。0303
为提高可交互性一般对所有可能造成损害的用户操作动作,应坚持要求用户(确认),例如,提问“你确实要删除…?”。1204
文档是一种数据媒体和其上所记录的(数据)。0101
三、判断题(每小题2分,共24分,错误打X、正确打√)
用户对软件需求的描述不精确,往往是产生软件危机的原因之一。(√)0102
目前,软件项目的进度安排的两种比较常用的方法是程序评估与审查技术(PERT)和关键路径法(CPM)。(√)0206
一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作,建立良好的人际关系,善于听取别人的意见。(√)0206
目前的绝大多数软件都不适合于快速原型技术。(X)0402
面向数据的设计方法的适用场合是具有明显的层次信息结构的应用如:企事业的信息管理系统;系统软件(如操作系统)等。(√)10001
缺乏处理大型软件项目的经验。是产生软件危机的唯一原因。(X)0102
通常紧致性好的语言一致性就好。(X)1301
测试计划、测试用例、出错统计和有关的分析报告一般不用长期保存。(X)1401
数据输入的一般准则中包括保证信息显示方式与数据输入方式的协调一致;允许用户定做输入格式等内容。(√)1204
软件也会磨损和老化。(X)0101
完善性维护是提高或完善软件的性能。(√)0101
McCabe建议模块规模应满足:V(G)≤20。(X)0204
四、简答题(每小题4分,共20分)0
1、程序设计语言的三种类型和特点是什么?0101
1.机器语言、汇编语言:依赖于机器,面向机器
2.高级语言:独立于机器,面向过程或面向对象
3.面向问题语言:独立于机器,非过程式语言(4GL) (2分)
2、软件危机——是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。
3、软件项目的质量管理——制定软件质量保证计划,按照质量评价体系控制软件质量要素,对阶段性的软件产品进行评审,对最终软件产品进行确认,确保软件质量。0201
4、好的编程风格应遵循哪四条规则?1304
1)节简化2)模块化3)简单化4)文档化
5、软件测试中按照错误的性质和范围进行分类可分为:“功能错误”及其它哪些错误?
1.系统错误 2.加工错误(算法错误)3.数据错误 4.代码错误
五、综合题(每小题10分,共20分)
1、选择语言时要考虑的因素有:项目的应用领域、项目中算法、计算的复杂性和其余哪些内容? 答:1)项目中数据结构的复杂性2)用户的性能需求3)软件运行的环境
4)软件开发人员开发水平5)可用的编译器和交叉编译器
2、已知一个软件项目的记录,开发人员M=3人,其代码行数=12.1KLOC,工作量E=24PM,成本S=168000美元,错误数N=29,文档页数Pd=365页。试计算开发该软件项目的生产率P、平均成本C、代码出错率EQR和文档率D。0201
解: 1.软件开发的生产率P为:
P = L / E = 12.1×103LOC / 24PM = 504 LOC/PM
2.开发每行代码的平均成本C为:
C = S / L = 168000美元 / 12100LOC=13.9美元/LOC
3.代码出错率EQR为:
EQR = N / L = 29个/12.1KLOC=2.4个/KLOC
4.软件的文档率D为:
D = Pd / L = 365页 / 12.1KLOC = 30页/ KLOC
《软件工程模拟试题及参考答案》(三)
单向选择题(四选一、每小题3分,共18分)
1、从事物的组成部件及每个部件的属性、功能来认识事物。这种方法被称为(A)的方法。0701
A、面向对象B、面向数据C、面向过程D、面向属性
2、判定表由四部分组成:左上部列出(B)。0802
条件组合与动作之间的对应关系 所有条件 所有可能的动作 可能的条件组合
3、根据用户在软件使用过程中提出的建设性意见而进行的维护活动称为(C)。1501
纠错性维护 适应性维护 改善性维护 预防性维护
4、可行性研究的步骤中不包括(C)的内容。0302
复查初步分析结果。 研究现有的系统。 导出新系统高层逻辑模型。 建立新系统的物理模型解法。
5、将软件组装成系统的一种测试技术叫(A)。1403
集成测试 单元测试 集合测试 系统测试
6、技术可行性是可行性研究的关键,其主要内容一般不包括(C)。0302
风险分析 资源分析 人员分析 技术分析
填空题(每空2分,共18分)
1、面向问题语言:是独立于(机器),非过程式语言4GL。0101
2、软件有效性,指软件系统的(时间)和空间效率。0103
3、软件项目管理的对象主要包括产品、过程和(资源)等。0201
4、计算机系统工程是用工程、科学和(数学)的原则与方法研制基于计算机的系统的有关技术、方法和过程。0301
5、在Jackson方法中,实体结构是指实体在时间坐标系中的行为序列。这种序列以顺序、选择和(重复)三种结构进行复合。0602
6、一个模块的“扇出数”是指该模块直接控制的其他(模块数)。0801
7、第二代界面是简单的(菜单)式。1202
8、软件可适应性,是指软件在不同的(系统约束)条件下,使用户需求得到满足的难易程度。0302
9、如果一个模块控制另一个模块,称前者为主控模块,后者为(从属)模块。0801
三、判断题(每小题2分,共24分,错误打X、正确打√)
可行性研究工作要在初步的需求定义之前进行。(X)0302
软件开发、设计几乎都是从头开始,成本和进度很难估计。(√)0101
文档(document)—一种数据媒体和其上所记录的数据。(√)0101
软件工程使用的软件工具能够自动或半自动地支持软件的开发、管理和文档的生成。(√)0102
为了充分发挥开发人员的潜力、缩短工期,软件工程项目的任务分解与安排应尽力挖掘可并行开发的部分。(√)0206
需求分析阶段的成果主要是需求规格说明,但该成果与软件设计、编码、测试直至维护关系不大。(X)0401
类是对具有共同特征的对象的进一步抽象。(√)0701
面对日益增长的软件需求,人们显得力不从心。往往是产生软件危机的原因之一。(√)0202
数据输入的一般准则中包括采用灵活多样的交互方式,允许用户自选输入方式;允许用户控制交互过程。(√)1204
如果在分析阶段和设计阶段采用的是面向对象的方法,而在编码阶段采用的是面向过程的语言,那么这种翻译就比较困难。(√)1301
软件测试是对软件规格说明、软件设计和编码的最全面也是最后的审查。(√)1401
如果测试过程没有发现任何错误,则说明软件没有错误。(X)1401
四、简答题(每小题4分,共20分)
1、螺旋模型的适应场合有哪些?0104
适应场合:支持需求不明确、特别是大型软件系统的开发,并支持面向规格说明、面向过程、面向对象等多种软件开发方法,是一种具有广阔前景的模型。
2、软件生存周期
软件从定义开始,经过开发、使用和维护,直到最终退役的全过程称为软件生存周期。
3、软件开发风险分析实际上就是贯穿于软件工程过程中的一系列风险管理步骤,它包括哪些主要内容?
风险标识 风险估算 风险评价 风险驾驭和监控。
4、需求评审评审标准(按照重要性的次序)包括正确性、无歧义性、完全性、可验证性和其它那些内容?。
1)一致性。2)可理解性。3)可修改性。4)可追踪性。
5、什么是静态测试
静态测试是采用人工检测和计算机辅助静态分析的方法对程序进行检测。1401
五、综合题(每小题10分,共20分)
1、为以下程序流程图分别设计语句覆盖和判定覆盖测试用例并标明程序执行路径。1402
解:1)语句覆盖测试用例
令x=2,y=0,z=4作为测试数据,程序执行路径为abcde。
2)判定覆盖——分支覆盖
可以设计如下两组数据以满足判定覆盖:
x=3,y=0,z=1(通过路径abce);
x=2,y=1,z=2(通过路径acde)。
x=2,y=1,z=1;覆盖路径acde
x=1,y=1,z=1;覆盖路径ace
x=3,y=0,z=1;覆盖路径abce
2、分别画出顺序结构、选择结构、while结构、until结构的程序图,并计算它们的V(G)值。0202
解:
《软件工程模拟试题及参考答案》(四)
一、单向选择题(四选一、每小题2分,共18分)
1、软件工程中的各种方法是完成软件工程项目的技术手段,它们支持软件工程的(A)阶段。0102
各个 前期 中期 后期
2、从事物的属性侧面来描述事物的方法就是(B)的方法。07