1、2011-2012 年第二学期软件工程复习答疑 任课教师:魏定国教授1一、名词解释1、 软件危机指在计算机软件的开发和维护过程中所遇到的一系列严重问题2、 需求分析3、 答:需求分析是指开发人员要准确理解用户的需求,进行细致的调查分析,将用户非形式的需求陈述转化成完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。4、 Alpha 测试答:用户在开发者的场所进行测试,并且在开发者的指导下进行,测试在受控环境中进行,开发者记录发现的错误和问题Beta 测试答:用户在一个或多个客户场所进行测试,不受开发者控制,测试者记录发现的问题和错误,定期将问题报告发送给开发者。5、 数
2、据字典是关于数据信息的集合,具体来说是指描述和说明数据流图中各元素的词条集合6、 面向对象方法中的“类(Class) ”答:面向对象方法中的“类(Class) ”就是对具有相同数据和相同操作的一组相似对象的定义。7、 面向对象中的“重载(Overloading) ”答:有两种重载:(1)函数重载指在同一作用域内的若干个参数特征不同的函数可以使用相同的函数名字。(2)运算符重载指同一运算符可以施加于不同类型的操作数上面。当被操作数类型不同时,运算符的含义是不同的。8、 动态模型答:动态模型是与时间和变化有关的系统性质。该模型描述了系统的控制结构,他表示了瞬时的、行为化的系统控制性质。它关心的是系
3、统的控制,操作的执行顺序。它从对象的事件和状态的角度出发,表现了对象的相互行为。9、 软件模块设计中的“内聚”答:一个模块内部各个元素彼此结合的紧密程度。它是衡量一个模块内部组成部分间整体统一性的度量。10、 面向数据流的设计方法中的“事务流”答:事务型数据流图中存在一个事务中心(也就是数据处理、加工中心) ,它将输入分离成若干个发散的数据流,形成许多活动路径,并根据输入值选择其中一条路径,这类数据流就是事务流。11、 软件模块设计中的“耦合”答:软件模块设计中的“耦合”是指软件结构内不同模块彼此之间相互依赖(连接)的紧密程度。12、 面向数据流的设计方法中的“变换流”答:具有较明确的输入、变
4、换(或称主加工)和输出界面的数据流图称为变换型数据流图。13、 模块是数据说明,可执行语句等程序对象的集合.14、 原型是使用样机,使用户通过实践获得对未来系统的的概念,可以更准确提出要求.15、 经济可行性进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发.16、 社会可行性要开发的项目是否存在任何侵犯,妨碍等责任问题,要开发项目目的运行方式在用户组织内是否行得通,现有管理制度, 人员素质,操作方式是否可行 .17、 投资回收期解:投资回收期就是使累计的经济效益等于最初的投资费用所需的时间.数据流图(DFD) 数据流图(Data Flow Diagram,简称 DFD
5、)是以图形方式刻画各种业务数据处理过程。10、软件可重用18、内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。2011-2012 年第二学期软件工程复习答疑 任课教师:魏定国教授219、面向对象技术中的“类”答:在面向对象的软件技术中, “类”就是对具有相同数据和相同操作的一组相似对象的定义,也就是说,类是对具有相同属性和行为的一个或多个对象的描述,通常在这种描述中也包括对怎样创建该类的新对象的说明。20、面向对象技术中的“封装”答:在面向对象的程序中,把数据和实现操作的代码集中起来放在对象内部。一个对象好像是一个不透明的黑盒子,表
6、示对象状态的数据和实现操作的代码与局部数据,都被封装在黑盒子里面,从外面是看不见的,更不能从外面直接访问或修改这些数据和代码。使用一个对象的时候,只需知道它向外界提供的接口形式,无须知道它的数据结构细节和实现操作的算法。21、对象的形式化定义答:对象=ID,MS,DS,MI 。其中,ID 是对象的标识或名字,MS 是对象中的操作集合,DS 是对象的数据结构,MI 是对象受理的消息名集合 (即对外接口)。22、面向对象技术中的“封装”答:面向对象技术中,封装是把数据和实现操作的代码集中起来放在对象内部。一个对象好像是一个不透明的黑盒子,表示对象状态的数据和实现操作的代码与局部数据,都被封装在黑盒
7、子里面,从外面是看不见的,更不能从外面直接访问或修改这些数据和代码。使用一个对象的时候,只需知道它向外界提供的接口形式,无须知道它的数据结构细节和实现操作的算法23、面向对象技术中的“多态”答:在面向对象的软件技术中,多态是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象。也就是说,在类等级的不同层次中可以共享(公用)一个行为(方法)的名字,然而不同层次中的每个类却各自按自己的需要来实现这个行为。当对象接收到发送给它的消息时,根据该对象所属于的类动态选用在该类中定义的实现算法。24、面向对象技术中的“继承”答:广义地说,继承是指能够直接获得已有的性质和特征,
8、而不必重复定义它们。在面向对象的软件技术中,继承是子类自动地共享基类中定义的数据和方法的机制。一个类直接继承其父类的全部描述(数据和操作 )。24、软件维护答:所谓软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。25、软件的可靠性答:对于软件可靠性有许多不同的定义,其中多数人承认的一个定义是:软件可靠性是程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率。26、对象模型中的泛化答:UML 中的泛化关系就是通常所说的继承关系,它是通用元素和具体元素之间的一种分类关系。具体元素完全拥有通用元素的信息,并且还可以附加一些其他信息。27、系统设计说明书答:系统
9、设计说明书是从系统总体的角度出发对系统建设中各主要技术方面的设计进行说明,是系统设计阶段的产物,其着重点在于阐述系统设计的指导思想以及所采用的技术路线和方法,编写系统设计说明书将为后续的系统开发工作从技术和指导思想上提供必要的保证。28、结构化分析答:结构化分析是根据分解与抽象的原则,按照系统中数据处理的流程,用数据图来建立系统的功能模型,从而完成需求分析工作可执行的规格说明答:这是一种使要求说明过程自动化的技术,通过可执行的规格说明语言来描述预期的行为“做什么” ,2011-2012 年第二学期软件工程复习答疑 任课教师:魏定国教授3人们可以从直接观察中用规格说明语言来规定任何系统行为。29
10、、黑盒测试法答:该方法把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件接口处进行测试,依照需求规格说明书,检查程序是否满足功能要求。因此,黑盒测试又称为功能测试或数据驱动测试。30、白盒测试法答:该方法把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。白盒法也不可能进行穷举测试。五、简答题1. 需求分析阶段的基本任务是什么?需求分析阶段的基本任务是要准确的定义新系统的目标,为了满足用户需要,回答系统必须“做什
11、么”的问题。本阶段要进行以下几方面的工作: 问题识别。双方确定对问题的综合需求,这些需求包括:功能需求、性能需求、环境需求、用户界面需求,另外还有可靠性、安全性、保密性、可移植性、可维护性等方面的需求。分析与综合,导出软件的逻辑模型。分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。这里也包括对数据域进行分解,并分配到各个子功能上,以确定系统的构成及主要成份,并用图文结合的形式,建立起新系统的逻辑模型。 编写文档。编写“需求规格说明书” 、编写初步用户使用手册、编写确认测试计划、修改完善软件开发计划。2. 数据流图简称 DFD,是 SA 方法中用于表
12、示系统逻辑模型的一种工具。它以图形的方式描述数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。数据流图有四种基本图形符号:“”箭头表示数据流;“”圆或椭圆表述加工;“=”双杠表示数据存储;方框表示数据的源点或终点。(3 分)2、什么是软件危机?其产生的原因是什么?答:当软件开发技术的进步不能跟上硬件技术的进步,未能满足发展的要求,致软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。主要表现为:(1)经费预算经常突破,完成时间一再拖延;(2)开发的软件不能满足用户要求;(3)开发的软件可维护性差;(4)开发的软件可靠
13、性差。造成软件危机的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的。共产生原因主要有以下几方面:(1)软件的规模越来越大,结构越来越复杂;(2)软件开发管理困难而复杂;(3)软件开发费用不断增加;(4)软件开发技术落后;(5)生产方式落后;(6)开发工具落后,生产率提高缓慢。 2011-2012 年第二学期软件工程复习答疑 任课教师:魏定国教授43、.说明结构化程序设计的主要思想是什么? 答:(1)自顶向下、逐步求精的程序设计方法 (2)使用 3 种基本控制结构、单入口、单出口来构造程序。 4、.软件测试包括哪些步骤?说明这些步骤的测试对象是什么? 答:(1)单元测试,
14、测试对象对单元模块(2)集成测试,测试对象为组装后的程序模块(3)确认测试,测试对象为可运行的目标软件系统 5、需求 分析与软件设计二个阶段任务的主要区别是什么? 答:需求分析定义软件的用户需求,即定义待开发软件能做什么 软件设计定义软件的实现细节以满足用户需求,即研究如何实现软件。 6、软件开发成本估算方法有哪几种?答:(1)自顶向下估算方法。估算人员参照以前完成的项目所耗费的总成本(或总工作量) ,来推算将要开发的软件的总成本(或总工作量) ,然后把它们按阶段、步骤和工作单元进行分配,这样方法称为自顶向下的估算方法。 (1 分)(2)自底向上估算方法。自底向上估算方法是将待开发的软件细分,
15、分别估算每一个子任务所需要的开发工作量,然后将它们加起来,得到软件的总开发量。 (1 分)(3)差别估算方法。差别估算是将开发项目与一个或多个已完成的类似项目进行比较,找出与某个相类似项目的若干不同之处,并估算每个不同之处对成本的影响,导出开发项目的总成本。 (1 分)(4)专家估算法。依靠一个或多个专家对要求的项目做出估算。 (1 分)(5)类推估算法。 (0.5 分)(6)经验公式估算法。 (0.5 分) 7、说明软件测试和调试的目的有何区别? 答:测试的目的是判断和发现软件是否有错误 , 调试的目的是定位软件错误并纠正错误。 8、 什么是确认测试?该阶段有哪些工作?答:确认测试又称有效性
16、测试。它的任务是检查软件的功能与性能是否与需求规格说明书中确定的指标相符合 。确认测试阶段有两项工作,进行确认测试与软件配置审查:(1)确认测试一般是在模拟环境中运用黑盒测试方法,由专门测试人员和用户参加的测试。(2)软件配置审查的任务是检查软件的所有文档资料的完整性、正确性。如果发现遗漏和错误,应补充和改正,同时要编排好目录,为以后的软件维护工作奠定基础。 9、如何做好软件质量保证工作? 软件质量保证工作是软件工程管理的重要内容,软件质量保证应做好以下几个方面的工作:(1)采用技术手段和工具。质量保证活动要贯彻开发过程始终,必须从采用技术手段和工具,尤其是使用软件开发环境来进行软件开发。(2
17、)组织正式技术评审,在软件开发的第一个阶段结束时,都要组织正式的技术评审。国家标准要求单位必须采用审查、文档评审、设计评审、审计和测试等具体手段来保证质量。(3)加强软件测试。软件测试是质量保证的重要手段,因为测试可发现软件可发现软件中大多数潜在错误。(4)推选软件工程规范(标准) 。用户可以自己指定软件工程规范(标准) ,但标准一旦确认就应贯2011-2012 年第二学期软件工程复习答疑 任课教师:魏定国教授5彻执行。(5)对软件的变更进行控制。软件的修改和变更常常会引起潜伏的错误,因此必须严格控制软件的修改和变更。(6)对软件质量进行度量。即对软件质量进行跟踪,及时记录和报告软件质量情况。
18、10、简述建立对象模型的过程。 答:典型的工作步骤是:(1)首先确定对象类和关联(因为它们影响系统整体结构和解决问题的方法);(2)对于大型复杂问题还要进一步划分出若干个主题;(3)然后给类和关联增添属性,以进一步描述它们;(4)接下来利用适当的继承关系进一步合并和组织类;(5)由于经过一次建模过程很难得到完全正确的对象模型,所以需要反复修改。11. 一般来讲,开发一个软件系统首先应该遵循的基本原则是什么?(无解释给 3 分,有解释满分)答:开发一个软件系统首先应该遵循的基本原则:(1)首先要建立一个领导子:能调动资源的行政领导有经验的系统开发工程师用户(专家)软件开发人员(2)软件系统开发严
19、格按软件生命周期分阶段进行:可行性分析需求(系统)分析总体(概要)设计软件系统的详细设计软件系统的实施(3)要有用户的观点(4)要加强文档资料的管理12. 简述软件再工程的过程(无解释给 3 分,有解释满分)?答:(1)库存目录分析;包含每个应用系统的信息,如:名称、构建日期、修改次数、过去 18 个月报告的错误、用户数量、文档质量、预期寿命,等。从中选出再工程的候选者。(2)文档重构;如果一个程序走向生命终点,不再经历变化,则保持现状;重构只针对当前正在修改的软件部分。(3)逆向工程;逆向工程是一个恢复设计结果的过程,从程序代码中抽取数据结构、体系结构和处理过程的设计信息。(4)代码重构;分
20、析源代码,标注出与结构化程序设计概念不符的部分,重构它的代码,测试重构代码并更新代码。(5)数据重构;当数据结构较差时,进行再工程。如以文件方式保存数据变为以数据库方式存储。(6)正向工程。也称革新或改造,即应用软件工程的原理、概念、技术和方法来重新开发现有系统。2011-2012 年第二学期软件工程复习答疑 任课教师:魏定国教授613简述提高软件可维护性的方法。(每项 1 分)(1)建立明确的软件质量标准;(2)使用先进软件开发技术和工具;(3)建立明确的软件质量保证工作;(4)选择可维护的程序设计语言;(5)改进程序文档。14、简述软件需求说明书(软件规格说明书)中包含的内容?(每项 1
21、分)答:(1)软件系统的开发背景资料(主要相关人、财、物或设备) ;(2)所开发软件的功能、性能、用户界面及运行环境等作出详细的说明;(3)软件系统详细的逻辑模型:数据流图(DFD)+数据词典( DD)或面向对象的三大模型(对象模型、动态模型和功能模型)等(4)系统开发计划表(5)所有附加文档:调查问卷信息、BPFD 等15、 在测试中,如何估计软件中故障总数 ET?(无解释 3 分,有解释满分)答:(1)Halstead 估算方法:(1 分)Halstead 预测程序中包含错误个数的公式 ET = N log2(n1+n2) / 3000 (2)经验法:(1 分)单位长度里的故障数 ET/
22、IT 近似为常数。一些统计数字表明,通常有: 0.510-2ET/ IT210-2 。(3)植入故障法(1 分)假设人为地植入的故障数为 Ns,经过一段时间的测试之后发现 ns 个植入的故障,同时还发现了n 个原有的故障,则可以估计出程序中原有的故障总数:(4)分别测试法 (2 分)分别测试法随机把程序中一部分原有错误加上标记,根据测试发现的有标记和无标记错误的比例,估计程序错误总数。分别测试法使用两个测试员,独立地测试同一个程序的两个副本,由另一名分析员分析他们的测试结果,把其中一个测试员发现的故障作为有标记的故障。每隔一定时间,分析员分析两名测试员的测试结果,来估计错误总数。几次估计结果差
23、不多时,用其平均值作为错误总数的估计值。16、简述面向对象分析的主要步骤。 (无解释 3 分,有解释满分) 答:(1)需求陈述(2)寻找类与对象(3)识别结构,确定对象之间的关联(4)识别主题(5)定义属性(6)建立动态模型(7)建立功能模型(8)定义服务。17、简述建立动态模型的步骤。答:动态模型表示瞬时的、行为化的系统的“控制”性质,它规定了对象模型中的对象的合法变化序列。通常,用 UML 提供的状态图来描绘对象的状态、触发状态转换的事件以及对象的行为(对事件的响应)(2 分)建立动态模型的步骤:第一步,是编写典型交互行为的脚本。虽然脚本中不可能包括每个偶然事件,但是,至少必须保证不遗漏常
24、见的交互行为。sNn2011-2012 年第二学期软件工程复习答疑 任课教师:魏定国教授7第二步,从脚本中提取出事件,确定触发每个事件的动作对象以及接受事件的目标对象。第三步,排列事件发生的次序,确定每个对象可能有的状态及状态间的转换关系,并用状态图描绘它们。最后,比较各个对象的状态图,检查它们之间的一致性,确保事件之间的匹配。 (3 分)18、快速原型技术的基本思想是什么?答:在软件开发的早期,快速开发一个目标软件系统的原型,让用户对其进行评价并提出修改意见,然后开发人员根据用户的意见对原型进行改进。六、 综合题(每题 10 分,共 20 分)(一)有一个长度为48000 条机器指令的程序,
25、第一个月由甲、乙二人分别测试它。甲改正了20 个错误,使程序的平均无故障时间达到8 小时。乙在测试该程序的另一个副本时改正了24 个错误,其中6 个错误与甲改正的相同。然后,由甲一个人继续测试这个程序。请问:(1)刚开始测试时程序中的错误总数ET 是多少?(2)为使平均无故障时间达到240h,如果甲不利用乙的工作成果,则他还需再改正多少个错误?(3)为使平均无故障时间到达480h,如果甲利用了乙的工作成果,则他还需再改正多少个错误?解:(1)刚开始测试时程序中错误总数为ET=(24/6)*20=80(2)由方程 E C=ET -IT/(K*MTTR)得20=80 -4800/(K*8) 解得
26、K=48000/8(80-20)=100由方程 E C1=80-48000/(100*240) 解得 E C1=7878-20=58 即为使平均无故障时间到达240h,如果甲不利用乙的工作成果,则他还需再改正58个错误。(3)由方程EC2=80-48000/(100*480)解得 E C2=7979-20-(24-6)=41即为使平均无故障时间到达480h,如果甲利用了乙的工作成果,则他还需要再改正41 个错误。(二)假设有一个由 5000 行高级语言构成的程序(经编译后大约有 25000 条机器指令),根据美国多年的统计经验,你估计在对它进行测试期间将发生多少个错误?为什么?解:经验表明,在
27、类似的程序中,单位长度里的错误数 Er/Ir 近似为常数。美国的一些统计数字告诉我们,通常 0.510 -2 1)THEN X:=ABIF(A2)AND(B=0)THEN X:=A 3END先画出程序流程图。 再按语句覆盖法设计测试数据。2011-2012 年第二学期软件工程复习答疑 任课教师:魏定国教授8(四)输入三整数,判断是否构成三角形,如构成三角形,则输出三条边的值,否则输出“不能构成三角形” 。要求:1用程序流程图表示该问题的算法;(3 分)2McCabe 方法计算程序的复杂度; (4 分)3设计路径覆盖的测试用例。 (3 分)解:1程序流程图2用 McCabe 方法计算程序复杂度程
28、序复杂度=3+1=4路径:(1)(2)(3)(4) 开始输入 A,B,CA+BCA+CBB+CA输出ABC不能构成三角形结束FFFTTT 2011-2012 年第二学期软件工程复习答疑 任课教师:魏定国教授93设计路径覆盖的测试用例测试用例路径 测试用例(A,B,C) 结果1 A=3,B=4,C=5 A=3,B=4,C=52 A=5,B=8,C=2 不能构成三角形3 A=2,B=2,C=5 不能构成三角形4 A=5,B=2,C=2 不能构成三角形(五) 已知一个软件项目的记录,开发人员 M=3 人,其代码行数=12.1KLOC,工作量 E=24PM,成本S=168000 美元,错误数 N=29
29、,文档页数 Pd=365 页。试计算开发该软件项目的生产率 P(= L / E) 、平均成本 C(= S / L) 、代码出错率 EQR(= N / L)和文档率 D (= Pd / L) 。 (4 分)解:(1)软件开发的生产率 P 为:P = L / E = 12.1103LOC / 24PM = 504 LOC/PM(2)开发每行代码的平均成本 C 为:C = S / L = 168000 美元 / 12100LOC=13.9 美元/LOC(3)代码出错率 EQR 为:EQR = N / L = 29 个/12.1KLOC=2.4 个/KLOC(4)软件的文档率 D 为:D = Pd /
30、 L = 365 页 / 12.1KLOC = 30 页/ KLOC2根据下列程序流程图,设计不超过 2 组的测试用例,使之满足语句覆盖,要求给出每组测试数据的执行路径、输入值、输出值及两个判定(3)和(5)的判定结果。 (6 分)解:2011-2012 年第二学期软件工程复习答疑 任课教师:魏定国教授10因答案不唯一,略(六)一个软件公司有许多部门,分为开发部门和管理部门两种,每个开发部门开发多个软件产品,每个部门由部门名字唯一确定。该公司有许多员工,员工分为经理,工作人员和开发人员。开发部门有经理和开发人员,管理部门有经理和工作人员。每个开发人员可参加多个开发项目,每个开发项目需要多个开发
31、人员,每位经理可主持多个开发项目,建立该公司的对象模型。解:(七)根据下 列事务型的数据流图,设计出初始软 件结构图I2I3I1TCB1A1C1B2A2C2事 务 中 心 加 工 路 径输 入 流软件公司部门名部门开发部门 管理部门软件产品开发人员 经理开发项目工作人员员工是是有有有有开发参加1+1+ 1+1+1+1+ 1+ 有2011-2012 年第二学期软件工程复习答疑 任课教师:魏定国教授11解:只按教材(或我的 PPT)上只画模块可得 6 分,加信息流可得满分(八)将下列 PDL 程序翻译成 McCabe 流图,并计算出该程序的复杂度( 6 分)PDLProcedure: sort1:
32、 do while records remain2: read record;If record filed 1=03: then process record;store in buffer;increment counter;4: else if record field 2=05: then reset counter;6: else process record;Store in file;7a: endifendif7b: enddo8: end(1)PDL 程序翻译成 McCabe 流图(4 分)2011-2012 年第二学期软件工程复习答疑 任课教师:魏定国教授12(2)计算程序
33、复杂度(2 分)方法 A:程序图把平面分为 4 个区域,程序复杂度 V(G)4;方法 B:边的条数 E11,结点数 N9,程序复杂度 V(G )EN24 ;方法 C:判定结点为 1、2、4 点,数目为 P3 个,所以 V(G)P14。(九)某市招干考试,分法律、行政、财经三个专业,每个专业考生参加两门基础课、一门专业课考试。考生报名后,招生委员会做统一考前处理,并登记考生情况。考试后,输入考生成绩,计算考生成绩总分,输出考生成绩单。录用时,各专业考生按总分排序,由高分到低分录用,录用结束后,对考生情况统计分析。1试画出数据流图2试画出 IPO 图3画出系统结构图解:1数据流图2011-2012
34、 年第二学期软件工程复习答疑 任课教师:魏定国教授13考生登记考生基本情况考前处理考生情况统计考生情况文件计算考生成绩总分输入考生成绩输出考生成绩单 考生各专业考生按总分排序录用输出录用通知单考生2IPO 图3画出系统结构图考生情况考生成绩考前处理计算总分按总分排序录用统计准考证号考生成绩单总分名次表录用通知书统计结果考试系统输入 处理 输出输入考生基本情况输入考生成绩计算总分输出考生成绩单2011-2012 年第二学期软件工程复习答疑 任课教师:魏定国教授14(十)变量的命名规则一般规定如下:变量名的长度不多于 40 个字符,第一个字符必须为英文字母,其他字母可以英文字母、数字以及下划线的任
35、意组合。1划分等价类2设计测试用例解:1划分等价类(略)2设计测试用例 测试数据 测试范围 期望结果 (1) s_name12 等价类(1),(3),(4) 有效 (2) a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6p7q8r9s_tr 等价类(2),(3),(4) 有效 (3) a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6p7q8r9s_trff 等价类(5) 无效 (4) 234name 等价类(6) 无效 (5) ab gh 等价类(7) 无效 (6) ab!2f 等价类(8) 无效 (7) fg+ghh 等价类(9) 无效 (8) Hgh 等价类(10) 无效 (十一)对以下程序进行测试:PROCEDURE EX(A ,B:REAL;VAR X:REAL) ;BEGINIF(A=3)OR(B 1)THEN X:=ABIF(A2)AND(B=0)THEN X:=A 3END先画出程序流程图。 再按语句覆盖法设计测试数据。解:流程 图如下:开始A=3 OR B1 BA2 and B=0X=A+BX=A-3返回2011-2012 年第二学期软件工程复习答疑 任课教师:魏定国教授15语句覆盖测试数据: A=3 B=0 (4 分)