您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 09-10-1-软件工程试卷A答案
1淮海工学院09-10学年第1学期软件工程试卷(A闭卷)参考答案题号一二三四五六七八总分核分人分值10101020201020100得分一、填空题(本大题共10小题,每题1分,共10分)1.软件工程学的主要目的就是提高软件的可维护性,降低维护的代价。2.软件开发成本估算方法主要有COCOMO和PUTANM两种。3.软件工程由方法、工具和过程三部分组成,称为软件工程三要素。4.面向对象设计的内容,在逻辑上可以分为四个部分,即问题域子系统、人-机交互子系统、任务管理子系统和数据管理子系统。5.软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的。6.软件维护通常包括四类活动,即改正性维护、适应性维护、完善性维护和预防性维护。7.调试的目的是发现错误的位置并改正错误。8.自顶向下的集成测试中,对主控模块的测试应使用存根程序代替所有直接附属于主控模块的模块。9.类是具有相似或相同性质的对象的抽象。10.程序复杂性的度量方法主要有代码行度量法和环路度量法两种。评分方法:每空一分。二、选择题(本大题共10小题,每题1分,共10分)题号12345678910答案DACBCBAADD1.以下不属于白盒测试技术的是()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.Jackson方法在需求分析阶段的主要步骤不包括()。A.了解实体行为B.标识实体与行为C.生成实体结构图D.创建软件系统模型8.原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于()系统。A.需求不确定性高的B.需求确定的C.管理信息D.决策支持9.软件总体设计是指软件总体结构设计和数据设计,该阶段的主要任务不包括()。A.设计软件的模块结构B.定义接口并建立数据结构C.生成概要设计规格说明和组装测试计划D.模块设计10.维护的副作用可分三类,不包括()。A.代码副作用B.数据副作用C.文档副作用D.人员副作用评分方法:每题一分。三、判断题(正确打√,错误打×,本大题共10小题,每题1分,共10分)1.面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择和重复三种基本形式表示数据等步骤。(√)22.目前,软件项目的进度安排的两种比较常用的方法是程序评估与审查技术(PERT)和关键路径法(CPM)。(√)3.模块独立要求高耦合低内聚。(×)4.数据输入的一般准则中包括保证信息显示方式与数据输入方式的协调一致;允许用户定做输入格式等内容。(√)5.调试不是测试,但它总是发生在测试之后。(√)6.好的测试用例应能证明软件是正确的。(×)7.需求分析阶段的成果主要是需求规格说明,但该成果与软件设计、编码、测试直至维护关系不大。(X)8.程序的可靠性、可维护性和效率通常由程序设计语言、源代码的质量、和语言的实现机制决定的。(√)9.数据流图就是用来刻画数据流及其转换的信息系统建模技术。(√)10.完成测试作业后,为了缩短源程序的长度应删除程序中的注解。(×)评分方法:每题一分。四、名词解释(本大题共5小题,每题4分,共20分)1.集成测试:也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求组装成为子系统或系统进行的测试。2.白盒测试:又称逻辑驱动测试,结构测试)是把测试对象看作一个打开的盒子。利用白盒测试法进行动态测试时,需要测试软件产品的内部结构和处理过程,不需测试软件产品的功能。白盒测试又称为结构测试和逻辑驱动测试。3.软件结构:是指一种层次表况,由软件组成成分构造软件的过程、方法和表示。它是影响软件质量的内在因素,结构良好的软件可以提高软件的可靠性和易维护性。软件结构主要包括程序结构和文档结构。4.基线:是软件生存期中各开发阶段的一个特定点,它的作用是把开发各阶段工作的划分更加明确化,使本来连续的工作在这些点上断开,以便于检查与肯定阶段成果。5.需求分析:是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。评分方法:按每题答题要点判分。五、简答题(本大题共4小题,每题5分,共20分)1.提高软件可维护性的方法有哪些?答:1、建立明确的软件质量目标。2、利用先进的软件开发技术和工具。3、建立明确的质量保证工作。4、选择可维护的程序设计语言。5、改进程序文档。2.软件测试的目的是什么?测试中要注意那些原则?答:软件测试的目的是的发现软件中存在错误的活动。好的测试用例可以发现至今没有发现的错误、好的测试用例可以发现至今没有发现的错误测试。要提供输入数据还要提供输出数据、保留测试用例、检查它是否做了应该做的还要检查它是否做了不该做的、避免自己测试自己的程序、多错误多的地方要更严格的测试。3.什么是字据字典?其作用是什么?它有哪些条目?答:数据字典:用来定义数据流图中的各个成分具体含义,它以一种准确的/无二义性的说明方式为系统的分析/设计及维护提供了有关元素的一致的定义和详细的描述.作用:1)为系统的分析/设计及维护提供了有关元素的一致的定义和详细的描述;2)为分析人员查找数据流图中有关名字的详细定义而服务;3)它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。条目:数据流、数据项、数据存储、基本加工。4.软件设计的基本原理包括哪些内容?答:(1)模块化:有四个属性,即接口、功能、逻辑、状态。它把系统分解成模块的设计,对象就是模块,是把数据结构和操作这些数据的方法紧密地结合在一起所构成的模块。(2)抽象:表示对规格说明的抽象(abstractionbyspecification)和参数化抽象(3)信息隐蔽:通过对象的封装性实现:类结构分离了接口与实现,从而支持了信息隐藏。对于类的用户来说,属性的表示方法和操作的实现算法都应该是隐藏的。(4)模块独立性:有两个定性的度量标准,即耦合性与内聚性。模块独立性好的程序,要求尽量松散的耦合和较高的内聚形式。评分方法:按每题答题要点判分。六、简述运用原型化方法的软件开发过程。(本大题共1小题,共10分)答:①快速分析:在分析者和用户的紧密配合下,快速确定软件系统的基本要求。②构造原型:根据基本规格说明,尽快实现一个可运行的原型系统。3③运行和评价原型:用户试用原型,考核评价原型的特性。纠正过去交互中的误解和分析中的错误,增补新的要求,提出全面的修改意见。④修正和改进:根据修改意见进行修改。如果用修改原型的过程代替快速分析,就形成了原型开发的迭代过程。在一次次的迭代过程中不断将原型完善,以接近系统的最终要求。⑤判定原型完成:经过修改或改进的原型,达到参与者一致认可,则原型开发的迭代过程可以结束。为此,应判断有关应用的实质是否已经掌握,判定的结果有两个不同的转向,一是继续迭代验证,一是进行详细说明。⑥判断原型细部是否说明:判断组成原型的细部是否需要严格地加以说明。⑦原型细部的说明:通过文件加以说明那些不能通过原型说明的项目。⑧判定原型效果:考察新加入的需求信息和细部说明信息,看其对模型有什么影响?是否会影响模块的有效性?如果模型受到影响,则要进行修正和改进。⑨整理原型和提供文档评分方法:按答题要点判分,不展开扣5分;每少一点扣一分。七、综合题。(本大题共3小题,5’+6’+9’,共20分)1.一本书有一个封面、一个目录、一个前言、若干章,每章有若干节,每节有若干段每段有若干句子,每节有0个或多个插图,还有0个或多个表格,最后有一个附录。试建立该书的对象模型。答:评分方法:按答题要点判分,少符号扣2分。2.对下列子程序进行调试:procedureexample(y,z:real;varx:real)beginif(y1)and(z=0)thenx:=x/y;if(y=2)or(x=l)thenx:=x+l;end.该子程序接受x,y,z的值,并将计算结果x的值返回给调用程序。答题要求:(1)画出流程图。(2)用白盒法设出条件组合覆盖测试用例。答:(1)流程图(2)用白盒法中条件组合覆盖设计测试用例:①y=2,z=0,x=4;②y=2,z=1,x=1;③y=1,z=0,x=2;④y=1,z=1,x=1.评分方法:按答题要点判分,流程图4分,测试用便例2分。3.下图是某项目的PERT图:41-2是建立计划,2-4是编程,4-8是测试代码,8-10是测试系统,1-3是购买硬件,3-5是安装,5-7是撰写手册,5-6是转化,7-9是培训,9-10是用户测试。(1)画出完整的PERT图(标出EET,LET,和每个作业的机动时间);(2)找出关键路径及完成该项目的最短时间;(3)从节省人力的角度,画出该项目的GANTT图。答:(1)(2)关键路径如上图粗黑线,该项目最短完成时间为70(3)评分方法:按答题要点判分,甘特图3分,LET2分,EET2分,关键路径1分,机动时间1分。
本文标题:09-10-1-软件工程试卷A答案
链接地址:https://www.777doc.com/doc-3120079 .html