第1页共8页南昌大学_________学年第___学期考试试卷试卷编号:课程名称:软件工程适用班级:______姓名:学号:班级:专业:学院:系别:考试日期:题号一二三四五六七八九十总分累分人签名题分100得分考生注意事项:1、本试卷共页,请查看试卷中是否有缺页或破损。如有立即举手报告以便更换。2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。一、单项选择题(每空1分,共10分)得分评阅人1.可行性研究要进行一次___c__需求分析。A.详细的B.全面的C.简化的、压缩的D.彻底的2.系统流程图是描述_D___的工具。A.逻辑系统B.体系结构C.程序系统D.物理系统3.产生软件维护的副作用,是指cA.开发时的错误B.隐含的错误C.因修改软件而造成的错误D.运行时误操作4.维护中,因误删除一个标识符而引起的错误是__a___副作用。A.编码B.数据C.文档D.设计5.可维护性的特性中相互促进的是a。A.可理解性和可测试性B.效率和可移植性C.效率和可修改性D.效率和结构好第2页共8页6.汽车有一个发动机。汽车和发动机之间的关系是__b___关系。A.一般具体B.整体部分C.分类关系D.主从关系7.提高软件质量和可靠的技术大致可分为两大类:其中一类就是避开错误技术,但避开错误技术无法做到完美无缺和绝无错误,这就需要dA.消除错误B.检测错误C.避开错误D.容错8.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫dA.生存期B.面向对象设计C.面向对象程序设计D.面向对象分析9.原型化方法是一种_____a_型的设计过程。A.自外向内B.自顶向下C.自内向外D.自底向上10.为了提高测试的效率,应该dA.随机地选取测试数据B.取一切可能的输入数据作为测试数据C.在完成编码以后制定软件的测试计划D.选择发现错误可能性大的数据作为测试数据二、判断题(每题1.5分,共15分)得分评阅人1、(_F____)当验收测试通过,软件开发就完成了。2、(_F____)对于包含有多个数组元素的表达式,可引入临时变量以提高运算效率。3、(___T__)在使用等价类划分生成测试用例时,应选用输出等价类中的边界值作为代表值作为测试数据。4、(____T_)软件工程标准化可提高软件的生产率。5、(__T___)假如数据结构中常使用数组、指针等数据类型,则对它们必须采取随机访问,这样势必产生访问上的混乱。6、(____T_)为得到可靠的成本和工作量估算,应把估算推迟到项目的后期进行。在项目完成时可得到100%精确的估算结果。第3页共8页7、(_T____)在无规则和混乱的管理条件下,先进的工具和技术是发挥不出它应有的作用的。8、(_T____)模块化程序设计中,模块越小,模块化的优点越明显。一般来说,模块的大小都在10行以下。9(__T___)、质量保证是为了保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动。10、(__T___)模块化程序设计中,模块越小,模块化的优点越明显。一般来说,模块的大小都在10行以下。三、填空题(每空1分,共15分)得分评阅人1.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和宽度优先策略。2.详细设计的任务是确定每个模块的内部特性,即模块的算法、使用的数据。3.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不止的整个时期。通常,软件生存周期包括问题定义、可行性分析、需求分析、总体设计、详细设计、编写代码、综合测试、软件维护活动,可以将这些活动以适当方式分配到不同阶段去完成。4.软件详细设计阶段采用的工具有图_、程序设计语言(PDL)、表。5.软件可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。6.结构图的深度指结构图控制的层次即模块的层数,结构图宽度指结构图中同一层模块的最大模块数。7.对于变换型的数据流图,按照软件设计思想,要将一个大型复杂的软件进行分解,要确定数据流图的变换中心、逻辑输入、逻辑输出。8.软件编码阶段要善于积累编程的经验,使得编出的程序清晰易懂,易于测试与维护,从而提高软件质量。第4页共8页四、简答题(每题5分,共20分)得分评阅人1、软件开发分为那几个阶段?各阶段的任务是什么?软件开发分为需求分析,设计,编码,测试。布需求分析阶段的基本任务是要准确的定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。设计阶段的基本任务设计软件系统结构,编写概要设计文档。编码阶段的任务是构造单个语句。构造的语句要简单、直接,不要为了提高效率而使语句更为复杂。测试阶段任务理解产品的功能要求,并对其进行测试,检查软件有没有错误,决定软件是否具有稳定性,写出相应的测试规范和测试用例。2、什么是数据流图?其中的基本符号各表示什么含义?数据流图简称DFD,是SA方法中用于表示系统逻辑模型的一种工具。它以图形的方式描述数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。数据流图有四种基本图形符号:“→”箭头表示数据流;“○”圆或椭圆表述加工;“=”双杠表示数据存储;“”方框表示数据的源点或终点.3、简述数据流图与程序流图的区别。数据流图是业务分析用的,主要在分析阶段,经过变换型(事务性)分析可以转换为概要设计,程序流程图和N-S框图一样是用作详细设计的。数据流图没有控制结构,基本是一种静态结构,没有语法控制。程序流程图是动态的程序状态的描述。4、Rumbaugh等人提出的对象模型技术(OMT)建立了哪三种模型?每种模型的作用是什么?在OMT方法中,系统是通过对象模型、动态模型和功能模型来描述的。其中,对象模型用来描述系统中各对象的静态结构以及它们之间的关系;功能模型描述系统实现什么功能(即捕获系统所执行的计算),它通过数据流图来描述如何由系统的输入值得到输出值。功能模型只能指出可能的功能计算路径,而不能确定哪一条路径会实际发生。动态模型则描述系统在何时实现其功能(控制流),每个类的动态部分是由状态图来描述的。第5页共8页五、应用题(共40分)得分评阅人1、(15分)请使用PAD图和PDL语言描述在数组A[1]~A[10]中找最大数的算法。解:PDL语言:N=1WHILEN=10DOIFA(N)=A(N+1)MAX=A(N+1);ELSEMAX=A(N)ENDIF;N=N+1;ENDWHILE;PAD图:[解析]人工查找时,是从第一个元素开始查找,用当前元素与下一个元素比较,将较大者作为当前元素又与下一元素比较,如此循环,直到数组末尾。第6页共8页2、(15分)某一8位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的范围是-177~177,如05,0127,-065。使用等价类划分法设计测试用例。:(1)划分等价类并编号,如下表示:(4分)(2)为合理等价类设计测试用例,表中有两个合理等价类,设计两个例子(2分)(3)为不合理等价类测试用例,至少设计一个测试用例(2分)[解析]等价类划分属于黑盒测试的一种,它将输入数据域按有效的或无效的划分成若干个等价类,测试每个等价类的代表值就等于对该类其他值的测试,这样用少量有代表性的例子代替大量测试目的相同的例子,可以有效提高测试效率。本题划分了3个合理等价类,9个不合理等价类进行测试,取到了预期的效果。第7页共8页3、(10分)某电器集团公司下属的厂包括技术科、生产科等基层单位。现在想建立一个计算机辅助企业管理系统,其中:生产科的任务是:(1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。(2)根据车间实际生产日报表、周报表调整月生产计划(3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。(4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间技术科的任务是:(1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。(2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。试写出以上系统分层的数据流图。[解析]软件结构图是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制层次体系,软件结构往往用树状或网状结构的图形来表示,其主要内容有模块及模块的控制关系,根据题意,可绘制出生产科和技术科的软件结构图,其中生产科的结构图深度和宽度均为4,技术科的结构图的深度和宽度均为3。《软件工程》要掌握的重点是:1、结构化分析(SA方法)的基本概念和基本方法,特别是系统流程图、数据流图、数据字典、ER模型的掌握和应用。2、结构化设计(SD方法)的基本概念和基本方法,包括总体设计与详细设计的各种工具和方法,如软件结构图、NS图、PAD图、判定表、判定树、PDL语言的掌握和应用。第8页共8页