-1-《软件工程》期末复习题及答案一、单项选择题(本大题共60小题,在每小题的四个备选答案中,选出一个正确答案,并将正确答案填涂在答题卡上)1.软件危机产生的主要原因是。A.软件日益庞大B.不能与用户良好地沟通C.开发人员编写程序能力差D.没有适应的开发模型2.软件工程的发展不包括以下那个阶段。A.传统软件工程阶段B.自主化开发阶段C.过程软件工程阶段D.构件软件工程阶段3.现代软件工程研究的内容不包括。A.软件开发模型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.DFDB.判定树/判定表C.SCD.结构化语言9.数据词典是对数据定义信息的集合,它所定义的对象都包含于。A.数据流图B.程序框图C.软件结构D.方框图10.用于描述结构化分析中数据流加工逻辑的是。A.判定树B.ER图C.状态图D.用例图11.下列几种耦合类型,耦合性最高的是。A.公共耦合B.控制耦合C.标记耦合D.数据耦合-2-12.通信内聚是指。A.把需要同时执行的动作组合在一起形成的模块B.各处理使用相同的输入数据或者产生相同的输出数据C.一个模块中各个处理元素都密切相关于同一功能且必须顺序执行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.顺序内聚D.功能内聚18.模块的内聚性最高的是。A、逻辑内聚B、时间内聚C、偶然内聚D、功能内聚19.在软件结构设计完成后,对于下列说法,正确的是。A.非单一功能模块的扇入数大比较好,说明本模块重用率高B.单一功能的模块扇入高时应重新分解,以消除控制耦合的情况C.一个模块的扇出太多,说明该模块过分复杂,缺少中间层D.一个模块的扇入太多,说明该模块过分复杂,缺少中间层20.变换流的DFD由三部分组成,不属于其中一部分的是。A.事务中心B.变换中心C.输入流D.输出流21.在详细设计阶段,经常采用的工具有。P96A.PDLB.SAC.SCD.DFD-3-22.详细设计的任务是确定每个模块的。A.外部特性B.内部特性C.算法和使用的数据D.功能和输入输出数据23.详细设计的结果基本决定了最终程序的。A.代码的规模B.运行速度C.质量D.可维护性24.软件复杂性度量的参数包括。A.效率B.规模C.完整性D.容错性25.软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立。A、软件结构B、软件过程C、软件模型D、软件模块26.不属于常用的程序复杂程度定量度量方法为。A.语句行度量方法B.Jackson方法C.McCabe方法D.Halstead方法27._______工具在软件详细设计过程中不采用。A.判定表B.IPO图C.PDLD.DFD图28.McCabe方法认为,环域复杂度的规模以______较为合理。A.≦4B.≦7C.≦10D.≧3029.一个只有顺序结构的程序,其环形复杂度是。A.0B.1C.3D.530.衡量某一语言可否做为编码语言,其评价标准不包括。A.应用领域B.书写格式C.算法与计算复杂性D.效率的考虑31.软件测试的目的是。A.软件的正确性B.找出软件系统中存在的所有错误C.证明软件系统中存在错误D.尽可能多的发现软件系统中的错误32.软件测试不需要了解软件设计的。A.功能B.内部结构C.处理过程D.条件33.下面说法正确的是。A.经过测试没有发现错误说明程序正确B.测试的目标是为了证明程序没有错误C.成功的测试是发现了迄今尚未发现的错误的测试D.成功的测试是没有发现错误的测试34.测试的关键问题是。-4-A.如何组织软件评审B.如何选择测试用例C.如何验证程序的正确性D.如何采用综合策略35.成功的测试是指运行测试用例后。A.未发现程序错误B.发现了程序错误C.证明程序正确性D.改正了程序错误36.软件测试用例主要由输入数据和两部分组成。A.测试计划B.测试规则C.预期输出结果D.以往测试记录分析37.软件测试中白盒法是通过分析程序的来设计测试用例的。A.应用范围B.内部逻辑C.功能D.输入数据38.黑盒法是根据程序的来设计测试用例的。A.应用范围B.内部逻辑C.功能D.输入数据39.不属于白盒测试的技术是。A.路径覆盖B.判定覆盖C.循环覆盖D.边界值分析40.使用白盒测试方法时,确定测试数据应根据和指定的覆盖标准。A.程序内部逻辑B.程序的复杂度C.使用说明书D.程序的功能41.单元测试方法不包括。A.黑盒测试B.白盒测试C.基本路径测试D.集成测试42.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是。A.系统功能B.局部数据结构C.重要的执行路径D.错误处理43.集成测试时,能较早发现高层模块接口错误的测试方法为。A.自顶向下渐增式测试B.自底向上渐增式测试C.非渐增式测试D.系统测试44.与确认测试阶段有关的文档是。A.需求规格说明书B.概要设计说明书C.详细设计说明书D.源程序45.确认测试也称为。A.有效性测试B.无效性测试C.静态测试D.动态测试46.检查软件产品是否符合需求定义的过程称为。A.确认测试B.集成测试C.系统测试D.单元测试47.关于软件维护的说法错误的是。A.软件维护是软件生命周期中占用时间最长的一个阶段-5-B.软件维护不只是修改软件中的错误C.软件维护对于开发商来说是无利可图的D.在编码过程中添加适当的注释,可以降低软件维护的难度48.与“程序维护手册”文档有关的人员是。A.管理人员和开发人员B.管理人员和维护人员C.维护人员和用户D.管理人员和用户49.在整个软件维护阶段所花费的全部工作中,所占比例最大的是。A.校正性维护B.适应性维护C.完善性维护D.预防性维护50.下列选项中,影响软件可维护性的决定因素是。A.文档B.资金C.程序代码D.MTTF51.把一组具有相似特性的对象组合在一起,称之为。A.多态性B.继承性C.类D.消息52.面向对象的主要特征除唯一性、继承性、多态性外,还具有。A.封装性B.移植性C.完整性D.兼容性53.应用执行对象的操作可以改变该对象的。A.属性B.功能C.行为D.数据54.面向对象分析中,对象模型描述了系统的。A.静态结构B.动态结构C.控制结构D.顺序结构55.面向对象设计中存在三种内聚,分别是。A.属性内聚、操作内聚、类内聚B.操作内聚、类内聚、整体-部分内聚C.属性内聚、操作内聚、对象内聚D.操作内聚、类内聚、一般-具体内聚56.不属于人机交互界面设计的准则的是。A.一致性B.减少记忆C.可维护性D.富有吸引力57.不属于面向对象系统测试的内容的是。A.功能测试B.强度测试C.基于线程的测试D.性能测试58.下列模型属于成本估算方法的有。A.COCOMO模型B.McCall模型-6-C.McCabe度量法D.时间估算法59.版本管理是对系统不同版本进行的过程。A.标识与跟踪B.标识变更C.发布变更D.控制变更60.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是。A.工作无序,项目进行过程中经常放弃当初的计划B.建立了项目级的管理制度C.建立了企业级的管理制度D.软件过程中活动的生产率和质量是可度量的二.判断题(本大题共30小题,请将答案填涂在答题卡上,正确的涂A,错误的涂B)1.SA方法的基本思想是自顶向下逐步分解。()2.数据词典是为分析人员查找数据流图中有关名字的详细定义而服务的。()3.类是对具有共同特征的对象的进一步抽象。()4.Jackson图只能表达程序结构,不能表达数据结构。()5.测试计划、测试用例、出错统计和有关的分析报告一般不用长期保存。()6.设计阶段的输出是编码阶段的输入。()7.模块耦合越强,则说明模块的独立性越强。()8.基本路径测试是黑盒技术设计测试用例的方法之一。()9.软件结构图中,模块框之间若有直线连接,表示它们之间存在顺序执行关系。()10.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。()11.在进行需求分析时同时考虑维护问题。()12.完成测试后,为缩短源程序长度而删去程序中的注解,对软件的维护不会产生影响。()13.尽可能在软件开发过程中保证各阶段文档的正确性。()14.在面向对象的需求分析方法中,建立动态模型是最主要的任务。()15.项目应用领域是选择语言的关键因素。()16.类是对具有共同特征的对象的进一步抽象。()17.如果测试过程没有发现任何错误,则说明软件没有错误。()18.CMM是指导软件开发的一种面向对象的新技术。()19.CMM包含6个成熟度等级。()-7-20.Jackson方法是面向数据结构的设计方法。()21.一笔交易、一个动作、甚至操作人员按一个按钮都可以看做是一次事物。()22.耦合是指一个模块内各个元素彼此结合的紧密程度。()23.随着软件技术的发展,人们逐渐认识到阅读程序的重要性,编码不仅要强调效率还要强调清晰。()24.白盒法是一种静态测试方法,主要用于模块测试。()25.软件工程过程应该以软件设计为中心,关键是编写程序。()26.类是对具有共同特征的对象的进一步抽象。()27.基于情景的测试是面向对象系统确认测试的主要方法。()28.重用是提高软件生产率和目标系统质量的重要途径,它基本上始于设计。()29.类图用来表示系统中类和类与类之间的关系,它是对系统动态结构的描述。()30.软件项目管理始于项目计划,而第一项计划活动就是估算。()三.简答题(本大题共9小题)1.软件生存周期都包括哪些活动?2.为什么说现代牌汽车是小汽车类的特化,而车轮不是小汽车的特化?3.模块独立性与信息隐蔽有何关系?4.什么是结构化分析方法?该方法使用什么描述工具?5.面向对象方法的启发规则有哪些?6.试述软件测试过程?7.软件工程面临的问题都有那些。8.面向对象的集成测试主要有哪几种不同的测试策略?9.模块的内聚性包括哪些类型?四、设计题(本大题共6小题)1.复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。请用状态转换图描绘复印机的行为。2.请使用N-S图和PDL语言描述下列程序的算法。-8-在数据A(1)~A(10)中求最大数和次大数。3.假如要建立一个网站,用于发布家教消息,同时建立家教及学生的沟通桥梁。基本需求如下:(1)家教求职者希望能注册本人信息、修改本人资料、浏览家教信息、搜索家教信息。(2)学生希望能够注册本人信息、修改本人资料、浏览家教信息、搜索家教信息。(3)管理员希望能够发布网站公告、处理家教信息。根据上面提出的基本需求,加以设计,建立家教网上发布系统的用例图