软件工程习题课
软件工程导论(第六版)部分课后习题-答案

软件工程导论(第六版)部分课后习题-答案软件工程导论(第六版)部分课后习题-答案一、选择题1. 答案:B解析:选择题解析2. 答案:A解析:选择题解析二、判断题1. 答案:对解析:判断题解析2. 答案:错解析:判断题解析三、填空题1. 答案:软件工程解析:填空题解析2. 答案:开发、维护解析:填空题解析四、简答题1. 答案:软件需求分析是软件工程的第一步,它主要是通过对用户需求的调查和分析,确定软件系统需要具备的功能和性能以及相关约束条件。
解析:简答题解析2. 答案:软件开发过程中的质量保证主要包括软件测试和代码评审两个方面。
软件测试是通过运行和验证软件系统的过程,以确定其是否满足预期的需求和标准。
代码评审则是对软件代码进行审查和评估,在开发过程中发现和修复潜在的问题和错误。
解析:简答题解析五、计算题1. 答案:20解析:计算题解析2. 答案:1000解析:计算题解析六、案例分析题1. 答案:软件项目管理是指对软件项目进行规划、组织、分配和控制的过程。
它包括项目范围管理、时间管理、成本管理、质量管理、风险管理等方面。
在一个项目中,软件项目经理负责整体的项目管理工作,包括资源的分配、进度的控制、风险的管理等。
解析:案例分析题解析2. 答案:敏捷开发是一种迭代、逐步增量的软件开发方法。
它强调快速、灵活地响应用户需求的变化,通过频繁的迭代和持续的反馈来逐步完善软件系统。
敏捷开发方法注重团队合作、交流和高效的沟通,通过直接面对面的沟通取代冗长的文档和繁琐的流程,提高软件开发的效率和质量。
解析:案例分析题解析总结:本文主要针对《软件工程导论(第六版)》部分课后习题提供了答案和解析。
其中包括选择题、判断题、填空题、简答题、计算题和案例分析题等多个题型。
通过解答这些习题,读者可以进一步加深对软件工程的理解和掌握。
希望本文对读者有所帮助,谢谢阅读。
软件工程(李军国等)课后习题原题

软件工程习题习题1一、判断题1.程序是按事前设计的功能和性能要求执行的指令序列。
2.数据是使程序能够正确操纵信息的数据结构。
3.文档是与程序开发、保护和利用有关的图文材料。
4.软件开发时,一个错误发现得越晚,为更正它所付出的代价就越大。
5.增量模型的特点是文档驱动。
6.瀑布模型的特点是文档驱动。
7.瀑布模型是一种软件生存周期模型。
8.在软件生存周期中,用户主如果在软件开发期参与软件开发。
9.瀑布模型的主要问题是靠得住性低。
10.软件生存周期中时间最长的阶段是需求分析。
11.原型化方式适用于需求已肯定的系统。
12.瀑布模型本质上是一种线性顺序模型。
13.原型化方式是用户和软件开发人员之间进行的一种交互进程,适用于需求不肯定性高的系统。
二、填空题1.软件工程是开发、运行、保护和修复软件的系统化方式,它包括的三个要素指的是:(A )(B )和(C )2.软件是计算机系统中与硬件彼此依存的另一部份,它是包括(A )(B )及(C )的完整集合。
3.开发软件时对提高软件开发人员工作效率相当重要的是(A),软件工程中描述生存周期的瀑布模型一般包括计划(B )、设计、编码、测试、保护等几个阶段,其中设计阶段在管理上又可以依次分成(C )和(D )两步。
4.软件发展进程的第一阶段称为“程序设计的原始时期”,这时既没有(A ),也没有(B ),程序员只能用机械指令编写程序。
5.软件发展进程的第二阶段称为“大体软件期”,出现了(A),并逐渐普及,随着(B )的发展,编译技术也有较大的发展。
6.软件发展进程的第三阶段称为“程序设计方式时期”,这一时期,与硬件费用下降相反,软件开发费急剧上升。
人们提出了(A )和(B )等程序设计方式,设法降低软件的开发费用。
7.软件发展进程的第四阶段称为“软件工程时期”,软件开发技术再也不单单是程序设计技术,而是包括与软件开发的各个阶段,如(A )、(B )、编码、单元测试、综合测试、(C )及其整体有关的各类管理技术。
软件工程习题课

