中国地质大学(北京)继续教育学院2016年05课程考试第1页(共7页)《软件工程》模拟题(补)一、单项选择题1.软件需求分析阶段的工作,可以分为4个方面:需求获取,需求分析,编写需求规格说明书以及()。A.用户B.需求审评C.总结D.都不正确2.下面不属于软件工程的3个要素是()。A.工具B.过程C.方法D.环境3.数据存储和数据流都是(),仅仅是所处的状态不同。A.分析结果B.事件C.动作D.数据4.下面不属于软件工程原则的是()。A.抽象B.模块化C.自底向上D.信息隐蔽5.软件调试的目的是()。A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能6.模块本身的内聚是模块独立性的重要性度量因素之一。在7类内聚中,具有最强内聚的一类是()。A.顺序性内聚B.过程性内聚C.逻辑性内聚D.功能性内聚7.软件的()一般由两次故障平均间隔时间和故障平均恢复时间来度量。A.可维护性B.可靠性C.效率D.可理解性8.软件生命周期中所花费用最多的阶段是()。A.详细设计B.软件编码C.软件测试D.软件维护9.汽车是一种交通工具,汽车类和交通工具类之间的关系是()A.一般具体B.hasaC.整体部分D.组成10.瀑布模型本质是一种()。A.顺序迭代模型B.线性顺序模型C.线性迭代模型D.非线性模型11.要减少两个模块之间的耦合,则必须()。A.两个模块间的调用次数要少B.模块间传递的参数要少C.模块间传递的参数要少且布传递开关型参数D.模块间传递的参数要少且不传递开关型参数以及两模块不引用同样的全局变量12.类构件的重用方式有实例重用、继承重用和()。A.多态重用B.封装重用C.类重用D.方法重用13.CMMI能力等级中的第三级为()。中国地质大学(北京)继续教育学院2016年05课程考试第2页(共7页)A.已执行级B.可管理级C.已定义级D.可重用级14.软件工程的基本目标是()。A.消除软件固有的复杂性B.开发高质量的软件C.努力发挥开发人员的创造性潜能D.更好地维护正在使用的软件产品15.软件风险总是包括()两个特性。A.救火和危机管理B.已知的和未知的风险C.不确定和损失D.安置人员和预算16.基线(Baseline)是指在项目生命周期的不同时间点上,一个或一组配置项通过()而进入正式受控的一种状态。A.存取控制B.质量控制C.正式评审D.变更管理二、判断题1.大多数软件产品在其生命周期中不需要增强功能。()2.在需求分析过程中,分析员要从用户那里解决的最重要的问题是明确软件做什么。()3.模型是对现实的简化,建模是为了更好地理解所开发的系统。()4.目前存在一个很普遍的现象,即不同的客户提出的需求是相互矛盾的,但每个人都争辩自己是正确的。()5.用例参与者总是人员而不是系统设备。()6.需求工程师的任务是将所有利益相关者的信息进行分类以便允许决策者选择一个相互一致的需求集。()7.估算不可靠的唯一原因是估算人员缺乏经验。()8.估计待开发软件产品的规模必须基于像代码行等直接度量单位。()9.软件需求规格说明书在软件开发中具有重要的作用,它是软件可行性分析的依据。(×)10.UML语言支持面向对象的主要概念,并与具体的开发过程相关。()11.分析类用于描述系统中概念层次的对象。()12.用户界面设计对于一个系统的成功是至关重要的,一个设计得很差的用户界面可能导致用户拒绝使用该系统。()13.在程序设计中使用括号以改善表达式的清晰性。()14.在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。()中国地质大学(北京)继续教育学院2016年05课程考试第3页(共7页)15.白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。()16.等价类划分方法将所有可能的输入数据划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。()三、填空题1.在结构化分析中,用于详细地定义数据流图中的成分。2.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、、可使用性和效率。3.在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、。4.通常把测试方法分为黑盒测试和两大类。5.在面向对象方法中,对象实现了数据和操作的结合,使数据和操作于对象(类)的统一体中。6.软件生存周期是指一个软件从提出开发要求开始直到为止的整个时期。7.常用的制定进度计划的工具主要有和工程网络。8.软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为。9.软件工程的基本要素包括方法、工具和。10.在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。11.UML是的缩写。12.内聚表示一个模块仅关注在一件事情上的程度,耦合表示一个模块的程度。13.为了使程序能在不同的计算机上运行,程序应当具有较好的可性。14.结构化语言是介于自然语言和之间的一种半形式语言。四、简答题1.请描述快速原型过程模型的各个阶段。2.请举例说明使用自然语言描述用户需求和系统需求的问题。中国地质大学(北京)继续教育学院2016年05课程考试第4页(共7页)3.UML关系包括关联、聚合、泛化、实现、依赖等5种类型,请指出下面关系的类型,并采用UML符号表示这些关系。(1)在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是什么关系?(2)类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是什么关系?(3)接口及其实现类或构件之间是什么关系?(4)一个汽车有四个轮子,那么类“汽车”和“轮子”之间是什么关系?(5)学生与研究生之间是什么关系?4.什么是实体类、边界类和控制类?为什么将分析类划分成这三种类型?5.请考虑下图表示的系与教师间关系的类图:(1)类图中显示了哪些关系?(2)一个教师可以在多个系工作吗?请说明理由。6.面向对象设计与面向对象分析的区别是什么?设计包括哪些活动?五、程序设计题(本大题共2小题,每题10分,共20分)1.下面给出了用盒图描绘的一个程序的算法,请用逻辑覆盖法设计测试方案,要求做到用语句覆盖。中国地质大学(北京)继续教育学院2016年05课程考试第5页(共7页)2.画出简化的文本编辑程序的用例,该编辑程序的主要功能有建立文件、打开文件、插入文本、修改文本和保存文件。参考答案:一、单项选择题12345678BDDCBDBD910111213141516ABDACBCC二、判断题12345678×√√√××××910111213141516××√√√×√√三、填空题1.数据字典2.可移植性3.判定树4.白盒测试5.封装6.废弃7.甘特图8.可靠性9.过程10.非功能需求11.UnifiedModelingLanguage12.联接其他模块13.移植14.形式语言四、简答题1.参考答案:快速原型方法的目的是解决软件需求不明确给开发带来风险的问题,其关键在于尽可能“快速”地建造原型,通过用户对原型的评价最终确定系统的需求。快速原型过程模型包括以下阶段:中国地质大学(北京)继续教育学院2016年05课程考试第6页(共7页)原型需求分析:分析和提炼所收集到的客户需求;原型开发:基于初步的需求快速建造一个可以运行的软件原型,实现客户或未来的用户与系统的交互;原型评价:由用户或客户对该原型进行评价,需要的话再进一步细化待开发软件的需求,并继续调整原型直至需求确定下来为止。2.参考答案:用自然语言描述比较详细的需求时经常暴露以下问题,从而容易引起误解:由于自然语言存在二义性,因此人们对同一个术语经常存在语义理解上的偏差。用自然语言描述需求存在比较大的随意性,人们对同一个事物有完全不同的方式进行描述。自然语言描述需求缺乏模块化,因此很难发现所描述需求之间的相关性。3.参考答案:(1)关联(2)依赖(3)实现(4)聚合(5)泛化4.参考答案:实体类用于描述必须存贮的信息及其相关行为;边界类用于描述外部参与者与系统之间的交互;控制类用于描述一个用例所具有的事件流控制行为。将分析类划分成这三种类型的好处在于:��5.参考答案:6.参考答案:面向对象分析是重点考虑系统“做什么”的问题,即运用面向对象方法对问题域进行分析和理解,建立系统的分析模型;面向对象设计重点考虑系统“怎样做”的问题,即在分析模型的基础上形成实现环境下的设计模型。面向对象设计主要涉及系统设计、对象设计(或详细设计)、数据库设计和用户界面设计等中国地质大学(北京)继续教育学院2016年05课程考试第7页(共7页)活动。五、程序设计题1.参考答案实现语句覆盖的测试方案如下:1)覆盖THEN部分的语句,即使得条件(A0)AND(B0)和条件(CA)OR(DB)均为真输入:A=1,B=1,C=0,D=1预期输出:X=2,Y=22)覆盖ELSE部分的语句,即使得条件(A0)AND(B0)和条件(CA)OR(DB)均为假输入:A=0,B=-1,C=0,D=1预期输出:X=1,Y=12.参考答案: