资源描述
名词解释:
1. 数据词典——是描述数据信息的集合,它对数据流图中的各个元素按规定格式进行详细的描述和确切的解释,是数据流图的补充工具。
2. 数据流图——他以图形的方式反映系统的数据流程
3. 白盒测试——按照程序内部的结构测试程序,检验程序中的每条路径是否都能按预定要求正确工作。有两种测试法既逻辑覆盖测试法和路径测试法
4. 黑盒测试——按照程序的功能测试程序,检验与程序功能有关的输入、输出与程序执行是否正确。有四种方法既等价分类法、边界值分析法、错误猜测法和因果图法
5. 完善性维护——为了适应用户业务和机构的发展变化而对软件的功能、性能进行修改、扩充的过程称为完善性维护。因为各种用户的业务和机构在相当长的时期内不可能是一成不变的,所以功能、性能的增加是不可避免的,而且这种维护活动在整个维护工作中所占的比重很大
6.软件可靠性——指在给定的时间内,程序按照规定的条件成功地运行的概率
7.软件配置——是一个软件在生存周期内,他的各种形式、各种版本的文档与程序的总称
8. 软件再工程——运用逆向工程、重构等技术,在充分理解原有软件的基础上,进行分解、综合、并重新构建软件,用于提高软件的可理解性、可维护性可复用性或演化性。
9. α测试——是在一个受控的环境下,由用户在开发者的“指导”下进行的的测试,由开发者负责记录错误和使用中出现的问题。
10.β测试——是由软件的最终用户(多个)在一个或多个用户场所来进行。由用户负责记下遇到的所有问题,包括主观认定的和真实的问题,定期向开发者报告,开发者在综合用户的报告之后进行修改,最后将软件产品交付给全体用户使用。
11.聚集关系——表示类或对象之间的整体与部分的关系
12.泛化关系——表示类或对象之间的一般与特殊的关系
13.内聚——一个模块内部各个元素彼此结合的紧密程度的度量。
14.耦合——一一个软件结构内不同模块之间互连程度的度量。
15、软件重用——也叫软件再用或复用,是指同一事物不做修改或稍加改动就能多次在软件中重复使用。
判断题:
1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。(对)
2.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。(错)
3.JAVA语言编译器是一个CASE工具。(对)。
4.软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。(错)
5.软件模块之间的耦合性越弱越好。(对)
6.数据库设计说明书是一个软件配置项(对)
7.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。(错)
8.过程描述语言可以用于描述软件的系统结构。(错)
9.如果通过软件测试没有发现错误,则说明软件是正确的。(错)
10.快速原型模型可以有效地适应用户需求的动态变化。(对)
11.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。(对)
12.集成测试主要由用户来完成。(错)
13.确认测试计划应该在可行性研究阶段制定(错)
14.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。(错)
15.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(对)
16.在可行性研究中最难决断和最关键的问题是经济可行性。(错 )
17.耦合是指一个模块内各个元素彼此结合的紧密程度。(错 )
18. 一笔交易、一个动作、甚至操作人员按一个按钮都可以看作是一次事物。( 对 )
19.概要设计阶段完成的主要文档是概要设计说明书。(对 )
20.过大的模块可能是由于分解不充分造成的,即使降低模块独立性也必须继续分解。(错)
21.程序设计语言中应绝对禁止使用GOTO语句。( 错 )
22.类是关于对象性质的描述,由方法和数据组成。(对 )
23.随着软件技术的发展,人们逐渐认识到编码不仅要强调效率还要强调清晰。( 对 )
25.为保证程序的安全,必须做到程序中没有任何错误存在,即容错。( 错 )
26.如果把软件开发所需的资源画成一个金字塔,人是最基本的资源。(对)
27软件开发小组人员越多越好。( X)
28.在程序运行之前没法评估其质量。( X)
29 需求是变化的,因为软件是灵活的,总可以满足需求。( X)
30有了对目标一般描述,就可以编程序,以后再详细描述。( X)
31模块越小,模块的优点越大。( X)
32、在软件开发过程中,工作量最大的一个阶段就是编码程序。( X) (注:是测试阶段)
33、开发初始原型的目的是为 了确定用户的基本需求。( X)
(注:只有确定了用户的基本需求之后才开发初始原型,初始原型表达了用户的基本需求)
34、尽可能推迟程序的逻辑实现是按照瀑布模型开发软件的一条重要的指导思想( X)(注:逻辑实现)
35、一般说来,模块的内聚程度越高,它们之间的耦合程度也越高。( X)
36、软件测试只能证明程序有错误,不呢个证明程序没有错误。(对)
37、独立编译的机制对于大型软件的编码工作极为重要。(对)
38、结构化程序设计方法能改善程序结构,提高程序的运行效率。( X)(注:运行效率反而降低了)
39、如果测试数据满足条件覆盖,则必然满足判定覆盖。( X)
40、信息隐藏原则禁止在模块外使用在接口说明的关于高模块的信息。( X)
(注:信息隐藏原则应该隐蔽的不是有关模块的一切信息,而是模块的实现细节)
41、每个类都是其相应对象的一个实例。( X)(注:每个对象都是其相应类的一个实例)
42、在一个设计得很好的系统中,模块的控制域是模块的作用域子集。( X)
(注:在一个设计得很好的系统中,模块的作用域是模块的控制域子集。)
43、编译程序可以发现源程序的一切错误,因此是程序正确性证明的实用工具。( X)
44、在程序调试时,改正该错误比找出错误的位置和性质更难。( X)
(注:在程序调试时,找出错误的位置和性质比改正该错误更难。)
!!!填空题:
1.在信息处理和计算机领域内,一般认为软件是 、 和 。
2. 数据流图的基本组成部分有 ___、 ___、 ___、 ___ 。
3. 数据流图和数据字典共同构成了系统的 __模型,是需求规格说明书的主要组成部分。
4. 划分模块时尽量做到__ __,保持模块的独立性,尽量使用公共模块。
5. 类的实例化是 。
6. 人们常用硬件可靠性的定量度量方法来度量软件的可靠性和可用性,常用的度量软件可
靠性的两个指标是 __和_ 。
8. 将待开发的软件细化,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,
将得到软件的总开发量。这种成本估算方法称为___ 。
10. 如果一个模块被 n 个模块调用,其中直接的上级模块的个数是 m 个( m<=n )那么该模块的扇入数是 个。
11. 结构化设计以 __ ____ 为基础,按一定的步骤映射成软件结构。
15. 面向对象分析的目的是对客观世界的系统进行 ___ ____ 。
16. 软件维护工作的生产性活动包括分析评价、修改设计和 _ 等。
17. 为了使应用软件适应计算机环境的变化而 ___ ____ 的过程称为适应性维护。
18. 一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加,然后求平均值,则该模块的内聚性是 ________ 。
19. 投资回收期就是使累计的经济效益等于 __ 所需的时间。
20. 软件生存周期是指一个软件从提出开发要求开始直到 __ ___为止的整个时期。
21.曾被誉为“程序设计方法的革命”的 程序设计,使程序设计从主要依赖于程序员个人的自由活动
成为有章可循的一门科学。
22.、从结构化程序设计到 ,是程序设计方法的又一次飞跃。
23、. 在单元测试时,需要为被测模块设计 。
24、.软件测试是为了__ _而执行程序的过程。
25、.运行被测程序的方法称为_ 测试。
26、.动态测试中,主要测试软件功能的方法称为 法。
27、.选择测试用例,使得被测程序中每个判定的每个分支至少执行一次,这种逻辑覆盖标准为 。
28.、要覆盖含有循环结构的所有路径是不可能的,一般通过限制 来测试。
29、.用等价类划分法设计测试用例时,如果被测程序的某个输入条件规定了取值范围,则可确定一个合理的等价类和 。
30、.凭经验或直觉推测程序中可能存在的错误而设计测试用例的方法是 。
31、集成测试中的具体方法是 。
32、.确认测试阶段的两项工作是 。
33、.在单元测试中,测试一个模块时,需要设计 。
34、信息流的类型只要包括 和 。
35、与程序流程图相比,盒图没有 ,因此不允许随意转移控制。
36 、 适用于表示多重嵌套的条件选择。
37、动态模型中 将消息从一个对象发送到另一个对象。
38、软件工程中的结构化分析SA是一种面向 的分析方法。
39件模块独立性的两个定性度量标准是 、 。
40、软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个 。
41、 和数据字典共同构成了系统的逻辑模型。
42、作为计算机科学技术领域的一门新兴学科,“软件工程”主要是为了解决 问题。
43、软件设计方法中的Jackson方法是一种面向 的设计方法。
44、在软件测试中黑盒测试的主要任务是通过测试来检查程序的 。
45、螺旋模型的主要优势在于,它是 驱动的。
======================================================================
!!!填空题答案:
1、程序、文档 、数据 2、数据的源点与终点、数据流、加工、数据文件 3、逻辑
4、 高内聚、低耦合 5、对象 6、成功地运行的概率 平均故障时间 8、_自底向上
10 、 n 11、数据流图 15、建模 16、编写程序代码
17、修改软件 18、顺序内聚 19、最初的投资费用 20、_软件废弃
21、结构化 22、面向对象程序设计 23、测试用例 24、发现错误
25、动态测试 26、.黑盒法 27、判定覆盖 28、循环次数
29、两个不合理等价类 30、 错误推测法 31、渐增式和非渐增式测试方法
32、进行确认测试和软件配置审查 33、驱动模块和桩模块 34、交换流 事务流
35、箭头 36、判定表 37、事件 38、数据流
39、内聚性、耦合性 40、由下而上 41、数据流图 42、软件危机
43、数据结构 44、 功能 45、风险
======================================================================
老师课堂讲的有如下
一填空题:
1、同一软件的大量软件产品的生产主要是通过 而得到。
2、软件工程是计算机科学中的一个分支,其主要思想是在软件生产中用 的方法代替传统手工方法。
3、结构化方法由结构化分析、结构化设计和 构成。
4、 是将软件生存周期各个活动规定为依线性顺序连接的若干阶段模型。
5、软件是一种逻辑产品,它以程序和文档的形式出现,通过 才能体现它的功能和作用。
6、软件工程研究的主要内容是软件开发技术和 两个方面。
7、软件生存周期是指一个软件从 开始直到软件报废而止的整个时期。
8、 是一种非整体开发的模型软件在 该模型中“逐渐”开发出来的。
9、 是软件生存周期中时间最长的阶段。
======================================================================
一、填空题答案:
1、复制 2、工程学 3、结构实现 4、瀑布模型 5、运行
6、软件开发管理 7、软件定义 8、增量模型 9、软件维护
二、填空题
1、软件可靠性研究的目的就是用最小的代价在尽可能短的时间内确定 解决。
2、系统流程图是描绘物理系统的传统工具,它用图形符号来表示子系统中各个元素,它表达了系统中各个元素之间的 情况。
3、成本——效益分析的目的是以 评价开发一个新的软件项目是否可行。
4、可行性研究的第一步骤是 。
5、可行性研究的最后步骤是 。
======================================================================
二、填空题答案:
1、问题是否能够 2、流动 3、经济角度 4、复查系统规模和目标 5、书写文档提交审查
三、填空题
1需求分析的基本任务是要标准定义_ ,回答系统必须“做什么”的问题。
2编写_ ,着重反映被开发软件的用户功能界面和用户使用的具体要求,它能强制分析人员从用户使用的观点考虑设计。
3传统的SA方法主要用于数据处理方面的问题,主要工具DFD体现了系统“做”的功能,但它仅是一个 ,没有反映处理的顺序
4为完善地描述用户对系统的需求,DFD应与数据库技术中的 _结合起来。
======================================================================
三、填空题答案:
1、软件的需求 2、用户手册 3、静态模型 4、建立数据模型
四、填空题
1在软件概要设计阶段,编写完文档后,要求是否完整地实现需求中规定的功能,性能等要求设计方案的可行性等等进行 。
2 两模块之间有调用关系,传递的是简单的数据值,这种模块之间耦合称为 。
3一个模块内的个处理元素之间没有任何联系,该模块的内聚性为 。
4结构化设计中以数据流图为基础的两种具体设计方法是 ____ 设计和_______设计
5软件概要设计阶段产生的最重要的文档是 。
6软件结构图中的模块用 表示,并用名字标识破该模块,名字应该体现模块的功能。
7通过抽象,可能确定组成设计的过程实体,通过 可能定义和实施对模块的过程细和局部数据结构的存取限制。
8在多层次结构图中,其模块的层次数称为结构图的_ 。
9模块的基本属性包括接口、 、逻辑、和状态。
======================================================================
四、填空题答案:
1、评审 2、数据耦合 3、偶然内聚_ 4、_变换、事务 5、概要设计说明书
6、矩形 7、信息屏蔽 8、深度_ 9、功能
五、填空题
1在软件详细设计阶段,用JSP方法完成设计的最后一步是用__ ____写出程序。
2详细描述处理过程常用三种工具: ,表格,和语言
3详细设计的目标不仅是逻辑上正确地实现每个模块的功能,还应该使设计的处理过程 。
4程序语言的工程特征性主要表现为可移植性, ,软件的可重用性和维护性
5详细设计的基本任务是确定每个模块的 设计。
6必须在软件交付之前对整个 进行评审,以减少对文档的副作用。
7为了提高程序的易读性,同时为减少错误,提高软件开发效率,编写时应注意养成良好的 。
======================================================================
五、填空题答案:
1、伪码 2、_图形工具 3、应该尽可能简明易懂 4、开发工具的可利用性
5、算法 6、软件配置 7、程序设计_风格。
六、填空题
1.软件测试是为了.发现__ ___而执行程序的过程。
2集成测试时,能较早发现高层模块接口,控制等方面的问题的测试法是 。
3用等价类划分法设计一个测试用例,使其尽可能地覆盖尚未被覆盖过的 等价类。
4在逻辑覆盖的测试技术中,要覆盖含有循环结构的所有路径是不可能的,但可以通过限制 来测试。
5在测试程序中,人们可能根据经验和直觉推测程序中可能存在的各种错误,从而针对性地编写检查这些错误的测试用例,这种方法称为 。
6使用____ ___方法设计测试用例时一般与等价划分结合起来,但它不是从一个等价类中任选一个例子作为代表。
7确认测试又称为_ __,它的任务是检查软件的功能与性能是否与需求规格说明书中的指标相符。
8选择测试用例,使得每个判定表达式中条件的各种可能的值的组合都至少出现一次,这种逻辑覆盖标准称为 。
======================================================================
六、填空题答案:
1、程序中的错误 2、自底向下的渐增式测试 3、合理的 4、循环次数
5、错误测试法 6、边值分析 7、验收测试 8、条件组合
七、填空题
1在整个维护活动中,预防性维护主要占珍格格维护活动的__ _____。
2采用软件工程的方法开发软件,则各阶段都有相应的文档,容易进行维护,这是一种的___ ____维护。
3软件维护费用增加的主要原因是软件维护的_ ______非常低。
4用于软件维护工作的活动课分为生产活动和非生产性活动两种,非生产性活动包括理解程序代码功能, ,接口特点和设计约束
5所有软件维护申请报告应按规定的方法提出,该报告也称为__ ____。
6不管维护类型如何,大体上要开展相同的技术工作,这些工作包括,__ _ ___,必要的代码维修,单元测试,集成测试,确认测试以及复审。每种维护类型的侧重点不一样。
7维护阶段是软件生命周期中时间___ ___的一个阶段,所花费的精力和费用也是 的一个阶段。
8在软件交付使用后,由于软件开发过程中产生的错误并没有完全彻底地在测试中发现,因此,必然有一部分被带到 _ __ _阶段上来。
9维护的副作用有三种:编码副作用,数据副作用,文档副作用,__ ____副作用是修改软件信息结构导致的结果。
======================================================================
七、填空题答案:
1、比例很小 2、结构化 3 、生产率 4 、数据结构 5、软件问题报告
6、软件设计 7、最长、最多 8 、软件维护 9、数据副作用
八、填空题
1对象有操作,用于改变对象的状态,对象及其操作就是对对象的 _____。
2类具有属性,它是对象的状态的抽象,用___ ____描述类的属性。
3采用面向对象方法开发软件的基本目的和主要优点是通过重用提高软件的___ ____
4在类层次中,子类只继承一个父类的数据结构和方法,则称为___ ____。
5动态模型描述了系统的__ _ ___。
6 __ _____是封装的最基本单位
7瀑布模型把设计进一步划分成概要设计和详细设计两个阶段,类似地,也可以把面向对象设计再细分为_ 和对象设计。
8现实世界中,各种对象之间相互触发的,一个触发行为就是一个____ _ __。
9____ ___是类中对象所使用的一个功能或变。
10面向对象分析的目的是对客观世界的系统进行___ ____。
======================================================================
八、填空题答案:
1、行为 2、数据结构 3 、开发的生产率 4 、单继承 5、动态行为_
6、对象 7 、系统设计 8、事件 9、操作 10、键模
简答题:
1.软件工程的七条基本原理是什么?
答:软件工程的七条基本原理是:
(1用分阶段的是的生存周期计划严格管理;
(2) 坚持进行阶段评审;
(3) 严格实施的产品控制;
(4)采用现代程序技术;
(5) 结果应能清楚地审查;
(6)开发小组的成员应该少而精;
(7)承认不断改进软件工程的必要性。
2.良好的编码风格应具备哪些条件?
答:应具备以下条件:
(1)使用标准的控制结构;
(2)有限制地使用GOTO语句;
(3)源程序的文档化 (应具备以下内容)
①有意义的变量名称 —— “匈牙利命名规则 ”。
②适当的注释 ——“注释规范”。
③标准的书写格式:
——用分层缩进的写法显示嵌套结构的层次(锯齿形风格);
——在注释段的周围加上边框;
——在注释段与程序段、以及不同程序段之间插入空行;
——每行只写一条语句;
——书写表达式时,适当使用空格或圆括号等作隔离符。
(4)满足运行工程学的输入输出风格。
3.简述文档在软件工程中的作用。
答:(1) 提高软件开发过程的能见度
(2) 提高开发效率
(3) 作为开发人员阶段工作成果和结束标志
(4) 记录开发过程的有关信息便于使用与维护;
(5) 提供软件运行、维护和培训有关资料;
(6) 便于用户了解软件功能、性能。
4.可行性研究包括哪几方面的内容?
答:(1)经济可行性:是否有经济效益,多长时间可以收回成本;
(2)技术可行性:现有技术能否实现本系统,现有技术人员能否胜任,开发系统的资源能否满足;
(3)运行可行性:系统操作在用户内部行得通吗?
(4)法律可行性:新系统开发是否会侵犯他人、集体或国家利益,是否违反国家法律。
5.结构化的需求分析描述工具有哪些?
答:有数据流图(DFD)、数据字典(DD)、判定表、判定树、结构化语言(PDL)、层次方框图、Warnier图、IPO图、控制流图(CFD)、控制说明(CSPEC)、状态转换图(STD)和实体—关系图(E—R)等。
6.一般面向对象分析建模的工具(图形)有哪些?
答:用例图、类/对象图、对象关系图、实体—关系图(E—R)、事件轨迹图(时序图)和状态转换图(STD)等。
7.UML统一建模语言有哪几种图形?
答、用例图、类图、对象图、构件(组件)图、部署(配置)图、状态图、活动图、顺序(时序)图、合作(协作)图等九种图。
8.在面向对象分析时类和对象的静态关系主要有哪几种?
答:类和对象的静态关系主要有关联、聚集、泛化、依赖等四种关系。
9. 什么是模块化?模块设计的准则?
模块化是按规定的原则将一个大型软件划分为一个个较小的、相对独立但又相关的模块。
模块设计的准则:
(1) 改进软件结构, 提高模块独立性:在对初步模块进行合并、分解和移动的分析、精化过程中力求提高模块的内聚,降低藕合。
(2) 模块大小要适中:大约50行语句的代码,过大的模块应分解以提高理解性和可维护性;过小的模块,合并到上级模块中。
(3) 软件结构图的深度、宽度、扇入和扇出要适当。一般模块的调用个数不要超过5个。
(4) 尽量降低模块接口的复杂程度;
(5) 设计单入口、单出口的模块。
(6) 模块的作用域应在控制域之内。
10.什么是模块独立性?用什么度量?
答:模块独立性概括了把软件划分为模块时要遵守的准则,也是判断模块构造是不是合理的标准。独立性可以从两个方面来度量:即模块本身的内聚和模块之间的耦合。
11. 变换型数据流由哪几部分组成?
答:变换型结构由三部分组成:传入路径、变换(加工)中心和传出路径。
12. 变换分析设计的步骤?
答:(1) 区分传入、传出和变换中心三部分,划分DFD图的分界线;
(2) 完成第一级分解:建立初始SC图的框架;
(3) 完成第二级分解:分解SC图的各个分支;
(4) 对初始结构图按照设计准则进行精化与改进。
13. 事务型数据流由哪几部分组成?
答:事务型结构由至少一条接受路径、一个事务中心与若干条动作路径组成。
14. 事务分析设计的步骤?
答:(1) 在DFD图中确定事务中心、接收部分(包含全部接收路径)和发送部分(包含全部动作路径);
(2) 画出SC图框架,把DFD图的三部分,分别映射"为事务控制模块,接收模块和动作发送模块.一般得到SC图的顶层和第一层(如果第一层简单可以并入顶层);
(3) 分解和细化接收分支和动作分支,完成初始的SC图;
(4) 对初始结构图按照设计准则进行精化与改进。
15.数据字典包括哪些内容?
答:数据字典是描述数据流图中数据的信息的集合。它对数据流图上每一个成分:数据项、文件(数据结构)、数据流、数据存储、加工和外部项等给以定义和说明;它主要由数据流描述、加工描述和文件描述三部分组成。
16.什么是软件生存周期?把生存周期划分为阶段的目的是什么?
答:一个软件从开始计划起,到废弃不用止,成为软件的生存周期。把整个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的任务,能够简化每一步的工作内容,使因为软件规模增长而大大增加了的软件复杂性变得较易控制和管理。
17.详细设计的目的?
答:为软件结构图(SC图或HC图)中的每一个模块确定采用的算法和块内数据结构,用某种选定的表达工具给出清晰的描述.
18.详细设计的任务是什么?
答:为每个模块确定采用的算法;确定每一模块使用的数据结构;确定模块接口的细节;编写过程设计说明书;设计每一模块的测试用例。
19. 编码的任务?
答:使用选定的程序设计语言,把模块的过程性描述翻译为用语言书写的源程序(源代码)。
20.软件测试的基本任务?
答:软件测试是按照特定的规则,发现软件错误的过程;好的测试方案是尽可能发现迄今尚未发现错误的测试;成功的测试方案是发现迄今尚未发现错误的测试。
21.什么是黑盒测试?黑盒测试主要采用的技术有哪些?
答:黑盒测试也称为功能测试,它着眼于程序的外部特征,而不考虑程序的内部逻辑结构。测试者把被测程序看成一个黑盒,不用关心程序的内部结构。黑盒测试是在程序接口处进行测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
黑盒测试主要采用的技术有:等价分类法、边界值分析法、错误推测法和因果图等技术。
22.什么是白盒测试?白盒测试主要采用的技术有哪些?
答:白盒测试是测试者了解被测程序的内部结构和处理过程,对程序的所有逻辑路径进行测试,在不同点检查程序状态,确定实际状态与预期状态是否一致。
白盒测试主要采用的技术有:路径测试技术和事务处理流程技术,对包含有大量逻辑判断或条件组合的程序采用基于逻辑的测试技术。
23.路径测试技术中几种主要覆盖的含义?举例说明?
答:语句覆盖:至少执行程序中所有语句一次。
判定覆盖:使被测程序中的每一个分支至少执行一次。故也称为分支覆盖。
条件覆盖:执行所有可能的穿过程序的控制路流程。
条件组合测试:设计足够的测试用例,使每个判定中的所有可能条件取值组合至少执行一次。
(例略)
24.等价分类法的测试技术采用的一般方法?举例说明?
答:(1) 为每个等价类编号;
(2) 设计一个新的测试方案,以尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步骤,直到所有有效等价类被覆盖为止。
(3) 设计一个新的测试方案,使它覆盖一个尚未被覆盖的无效等价类, 重复这一步骤,直到所有无效等价类被覆盖为止。
(例略)
25.为什么说软件的维护是不可避免的?
答:因为软件的开发过程中,一般很难检测到所有的错误,其次软件在应用过程中需要随用户新的要求或运行环境的变化而进行软件的修改或完成功能的增删等,为了提高软件的应用水平和使用寿命,软件的维护是不可避免的。
26.软件的维护一般分为哪几类?
答:完善性维护:满足用户在使用过程中提出增加新的功能或修改已有功能,以满足用户日益增长的需要而进行的工作;
适应性维护:是软件适应新的运行环境而进行的工作;
纠错性维护:纠正开发期间未发现的遗留错误,即在程序使用期间发现的程序错误进行诊断和改正的过程;
预防性维护:为了改善未来的可维护性或可靠性而修改软件的工作。
27.决定软件可维护性的因素?
答:(1) 软
展开阅读全文