1.如果要开发“图书馆管理信息系统”,你认为采用什么开发模型比较合适?请说明理由。
答:开发“图书馆管理信息系统”采用瀑布模型比较合适。
因为瀑布模型在开发过程中各阶段非常清晰,便于评审、跟踪、管理和控制,并且“图书馆管理信息系统”也基本符合瀑布模型的条件:(1)“图书馆管理信息系统”在开发过程中需求变化很少。
(2)分析和设计人员对“图书馆管理信息系统”比较熟悉。
(3)“图书馆管理信息系统”是低风险项目。
(4)“图书馆管理信息系统”的用户使用环境比较稳定。
(5)“图书馆管理信息系统”的用户除提出需求以外,很少参与开发工作。
2.简述结构化程序设计方法的基本要点。
(1)采用自顶向下,逐步求精的程序设计方法。
(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环(3)采用主程序员组的组织形式。
3.下图中,模块G为判定,判断涉及到模块B、F、G,请指出设计中的错误,再根据改进模块图的基本原则,画出1~2 个改进方案(不改变模块G 的判断关系),并说明是按照哪条基本原则进行改进的。
解:下图为一个改进方案,将模块G的位置提高,使其作用范围为控制范围的子集,减少模块之间的联系。
4.根据下列条件使用等价类划分法设计测试用例。
某一8位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的范围是-177~177,如05,0127,-065。
用等价划分法:(1)划分等价类并编号,如表1(2)(3)5.为提高软件的可理解性,可采取哪些措施?可理解性是指理解软件的结构、接口、功能和内部过程的难易程度。
提高软件可理解性的措施有:采用模块化的程序结构;书写详细正确的文档;采用结构化程序设计;书写源程序的内部文档;使用良好的编程语言;具有良好的程序设计风格。
6.什么是软件生存周期?它有哪几个活动?软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。
软件生存周期包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等。
《软件工程》课后习题答案

1、可行性研究的目的是用最小的代价,在尽可能短的时间,确定该项目是否能够开发。
2、程序设计时代的生产方式是个体手工,程序系统时代的生产方式是作坊式小团体,软件工程时代的生产方式是工程化。
3、喷泉模型是一种以需求分析为动力,以对象为驱动的模型。
4、需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求。
5、可行性研究需要从以下三个方面分析研究每种解决方法的可行性:技术可行性、经济可行性、社会可行性。
6、可行性研究的目的不是去开发一个软件项目,而是研究这个软件项目是否值得开发,其中的问题能否解决。
7、判定树较判定表直观易读,判定表进行逻辑验证较严格,能把所有的可能性全部都考虑到。
可将两种工具结合起来,先用判定表做底稿,在此基础上产生判定树。
8、软件工具的发展特点是软件工具有单一工具向多个工具集成化方向发展。
重视用户界面的设计,不断的采用新理论和新技术。
软件工具的商品化推动了软件产业的发展,而软件产业的发展,又增加了对软件工具的需求,促进了软件工具的商品化进程。
9、环境集成主要有数据集成、界面集成、控制集成、平台集成、过程集成。
10、可行性研究实质上是进行一项简化、压缩了的需求分析、设计过程。
11、结构化方法有结构化分析、结构化设计、结构化程序设计构成,它是一种面向数据流的开发方法。
12、投资回收期就是累计的经济效益等于最初的项目投资所需的时间。
13、详细描述处理过程常用三种描述工具:图形、表格和语言。
14、数据流图中,每个加工至少有一个输入流和一个输出流。
15、结构化设计以数据流为基础映射成软件结构。
16、当数据流图中某个加工的一组动作存在着多个条件复杂组合的判断时,使用判定表或判定树较好。
17、由于运用原型的目的和方式不同,在使用原型时也采取不同的策略,有抛弃策略和附加策略。
18、有两类维护技术:在开发阶段是用来减少错误、提高软件可维护性面向维护的技术,在维护阶段用来提高维护的效率和质量的维护支援技术。
软件工程课后习题参考答案

软件工程课后习题参考答案1.简述软件开发的本质。
答:软件开发的本质就是实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。
P192.简述实施软件开发的基本途径。
答:实施软件开发的基本途径是系统建模。
所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的一个结构——系统模型。
P193.简述何谓模型以及软件开发中所涉及的模型。
答:模型是一个抽象。
该抽象是在意图所确定的角度和抽象层次对物理系统的一个描述,描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述。
软件开发中所涉及的模型可分为两大类,一类称为概念模型,描述了系统是什么;另一类统称为软件模型,描述了实现概念模型的软件解决方案。
4.简述软件开发所涉及的两大类技术。
答:软件开发所涉及的两大类技术为:一是求解软件的开发逻辑,二是求解软件的开发手段。
5、简述需求与需求规约的基本性质。
答:需求的基本性质:1)必要的,该需求是用户所要求的。
2)无歧义的,该需求只能用一种方式解释。
3)可测的,该需求是可进行测试的。
4)可跟踪的,该需求可从一个开发阶段跟踪到另一个阶段。
5)可测量的,该需求是可测量的。
需求规约的基本性质:1)重要性和稳定性程度:按需求的重要性和稳定性,对需求进行分级。
2)可修改的:在不过多地影响其他需求的前提下,可以容易地修改一个单一需求。
3)完整的:没有被遗漏的需求。
4)一致的:不存在互斥的需求。
6、简述软件需求的分类。
答:软件需求可以分为两大类:一类是功能需求,一类是非公能需求,而非公能需求可分为性能需求,外部接口需求、设计约束和质量属性需求。
P237、举例说明功能需求和非功能需求之间的基本关系。
答:非功能需求可作用于一个或多个功能需求,例如非功能需求可作用于一个或多个功能需求其中,非功能需求1作用于功能需求1和功能需求38、有哪几种常用的初始需求发现技术?答:有5种常用的需求发现技术:自悟、交谈、观察、小组会和提炼。
软件工程第三版课后习题

