《软件工程课后习题含答案.doc》由会员分享,可在线阅读,更多相关《软件工程课后习题含答案.doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、. .第一章练习题一、填空题1、软件工程三要素是:法、工具、过程。2、软件开发法是指软件开发过程中所应遵循的法和步骤。二、名词术语解释:1、可靠性-是指在给定的时间间隔,程序成功运行的概率。可靠性是衡量软件质量的一个重要目标。2、可理解性-指系统具有清晰的构造,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。三、问答题1、面向对象法的优点是什么?答:1将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。2以数据为中心,而不是基于对功能的分解,使得软件构造相对稳定,软件的重用性、可靠性、可维护等特性都较好。2、可视化开发法的优点有哪些?答:1
2、简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。2软件开发简单,易学、易上手。3专业或非专业人员都能参与软件开发活动。第二章练习题一、填空题:1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工程活动。2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。3、软件生命期的阶段划分为3个时期是:定义时期、开发时期、维护时期。4、软件工程标准的5个层次是:国际标准、标准、行业标准、企业规、工程规。二、简答题:1、瀑布模型的优点有哪些?答:1、强迫开发人员采用规的技术法;2、格
3、地规定了每个阶段必须提交的文档;3、每个阶段完毕前必须正式进展格的技术审查和管理复审。2、瀑布模型的缺点是什么?答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对多应用软件来说是极其困难的。2、在需求分析阶段,当需求确定后,无法及时验证需否正确、完整。3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。3、原型模型适应什么场合?答:原型模型比瀑布模型更符合人们认识事物的过程和规律,是一种较实用的开发框架。它适合于那些不能预先确切定义需求的软件系统的开发,更适合于那些工程组成员包括分析
4、员、设计员、程序员和用户不能很好交流或通信有困难的情况。第三章练习题一、填空题1、COO II的3个阶段是:应用组装、早期设计、后体系构造。2、分析任务图中的里程碑路径被称为关键路径。3、工程的特征:唯一性、一次性、整体性、多目标性、寿命期阶段性。二、简答题1、什么是里程碑?答:在制定工程进度方案时,在进度时间表上设立一些重要的时间检查点,这样一来,就可以在工程执行过程中利用这些重要的时间检查点来对工程的进程进展检查和控制。这些重要的时间检查点被称作工程的里程碑Milestone。2、请扼要描述Boehm的十大风险事项。答:Personnel shortfalls人员短缺Unrealistic
5、 schedules and budgets不现实的进度和预算Developing the wrong functions开发了错误功能Developing the wrong user interfaces开发了错误的用户界面Gold-plating华而不实Continuing stream of requirements changes不断的需求改变Shortfalls in externally-performed tasks外部执行的任务不符合要求Shortfalls in externally-furnished ponents外部提供的组件不符合要求Real-time perfor
6、mance shortfalls实时性能不符合要求Straining puter science capabilities超出了计算机科学的能力3、如成功管理风险?答:建立恰当的机制选择有效的识别法选择有效评估发生可能性法选择有效评估风险影响法建立预防措施开发风险应对措施确定紧迫性确定风险的责任人4、什么是工程管理?答:两种含义管理活动:一种有意识地按照工程管理的特点和规律,对工程进展组织管理的活动管理学科:以工程管理活动为研究对象的一门学科,它是探索工程活动科学组织管理的理论与法。5、什么是软件工程管理?答:软件工程管理是为了使软件工程能够按照预定的本钱、进度、质量顺利完成,而对本钱、人员、
7、进度、质量、风险等进展分析和管理的活动。软件工程管理的对象是软件工程工程,他所涉及的围覆盖了整个软件工程过程。第4章练习题四、 填空题1、需求可分解为4个层次:业务需求、用户需求、功能需求和非功能需求。2、用户需求:用户需用户使用该软件要完成的任务。3、功能需求:功能需求定义了软件必须实现的功能。4、需求分析阶段的工作有以下四个面:引发、分析、编制需求分析阶段文档规格说明、确认。 5、软件工程中40%-60%的问题都是在需求阶段埋下的祸根!2、 简答题1、 IEEE在软件工程标准词汇表中的需求定义是什么?答:用户解决问题或到达目标所需的条件或权能(Capability)。系统或系统部件要满足合
8、同、标准、规或其它正式规定文档所需具有的条件或权能。一种反映上面(1)或(2)所描述的条件或权能的文档说明。2、 需求分析的目标是什么?答:构造一个完全地、精致地目标系统逻辑模型;确定设计约束和定义软件有效性要求。3、 需求分析的任务是什么?答:需求分析阶段研究的对象是软件工程的用户要求,其任务是借助当前系统的逻辑模型,调查研究、分析综合,并通过抽象思维、逻辑推理导出目标系统的逻辑模型,解决系统“做什么的问题,并将结果准确表达。4、 请你扼要描述需求分析的实现步骤。答:(1)分析现实世界,充分理解当前系统,并用一个具体模型描述,获得当前系统的物理模型。 (2)在理解当前系统“怎么做的根底上,抽
9、取“作什么的本质,抽象出系统的逻辑模型。 (3)分析目标系统与当前系统逻辑上的差异,导出目标系统的逻辑模型。 (4)对目标系统逻辑模型进展补充,以求完整地描述。5、 需求规格书明书的主体容包括哪些?答:1概述:软件需求的简要说明2界面描述:软件系统的实现环境3模型分析:系统模型的形式规定、限制和说明4质量评审要求5其他6、 需求规格说明书的根本要什么?答:1完整:考虑细致2一致:前后容一致3准确:数据、任务要准确4无二义性:不提模棱两可的问题5符合标准:按、国际标准书写6易维护:应便于修改三、术语解释:聚合关联-一个类是另一个类的所有物或元素,用一端带有空心菱形的关联来表示,“has-a关系。
10、组装关联-是一种特殊类型的聚合,复合类的实例是物理上由成分类的实例组成的如,自行车由轮子、手把组成,用实心菱形的聚合表示。概化关联一个子类继承父类的所有属性、操作和关联,用一端带有三角形的关联表示,“is-a关系。第5章练习题一、填空题:1、强健性:如果系统包含了适应环境以及从环境中或其他单元中的问题中恢复的机制,那么我们称该系统是强健的。2、原型化分为两种类型是:抛弃型原型和快速原型化。二、简答题:1、满足质量属性有哪7个面?答:可修改性、性能、平安性、可靠性、强健性、易使用性、商业目标2、体系构造模式有哪6种?-P161答:理解系统复用以前系统元素展示构建系统蓝图推测系统将会如演变分析依赖
11、关系为管理决策提供支持3、造成设计崩溃的原因有哪些?答:缺少具体的设计案缺少设计过程的元案问题优先级选择不合理在定义解决案时,难以考虑所有的约束难以在脑海中用多个步骤或多个用例对设计进展模拟难以跟踪和报告解决案已经推迟的子问题难以从子问题进展扩展,以形成完整的解决法第6章练习题一、填空1、6条设计原那么是:模块化、接口、信息隐藏、增量式开发、抽象、通用性。2、模块的扇入定义为:指直接调用该模块的上级模块的个数。扇入大表示模块的复用程序高。3、模块的扇出定义为:是指该模块直接调用的下级模块的个数。扇出大表示模块的复杂度高,需要控制和协调过多的下级模块;但扇出过小例如总是1也不好。扇出过大一般是因
12、为缺乏中间层次,应该适当增加中间层次的模块。扇出太小时可以把下级模块进一步分解成假设干个子功能模块,或者合并到它的上级模块中去。设计良好的软件构造,通常顶层扇出比较大,中间扇出小,底层模块那么有大扇入。4、设计模式的4个根本要素是:名称、要解决的问题、解决案、应用后的效果。二、简答题1、模块耦合有哪6种类型?答:容耦合公共耦合控制耦合标记耦合数据耦合非直接耦合3、 模块聚有哪7种类型?答:巧合聚:局部各不相关。逻辑聚:只通过代码的逻辑构造关联。时态聚:设计被划分成几个用来表示不同执行状态的模块:初始化、读写输入、计算、打印输出,在一个任务中被使用而形成聚。过程聚:按照每个确定的顺序执行一系列的
13、功能。通信聚:某些功能操作或生成同一个数据集。功能聚:一个模块中包含了所有必须的元素,每个处理元素对于执行单个功能来说都是必须的。信息聚:在功能聚的根底上,将其调整为数据抽象化和基于对象的设计。三、术语解释信息隐藏-每个模块的实现细节对于其它模块来说是隐蔽的。也就是说,模块中包含的信息过程和数据不允其它不需要这些信息的模块使用。第8-9章练习题一、填空1、测试用例的设计法大体可分为两类:白盒测试和黑盒测试。2、语句覆盖是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每个可执行语句都至少执行一次。3、边界值总结为三句话是:刚刚等于;刚刚大大于;刚刚小于。4、单元测试又称模块测试,它着重
14、对软件设计的模块软件构件或模块进展验证。5、常用的系统测试包括恢复测试,平安测试,压力测试,性能测试。6、平安测试用来验证集成在系统中的保护机制能否实际保护系统不受非法侵入。二、 简答题1、 软件测试的目的是什么?答:测试是一个为了发现错误而执行程序的过程一个好的测试用例是指很可能找到迄今为至尚未发现的错误的测试用例一个成功的测试是指提醒了迄今为至尚未发现的错误的测试2、 什么是白盒测试又称为构造测试?答:把测试对象看作一个透明的盒子,测试人员根据程序部的逻辑构造及有关信息设计测试用例,检查程序中所有逻辑路径是否都按预定的要求正确地工作。3、 什么是黑盒测试?答:又称行为测试把测试对象看做一个
15、黑盒子,测试人员完全不考虑程序部的逻辑构造和部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能需求。4、 什么是等价类?答:等价类是指输入域的某个子集,该子集中的每个输入数据对揭露软件中的错误都是等效的,测试等价类的某个代表值就等价于对这一类其他值的测试。也就是说,如果该子集中的某个输入数据能检测出某个错误,那么该子集中的其他输入数据也能检测出同样的错误;反之,如果该子集中的某个输入数据不能检测出错误,那么该子集中的其他输入数据也不能检测出错误。5、 因果图法具有哪些特点?答:考虑输入条件的组合关系;考虑输出条件对输入条件的依赖关系,即因果关系;测试用例发现错误的效率高;能检查
16、出功能说明中的某些不一致或遗漏。三、术语解释1、穷举测试-力图全面、无遗漏地“挖掘出程序中的所有错误。必须在所有可能的输入条件和输出条件中确定测试数据,来检查是否都能产生正确的输出。五、 判断题,正确打勾,错误打叉。1、软件测试是为了证明程序是正确的,即测试能发现程序中所有的错误。 F 第11章练习题一、 填空题1、软件维护阶段覆盖了从软件交付使用到软件被淘汰为止的整个时期。2、软件维护可以分为纠错性维护、适应性维护、改善性维护、预防性维护四类。3、对软件可维护性影响的主要因素有:可理解性、可测试性、可修改性、可移植性。4、 软件维护可理解性是指:理解软件接口、构造、功能和部过程的难易程度。二
17、、简答题1、什么是纠错性维护?答:为了改正软件系统中的错误,使软件能够满足预期的正常运行状态的要求而进展的维护。2、什么是改善性维护?答:满足使用过程中用户提出增加新功能或修改已有功能的建议维护。3、提高软件可理解性的措施有哪些?答:提高软件可理解性的措施有:采用模块化的程序构造;书写详细正确的文档;采用构造化程序设计;书写源程序的部文档;使用良好的编程语言;具有良好的程序设计风格等。4、提高可维护性的通常采用的法包括哪些?答:确定质量管理目标和优先级规化程序设计风格选择可维护性高的程序设计语言完善程序文档保证软件质量审查法三、术语解释1、逆向工程-指在软件生存期中,将软件的某种形式描述转换成更抽象形式的活动2、重构-指在同一抽象级别上转换系统的描述形式。如把C+ 程序转换成Java程序3、再工程-指在逆向工程所获信息的根底上修改或重构已有的系统,产生系统的一个新版本教育之通病是教用脑的人不用手,不教用手的人用脑,所以一无所能。教育革命的对策是手脑联盟,结果是手与脑的力量都可以大到不可思议。. .word.zl.