软件工程期末复习一、填空题(每小题1分x15,共15分)二、单项选择题(每小题2分x20,共40分)三、案例分析题(15分)四、综合应用题(第1题5分,第1题12分,第2小题13分。共30分)1、软件项目管理(每小题5分)(主要复习软件项目管理PPT)甘特图风险评级沟通计划关键路径2、设计模式的UML图与代码实现(12分)工厂方法模式策略模式观察者模式桥接模式3、设计测试用例-(请务必理解各种覆盖标准!)填空:1.软件项目计划是__可行性研究__阶段的结果产品。2.McCall质量度量模型高层特性包含面向软件产品操作、产品修改和___产品适应____三个方面的11个特性。3.在面向对象方法中,__继承性__是子类共享父类数据结构和方法的机制,体现了类之间的一种关系。4.在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、_判定树_。5.软件是计算机程序及其说明程序的各种文档。文档是有关计算机程序功能、设计、编制、使用的文字或图形资料。6.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不止的整个时期。通常,软件生存周期包括问题定义、可行性研究、需求分析、总体设计、详细设计、编码、测试、软件维护活动,可以将这些活动以适当方式分配到不同阶段去完成。7.软件详细设计阶段采用的工具有图示工具、表格工具、设计语言。8.可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。9.模块的耦合性分为四种类型:数据耦合、控制耦合、公共环境耦合、内容耦合。10.内聚性有七种类型,最强的是功能,最弱的是偶然。11.结构图的深度指结构图控制的层数,结构图宽度指同一层次上模块数的最大值。12.集成测试采用的具体方法有非增量集成测试、增量集成测试13.对于变换型的数据流图,按照软件设计思想,要将一个大型复杂的软件进行分解,要确定数据流图的变换中心、逻辑输入、逻辑输出。14.软件编码阶段要善于积累编程的经验,使得编出的程序清晰易懂,易于测试和维护,从而提高软件质量。15.软件工具通常由工具、工具接口和_工具用户接口_三部分构成。16.软件工程管理中的控制包括进度控制、人员控制、经费控制和__质量控制__。17.软件开发的原型模型可以分为三类,它们是:探索型原型、实验型原型和演化型原型_。18.软件复杂性主要表现在程序的复杂性。程序的复杂性主要指_模块内_程序的复杂性。19.白盒法中,__基本路径测试___首先以详细设计或源程序为基础,导出控制流程图的拓扑结构(程序图)。20.在软件的详细设计中,根据控制流程从上到下,从左到右展开的设计工具是_PAD图__。21.一个模块通过传递开关、标志对某一模块的多种功能进行选择,则这两个模块之间的耦合方式是__控制耦合_。22.结构化分析是面向_数据流_进行需求分析的方法。23.有效的模块化是通过定义一组_相互独立__的模块来实现信息隐蔽的,这些模块彼此之间仅交换那些为了完成系统功能所必须的信息。24.在软件生命周期中,能准确确定软件系统的体系结构的功能阶段是__概要设计__25.软件过程成熟度分为5个等级:初始级、可重复级、已定义级、已管理级、优化级。26.需求分析阶段的任务是确定软件系统功能。27.结构化分析(StructuredAnalysis,简称SA),是面向__数据流__进行需求分析的方法。28.在程序流程图的各元素中,用方框来表示加工任务。29.在白盒测试法中的逻辑覆盖技术中,其中发现错误能力最弱的覆盖技术是30.XP(极限编程)方法的4个价值观是交流、简单、勇气和___反馈__。31.软件测试过程可以分成4个步骤进行,即_单元测试_、集成测试、_确认测试和系统测试。32.软件的度量主要有面向规模的度量、面向成本的度量和面向人的度量。33.软件编码是将_详细设计_阶段产生的算法,用某种程序设计语言编写成程序的过程。34.若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P=F/(1+(n*i)。35.两个模块之间把简单的数值作为参数传递,这种耦合方式为_数据耦合__。36.把在几个模块中都出现的一些毫无联系的处理序列抽出来组成一个新的模块,那么这个模块的内聚性是_偶然内聚_。37.成本效益分析的目的是从__经济__角度评价开发一个新的软件项目是否可行。38.软件工程的主要思想是在软件生产中用___工程化方法__代替传统手工方法。39.软件由程序、数据、文档组成。40.需求分析方法包括:面向数据流的分析方法、面向过程流的分析方法、面向对象的分析方法。41.一般的软件开发环境应有软件开发方法学的支持,有适宜的文档和评审,采用交互处理方式。42.1978年Walters和McCall提出了包括质量要素、准则和度量的三层次软件质量度量模型。43.需求分析的主要任务是实现用户需求的一致化、精确化和完全化。44.交互图描述对象之间的消息传递。它又可分为顺序图(sequencediagram)与合作图两种形式。45.顺序图强调对象之间消息发送的时间序。合作图更强调对象间的动态协作关系。46.软件过程设计中最常用的技术和工具主要为结构化程序设计、流程图、盒图、判定表和PDL语言。47.采用任一种软件设计方法都将产生系统的总体结构设计、系统的数据设计和系统的过程设计。48.在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是关联关系。