1、软件开发与设计期终考试A卷(样卷)班级(小班)姓名学号成绩一.单项选择题(本大题共12个选项,每选项1分,共12分)如果大家大题目做的不好,就算24分。1 .软件工程来源于,即在软件开发和维护过程中所遇到一系列难以控制的问题。2 .软件是一种产品。A.物质B.逻辑C.工具D.文档3 .软件产品的生产主要。A.研制B.再生产C.开发D.生产4 .软件工程是一门学科。A.工程性B.原理性C.综合性D.理论性5 .类是面向对象方法中的一个重要概念,类的描述分为:名称、和操作。A.角色B.用例C.方法D.属性6 .以下描述中正确的选项是。A.软件工程的主要是解决软件开发中的技术问题B.软件工程主要解决
2、软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要运用工程化的原那么D.软件工程只是解决软件工程的问题7 .需求分析最终结果是产生。A.工程开发方案B.可行性分析报告C.设计说明书D.需求分析说明书8 .需求分析中,开发人员要从用户那里解决最重要的问题是。A.要让软件做什么B.要给软件提供哪些信息C.要求软件工作效率怎样D.要让该软件具有何种结构9 .分层DFD是一种比拟严格又易于理解的描述方式,它的顶层图描述了系统的。A.软件的作者B.输入与输出C.细节D.绘制的时间9.数据字典中,一般不包括条目。A.源点与终点B.数据存储C.数据流D.加工10 .软件需求分析是保证软件质
3、量的重要步骤,它的实施应该是在。A.编码阶段B.软件设计阶段C.软件定义过程D.软件开发全过程11 .软件的主要功能和结构是在阶段确定的。A.测试B.编程C.分析设计D.维护12 .用白盒测试方法时,确定测试数据应根据和指定的覆盖标准。A、程序的内部逻辑B、程序的复杂程度C、该软件的编辑人员D、程序的功能13 .“软件危机”产生的主要原因是oC.开发人员编写程序能力差D.没有维护好软件14 .瀑布模型的存在问题是oA.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求15 .需求分析中开发人员要从用户那里了解oA.软件做什么B.用户使用界面C.输入的信息D.软件的规模16 .
4、程序的三种根本控制结构是oA.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移7 .对象实现了数据和操作的结合,使数据和操作于对象的统一体中。A.结合B.隐藏C.封装D.抽象8 .可行性研究主要从以下几个方面进行研究。A.技术可行性,经济可行性,操作可行性。8 .技术可行性,经济可行性,系统可行性。C.经济可行性,系统可行性,操作可行性。D.经济可行性,系统可行性,时间可行性。9 .软件开发瀑布模型中的软件定义时期各个阶段依次是oA.可行性研究,问题定义,需求分析。B.问题定义,可行性研究,需求分析。C.可行性研究,需求分析,问题定义。D.以上顺序都不对。10
5、有一个计算类的程序,它的输入量只有一个X,其范围是-1.0,1.0,现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,LOOlo设计这组测试用例的方法是O11 .下述概念中不属于类的特性的是OA.封装B.继承C.多态D.子类12 .OOP的含义是。A.面向对象的程序设计B.开放数据库连接C.图形设备接口D.图形用户界面13 .可行性研究主要从方面进行研窕。A.技术可行性,经济可行性,操作可行性B.经济可行性,系统可行性,时间可行性C.经济可行性,系统可行性,操作可行性D.技术可行性,经济可行性,社会可行性14 .可行性分析研究的目的是。A.工程值得开发与否B.开发工程C.争取工
6、程D.规划工程15 .需求分析中开发人员要从用户那里了解oA.输入的信息B.用户使用界面C,软件做什么D.软件的规模A.软硬件要求B.系统要求C.分析员要求D.用户需求17 .系统流程图用于可行性分析中的的描述。A.目标系统B.当前逻辑模型C.当前运行系统D,新系统18 .数据字典是用来定义中的各个成分的具体含义的。A.数据流图B.功能结构图C.系统结构图D.流程图19 .需求分析是oA.软件生命周期的开始B.由系统分析人员完成C.由开发人员和系统分析人员完成D.软件开发任务的根底性工作20 .数据字典是对数据定义信息的集合,它所定义的对象都包含于A.软件结构B.程序框图C.数据流图D.方框图
7、21 .结构化设计方法在软件开发中,用于oA.测试用例设计B.程序设计C.概要设计D,详细设计22 .在进行软件结构设计时应遵循的最主要的原理是A.模块独立B.抽象C.模块化D.信息隐藏A.把需要同时执行的动作组合在一起形成的模块B.模块内所有元素共同完成一个功能,缺一不可C.一个模块中各个处理元素都密切相关于同一功能且必须顺序执行D.各处理使用相同的输入数据或者产生相同的输出数据24.软件的结构化设计方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立A.软件模块B.软件过程C.软件模型D.软件结构A.功能设计B.算法设计C.调用关系设计D.输入/输出设计二.多项选择题(以下各
8、题均有一个或一个以上的正确答案。将正确答案的标号填入各题的括号内,注意多项选择或少选该题均不得分,每题2分,共8分)如果大家大题目做的不好,就算16分。1 .对软件开发与维护,以下【】观点是正确的。A) 为了加快开发速度,可以一边写程序,一边设计文档。B) 对于软件而言,程序和软件配置成分是同等重要的,不能重此偏颇。C) 把软件漫长的生命周期划分为假设干个阶段的出发点是降低开发的困难程度和简化复杂性。D) 可行性研究的主要任务就是确定软件工程的工程规模和目标。E) 面向对象的方法学比传统的软件开发方法开发软件容易,开发效率提高。2 .以下关于集成测试的论述,正确的选项是【】A)先对每个模块分别
9、测试,然后统一组装成软件系统的方法称为非渐增式测试。B)自顶向下的集成测试本质上是渐增式测试方法。O存根模块和驱动模块是渐增式测试方法中使用的,在非渐增式测试中用不到存根模块和驱动模块。D) 一般来说,存根模块和驱动模块在用过以后,不会作为软件的正式模块而存在。E) 由于是对程序进行测试,测试方案的设计一般在详细设计阶段完成以后才进行。3.以下关于内聚的论述,正确的选项是11.A)内聚是信息隐蔽和局部化概念的自然扩展。理想内聚的模块只做一件事情。B)一个模块所包含的任务必须在同一段时间内执行,该模块的内聚为时间内聚。0一个模块内的处理元素是相关的,必须以特定次序执行,称为过程内聚。D)顺序内聚
10、和功能内聚是高内聚,而偶然内聚和逻辑内聚是低内聚。E)时间内聚、通信内聚,过程内聚是中等程度的内聚。4.详细设计阶段的根本目标是确定应该怎样具体的实现所要求的系统,以下关于详细设计的论述,正确的选项是【JoA)详细设计阶段不具体编写程序。B)详细设计阶段的设计结果根本决定了最终的程序代码质量。0详细设计的目标不仅要逻辑上正确的实现每个模块的功能,而且对每个模块的处理过程也应确保简明易懂,清晰具体。D)详细设计的关键技术是结构程序设计技术。E)紧跟详细设计阶段的是实现阶段。三.综合应用题(本大题共5小题,共80分,每题分数见说明在每题后的括号内,)给出的是可能出现7种题型1 .某旅馆的效劳如下:
11、可以拨分机号和外线号码。分机号是从7201至7299外线号码先拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100到300中任意的数字串。市话号码是以局号和分局号组成。局号可以是455,466,888,55中任意一个号码。分局号是任意长度为4的数字串。要求:写出在数据字典中号码的数据条目的定义(即组成)。号码:分机号I外线号码分机号:72017299外线号码=9+市话号码I长话号码长话号码=区号+市话号码区号:Ioo300市话号码=局号+分局号局号=455146618881552分局号:4数字42.某公司为本科以上学历的人重新分配工作,分配原那么如下:1 .如果年龄不
12、满18岁,学历是本科,男性要求报考研究生,女性那么担任行政工作;2 .如果年龄满18岁不满50岁,学历本科,不分男女,任中层领导职务,学历是硕士不分男女,任课题组组长;3 .如果年龄满50岁,学历本科,男性任科研人员,女性那么担任资料员,学历是硕士不分男女,任课题组组长。要求:画出原始的判定表,并进行化简,再画出最终的判定表。(10分)(1)判定条件可能取值表:条件名称取值符号取值数性别男MMl=2女F年龄N18岁CM2=318=N50Y50=软件维护的原因归结起来有三种类型:(1) 改正在待定的使用条件下暴露出来的一些潜在程序错误或设计缺陷(2)因在软件使用过程中数据环境发生变化或处理环境发
13、生变化,需要修改软件以适应这些变化。(3)用户和数据处理人员在使用时会提出改良现有功能,增加新的功能以及改善总体性能的要求,为满足这些要求,就需要修改软件把这些要求纳入到软件之中。软件维护的类型:(1) 改正性维护。为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用、应当进行的改正错误的过程(2) 适应性维护。为使软件适应运行环境的变化而去修改软件的过程(3) 完善性维护。为了满足用户对软件提出的新的功能与性能要求而进行的维护活动。(4) 预防性维护。为了提高软件的可维护性、可靠性等所进行的维护。4,根据程序流程图画出NS图(盒图)及PAD图。(10分)N-S图PAD图5.请对如
14、下的程序流程图进行四种白盒测试,要求:(1)满足语句覆盖但不满足其它任何覆盖;(2)满足判定覆盖但不满足条件覆盖;(3)满足条件覆盖但不满足判定覆盖和语句覆盖;(4)满足判定/条件覆盖;(1)满足语句覆盖但不满足其它任何覆盖;为使程序中每个语句至少执行一次,只需设计一个能通过路径ace的例子就可以了,例如选择输入数据为:“A=2,B=0,X=3”就可到达“语句覆盖”标准,由于A始终大于2,故不满足条件覆盖,由于A和B都只取了T值,故不满足判定覆盖,既:测试用例序号A取值B取值X取值说明Bhcs-YJFG-OOI203覆盖abcde(2)满足判定覆盖但不满足条件覆盖;为使程序能通过路径ace和a
15、bd,或者通过路径acd和abe,就可到达“判定覆盖”标准,为此,可以选择输入数据为:A=4,B=O,X=I(沿路径acd执行);和A=2,B=l,X=2(沿路径abe执行),由于A始终大于2,故不满足条件覆盖既:测试用例序号A取值B取值X取值说明Bhcs-PDFG-OOI401覆盖acdBHCS-PDFG-002212覆盖abe(3)满足条件覆盖但不满足语句覆盖;因为程序有四个条件:Al.B=0.A=2、Xl,为了到达“条件覆盖”标准,需要执行足够的测试用例使得在a点有:AKAkB=0、B0等各种结果出现,以及在b点有:A=2、AW2、XKXl等各种结果出现。但是由于a中Al和b中A=2,a
16、中AWl和b中A2可以同时满足,所以现在只需设计以下两个测试用例就可满足这一标准:A=2,B=l,X=6(沿路径abe执行);和A=I,B=0,X=I(沿路径abd执行),既:测试用例序号A取值B取值X取值说明Bhcs-TJFG-OOI216覆盖abeBHCS-TJFG-002101覆盖abd(4)满足判定/条件覆盖;测试用例序号A取值B取值X取值说明Bhcs-TJFG-OOI206覆盖aceBHCS-TJFG-002111覆盖abd6.被测试模块流程图如下,按要求的逻辑覆盖法,在表格中填入满足测试要求的测试用例。(10分)假设A4、B=3、A=5、Xl四个条件取真时分别设为:TRT2、T3、
17、T4(反之,这四个条件取假时,分别表示为:FRF2、F3、F4)(1)请给出满足语句覆盖(但不满足判定覆盖)的测试用例。输入数据(A,B,X)覆盖情况条件取值输出数据(A,B,X)(3,3,2)aceFl,F2,F3,F4(3,3,1)(6,3,2)abfTl,T2,F3,T4(6,3,1)(8,3,2)abeTl,T2,F3,T4(8,3,1)(5,2,4)acdTl,F2,T3,T4(5,2,8)(2)氢给出满足判定-条件覆盖(但不满足条件组合覆盖)的测试用例。:输入数据(A,B,X)覆盖情况条件取值输出数据(A,B,X)(5,2,2)acdT1,F2,T3,T4(5,2,6)(8,3,2
18、)abeTl,T2,F3,T4(8,3,0)(7,3,2)abeTl,T2,F3,T4(7,3,0)(9,3,2)abeTl,T2,F3,T4(9,3,0)注意:覆盖情况是指途经a,b,c,d和e的情况;表格中的空行数不一定和测试用例的组数相同;草稿打在下面空白处。7 .复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令那么进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,那么进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,那么进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。要求:1、画出其状态转换图;2、再画出状态转换矩阵。(15分)8 .写出以下图中相关节点的最早完成时间(TE)、最晚完成时间(TL)和,并改画以下图,使其关键路径成为主轴。(15分)最晚完成时间A+E+I=9+18+16=43最早c+G=14+10=24