软件工程期末考试总复习习题及答案(DOC 30页).doc

上传人(卖家):2023DOC 文档编号:5640262 上传时间:2023-04-28 格式:DOC 页数:30 大小:150KB
下载 相关 举报
软件工程期末考试总复习习题及答案(DOC 30页).doc_第1页
第1页 / 共30页
软件工程期末考试总复习习题及答案(DOC 30页).doc_第2页
第2页 / 共30页
软件工程期末考试总复习习题及答案(DOC 30页).doc_第3页
第3页 / 共30页
软件工程期末考试总复习习题及答案(DOC 30页).doc_第4页
第4页 / 共30页
软件工程期末考试总复习习题及答案(DOC 30页).doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、欢迎共阅复习题填空题1. 在信息处理和计算机领域内,一般认为软件是_程序_、_文档_和_数据_。2. 数据流图的基本组成部分有_数据的源点与终点_、数据流_、加工_、数据文件_。3. 数据流图和数据字典共同构成了系统的_逻辑_模型,是需求规格说明书的主要组成部分。4. 划分模块时尽量做到_高内聚、低耦合_,保持模块的独立性,尽量使用公共模块。5. 类的实例化是_对象_。6. 人们常用硬件可靠性的定量度量方法来度量软件的可靠性和可用性,常用的度量软件可7. 靠性的两个指标是_成功地运行的概率_和_平均故障时间_。8. 将待开发的软件细化,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,

