西交软件工程概论离线作业答案内容摘要:

感到吃惊,类似的操作应该有类似的效果。 ( 4)可恢复性:界面应该有一种机制来允许用户从错误中恢复。 ( 5)用户指南:在错误发生时界面应该提供有意义的反馈,并具有用户帮助功能。 ( 6)用户差异性:界面应该为不同类型用户提供合适的交互功能。 型的思想是什么。 使用它有什么好处。 答:把用户界面中的表示、交互和实体相分离是该模型的基础。 MVC 是一种用来使用户界面层和系统的其他部分分离的体系结构模式。 MVC 不仅有助于增强用户界面层的层内聚,而且有助于降低用户界面与系统其余部分以及 UI 本身各部分之间的耦合。 MVC 模式使系统的功能层(模型)同用户界面的两个方面分离:试图( view)和控制器( controller)。 用户能够用适当的交互方式与每种表示形式进行交互。 要显示的数据被封装到一个模型对象中。 每个视图都是模型的一种显示表示方式。 每个模型对象可能有许 多独立的视图对象与之关联,例如表示数字数据的模型可能有一个直方图的或一个表格的视图。 每个视图都有一个的处理用户输《软件工程概论》 18 入和设备交互的控制器对象。 使用 MVC 模式的好处: ( 1)三个构件可独立设计 ( 2)提高内聚,降低耦合:构件之间通信信道最小且易查找。 ( 3)增加重用:视图和控制器通常会使用大量的可重用构件作为各种 UI 控件。 ( 4)灵活设计:很易通过改变视图或控制器来改变 UI。 ( 5)可测试性设计:可脱离 UI 层测试应用程序。 基本任务有哪些。 6.什么是耦合性和内聚性。 都包括哪些内容。 答:( 1)耦 合性是软件结构中各构件间相互联系紧密程度的一种度量。 包括:无直接耦合、数据耦合、标记耦合、控制耦合、公共耦合、内容耦合。 ( 2)内聚性是一个构件内部各种元素彼此结合的紧密程度的度量。 包括:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚。 7.有效模块化设计的启发式原则有哪些。 答:( 1)评估软件结构的初始模型以降低耦合并提高内聚。 ( 2)高层高扇出使最小化;当深度增加时(特别是底层)争取提高扇入。 ( 3)将模块的作用范围限制在模块的控制范围内。 作用范围:受模块内一个判定影响的所 有模块的集合。 控制范围:模块本身及其所有下属模块的集合。 ( 4)评估模块接口以降低复杂度和冗余并提高一致性。 ( 5)定义功能可以预测的模块,(如对于相同的输入,输出是恒定的),但要避免过分限制模块(如数据结构的大小、控制流的选择、外部接口的模式等限制)。 第 五 章 软件测试 本章要点: 1. 软件测试的概念 2. 软件测试技术 《软件工程概论》 19 3. 软件测试策略 4. 测试管理 5. 软件调试 6. 软件的可靠性和可用性 本章目标: 1. 掌握软件测试的相关概念 2. 掌握基本的软件测试技术 3. 了解软件测试的策略 4. 了解软件的可靠性与 可用性 本章重点: 1. 软件测试技术(黑盒技术,白盒技术) 2. 软件测试的策略 本章难点: 1. 软件测试技术(黑盒技术,白盒技术) 2. 软件测试的策略 3. 理解软件的可靠性与可用性 一、 填空题 1.软件调试方法一般分为( 动态测试方法 )与( 静态测试方法 )。 动态测试方法中又根据测试用例的设计方法不同,分为( 黑盒测试 )与( BAI盒测试 )两类。 2.调试的目的是( 确定错误的原因和位置 ),并( 改 正错误 ),因此调试也称为( 纠错 )。 3.桩模块用来代替被测模块( 所调用的模块 )。 它的作用是( 返回被测模块所需的信息 )。 4.用等价类划分的方法设计测试用例的步骤为:( 划分等价类、确定测试用例 )。 5.二分法检索将检索空间划分成了三个部分,每个部分构成了一个( 等价类 ),选择这些等价类集合的( 边界值 )作为测试用例。 二、选择题 《软件工程概论》 20 ( C )观点 出发的测试,白盒测试是从( )观点出发的测试。 、管理人员 、管理人员 、开发人员 、用户 ( D ) 3中基本结构是( B ) 、子程序、分程序 、条件、循环 、堆栈、队列 、返回、转移 ,其包括的内容和步骤甚多,而测试过程的多种环节中基 础的是( B ) ,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试( B ) ( A )的度量 《软件工程概论》 21 ,下述结论中,( B )是与软件评审无关的内容。 三、问答题 件测试的原则有哪些。 答:( 1)测试用例不但应有输入数据,还应有预期的输出数据。 这样便于对照检查,做到“有的放矢”。 ( 2)测试用例不仅选用合理的输入数据,还要选择不合理的输入数据。 这样能更多的发现错误,提高程序的可靠性。 对于不合理的输入数据,要将反馈信息提供给用户。 ( 3)除了检查程序是否做了它应该做的事,还可检查程序是否做了它不应该做的事。 例如程序正确地打印出用户所需信息的同时还是否打印出用户并不需要的多余信息。 ( 4)应指定测试计划并严格执行,排除随意性。 ( 5)长期保留测试用例,为以后进行的 回归测试和维护提供方便。 ( 6)对发现错误较多的程序段,应进行更深入的测试。 因为在修改错误过程中容易引入新的错误。 ( 7)为了达到最有效的测试效果,程序员避免测试自己的程序。 2.什么是黑盒测试法。 什么是白盒测试法。 答:黑盒测试是把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程。 只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能需求。 因此,黑盒测试又称为功能测试或数据驱动测试。 通过黑盒测试主要发现以下错误: ( 1)是否有不正确或遗漏了的功能。 ( 2)在接口上,能否正 确地接受输入数据,能否产生正确的输出信息。 ( 3)访问外部信息是否有错。 ( 4)性能上是否满足要求等等。 白盒测试是把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结《软件工程概论》 22 构是否有错,实际的运行状态与预期的状态是否一致。 3.简述软件测试的步骤。 答: 软件测试一般分为四个步骤: ( 1)单元测试(也称模块测试):针对软件设计的基本单元 —程序模块,进行正确 性检验的测试工作。 目的在于发现各个模块内部可能存在的各种差错。 单元测试需要从程序内部结构出发设计测试用例,多个模块可以平行、独立地进行测试; ( 2)集成测试(也称组装测试,联合测试):在单元测试的基础上,将所有模块按设计要求集成在一起进行测试,以检验总体设计中各模块间的接口设计问题、模块之间的相互影响、上层模块存在的各种差错及全局数据结构对系统的影响等方面。 ( 3)确认测试(也称验收测试,有效性测试):主要检验软件的功能和性能是否与需求说明书中的规定一致。 ( 4)系 统测试:将软件系统作为一个元素,放入整个实际的计算机系统中,与计算机硬件、其他软件、使用人员等系统元素结合在一起,在实际使用环境下进行综合全面的测试。 4.集成测试有哪些具体的方法。 它们的区别是什么。 答:集成测试的方法主要有非渐增式测试和渐增式测试。 ( 1)非渐增式测试:该测试是首先对每个模块分别进行单元测试,然后再把所有的模块按设计要求组装在一起进行的测试。 ( 2)渐增式测试:该测试是逐个把未经过测试的模块组装到已经测试过的模块上去,进行集成测试。 每加入一个新模块进行一次集成的测试,重复此过程直至程序组 装完毕。 非渐增式测试和渐增式测试的区别有如下几点: ( 1)非渐增式方法把单元测试和集成测试分成两个不同的阶段,前一阶段完成模块的单元测试,后一阶段完成集成测试。 而渐增式测试把单元测试与集成测试合在一起,同时完成。 ( 2)非渐增式需要更多的工作量,因为每个模块都需要驱动模块和桩模块,而渐增式利用已测试过的模块作为驱动模块或桩模块,因此工作量较少。 ( 3)渐增式可以较早地发现接口之间的错误,非渐增式最后组装时才发现。 ( 4)渐增式有利于排错,发生错误往往和最近加进来的模块有关,而非渐增式发现接口错误推迟到最后 ,很难判断是哪一部分接口出错。 ( 5)渐增式比较彻底,已测试的模块和新的模块组装在一起再测试。 ( 6)渐增式占用的时间较多,但非渐增式需更多的驱动模块、桩模块,也占用一些时间。 ( 7)非渐增式开始可并行测试所有模块,能充分利用人力,对测试大型软件很有意义。 《软件工程概论》 23 5.什么是软件的可靠性和可用性,二者有什么区别和联系。 答:可靠性:系统在给定的时间间隔内,根据需求说明成功地运行的概率。 也可以说可靠性是系统依照需求指定的功能不失败运作的可能性。 可用性:系统在给定的时间点上根据需求说明成功地运行的概率。 也可以说可用性 是当有请求时(即在一定时刻)系统能执行有用服务的可能性。 可靠性与长期的行为有关,而可用性描述时间中某一给定点上的事情。 对于硬件,有的东西可能是高可靠的,但在时间的某一特定点上可能是不可用的。 同样的概念也适用于软件系统。 可靠性、可用性是相互依赖的系统特性。 都反映了用户对系统的信任程度。 如果系统是不可靠的,就很难保证系统的安全性、保密性等许多特性。 如果系统不可用,用户将无法接受。 第 六 章 软件维护 本章要点: 1. 软件维护的概念 2. 软件维护的活动 3. 软件的可维护性 4. 软件再工程 本章目标: 1. 了解 软件维护的相关概念 2. 掌握维护活动的基本过程 3. 明确软件的可维护性 4. 了解软件再工程 本章重点: 1. 软件维护的相关概念 2. 维护活动的基本内容 3. 软件的可维护性 本章难点: 1. 维护活动的基本内容 2. 软件的可维护性 一、填空题 《软件工程概论》 24 1. 软件维护分为( 改正性维护、适应性维护、增强性维护 )。 2. 带来高维护费用的关键因素有:( 人员的不稳定、合同责任、维护人员技术水平、系统结构衰退 )。 3.( 软件再工程 )是视图增加当前系统的总体质量、提高可维护性的工 程。 4.软件维护费用增加的主要原因是维护的( 生产率 )非常低。 5.软件的( 可维护性、可使用性、可靠性 )是衡量软件质量的几个主要特性。 二、选择题 ,工作量所占比例最大的阶段是( D )阶段 ( A ),降低维护的代价。 ,是指( C ) ( C) ,软件仍能继续正常工作的能力是指( C ) 《软件工程概论》 25 ( A )是正确的 ( C ) 件维护不是一项吸引人的工作 三、问答题。 答: 软件维护内容有四种:校正性维护,适应性维护,完善性维护和预防性维护。 ( 1) 校正性维护 在软件交付使用后,由于在软件开发过程中产生的错误并没有完全彻底的在测试 中发现,因此必然有一部分隐含的错误被带到维护阶段来。 这些隐含的错误在某些特定的使用环境 下会暴露出来。 为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。 校正性维护占整个维护工作的 20%左右。 ( 2) 适应性维护 随着计算机的飞速发展,计算机硬件和软件环境也在不断发生变化,数据环境也 在不断发生变化。 为了使应用软件适应这种而修改软件的过程称为适应性维护。 这种维护活动占整个维护活动的 25%。 ( 3) 完善性维护 在软件漫长的运行时期中,用户往往会对软件提出新的功能要求与性能要求。 这 是因为 用户的业务会发生变化,组织机构也会发生变化。 为了适应这些变化,应用软件原来的功《软件工程概论》 26 能和性能需要扩充和增强,为达到这个目的而进行的维护活动称为完善性维护,占整个维护活动的 50%。 ( 4) 预防性维护。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。