1、软件工程基础复习题及答案复习题 一、判断题(每题 2 分,共 30分)1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。 (对)2.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终 点进行详细定义。(错)语言编译器是一个 CASE 工具。(对)。4.软件是指用程序设计语言(如 PASCAL ,C,VISUAL BASIC 等)编写 的程序,软件开发实际上就是编写程序代码。(错)5.软件模块之间的耦合性越弱越好。(对)6.数据库设计说明书是一个软件配置项(对)7.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对 象的实例,对象是生成类的模板。(错)8.过程描述
2、语言可以用于描述软件的系统结构。(错)9.如果通过软件测试没有发现错误,则说明软件是正确的。(错)10.快速原型模型可以有效地适应用户需求的动态变化。(对)11.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高 内聚,低耦合度的软件产品。(对)12.集成测试主要由用户来完成。(错)13.确认测试计划应该在可行性研究阶段制定(错)14.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块 的功能即可。(错)15.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。 (对)16.在可行性研究中最难决断和最关键的问题是经济可行性。 (X )17.耦合是指一个模块内各个元素彼此结
3、合的紧密程度。 (X )18.一笔交易、 一个动作、 甚至操作人员按一个按钮都可以看做是一次 事物。(V )19.概要设计阶段完成的主要文档是概要设计说明书。 (V )20.过大的模块可能是由于分解不充分造成的,即使降低模块独立性也 必须继续分解。 ( X )21.程序设计语言中应绝对禁止使用 GOTO语句。(X )22.类是关于对象性质的描述,由方法和数据组成。 (V )23.随着软件技术的发展,人们逐渐认识到编码不仅要强调效率还要强 调清晰。( V )25.为保证程序的安全,必须做到程序中没有任何错误存在,即容错。(X)26.如果把软件开发所需的资源画成一个金字塔,人是最基本的资源。(V)
4、名词解释1.数据词典是描述数据信息的集合,它对数据流图中的各个元素按规定格式进行详细的描述和确切的解释 , 是数据流图的补充工具。2.数据流图他以图形的方式反映系统的数据流程3.白盒测试 按照程序内部的结构测试程序,检验程序中的每条路 径是否都能按预定要求正确工作。有两种测试法既逻辑覆盖测试法 和路径测试法4.黑盒测试 按照程序的功能测试程序,检验与程序功能有关的输 入、输出与程序执行是否正确。有四种方法既等价分类法、边界值 分析法、错误猜测法和因果图法5.完善性维护 为了适应用户业务和机构的发展变化而对软件的功 能、性能进行修改、扩充的过程称为完善性维护。因为各种用户的 业务和机构在相当长的
5、时期内不可能是一成不变的,所以功能、性 能的增加是不可避免的,而且这种维护活动在整个维护工作中所占 的比重很大6.软件可靠性指在给定的时间内,程序按照规定的条件成功地运 行的概率7.软件配置是一个软件在生存周期内,他的各种形式、各种版本 的文档与程序的总称8.软件再工程运用逆向工程、重构等技术,在充分理解原有软件 的基础上,进行分解、综合、并重新构建软件,用于提高软件的可 理解性、可维护性可复用性或演化性。9.a测试 是在一个受控的环境下,由用户在开发者的“指导”下 进行的的测试,由开发者负责记录错误和使用中出现的问题。10.B测试一一是由软件的最终用户(多个)在一个或多个用户场所 来进行。由
6、用户负责记下遇到的所有问题,包括主观认定的和真实 的问题,定期向开发者报告,开发者在综合用户的报告之后进行修 改,最后将软件产品交付给全体用户使用。11.聚集关系一一表示类或对象之间的整体与部分的关系12.泛化关系一一表示类或对象之间的一般与特殊的关系13.内聚 一个模块内部各个元素彼此结合的紧密程度 的度量。14.耦合一一个软件结构内不同模块之间互连程度的度量。 填空题1.在信息处理和计算机领域内,一般认为软件是 程序 、_文档 和数据一 。2.数据流图的基本组成部分有 _数据的源点与终点 、 数据流 、加工 、数据文件 。3.数据流图和数据字典共同构成了系统的 逻辑一 模型,是需求规格说明
7、书的主要组成部分。4.划分模块时尽量做到 _高内聚、低耦合 ,保持模块的独立性,尽量使用公共模块。5.类的实例化是_对象 。6.人们常用硬件可靠性的定量度量方法来度量软件的可靠性和可用 性,常用的度量软件可7.靠性的两个指标是 _成功地运行的概率 和_平均故障时间8.将待开发的软件细化,分别估算每一个子任务所需要的开发工作量, 然后将它们加起来,9. 将得到软件的总开发量。这种成本估算方法称为_自底向上 10.如果一个模块被n个模块调用,其中直接的上级模块的个数是 m个(m1,B=0A=2,B=0执行S1A1,B0 或A1,B=0 或A1,B0A=2,B=1 或A=1,B=0 或A=1,B=1
8、执行S2条件覆盖 rm以下四种情况各出 现一次A1B=0A=2, B=0执行S1A1B0A=1,B=1执行S2条件组合覆盖A1,B=0A=2,B=0执行S1A1,B0A=2,B=1执行S2A1,B=0A=1,B=0执行S2A1,B0A=1,B=1执行S228.某城市电话号码由三部分组成。它们的名称和内容分别是:地区码:空白或三位数字;前缀:非 0或 1 的三位数字;后缀:4位数字。并设假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不 符合规定的电话号码。根据该程序的规格说明, 作等价类的划分, 计测试方案。划分等价类输入条 件有效等价类无效等价类地区码1.空白;2.三位数;1.有非数字
9、字符;2.少于三位 数字;3.多于三位数字。前缀3.从200到999之间的三位4.有非数字字符;5.起始位为 0;6.起始位为 1 ; 7.少于三 位数字;8.多于三位数字。后缀4.四位数字。9.有非数字字符;10.少于四位 数字;11.多于四位数字。设计测试方案方内容输入预案地区码前缀后缀期 输 出1空白200 999之间的三 位数字四位数 字()276-2345有 效2三位数 字四位数 字(635)805-9321有 效3有非数 字字符(20A)723-4567无 效4少于三 位数字(33 )234-5678无 效5多于三 位数字(5555)345-6789无 效6有非数字 字符(345)
10、5A2-3456无 效7起始位为0(345)012-3456无 效8起始位为1(345)132-3456无 效9少于三位 数字(345) 92-3456无 效10多于三位 数字(345)4562-3456无 效11有非数 字字符(345)342-3A56无 效12少于四 位数字(345)342- 356无 效13多于四 位数字(345)562-34567无 效29.为什么说软件的维护是不可避免的因为软件的开发过程中,一般很难检测到所有的错误,其次软件在 应用过程中需要随用户新的要求或运行环境的变化而进行软件的修改 或完成功能的增删等,为了提高软件的应用水平和使用寿命, 软件的维护是不可避免的。
11、22.试由程序流程图导出程序图(a )程序流程图b)导出程序图30.软件的维护一般分为哪几类完善性维护:满足用户在使用过程中提出增加新的功能或修改已 有功能,以满足用户日益增长的需要而进行的工作;适应性维护:是软件适应新的运行环境而进行的工作;纠错性维护:纠正开发期间未发现的遗留错误, 即在程序使用期间发现的程序错误进行诊断和改正的过程;预防性维护:为了改善未来的可维护性或可靠性而修改软件的工 作。31.决定软件可维护性的因素(1)软件的可理解性、可测试性、可修改性;(2)文档描述符合要求、用户文档简洁明确、系统文档完整并且标 准。32.分析软件危机产生的主要原因有哪些 答:导致软件危机的主要
12、原因有:( 1)软件日益复杂和庞大( 2)软件开发管理困难和复杂( 3)软件开 发技术落后( 4)生产方式落后( 5)开发工具落后( 6)软件开发费用 不断增加1 个要点 1 分,只要答上 5 个要点得 5 分!33.说明结构化程序设计的主要思想是什么答:( 1)自顶向下、逐步求精的程序设计方法( 2 分)( 2)使用 3 种 基本控制结构、单入口、单出口来构造程序。( 3 分)34、软件测试的基本任务是什么测试与纠错有什么区别 答:软件测试的基本任务是通过在计算机上执行程序, 暴露程序中潜在 的错误。测试和纠错目的和任务都不相同, 测试是为了发现程序的错误, 纠错是为了定位和纠正错误, 从而
13、消除软件故障, 保证程序的可靠运行。35.软件测试包括哪些步骤同时说明这些步骤的测试目的是什么 答:(1)单元测试, 目的是代码达到模块说明书的要求 (2)集成测试, 目的是将经过单元测试的模块逐步组装成具有良好一致性的完整的程 序( 3)确认测试,目的是确认程序系统是否满足软件需求规格说明书 的要求( 4)系统测试,目的是检查能否与系统的其余部分协调运行, 并且完成 SRS 对他的要求。36.需求分析与软件设计二个阶段任务的主要区别是什么 答:需求分析定义软件的用户需求,即定义待开发软件能做什么(分) 软件设计定义软件的实现细节以满足用户需求,即研究如何实现软件。(分)37.说明软件测试和调
14、试的目的有何区别 答:测试的目的是判断和发现软件是否有错误( 2。5 分)调试的目的是定位软件错误并纠38.根据以下被测试的流程图,选择相应的答案。 (8 分)(1) A=2, B=0, X=4 (2)A=2, B=1, X=1 (3)A=2, B=0, X=1A=1, B=1, X=1 A=3, B=0, X=3 A=1, B=1, X=21在 1-3 的答案中满足判定覆盖的测试用例是 _1 (2 分)2在 1-3 的答案中满足条件覆盖的测试用例是 _3 (2 分)3在 1-3 的答案中满足判定 /条件覆盖的测试用例是 2_ (2分)39工资计算系统中的一个子系统有如下功能:( 1 )计算扣
15、除部分 由基本工资计算出应扣除 (比如水电费、 缺勤) 的部分;( 2 )计算奖金部分 根据职工的出勤情况计算出奖励金; ( 3 )计算工资总额部分 根据输入的扣除额及奖金计算出总额;( 4 )计算税金部分 由工资总额中计算出应扣除各种税金;( 5 )生成工资表 根据计算总额部分和计算税金部分传递来的有关 职工工资的详细信息生成工资表。试根据要求画出该问题的数据流程图。 40用自顶向下结构化程序设计方法编写直接选择排序从小到大排列的 程序。要求保持良好的程序风格,加上必要的注释()。用 C 语言编写:/* 程序名称:直接选择排序; */* 作者 */* 完成日期: 2006 年 6月 9日;*
16、/* 过程头: selectsort (int *A ; int N ) */*输入参数:N为元素个数(Nv=1OO0); A整型数组,从1到N存放待 排序元素; */* 返回结果:数组 A 为指针,由它返回排序结果; */ void selectsort ( int *A ; int N )int i,j,k,x ;for (i=1;ivN;i+) /* 求第 I 个最小值 */k=i ; /* 先假设 I 位置上的值最小 */for (j+=i;jv=N;j+) /*求I至U N位置上的最小值*/if (A (j ) vA(k) ) k=j ;if ( ki) /*需要交换A( K)和A( I )的值*/ /* 交换 A( K)和 A( I)*/x=A ( i );A (i ) =A(k);A( k) =x /*结束交换:/ f/*求出了第11个最小值*/ /*sElectsOrt*/ 把事务型数据流图映射成软件结WritB41.:勾图:Write4$F把变换型数据流图映射成软件结构图:43、 什么是软件复用简述软件复用和软件共享、软件移植
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1