1、教育软件工程练习题一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内)1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( ) A.软件工程B.软件周期 C.软件危机D.软件产生2.研究开发所需要的成本和资源是属于可行性研究中的( )研究的一方面。 A.技术可行性B.经济可行性 C.社会可行性D.法律可行性3. 瀑布模型的存在问题是( ) A用户容易参与开发 B缺乏灵活性 C用户与开发者易沟通 D适用可变需求4.模块的内聚性最高的是( ) A.逻辑内聚B.时间内聚 C.偶然内聚D.功能内聚5.在SD方法中全面指导模块划分的最重要的原
2、则是( ) A.程序模块化B.模块高内聚 C.模块低耦合D.模块独立性6.软件详细设计主要采用的方法是( ) A.模块设计B.结构化设计 C.PDL语言D.结构化程序设计7.下列关于JSP方法不正确的说法是( ) A.JSP方法主要用于规模不大的数据处理系统 B.JSP方法不明确的划分软件概要设计和详细设计的两个阶段 C.JSP方法适用于输入数据和输出数据之间有对应关系的问题求解 D.JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。因此它只适用于详细设计阶段8.不适合作为科学工程计算的语言是( ) A. PascalB. C C. FortranD. Prolog9.黑盒
3、测试在设计测试用例时,主要需要研究( ) A.需求规格说明与概要设计说明B.详细设计说明 C.项目开发计划D.概要设计说明与详细设计说明10.若有一个计算类型的程序,它的输入量只有一个X,其范围是-1.0,1.0,现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( ) A.条件覆盖法B.等价分类法 C.边界值分析法D.错误推测法11.下列属于维护阶段的文档是( ) A.软件规格说明B.用户操作手册 C.软件问题报告D.软件测试分析报告12.快速原型模型的主要特点之一是( ) A.开发完毕才见到产品B.及早提供全部完整的软件产品 C.开发完毕后
4、才见到工作软件 D.及早提供工作软件13.因计算机硬件和软件环境的变化而作出的修改软件的过程称为( ) A.教正性维护B.适应性维护 C.完善性维护D.预防性维护14.类库这种机制是( )级别的信息共享。 A.同一类B.不同类 C.同一应用D.不同应用15.只有单重继承的类层次结构是( )层次结构。 A.网状型B.星型 C.树型D.环型16.在屏蔽硬件错误的冗错技术中,冗余附加技术有( ) A.三模冗余B.信息冗余 C.冗余备份程序的存储及调用D.关键程序和数据的冗余存储和调用17.软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( ) A.可用性B.可靠性 C
5、.正确性D.完整性18.下列文档与维护人员有关的有( ) A.软件需求说明书B.项目开发计划 C.概要设计说明书D.操作手册19.采用Gantt图表示软件项目进度安排,下列说法中正确的是( ) A.能够反映多个任务之间的复杂关系 B.能够直观表示任务之间相互依赖制约关系 C.能够表示哪些任务是关键任务 D.能够表示子任务之间的并行和串行关系20.下列模型属于成本估算方法的有( ) A.COCOMO模型B.McCall模型 C.McCabe度量法D.时间估算法21在下列工具与环境中( )属于较早期的CASE。 A基于信息工程CASE B人工智能CASE C结构的基于图形CASE D集成的CASE
6、环境22Putnam成本估算模型是一个( )模型。 A静态单变量 B动态单变量 C静态多变量 D动态多变量23在McCall软件质量度量模型中,( )属于面向软件产品修改。 A可靠性 B可重用性 C适应性 D可移植性24ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是( ) ASQIC BSQMC CSQRC DSQDC25软件复杂性度量的参数包括( ) A效率 B规模 C完整性 D容错性26对象实现了数据和操作的结合,使数据和操作( )于对象的统一体中。 A结合 B隐藏 C封装 D抽象27软件调试技术包括( ) A边界值分析 B演绎法 C循环覆盖 D集成测试28瀑布模型的存在
7、问题是( ) A用户容易参与开发 B缺乏灵活性 C用户与开发者易沟通 D适用可变需求29软件测试方法中的静态测试方法之一为( ) A计算机辅助静态分析 B黑盒法 C路径覆盖 D边界值分析30软件生命周期中所花费用最多的阶段是( ) A详细设计 B软件编码 C软件测试 D软件维护31第一个体现结构化编程思想的程序设计语言是( ) AFORTRAN语言 BPascal语言 CC语言 DPL/1语言32程序的三种基本控制结构是( ) A过程、子程序和分程序 B顺序、选择和重复 C递归、堆栈和队列 D调用、返回和转移33在详细设计阶段,经常采用的工具有( ) APAD BSA CSC DDFD34详细
8、设计的结果基本决定了最终程序的( ) A代码的规模 B运行速度 C质量 D可维护性35需求分析中开发人员要从用户那里了解( ) A软件做什么 B用户使用界面 C输入的信息 D软件的规模36结构化程序设计主要强调的是( )A 程序的规模B 程序的效率C 程序设计语言的先进性D 程序易读性37IDEF。图反映系统( )A怎么做 B对谁做 C何时做 D做什么38经济可行性研究的范围包括( ) A资源有效性 B管理制度 C效益分析 D开发风险39可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开 发的决策依据,因必须给出( )的回答。 A确定 B行或不行 C正确 D无二义40需
9、求分析阶段的任务是确定( )A 软件开发方法B 软件开发工具C 软件开发费D 软件系统的功能41软件工程的纵向分解是把软件开发分为几个()A模块 B阶段C子系统D过程42McCall软件质量度量模型中属于面向软件产品操作的是()A适应性B可重用性C可测试性D可用性43快速原型模型中,用于及早向用户提交一个原型系统的是()A实验型原型B探索型原型C提交型原型D演化型原型44软件维护中,因重新初始化控制标志或指针而引起的错误是以下哪一项的副作用?()A文档B数据C编码D设计45软件维护费用高的主要原因是()A生产率高B生产率低C人员多D人员少46根据对软件开发机构调查的结果可知,各类维护活动所占的
10、比重是()A完善性占50,适应性占25,校正性占21,其他维护占4B完善性占25,适应性占50,校正性占21,其他维护占4C完善性占21,适应性占25,校正性占50,其他维护占4D完善性占21,适应性占50,校正性占25,其他维护占447下列属于用白盒技术设计测试用例的是()A错误推测B逻辑覆盖C等价类划分D因果图48有助于培养良好的编程风格并且第一个体现了结构化编程思想的程序设计语言是()APASCALBFORTRANCDL1DC49在软件详细设计过程中不采用的工具为()A判定表BPDLC数据流图DIPO图50根据输入输出的数据结构产生程序结构的设计方法是()APARNAS方法BJACKSO
11、N方法CWIRTH方法DDIJKSTRA方法51在软件设计中,为解决一个大而复杂的问题把软件系统划分成一个个完成某一特定的子功能的方法称为()A细化B结构化C模块化D抽象化52结构化方法在建立软件系统的结构模块时按照以下哪种方法进行?()A由底向上B自顶向下C随机D回归53两个模块之间传递的是同一个数据结构的地址,这种耦合方式称为()A控制耦合B公共耦合C标记耦合D数据耦合54结构化设计是以哪个阶段产生的DFD图为基础,按一定的步骤映射成软件结构?()A可行性分析B需求分析C概要设计D详细设计55结构化方法的基本原则是功能的分解和()A模块化B信息隐蔽C抽象D细化56数据字典和数据流程图共同构
12、成了系统的()A物理模型B逻辑模型C原型D目标模型57软件需求不应包括()A功能要求B环境需求C标准实现的空间需求D用户界面要求58项目开发计划是什么类型的文档?()A设计性B进度表示C需求分析D管理性59瀑布模型是一种什么模型?()A风险驱动模型B线性开发模型C增量模型D迭代模型60软件工具一般是为软件人员开发和维护活动而使用的()A硬件环境B说明书C软件D程序二、填空题1.瀑布模型是以文档为驱动、适合于_的软件项目的模型。2.纯收入是指在整个生存周期之内的_与投资之差。3.数据项是指_数据单元。4.软件概要设计的主要任务就是_。5.结构化程序设计方法是使用_构造程序。6.软件开发是一个自顶
13、向下逐步细化和求精过程,而软件测试是一个_集成的过程。7.软件维护的内容包括校正性维持,适应性维护、_和预防性维护。8.CASE工具的平台集成指工具运行在相同的_平台上。9.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和_。10.将开发项目与一个或多个已完成的类似项目进行比较,找出与某个相类似项目的若干不同之处,并估算每个不同之处对成本的影响,得出开发项目的总成本。这种成本估算方法称为_。11在软件开发过程中要产生大量的信息,要进行大量的修改, 能协调软件开发,并使混乱减到最低程度。12规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有
14、 的软件。13McCall提出的软件质量模型包括 个软件质量特性。14软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、 、 可使用性和效率。15为了便于对照检查,测试用例应由输入数据和预期的 两部分组成。16程序设计语言的心理特性主要表现在 、简洁性、传统性、局部性和顺序性。17软件结构是以 为基础而组成的一种控制层次结构。18在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、 。19结构化语言是介于自然语言和 之间的一种半形式语言。20若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P= 。21软件项目计划是_阶段的结果产品。22McCa
15、ll质量度量模型高层特性包含面向软件产品操作、产品修改和_三个方面的11个特性。23在面向对象方法中,_是子类共享父类数据结构和方法的机制,体现了类之间的一种关系。24演化提交模型是在_的基础上,项目开发的各阶段都进行增量开发。25软件编码是将_阶段产生的算法,用某种程序设计语言编写成程序的过程。26IDEF0用来描述系统的功能活动及其联系,建立系统的_模型。27两个模块之间把简单的数值作为参数传递,这种耦合方式为_。28把在几个模块中都出现的一些毫无联系的处理序列抽出来组成一个新的模块,那么这个模块的内聚性是_。29成本效益分析的目的是从_角度评价开发一个新的软件项目是否可行。30软件工程的
16、主要思想是在软件生产中用_代替传统手工方法。三、名词解释(每小题3分,共15分)1.信息隐蔽2.集成测试3.多态性4.CASE5.SA6软件生存周期模型7数据字典(DD)8内聚性9JSP方法10多态性11软件工程过程12基线13静态测试14PAD15需求分析四、简答题1.简述软件工程目标和面临的主要问题。2.简述结构化程序设计方法的基本要点。3.简述文档在软件工程中的作用。4.简述提高可维护性的方法。5简述容错技术的四种主要手段,并解释。6以G.J.Myers的观点,简述对软件测试的目的。7就程序设计语言的工程特性而言,对程序编码有哪些要求?8模块的内聚性包括哪些类型?五、应用题1.某旅馆的电
17、话服务如下:可以拨分机号和外线号码。分机号是从7201至7299。外线号码先拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100到300中任意的数字串。市话号码是以局号和分局号组成。局号可以是455,466,888,552中任意一个号码。分局号是任意长度为4的数字串。要求:写出在数据字典中,电话号码的数据条目的定义(即组成)。2.某培训中心要研制一个计算机管理系统。它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理。1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务
18、部门,财务人员开出发票给学生。2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。要求:(1)对以上问题画出数据流程图。(2)画出该培训管理的软件结构图的主图。3下面是某程序的流程图:(1) 计算它的环路复杂性。(2)为了完成基本路径测试,求它的一组独立的路径。4. 某图书馆的预定图书子系统有如下功能:(1) 由供书部门提供书目给订购组;(2) 订书组从各单位取得要订的书目;(3) 根据供书目录和订书书目产生订书文档留底;(4) 将订书信息(包括数目,数量等)反馈给供书
19、单位;(5) 将未订书目通知订书者;(6) 对于重复订购的书目由系统自动检查,并把结果反馈给订书者。 试根据要求画出该问题的数据流程图,并把其转换为软件结构图。参 考 答 案一、单项选择题 1.C 2.B 3.B 4.D 5.D 6.D 7.D 8.D 9.A 10.C 11.C 12.D 13.B 14.D 15.C 16.D 17.B 18.C 19.D 20.A21.C 22.D 23.C 24.D 25.B26.C 27.B 28.B 29.A 30.D31.B 32.B 33.A 34.C 35.A36.D 37.D 38.C 39.B 40.D41.B 42.D 43.D 44.B
20、 45.B46.A 47.B 48.A 49.C 50.B51.C 52.B 53.C 54.B 55.C56.B 57.C 58.D 59.D 60.C二、填空题1.软件需求明确2.累计经济效益(折合成现在值)3.不可再分解的4.软件结构的设计5.三种基本控制结构6.自底向上或相反顺序7.完善性维护8.硬件/操作系统9.数据存储对象10.差别估算法11.软件配置管理12.容错功能13. 1114.可移植性15.输出结果16.歧义性17.模块18.判定树19.形式语言20.F/(1+(n*i)21.可行性研究22.产品适应23.继承性24.瀑布模型25.详细设计26.功能27.数据耦合28.偶
21、然内聚29.经济角度30.工程化方法三、名词解释1.信息隐蔽是指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。2.集成测试也称组装测试或联合测试。是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。组装模块的方式有两种:渐增式测试和非渐增式测试。3.多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。4.CASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。CASE把软件开发技术、软件工具和软件开发方法集
22、成到一个统一而一致的框架中,并且吸收了CAD(计算机辅助设计)、软件工程、操作系统、数据库、网络和许多其他计算机领域的原理和技术。因而,CASE领域是一个应用、继承和综合的领域。5.结构化分析方法是需求分析中使用最多的方法之一,适用于数据处理类型软件的需求分析。基本思想是采用自顶向下,逐步分解的方法分析整个系统,有效地控制系统开发的复杂性。6.是描述软件开发过程中各种活动如何执行的模型。7数据字典是用来定义数据流图中的各个成分的具体含义的。它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。8内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的
23、度量,即一个模块内部各个元素彼此结合的紧密程度的度量。9JSP方法是面向数据结构的设计方法,其定义了一组以数据结构为指导的映射过程,它根据输入,输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。10指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。或(不同的对象,收到同一消息可以产生不同的结果。)11. 软件工程过程规定了获取、供应、开发、操作和维护时,要实施的过程、活动和任务。12. 是软件生存期中各开发阶段的一个特定点,这的作用是把各开发阶段的工作的划分更加明确化,使本来连续的工作在这些点上分开,以便于检查和肯定阶段性成果。13指被除数测程序不在机器上运行,而是采
24、用人工检测和计算机辅助静态分析的手段对程序进行检测。14PAD是指程序分析图,是一种算法描述工具,它是一种从左向右展开的二维树型结构15是反映开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转化为相应的形式功能规约的过程。四、简答题1.软件工程是一门工程性的学科,其目标主要是成功地建造一个大型软件系统。包括:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。面临的主要问题是:软件费用 软件可靠性 软件维护 软件生产率 软件重用。2.(
25、1)采用自顶向下,逐步求精的程序设计方法。(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环(3)采用主程序员组的组织形式。3.(1)提高软件开发过程的能见度(2)提高开发效率(3)作为开发人员阶段工作成果和结束标志(4)记录开发过程的有关信息便于使用与维护;(5)提供软件运行、维护和培训有关资料;(6)便于用户了解软件功能、性能。4.(1)建立明确的软件质量目标(2)利用先进的软件开发技术和工具(3)建立明确的质量保证工作(4)选择可维护的程序设计语言(5)改进程序文档5结构冗余:包括静态冗余、动态冗余和混合冗余。信息冗余:为检测或纠正信息在运算或传输中的错误,须外加一部分信息。时间
26、冗余:指重复执行指令或程序来消除瞬时错误带来的影响。冗余附加技术:指为实现上述冗余技术所需的资源和技术。6软件测试是(1)为了发现错误而执行程序的过程;(2)一个好的用例能够发现至今尚未发现的错误的测试。(3)一个成功的测试是发现至今尚未发现的错误的测试。7就程序设计语言的工程特性而言,对程序编码有如下要求:(1) 可移植性(2) 开发工具的可利用性(3) 软件的可重用性(4) 可维护性8模块的内聚性包括:(1) 偶然内聚(2) 逻辑内聚(3) 时间内聚(4) 通信内聚(5) 顺序内聚(6) 功能内聚五、应用题1.解电话号码=分机号外线号码分机号=7201.7299外线号码=9+市话号码长话号码长话号码=区号+市话号码区号=100.300市话号码=局号+分局号局号=455466888552分局号=4数字42.解: (1)数据流图(2)软件结构图3.解:(1) 环路复杂性=判断数1617(个)(2) 路径1:(0)(13)(19) 路径2:(0)(14)(19) 路径3:(0)(15)(19) 路径4:(0)(16)(19) 路径5:(0)(17)(19) 路径6:(0)(18)(19) 路径7:(0)(12)(19) 4.
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100