第一章一、判断题1.S WE B O KV3分两大类,共有15个知识域。
(Y)2.软件工程的提出起源于软件危机,其目的是最终解决软件的生产工程化。
(Y)3.软件工程学一般包括软件开发技术和软件工程管理两方面的内容,软件开发方法学和软件工程环境属于软件开发技术的内容,软件工程经济学属于软件工程管理。
(N)4.软件开发中的最大问题不是管理问题,而是技术问题。
(N)5.X P(e X t r e me P r o g r a mm i n g,极限编程)是由K e n t B e c k提出的一套针对业务需求和软件开发实践的规则,包括13个核心实践。
(Y)二、选择题1.下列所述不是敏捷生存期模型的是(C)。
A.S c r u mB.X PC.V模型D.O P E NU P2.软件工程的出现主要是由于(C)。
A.程序设计方法学的影响C.软件危机的出现B.其他工程学科的影响D.计算机的发展3.以下(C)不是软件危机的表现形式。
A.开发的软件不满足用户的需要B.开发的软件可维护性差C.开发的软件价格便宜D.开发的软件可靠性差4.以下不是S WE B O KV3的软件工程实践中的知识域的是(B)。
A.软件需求B.工程基础C.软件构造D.软件设计5.下列所述不是软件组成的是(D)。
A.程序B.数据C.界面D.文档6.下列对“计算机软件”描述正确的是(A)。
A.是计算机系统的组成部分B.不能作为商品参加交易C.是在计算机硬件设备生产过程中生产出来的D.之存在语计算机系统工作时7.软件工程方法的提出源于软件危机,其目的应该是最终解决软件的(D)问题。
A.软件危机B.质量保证C.开发效率D.生产工程化8.软件工程设计软件开发技术和项目管理等方面内容,下述内容中(D)不属于开发技术的范畴。
A.软件开发方法B.软件开发工具C.软件工程环境D.软件工程经济第二章一、判断题1.面向对象开发过程是多次重复和迭代的演化过程,(需要补充:面向对象开发方法是)在概念和表示方法是的一致性保证了各项开发活动之间的平滑过渡。
软件工程课后习题答案
软件⼯程课后习题答案习题答案习题⼀答案⼀、选择题1. 软件的主要特性是(A B C)。
A) ⽆形 B) ⾼成本C) 包括程序和⽂档D) 可独⽴构成计算机系统2. 软件⼯程三要素是(C D)。
A) 技术、⽅法和⼯具B) ⽅法、⼯具和过程C) ⽅法、对象和类D) 过程、模型、⽅法3. 包含风险分析的软件⼯程模型是(A)。
A) 螺旋模型 B) 瀑布模型C) 增量模型 D) 喷泉模型4. 软件⼯程的主要⽬标是(C)。
A) 软件需求B) 软件设计C) 风险分析D) 软件实现5. 下列属于⾯向对象开发⽅法的是(A B C D)。
A) Booch B) UML C) Coad D) OMT6. 软件危机的主要表现是(B D)。
A) 软件成本太⾼B) 软件产品的质量低劣C) 软件开发⼈员明显不⾜D) 软件⽣产率低下7. 软件开发⽅法的主要⼯作模型有(A B C)A) 螺旋模型B) 循环模型C) 瀑布模型D) 专家模型8. 软件⼯程的⽬标有(A B C)。
A) 易于维护B) 低的开发成本C) ⾼性能D) 短的开发期9. 软件⼯程学的⽬的和意义是( )。
A) 应⽤科学的⽅法和⼯程化的规范管理来指导软件开发B) 克服软件危机C) 作好软件开发的培训⼯作D) 以较低的成本开发出⾼质量的软件⼆、判断题1. 软件就是程序,编写软件就是编写程序。
(×)2. 瀑布模型的最⼤优点是将软件开发的各个阶段划分得⼗分清晰。
(×)3. 结构化⽅法的⼯作模型是使⽤螺旋模型进⾏开发。
(×)4. 结构化⽅法和JSP⽅法都不适合于⼤型软件的开发。
(√)5. 原型化开发⽅法包括⽣成原型和实现原型两个步骤。
(×)6. ⾯向对象的开发⽅法包括⾯向对象的分析、⾯向对象的设计和⾯向对象的程序设计。
( √)7. 软件危机的主要表现是软件的需求量迅速增加,软件价格上升。
(×)8. 软件⼯具的作⽤是为了延长软件产品的寿命。
软件工程习题附答案2
(试题一)1、根据说明回答问题1~3(共16分)【说明】某高校开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:1.每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。
课程结束后进行期末考试,其成绩作为这门课程的考试成绩。
2.学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。
3.在记录学生成绩之前,系统需要验证这些成绩是否有效。
首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。
4.对于有效成绩,系统将其保存在课程成绩文件中。
对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。
在教务处没有给出具体处理意见之前,系统不会处理这些成绩。
5.若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。
教务处根据需要,请求系统生成相应的成绩列表,用来提交考试委员会审查。
6.在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。
主讲教师须将核对之后的成绩报告返还系统。
7.根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。
考试委员会在审查之后,上交一份成绩审查结果给系统。
对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。
现采用结构化方法对这个系统进行分析与设计,得到如图1所示的顶层数据流图和图2所示的0层数据流图。
图1. 顶层数据流图图2. 0层数据流图【问题1】(6分)根据顶层数据流图,使用说明中的词语,填些表中元素所代表的数据流、源和宿。
【问题3】(6分)0层数据流图缺少了三条数据流,根据说明及数据流图提供的信息,分别2、根据说明回答问题1和问题2(共10分)【说明】某招聘管理信息系统的主要功能如下:(1)验证应聘者所提供的自身信息是否完整,是否说明了应聘职位,受理验证合格的申请,给应聘者发送致谢信息。
软件工程习题及课后答案
第2章软件过程(习题与参考答案)[选择题]1. ()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。
()A. 软件过程B. 软件工具C. 软件产品D. 软件工程2. 软件过程的基本活动是()。
()A. 分析、设计、实现、测试、演化B. 沟通、计划、建模、构造、部署C. 计划、分析、设计、实现、调试D. 沟通、风险管理、度量、产品化、评审3. ()软件需求规格说明书在软件开发过程中具有重要的作用,它是软件可行性分析的依据。
()A. 真B. 假4. 软件开发的瀑布模型是()。
()A. 适用于需求被清晰定义的情况B. 一种需要快速构造可运行程序的好方法C. 最适合于大规模团队开发的项目D. 已不能用于现代环境的过时模型5. 软件开发的增量模型是()。
()A. 适用于需求被清晰定义的情况B. 一种需要快速构造核心产品的好方法C. 最适合于大规模团队开发的项目D. 一种不适用于商业产品的创新模型6. 快速原型开发模型是()。
()A. 适用于客户需求被明确定义的情况B. 适用于客户需求难以清楚定义的情况C. 最适合于大规模团队开发的项目D. 很难产生有意义产品的一种冒险模型7. 演进式软件过程模型()。
()A. 本质上是迭代的B. 可以很容易适应需求的变化C. 通常不会抛弃所产生的系统D. 以上所有选项8. 螺旋模型()。
()A. 在软件产品发布时结束B. 比增量模型更加混乱C. 在每一次迭代过程中包含项目风险评价D. 以上所有选项9. 基于组件的开发模型()。
()A. 只适用于计算机硬件设计B. 不能支持可重用组件的开发C. 在面向对象技术获得支持的情况下应用得更好D. 增加了开发风险和成本10. 形式化方法模型是将数学方法用于()。
()A. 定义计算机系统的规格说明B. 开发无错误的计算机系统C. 验证计算机系统的正确性D. 以上所有选项11. 下面的()不是RUP模型的阶段。
软件工程理论与实践课后习题
软件工程理论与实践课后习题1、下列要素中,不属于DFD的是()。
[单选题] *A、加工B、数据流C、数据存储D、联系(正确答案)2、当使用DFD对一个工资系统进行建模时,()可以被认定为外部实体。
[单选题] *A、接收工资单的银行(正确答案)B、工资系统源代码程序C、工资单D、工资数据库的维护3、采用瀑布模型进行系统开发的过程中,每个阶段都会产生不同的文档。
以下关于产生这些文档的描述中,正确的是() [单选题] *A、外部设计评审报告在概要设计阶段产生B、集成测试计划在程序设计阶段产生C、系统计划和需求说明在详细设计阶段产生D、在进行编码的同时,独立的设计单位测试计划(正确答案)4、在UML提供的图中,()用于描述系统与外部系统及用户之间的交互。
[单选题] *A、用例图(正确答案)B、类图C、对象图D、部署图5、在UML提供的图中,()用于按时间顺序描述对象间的交互。
[单选题] *A、网络图B、状态图C、协助图D、序列图(正确答案)6、在开发一个系统时,如果用户对系统的目标不是很清楚,难以定义需求,这时最好使用()。
[单选题] *A、原型法(正确答案)B、瀑布模型C、V-模型D、螺旋模型7、应该在()阶段制定系统测试计划。
[单选题] *A、需求分析(正确答案)B、概要设计C、详细设计D、系统测试8、在软件项目管理中可以使用各种图形工具来辅助决策,下面对Gantt图的描述不正确的是()。
[单选题] *A、Gantt图表现各个活动的顺序和它们之间的因果关系(正确答案)B、Gantt图表现哪些活动可以并行进行C、Gantt图表现了各个活动的起始时间D、Gantt图表现了各个活动完成的进度9、以下内容中,()应写入操作手册。
[单选题] *A、描述系统对各种输入数据的处理方法B、说明系统升级时厂商提供的服务C、描述系统处理过程的各个界面(正确答案)D、说明系统各部分之间的接口关系10、耦合度描述了()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
产生 o 教龄津贴
产生 o 工龄津贴
产生名册文件程序的程序结构
6.3.2 Jackson程序设计方法
数据结构
映射
程序结构
程序的过程性表示
(Jackon图)
(Jackon图)
(Jackon伪码)
程序分析
程序设计
例子 例:高考后将考生的基本情况文件(简称考生基本情况 文件)和考生高考成绩文件(简称考分文件)合并成 一个新文件(简称考生新文件)。考生基本情况文件 和考分文件都是由考生记录组成的。为简便起见,考 生基本情况文件中的考生记录的内容包括:准考证号、 姓名、通讯地址。考分文件中的考生记录的内容包括: 准考证号和各门考分。合并后的考生新文件自然也是 由考生记录组成,内容包括:准考证号、姓名、通讯 地址和各门考分。 Jackson程序设计方法由五个步骤组成:
第二步 找出输入数据结构和输出数据结构的对应关系
找出输入数据结构和输出数据结构中有对应关系的数据单元: 1) 即有直接因果关系且在程序中可以同时处理的数据单元。
2) 需要注意的是,如果这些数据单元要重复出现,则他们重复出现的 次序、次数必须都相同,否则不能算有有对应关系。
考生情况文件 I 考生记录* 考生新文件 I 考生记录* 考分文件 I 考生记录*
某城市电话号码由三部分组成,分别是: 地区码—— 空白或三位数字; 前 缀—— 非‘0’或‘1’开头的三位数字; 后 缀—— 4位数字。 假定被测程序能接受一切符合上述规 定的电话号码, 拒绝所有不符合规定的电 话号码。要求.请选择适当的黑盒测试方法, 给出测试用例表。
使用等价类划分法
输入条件 地区码
按日期查询
输入信息
按班次查询
按线路查询
用jackson图表示数据结构
教职工名册
姓名 类别 津贴
表 头 表头 表 体 名册
表体 行*
表名行
栏名行
姓名
类别
津贴
教龄津贴
o
工龄津贴 o
用Jackson图表示程序结构
产生名册文件
产生表头
产生表体
产生 表名行
产生行*
产生 栏名行 产生姓名 产生类别 产生津贴
(2)打开两个输入文件;
(3)建立输出文件。 (4)从输入文件中各读一条记录。
(5)生成一条新记录。
(6)将新记录写入输出文件。 (7)关闭全部文件。
把操作和条件分配到程序结构图的适当位置
产生新文件
打开两个输入文件
2
3
4
分析考生记录 I(1)
7
关闭全部文件
1
停止
建立输出文件 从输入文件中各读一条 记录
处理考生记录*
产生准考证号
产生姓名
产生通讯地址
产生考分
5
6
4
生成一条新纪录 从输入文件中 将新纪录写入输出文件 各读一条记录
作业及解答(第7章)
作业及解答(第7章)
设计下列伪码程序的语句覆盖和路径覆盖测试用例:
START INPUT (A, B, C) //判定表达式1 IF A>5 THEN X=10 ELSE X=1 END IF //判定表达式2 IF B>10 THEN Y=20 ELSE
第三步 确定程序结构图
根据下述三规则,由Jackson图导出相应的程序结构图: (1)为每对有对应关系的数据单元,按照它们在数据结构图中所 处的层次,在程序结构图中的相应层次画一个处理框。如果这对数据单 元在输入数据结构图和输出数据结构图中所处的层次不同,那么应以它 们在输入数据结构图和输出数据结构图中层次较低的那个层次作为它们 在程序结构图中的处理框所处的层次; (2)对于输入数据结构中剩余的数据单元,根据它们所处的层次, 在程序结构图的相应层次为每个数据单元画上相应的处理框; (3)对于输出数据结构中剩余的数据单元,根据它们所处的层次, 在程序结构图的相应层次为每个数据单元画上相应的处理框。
输入数据
地区码 空白 123 20A 33 1234 前缀 123 805 123 234 234 后缀 4567 9876 4567 5678 4567
预期输出 接受(有效) 接受(有效) 拒绝(无效) 拒绝(无效) 拒绝(无效)
覆盖等价类
1, 3, 4 2, 3, 4
5
6 7 8 9 10 11
6
7 8
123
123 123
2B3
013 123
1234
1234 1234
拒绝(无效)
拒绝(无效) 拒绝(无效)
9
10 11 12 13
123
123 123 123 123
23
2345 234 234 234
1234
1234 1B34 34 23345
拒绝(无效)
拒绝(无效) 拒绝(无效) 拒绝(无效) 拒绝(无效)
12
13 14 15
• 设有一个档案管理系统,要求用户输入 以年月表示的日期。假设日期限定在 1990年1月~2049年12月,并规定日期由6 位数字字符组成,பைடு நூலகம்4位表示年,后2位 表示月。现用等价类划分法设计测试用 例,来测试程序的"日期检查功能"。
序 号 1 2 3 4 5 6 7
判定 1 F F F F T T T 2 F F T T F F T 3 F T F T F T F
输入 A B C 1 1 1 1 1 60 1 40 1 1 40 60 20 1 1 20 1 60 20 40 1
预期的输 出 X Y Z 1 2 3 1 2 30 1 20 3 1 20 30 10 2 3 10 2 30 10 20 3
//判定表达式3 IF C>15 THEN Z=30 ELSE Z=3 END IF PRINT (X, Y, Z) STOP
语句覆盖的测试用例
序 号
判定 1 2
F T
输入 3
F
预期的输 出 1 1 2 3
A B C X Y Z
1 1
1 2
F T
T 20 40 60 10 20 30
路径覆盖的测试用例
3位数字
有效等价类
空白
编号
1 2
无效等价类
有非数字字符
编号
5 6 7 8
少于3位数字
多于3位数字 有非数字字符 起始位为’0’
9
10 11
前缀
200~999
3
起始位为’1’ 少于3位数字 多于3位数字 有非数字字符
12 13 14 15
后缀
4位数字
4
少于4位数字
多于4位数字
测试用例 编号
1 2 3 4 5
某火车售票系统的数据流程图如下所示
日期 3 查询结果
按日期 查询 查询 信息 1
接受查 询
录入员
查询 信息
2 分析查 询
班次
4
查询 结果
6
查询 结果
按班次 查询
5 按线路 查询
查询显 示
线路
查询结果
旅客
列车查询主模块
查询信息
查询信息 查询结果
查询结果
接受查询
查询 信息 日期
分析查询
线路 班次
查询显示
第一步:确定输入输出数据的逻辑结构 对要求解的问题进行分析,确定输入数据和输出数据的 逻辑结构,并用Jackson图描述这些数据结构。
考生情况文件 I 考生记录* 考分文件 I 考生记录* 考生新文件 I 考生记录*
准考证号
姓名
通讯地址
准考证号
考分
准考证号
姓名
通讯地址
考分
(a) 输入数据结构
(b) 输出数据结构
实际上,这一步是一个综合的过程:每对有对应关系的 数据单元合画一个处理框,没有对应关系的数据单元则各画 一个处理框。
产生新文件 I 处理考生记录*
产生准考证号
产生姓名
产生通讯地址
产生考分
第四步 列出并分配所有操作和选择/循环的判定条件
列出所有操作和条件(包括分支条件和循环结束条件),并把它们 分配到程序结构图的适当位置。 条件:I(1)文件结束。 操作:(1)停止;