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