2、9. 将得到软件的总开发量。这种成本估算方法称为_自底向上_。10. 如果一个模块被n个模块调用,其中直接的上级模块的个数是m个(m1,B=0A=2,B=0执行S1A1,B?0或A?1,B=0或A?1,B?0A=2,B=1或A=1,B=0或A=1,B=1执行S2条件覆盖以下四种情况各出现一次A1B=0A=2,B=0执行S1A?1B?0A=1,B=1执行S2条件组合覆盖A1,B=0A=2,B=0执行S1A1,B?0A=2,B=1执行S2A?1,B=0A=1,B=0执行S2A?1,B?0A=1,B=1执行S228.某城市电话号码由三部分组成。它们的名称和内容分别是:地区码:空白或三位数字;前缀:非

3、0或1的三位数字;后缀:4位数字。假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。根据该程序的规格说明,作等价类的划分,并设计测试方案。划分等价类输入条件有效等价类无效等价类地区码1.空白;2.三位数;1.?有非数字字符;2.少于三位数字;3.多于三位数字。前缀3.从200到999之间的三位4.有非数字字符;5.起始位为0;6.起始位为1;7.少于三位数字;8.多于三位数字。后缀4.四位数字。9.有非数字字符;10.少于四位数字;11.多于四位数字。?设计测试方案方案内容输入预期输出地区码前缀后缀1空白200999之间的三位数字四位数字()276-2345有效2三位

4、数字四位数字(635)805-9321有效3有非数字字符(20A)723-4567无效4少于三位数字(33)234-5678无效5多于三位数字(5555)345-6789无效6有非数字字符(345)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.为什么说软件的维护是不可避免的?因为软件的开发过程中,一般很难

5、检测到所有的错误,其次软件在应用过程中需要随用户新的要求或运行环境的变化而进行软件的修改或完成功能的增删等,为了提高软件的应用水平和使用寿命,软件的维护是不可避免的。22.试由程序流程图导出程序图1入口2A1F38B=0TTX=X/A4FA=25TX1F96X=X+1T7出口F(a)程序流程图(b)导出程序图30.软件的维护一般分为哪几类?完善性维护:满足用户在使用过程中提出增加新的功能或修改已有功能,以满足用户日益增长的需要而进行的工作;适应性维护:是软件适应新的运行环境而进行的工作;纠错性维护:纠正开发期间未发现的遗留错误,即在程序使用期间发现的程序错误进行诊断和改正的过程;预防性维护:为

6、了改善未来的可维护性或可靠性而修改软件的工作。31.决定软件可维护性的因素?(1)软件的可理解性、可测试性、可修改性;(2)文档描述符合要求、用户文档简洁明确、系统文档完整并且标准。32.分析软件危机产生的主要原因有哪些?答:导致软件危机的主要原因有:(1)软件日益复杂和庞大(2)软件开发管理困难和复杂(3)软件开发技术落后(4)生产方式落后(5)开发工具落后(6)软件开发费用不断增加1个要点1分,只要答上5个要点得5分!33.说明结构化程序设计的主要思想是什么?答:(1)自顶向下、逐步求精的程序设计方法(2分)(2)使用3种基本控制结构、单入口、单出口来构造程序。(3分)34、软件测试的基本

7、任务是什么?测试与纠错有什么区别?答:软件测试的基本任务是通过在计算机上执行程序,暴露程序中潜在的错误。测试和纠错目的和任务都不相同,测试是为了发现程序的错误,纠错是为了定位和纠正错误,从而消除软件故障,保证程序的可靠运行。35.软件测试包括哪些步骤?同时说明这些步骤的测试目的是什么?答:(1)单元测试,目的是代码达到模块说明书的要求(2)集成测试,目的是将经过单元测试的模块逐步组装成具有良好一致性的完整的程序(3)确认测试,目的是确认程序系统是否满足软件需求规格说明书的要求(4)系统测试,目的是检查能否与系统的其余部分协调运行,并且完成SRS对他的要求。36.需求分析与软件设计二个阶段任务的

8、主要区别是什么?答:需求分析定义软件的用户需求,即定义待开发软件能做什么(2.5分)软件设计定义软件的实现细节以满足用户需求,即研究如何实现软件。(2.5分)37.说明软件测试和调试的目的有何区别?答:测试的目的是判断和发现软件是否有错误(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=2在1-3的答案中满足判定覆盖的测试用例是_1_(2分)在1-3的答案中满足条件覆盖的测试用例是_3_(2分)在1-

9、3的答案中满足判定/条件覆盖的测试用例是_2_(2分)39工资计算系统中的一个子系统有如下功能:(1)计算扣除部分由基本工资计算出应扣除(比如水电费、缺勤)的部分;(2)计算奖金部分根据职工的出勤情况计算出奖励金;(3)计算工资总额部分根据输入的扣除额及奖金计算出总额;(4)计算税金部分由工资总额中计算出应扣除各种税金;(5)生成工资表根据计算总额部分和计算税金部分传递来的有关职工工资的详细信息生成工资表。试根据要求画出该问题的数据流程图。40用自顶向下结构化程序设计方法编写直接选择排序从小到大排列的程序。要求保持良好的程序风格,加上必要的注释()。用C语言编写:/*程序名称:直接选择排序;*

10、/*作者*/*完成日期:2006年6月9日;*/*过程头:selectsort(int*A;intN)*/*输入参数:N为元素个数(N=1000);A整型数组,从1到N存放待排序元素;*/*返回结果:数组A为指针,由它返回排序结果;*/voidselectsort(int*A;intN)inti,j,k,x;for(i=1;iN;i+)/*求第I个最小值*/k=i;/*先假设I位置上的值最小*/for(j+=i;j=N;j+)/*求I到N位置上的最小值*/if(A(j)A(k))k=j;if(ki)/*需要交换A(K)和A(I)的值*/*交换A(K)和A(I)*/x=A(i);A(i)=A(k

11、);A(k)=x/*结束交换*/*求出了第I个最小值*/*SELECTSORT*/41.把事务型数据流图映射成软件结构图:ABC+f1f2f4f5f3主模块Readf1ABCWritef4Writef5主模块f1f2f1f3f4f542.把变换型数据流图映射成软件结构图:BACf1f2f3f4主模块Getf2BGetf3Readf1主模块Readf1主模块ACWritef4主模块f1f1f2f2f3f3f4f443、什么是软件复用?简述软件复用和软件共享、软件移植的差别。答:软件复用是指在构造新的软件系统的过程中,对已存在的软件人工制品的使用技术。如果是在一个系统中多次使用一个相同的软件成分,

12、这叫软件共享;对一个软件进行修改,使它能运行于新的软、硬件平台这称作软件移植。44、什么是软件再工程?软件再工程的主要活动有哪些?答:软件再工程是运用逆向工程、重构等技术,在充分理解原有软件的基础上,进行分解、综合,并重新构建软件,用以提高软件的可理解性、可维护性、可复用性或演化性。主要活动:信息库分析、文档重构、逆向工程、代码重构、数据重构、正向工程。选择题1.软件工程的概念是哪年提出的()。A.1988B.1968C.1948D.19282.瀑布模型的关键不足在于()。A.过于简单B.各个阶段需要进行评审C.过于灵活D.不能适应需求的动态变更3.以下哪一项不是软件危机的表现形式()。A.开

13、发的软件不满足用户需要B.开发的软件可维护性差C.开发的软件价格便宜D.开发的软件可靠性差4.软件可行性研究实质上是要进行一次()需求分析、设计过程。A.简化、压缩的B.详细的C.彻底的D.深入的5.结构化设计是一种面向()的设计方法。A.数据流B.模块C.数据结构D.程序6.与确认测试阶段有关的文档是()。A.需求规格说明书B.概要设计说明书C.详细设计说明书D.源程序7.软件开发的需求活动,其主要任务是()。A.给出软件解决方案B.给出系统模块结构C.定义模块算法D.定义需求并建立系统模型8.以下说法错误的是()。A.文档仅仅描述和规定了软件的使用范围及相关的操作命令B.文档也是软件产品的

14、一部分,没有文档的软件就不成软件C.软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量D.高质量文档对于发挥软件产品的效益有着重要的意义9.一个项目是否开发,从经济上来说是否可行,归根结底是取决于()。A.成本估算B.项目计划C.工程管理D.工程网络图10.在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有()。A.隐藏复杂性B.信息隐蔽C.经常类的复用D.类的开发11.面向对象的主要特征除对象惟一性、封装、继承外,还有()。A.多态性B.完整性C.可移植性D.兼容性12.在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。动态模型着重于系统的

15、控制逻辑,它包括两个图:一个是事件追踪图,另一个是()。A.数据流图B.状态图C.系统结构图D.用例图13.面说法正确的是()。A.经过测试没有发现错误说明程序正确B.测试的目标是为了证明程序没有错误C.成功的测试是发现了迄今尚未发现的错误的测试D.成功的测试是没有发现错误的测试14.()能够有效地检测输入条件的各种组合可能会引起的错误。A.等价类划分B.边界值分析C.错误推测D.因果图15火车是一种陆上交通工具。火车和陆上交通工具之间的关系是()关系。A.组装B.整体部分C.hasaD.一般特殊16、软件维护产生的副作用,是指()A、开发时的错误B、隐含的错误C、因修改软件而造成的错误D、运

16、行时误操作17、使用程序设计的控制结构导出测试用例的测试方法是()A、黑盒测试B、白盒测试C、边界测试D、系统测试18、软件详细设计的主要任务是确定每个模块的()A、算法和使用的数据结构B、外部接口C、功能D、编程19、软件结构图的形态特征能反映程序重用率的是()A、深度B、宽度C、扇入D、扇出20、为了提高模块的独立性,模块内部最好是()A、逻辑内聚B、时间内聚C、功能内聚D、通信内聚21、软件是一种()A、程序?B、数据?C、逻辑产品?D、物理产品22、需求分析最终结果是产生()A、项目开发计划B、需求规格说明书C、设计说明书D、可行性分析报告23、因计算机硬件和软件环境的变化而作出的修改

17、软件的过程称为()A、纠正性维护B、适应性维护C、完善性维护D、预防性维护24、下列属于维护阶段的文档是()A、软件规格说明B、用户操作手册C、软件问题报告D、软件测试分析报告25、若有一个计算类型的程序,它的输入量只有一个X,其范围是-1.0,1.0,现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是()A、条件覆盖法B、等价分类法C、边界值分析法D、错误推测法26、研究开发所需要的成本和资源是属于可行性研究中的()研究的一方面。A.技术可行性B.经济可行性C.社会可行性D.法律可行性27、按软件生命周期方法设计软件的过程中,画数据流图属于下

18、面哪个阶段的工作()A、需求分析B、程序设计C、详细设计D、软件维护28、经过严密的软件测试后所提交给用户的软件产品中()A、软件不再包含任何错误B、还可能包含少量软件错误C、所提交给用户的可执行文件不会含有错误D、文档中不会含有错误。29、等价划分测试方法属于()?A、黑盒测试B、白盒测试C、边界测试D、系统测试30、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为()A.可用性B.可靠性C.正确性D.完整性31、确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于()A、集成测试B、恢复测试C、确认测试D、单元测试32、要显示描绘软件开发项目各作业

19、的依赖关系,应选择(?)。A.?Gantt图?B.工程网络?C.?COCOMO模型?D.数据流图?33、从心理学角度看,对数据流程图的数据处理泡进行分解,一次分解为多少个泡为宜。()A、31B、72C、151D、18234、结构化程序设计主要强调的是()A、程序的规模B、程序的效率C、程序设计语言的先进性D、程序易读性35、在用户界面层次上对软件进行测试属于哪种测试方法()?A、黑盒测试B、白盒测试C、边界测试D、系统测试36、对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。A、结合B、隐藏C、封装D、抽象37、(?)是比较理想的可重用软构件。A.子程序库?B.源代码包含文件C.

20、对象?D.类?38、下列模型属于成本估算方法的有()A、COCOMO模型B、McCall模型C、McCabe度量法D、时间估算法39、软件生存周期中时间最长的是()阶段。A、总体设计B、需求分析C、软件测试D、软件维护40、为了提高模块的独立性,模块之间的联系最好的是()。A、公共耦合B、控制耦合C、内容耦合D、数据耦合41、软件概要设计结束后得到()A、初始化的软件结构图B、优化后的软件结构图C、模块的接口图和详细算法D、程序编码42、为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以()的编制是很重要的。A、需求说明B、概要说明C、软件文档D、测试计划43、汽车有一

21、个发动机,因而汽车与发动机之间的关系是()关系。A、一般与特殊B、整体与部分C、分类关系D、isa关系44、软件部件的内部实现与外部可访问性的分离,是指软件的()。A、继承性B、共享性C、封装性D、抽象性45、单元测试是发现编码错误,集成测试是发现模块的接口错误,确认测试是为了发现功能错误,那么系统测试是为了发现()的错误。A、接口错误B、编码错误C、性能、质量不合要求D、功能错误46、软件工程管理对软件项目的开发管理,即对整个软件()的一切活动的管理。A、软件项目B、生存期C、软件开发计划D、软件开发47、许多产品的质量问题源于新产品的开发设计阶段,因此在产品()阶段就应采取有力措施来消灭由

22、于设计原因而产生的质量隐患。A、软件评审B、软件测试C、开发设计D、软件度量48、下列几种类型中,耦合性最弱的是()。A、内容型B、控制型C、公共型D、数据型49、系统因错误而发生故障时,仍然能在一定程度上完成预期的功能,则把该软件称为()。A、软件容错B、系统软件C、测试软件D、恢复测试50.瀑布模型的关键不足在于A、过于简单B、不能适应需求的动态变更C、过于灵活D、各个阶段需要进行评审51.在面向对象软件开发方法中,类与类之间主要有以下结构关系(1)(1)继承和聚集(2)继承和一般(3)聚集和消息传递(4)继承和方法调用52.以下哪一项不是软件危机的表现形式(3)(1)成本高(2)生产率低

23、(3)技术发展快(4)质量得不到保证53.以下哪一项不是面向对象的特征(4)(1)多态性(2)继承性(3)封装性(4)过程调用54.软件可行性研究一般不考虑(4)(1)是否有足够的人员和相关的技术来支持系统开发(2)是否有足够的工具和相关的技术来支持系统开发(3)待开发软件是否有市场、经济上是否合算(4)待开发的软件是否会有质量问题55.软件维护的副作用主要有以下哪几种(3)(1)编码副作用、数据副作用、测试副作用(2)编码副作用、数据副作用、调试副作用(3)编码副作用、数据副作用、文档副作用(4)编码副作用、文档副作用、测试副作用56.软件项目计划一般不包括以下哪项内容(4)(1)培训计划(

24、2)人员安排(3)进度安排(4)软件开发标准的选择和制定57.以下哪一项不属于面向对象的软件开发方法(3)(1)coad方法(2)booch方法(3)jackson方法(4)omt方法58.以下哪种测试方法不属于白盒测试技术(2)(1)基本路径测试(2)边界值分析测试(3)循环覆盖测试(4)逻辑覆盖测试59.“软件危机”是指()A.计算机病毒的出现B.利用计算机进行经济犯罪活动C.软件开发和维护中出现的一系列问题D.人们过分迷恋计算机系统60.DFD中的每个加工至少需要()A.一个输入流B.一个输出流C.一个输入或输出流D.一个输入流和一个输出流61.为了提高模块的独立性,模块之间最好是()A

25、.控制耦合B.公共耦合C.内容耦合D.数据耦合62.下面关于PDL语言不正确的说法是()A.PDL是描述处理过程怎么做B.PDL是只描述加工做什么C.PDL也称为伪码D.PDL的外层语法应符合一般程序设计语言常用的语法规则63.详细设计与概要设计衔接的图形工具是()A.DFD图B.程序图C.PAD图D.SC图64.不适合作为数据处理与数据库应用的语言是()A.SQLB.CobolC.4GLD.Lisp65.下列关于功能性注释不正确的说法是()A.功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态B.注释用来说明程序段,需要在每一行都要加注释C.可使用空行或缩进,以便很容易区分注释

26、和程序D.修改程序也应修改注释66.下列关于效率的说法不正确的是()A.效率是一个性能要求,其目标应该在需求分析时给出B.提高程序效率的根本途径在于选择良好的设计方法,数据结构与算法C.效率主要指处理机时间和存储器容量两个方面D.程序的效率与程序的简单性无关67.测试的关键问题是()A.如何组织对软件的评审B.如何验证程序的正确性C.如何采用综合策略D.如何选择测试用例68.结构化维护与非结构化维护的主要区别在于()A.软件是否结构化B.软件配置是否完整C.程序的完整性D.文档的完整性69.软件维护困难的主要原因是()A.费用低B.人员少C.开发方法的缺陷D.得不到用户支持70.可维护性的特性

27、中,相互矛盾的是()A.可理解性与可测试性B.效率与可修改性C.可修改性和可理解性D.可理解性与可读性71.快速原型是利用原型辅助软件开发的一种新思想,它是在研究()的方法和技术中产生的。A.需求阶段B.设计阶段C.测试阶段D.软件开发的各个阶段72.从目前情况来看,增量模型存在的主要问题是()A.用户很难适应这种系统开发方法B.该方法的成功率很低C.缺乏丰富而强有力的软件工具和开发环境D.缺乏对开发过程中的问题和错误具有应付变化的机制73.下列文档与维护人员有关的有()A.软件需求说明书B.项目开发计划C.概要设计说明书D.操作手册D.实现错误检测和错误恢复的程序74.()是为了确保每个开发

28、过程的质量,防止把软件差错传递到下一个过程而进行的工作。A.质量检测B.软件容错C.软件维护D.系统容错75.表示对象相互行为的模型是()模型。A.动态模型B.功能模型C.对象模型D.静态模型76.CASE工具的表示集成是指CASE工具提供相同的()A.编程环境B.用户界面C.过程模型D.硬件/操作系统77.在软件开发中,()是指对将要开发的系统的开发成本进行估算,然后与可能取得的效益进行比较和权衡。A.成本效益分析B.可行性分析C.结构化分析D.软件需求分析78.软件开发过程来自用户方面的主要干扰是()A.功能变化B.经费减少C.设备损坏D.人员变化79.软件复杂性度量的参数包括()A.结构

29、B.问题背景C.可重用性D.容错性80.在McCall软件质量度量模型中,()属于面向软件产品操作。A.可维护性B.效率C.适应性D.可互操作性81.为了提高软件的可维护性或可靠性而对软件进行的修改称为()A.纠错性维护B.适应性维护C.完善性维护D.预防性维护82.面向维护的技术涉及软件开发的()阶段。A.设计B.编码C.测试D.所有83.用白盒技术设计测试用例的方法包括()A.边界值分析B.条件组合覆盖C.因果图D.错误推测84.软件测试的目的是()A.为了表明程序没有错误B.为了说明程序能正确地执行C.为了发现程序中的错误D.为了评价程序的质量85.针对软件需求分析所进行的软件测试是指()A.集成测试B.确认测试C.黑盒子测试D.白盒子测试86.源程序文档化要求在每个模块之前加序言性注释。该注释内容不应有()A.模块的功能B.语句的功能C.模块的接口D.开发历史87.结构化程序设计采用的三种基本控制结构是()A.顺序、分支、选择B.选择、循环、重复C.顺序、选择、循环D.输入、变换、输出88.在软件设计中详细描

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 待归类文档
版权提示 | 免责声明

1,本文(软件工程期末考试总复习习题及答案(DOC 30页).doc)为本站会员(2023DOC)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|