《习题课2软件工程.ppt》由会员分享,可在线阅读,更多相关《习题课2软件工程.ppt(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程习题课4-1 4-1 从供选择的答案中选出正确的答案填入下列叙述中的(从供选择的答案中选出正确的答案填入下列叙述中的(从供选择的答案中选出正确的答案填入下列叙述中的(从供选择的答案中选出正确的答案填入下列叙述中的()内。内。内。内。模块内聚性用于衡量模块内部各成份之间彼此结合的紧密程度。模块内聚性用于衡量模块内部各成份之间彼此结合的紧密程度。模块内聚性用于衡量模块内部各成份之间彼此结合的紧密程度。模块内聚性用于衡量模块内部各成份之间彼此结合的紧密程度。(1)(1)一组语句在程序中多处出现,为了节省内存空间把这些语句放在一个模块中,一组语句在程序中多处出现,为了节省内存空间把这些语句放在
2、一个模块中,一组语句在程序中多处出现,为了节省内存空间把这些语句放在一个模块中,一组语句在程序中多处出现,为了节省内存空间把这些语句放在一个模块中,该模块的内聚性是(该模块的内聚性是(该模块的内聚性是(该模块的内聚性是(A A )的。)的。)的。)的。(2)(2)将几个逻辑上相似的成分放在同一个模块中,通过模块入口处的一个判断决定将几个逻辑上相似的成分放在同一个模块中,通过模块入口处的一个判断决定将几个逻辑上相似的成分放在同一个模块中,通过模块入口处的一个判断决定将几个逻辑上相似的成分放在同一个模块中,通过模块入口处的一个判断决定执行哪一个功能。该模块的内聚性是(执行哪一个功能。该模块的内聚性
3、是(执行哪一个功能。该模块的内聚性是(执行哪一个功能。该模块的内聚性是(B B )的。)的。)的。)的。(3)(3)模块中所有成分引用共同的数据,该模块的内聚性是(模块中所有成分引用共同的数据,该模块的内聚性是(模块中所有成分引用共同的数据,该模块的内聚性是(模块中所有成分引用共同的数据,该模块的内聚性是(C C )的。)的。)的。)的。(4)(4)模块内的某成份的输出是另一些成份的输入,该模块的内聚性是(模块内的某成份的输出是另一些成份的输入,该模块的内聚性是(模块内的某成份的输出是另一些成份的输入,该模块的内聚性是(模块内的某成份的输出是另一些成份的输入,该模块的内聚性是(D D )的。)
4、的。)的。)的。(5)(5)模块中所有成份结合起来完全一项任务,该模块的内聚性是(模块中所有成份结合起来完全一项任务,该模块的内聚性是(模块中所有成份结合起来完全一项任务,该模块的内聚性是(模块中所有成份结合起来完全一项任务,该模块的内聚性是(E E )的。它具)的。它具)的。它具)的。它具有简明的外部界面,由它构成的软件易于理解、测试和维护。有简明的外部界面,由它构成的软件易于理解、测试和维护。有简明的外部界面,由它构成的软件易于理解、测试和维护。有简明的外部界面,由它构成的软件易于理解、测试和维护。供选择的答案:供选择的答案:供选择的答案:供选择的答案:A A E E:功能内聚功能内聚功能
5、内聚功能内聚 信息内聚信息内聚信息内聚信息内聚?(顺序)(顺序)(顺序)(顺序)通信内聚通信内聚通信内聚通信内聚 过程内聚过程内聚过程内聚过程内聚 巧合内聚巧合内聚巧合内聚巧合内聚 时间内聚时间内聚时间内聚时间内聚 逻辑内聚逻辑内聚逻辑内聚逻辑内聚A5B7C3D4?2E14-2 4-2 从供选择的答案中选出正确的答案填入下面的(从供选择的答案中选出正确的答案填入下面的(从供选择的答案中选出正确的答案填入下面的(从供选择的答案中选出正确的答案填入下面的()中。)中。)中。)中。块间联系和块内联系是评价程序模块结构质量的重要标准。联系的方式、共用信息的作块间联系和块内联系是评价程序模块结构质量的重
6、要标准。联系的方式、共用信息的作块间联系和块内联系是评价程序模块结构质量的重要标准。联系的方式、共用信息的作块间联系和块内联系是评价程序模块结构质量的重要标准。联系的方式、共用信息的作用、共用信息的数量和接口的(用、共用信息的数量和接口的(用、共用信息的数量和接口的(用、共用信息的数量和接口的(A A )等因素决定了块间联系的大小。在块内联系)等因素决定了块间联系的大小。在块内联系)等因素决定了块间联系的大小。在块内联系)等因素决定了块间联系的大小。在块内联系中,(中,(中,(中,(B B )的块内联系最强。)的块内联系最强。)的块内联系最强。)的块内联系最强。SDSD方法的总的原则是使每个模
7、块执行(方法的总的原则是使每个模块执行(方法的总的原则是使每个模块执行(方法的总的原则是使每个模块执行(C C )功能,模块间传送()功能,模块间传送()功能,模块间传送()功能,模块间传送(D D )参数,模块)参数,模块)参数,模块)参数,模块通过(通过(通过(通过(E E )语句调用其它模块,而且模块间传送的参数应尽量()语句调用其它模块,而且模块间传送的参数应尽量()语句调用其它模块,而且模块间传送的参数应尽量()语句调用其它模块,而且模块间传送的参数应尽量(F F )。)。)。)。此外,此外,此外,此外,SDSD方法还提出了判定的作用范围和模块的控制范围等概念。方法还提出了判定的作用
8、范围和模块的控制范围等概念。方法还提出了判定的作用范围和模块的控制范围等概念。方法还提出了判定的作用范围和模块的控制范围等概念。SDSD方法认为,(方法认为,(方法认为,(方法认为,(G G )应该是()应该是()应该是()应该是(H H )的子集。)的子集。)的子集。)的子集。供选择的答案:供选择的答案:供选择的答案:供选择的答案:AA:友好性友好性友好性友好性 健壮性健壮性健壮性健壮性 简单性简单性简单性简单性 安全性安全性安全性安全性BB:巧合内聚巧合内聚巧合内聚巧合内聚 功能内聚功能内聚功能内聚功能内聚 通信内聚通信内聚通信内聚通信内聚 信息内聚信息内聚信息内聚信息内聚C C:一个一个
9、一个一个 多个多个多个多个DD:数据型数据型数据型数据型 控制型控制型控制型控制型 混合型混合型混合型混合型E E:直接引用直接引用直接引用直接引用 标准调用标准调用标准调用标准调用 中断中断中断中断 宏调用宏调用宏调用宏调用F F:少少少少 多多多多G G H H:作用范围作用范围作用范围作用范围 控制范围控制范围控制范围控制范围n nA.A.,B.,B.,C.,C.,D.,D.,E.,E.,F.F.,G.,G.,H.,H.n n模块之间的耦合(块间联系)和模块的内聚(块内联系)模块之间的耦合(块间联系)和模块的内聚(块内联系)是评价程序模块结构质量的重要标准。联系的方式、共用是评价程序模块
10、结构质量的重要标准。联系的方式、共用信息的作用、共用信息的数量和接口的简单性等因素决定信息的作用、共用信息的数量和接口的简单性等因素决定了块间联系的大小。在块内联系中,以功能内聚模块的块了块间联系的大小。在块内联系中,以功能内聚模块的块内联系最强。内联系最强。n nSDSD方法的总的原则是使每个模块只做一件事,就是说,方法的总的原则是使每个模块只做一件事,就是说,只执行一个功能。模块之间尽可能传送简单的数据型参数。只执行一个功能。模块之间尽可能传送简单的数据型参数。模块要通过标准调用语句调用其它模块,不要直接引用另模块要通过标准调用语句调用其它模块,不要直接引用另一个模块内部的数据。同时模块之
11、间传送的参数应尽量少。一个模块内部的数据。同时模块之间传送的参数应尽量少。此外,此外,SDSD方法还提出了判定的作用范围和模块的控制范方法还提出了判定的作用范围和模块的控制范围等概念。围等概念。SDSD方法认为,模块的作用范围应该是其控制方法认为,模块的作用范围应该是其控制范围的子集。范围的子集。4-3 4-3 举例说明你对概要设计与详细设计的理解。有不需要概要设计的情况吗举例说明你对概要设计与详细设计的理解。有不需要概要设计的情况吗举例说明你对概要设计与详细设计的理解。有不需要概要设计的情况吗举例说明你对概要设计与详细设计的理解。有不需要概要设计的情况吗?软件设计是一个把软件需求变换成软件表
12、示的过程。最初这种表示只软件设计是一个把软件需求变换成软件表示的过程。最初这种表示只软件设计是一个把软件需求变换成软件表示的过程。最初这种表示只软件设计是一个把软件需求变换成软件表示的过程。最初这种表示只是描绘出软件的总的框架,然后进一步细化,在此框架中填入细节,把它是描绘出软件的总的框架,然后进一步细化,在此框架中填入细节,把它是描绘出软件的总的框架,然后进一步细化,在此框架中填入细节,把它是描绘出软件的总的框架,然后进一步细化,在此框架中填入细节,把它加工成在程序细节上非常接近于源程序的软件表示。正因为如此,所以从加工成在程序细节上非常接近于源程序的软件表示。正因为如此,所以从加工成在程序
13、细节上非常接近于源程序的软件表示。正因为如此,所以从加工成在程序细节上非常接近于源程序的软件表示。正因为如此,所以从工程管理的角度来看,软件设计分两步完成。首先做概要设计,将软件需工程管理的角度来看,软件设计分两步完成。首先做概要设计,将软件需工程管理的角度来看,软件设计分两步完成。首先做概要设计,将软件需工程管理的角度来看,软件设计分两步完成。首先做概要设计,将软件需求转化为数据结构和软件的系统结构。然后是详细设计,即过程设计。通求转化为数据结构和软件的系统结构。然后是详细设计,即过程设计。通求转化为数据结构和软件的系统结构。然后是详细设计,即过程设计。通求转化为数据结构和软件的系统结构。然
14、后是详细设计,即过程设计。通过对结构表示进行细化,得到软件的详细的数据结构和算法。过对结构表示进行细化,得到软件的详细的数据结构和算法。过对结构表示进行细化,得到软件的详细的数据结构和算法。过对结构表示进行细化,得到软件的详细的数据结构和算法。由于概要设计建立起整个系统的体系结构框架,并给出了系统中的全由于概要设计建立起整个系统的体系结构框架,并给出了系统中的全由于概要设计建立起整个系统的体系结构框架,并给出了系统中的全由于概要设计建立起整个系统的体系结构框架,并给出了系统中的全局数据结构和数据库接口,人机接口,与其它硬、软件的接口。此外还从局数据结构和数据库接口,人机接口,与其它硬、软件的接
15、口。此外还从局数据结构和数据库接口,人机接口,与其它硬、软件的接口。此外还从局数据结构和数据库接口,人机接口,与其它硬、软件的接口。此外还从系统全局的角度,考虑处理方式、运行方式、容错方式、以及系统维护等系统全局的角度,考虑处理方式、运行方式、容错方式、以及系统维护等系统全局的角度,考虑处理方式、运行方式、容错方式、以及系统维护等系统全局的角度,考虑处理方式、运行方式、容错方式、以及系统维护等方面的问题,并给出了度量和评价软件质量的方法,所以它奠定了整个系方面的问题,并给出了度量和评价软件质量的方法,所以它奠定了整个系方面的问题,并给出了度量和评价软件质量的方法,所以它奠定了整个系方面的问题,
16、并给出了度量和评价软件质量的方法,所以它奠定了整个系统实现的基础。没有概要设计,直接考虑程序设计,就不能从全局把握软统实现的基础。没有概要设计,直接考虑程序设计,就不能从全局把握软统实现的基础。没有概要设计,直接考虑程序设计,就不能从全局把握软统实现的基础。没有概要设计,直接考虑程序设计,就不能从全局把握软件系统的结构和质量,实现活动处于一种无序状态,程序结构划分不合理,件系统的结构和质量,实现活动处于一种无序状态,程序结构划分不合理,件系统的结构和质量,实现活动处于一种无序状态,程序结构划分不合理,件系统的结构和质量,实现活动处于一种无序状态,程序结构划分不合理,导致系统处于一种不稳定的状态
17、,稍一做改动就会失败。所以,不能没有导致系统处于一种不稳定的状态,稍一做改动就会失败。所以,不能没有导致系统处于一种不稳定的状态,稍一做改动就会失败。所以,不能没有导致系统处于一种不稳定的状态,稍一做改动就会失败。所以,不能没有概要设计。概要设计。概要设计。概要设计。4-44-4说明并比较概要设计说明书与需求分析说明书的内容。说明并比较概要设计说明书与需求分析说明书的内容。说明并比较概要设计说明书与需求分析说明书的内容。说明并比较概要设计说明书与需求分析说明书的内容。(1 1)两个说明书都包括引言,内容基本相同;)两个说明书都包括引言,内容基本相同;)两个说明书都包括引言,内容基本相同;)两个
18、说明书都包括引言,内容基本相同;(2 2)任务概述部分概要设计说明比需求说明增加了需求概述;)任务概述部分概要设计说明比需求说明增加了需求概述;)任务概述部分概要设计说明比需求说明增加了需求概述;)任务概述部分概要设计说明比需求说明增加了需求概述;(3 3)需求说明主要通过静态、动态数据,数据库描述,数据字典和数)需求说明主要通过静态、动态数据,数据库描述,数据字典和数)需求说明主要通过静态、动态数据,数据库描述,数据字典和数)需求说明主要通过静态、动态数据,数据库描述,数据字典和数据采集等内容进行数据描述;据采集等内容进行数据描述;据采集等内容进行数据描述;据采集等内容进行数据描述;(4 4
19、)需求说明中的主要部分是功能要求、性能要求、运行需求以及其)需求说明中的主要部分是功能要求、性能要求、运行需求以及其)需求说明中的主要部分是功能要求、性能要求、运行需求以及其)需求说明中的主要部分是功能要求、性能要求、运行需求以及其他要求,它的目的是全面地、精确地描述了系统要他要求,它的目的是全面地、精确地描述了系统要他要求,它的目的是全面地、精确地描述了系统要他要求,它的目的是全面地、精确地描述了系统要“做什么做什么做什么做什么”。需求。需求。需求。需求说明书中还可能包括数据流图、数据字典、说明书中还可能包括数据流图、数据字典、说明书中还可能包括数据流图、数据字典、说明书中还可能包括数据流图
20、、数据字典、IPOIPO图等描述的系统逻辑图等描述的系统逻辑图等描述的系统逻辑图等描述的系统逻辑模型。模型。模型。模型。(5 5)概要设计说明则对系统的总体结构、各个接口、数据结构、运行、)概要设计说明则对系统的总体结构、各个接口、数据结构、运行、)概要设计说明则对系统的总体结构、各个接口、数据结构、运行、)概要设计说明则对系统的总体结构、各个接口、数据结构、运行、出错、安全、维护进行具体设计,它的目的是描述系统出错、安全、维护进行具体设计,它的目的是描述系统出错、安全、维护进行具体设计,它的目的是描述系统出错、安全、维护进行具体设计,它的目的是描述系统“怎样做怎样做怎样做怎样做”,往往包含了
21、各模块的处理说明和接口说明以及系统结构图。往往包含了各模块的处理说明和接口说明以及系统结构图。往往包含了各模块的处理说明和接口说明以及系统结构图。往往包含了各模块的处理说明和接口说明以及系统结构图。(6 6)概要设计说明是建立在需求说明的基础上的。)概要设计说明是建立在需求说明的基础上的。)概要设计说明是建立在需求说明的基础上的。)概要设计说明是建立在需求说明的基础上的。4-54-5设计设计设计设计SCSC图图图图根据下图所示的变换型根据下图所示的变换型DFDDFD图,用面向数据流的设计方法设图,用面向数据流的设计方法设计出计出SCSC图。图。(1)第一级分解第一级分解(建立初始建立初始SC框
22、架框架)设计顶层和第一层模块设计顶层和第一层模块M MC CM MT TM MA AM ME Ec,ec,ec,ec,e u,wu,wu,wu,w传送信息第一级分解后的第一级分解后的SC(SC(另一种画法另一种画法)M MC CM MA1A1c ce eu,wu,wc,pc,pM MA2A2Q QP PR RM ME1E1M ME2E2e ep pr rr rw,uw,uw w变换分析设计方法变换分析设计方法步骤:步骤:(2)(2)第二级分解第二级分解(分解分解SCSC各分支各分支)自顶向下分解,设计出每个自顶向下分解,设计出每个分支的中、下层模块分支的中、下层模块输输入入分分支支的的分分解解
23、(1)(1)M MA AC CB BA Ab ba ac cE ED Dd de ec,ec,e输输入入分分支支的的分分解解(2)(2)M MA AGet Get C Cb ba ac cReadRead D Dd de ec,ec,eB to CB to Cb bc cd de ea ab bGet Get E EGet Get B BD to ED to EA to BA to BReadRead A A输输出出分分支支的的分分解解M ME EW WWriteWrite V Vu uu uw,uw,uv vv vv vPut Put U UU to VU to VM ME EU UWrit
24、eWrite W Ww ww wu uw,uw,uV V(1)(1)(2)(2)中心加工分支的分解中心加工分支的分解M MT TP PQ QR Re ec,pc,pr ru,wu,wp pr r5-1 5-1 下图是使用下图是使用下图是使用下图是使用BasicBasic语言编写的一个打印语言编写的一个打印语言编写的一个打印语言编写的一个打印AA,BB,C C三数中最小者的程序的流程图。其中三数中最小者的程序的流程图。其中三数中最小者的程序的流程图。其中三数中最小者的程序的流程图。其中出现了出现了出现了出现了6 6个个个个GOTOGOTO语句,一个向前,语句,一个向前,语句,一个向前,语句,一个
25、向前,5 5个向后,程序可读性很差。个向后,程序可读性很差。个向后,程序可读性很差。个向后,程序可读性很差。if(A B)goto 120;if(A B)goto 120;if(B C)goto 110;if(B C)goto 110;100 print C;100 print C;goto 140;goto 140;110 print B;110 print B;goto 140;goto 140;120 if(A C)goto 130;120 if(A C)goto 130;goto 100;goto 100;130 print A;130 print A;140 140 试利用基本控制结
26、构,将程序中的试利用基本控制结构,将程序中的试利用基本控制结构,将程序中的试利用基本控制结构,将程序中的GOTOGOTO语句消去。语句消去。语句消去。语句消去。1.1.答案:使用答案:使用答案:使用答案:使用if-then-elseif-then-else结构化构造,则上述程序段可改成如下形式。结构化构造,则上述程序段可改成如下形式。结构化构造,则上述程序段可改成如下形式。结构化构造,则上述程序段可改成如下形式。if(A B and A C)then if(A B and A=B and B=B and B C)then print B print B else else print C;pr
27、int C;分析:理清程序流程图中每一条执行路径,适当利用复合的条件测试于判断语句,对每一分析:理清程序流程图中每一条执行路径,适当利用复合的条件测试于判断语句,对每一分析:理清程序流程图中每一条执行路径,适当利用复合的条件测试于判断语句,对每一分析:理清程序流程图中每一条执行路径,适当利用复合的条件测试于判断语句,对每一个最终的打印处理,保留一个分支进入它。这样可以消除众多的个最终的打印处理,保留一个分支进入它。这样可以消除众多的个最终的打印处理,保留一个分支进入它。这样可以消除众多的个最终的打印处理,保留一个分支进入它。这样可以消除众多的GOTOGOTO语句,甚至可语句,甚至可语句,甚至可
28、语句,甚至可以消除嵌套的判断语句结构。这种程序结构清晰,可读性好。以消除嵌套的判断语句结构。这种程序结构清晰,可读性好。以消除嵌套的判断语句结构。这种程序结构清晰,可读性好。以消除嵌套的判断语句结构。这种程序结构清晰,可读性好。5-2.5-2.试说明下面的两个程序段的功能是什么?可否用另一些等效的程序段来代替它,以提高其可读性。试说明下面的两个程序段的功能是什么?可否用另一些等效的程序段来代替它,以提高其可读性。试说明下面的两个程序段的功能是什么?可否用另一些等效的程序段来代替它,以提高其可读性。试说明下面的两个程序段的功能是什么?可否用另一些等效的程序段来代替它,以提高其可读性。(1)AI=
29、AI+AT;(1)AI=AI+AT;(2)for(i=1;i=n;i+)(2)for(i=1;i=n;i+)AT=AI-AT;AT=AI-AT;for(j=1;j=n;j+)for(j=1;j=n;j+)AI=AI-AT;AI=AI-AT;Vij=(i/j)*(j/i);Vij=(i/j)*(j/i);(1)(1)的功能是对换的功能是对换的功能是对换的功能是对换AI AI 与与与与AT AT 的内容。等效的程序段可以是:的内容。等效的程序段可以是:的内容。等效的程序段可以是:的内容。等效的程序段可以是:WORK=AT;AT=AI;AI=WORK;WORK=AT;AT=AI;AI=WORK;(2
30、)(2)的功能是建立一个单位矩阵的功能是建立一个单位矩阵的功能是建立一个单位矩阵的功能是建立一个单位矩阵VV。等效的程序段可以是:。等效的程序段可以是:。等效的程序段可以是:。等效的程序段可以是:for(i=1;i=n;i+)for(i=1;i=n;i+)for(j=1;j=n;j+)for(j=1;j=n;j+)if(i=j)Vij=1;if(i=j)Vij=1;else Vij=0;else Vij=0;分析:阅读这两段程序,读者可能不易看懂,有时还需用实际数据试验一下。对于分析:阅读这两段程序,读者可能不易看懂,有时还需用实际数据试验一下。对于分析:阅读这两段程序,读者可能不易看懂,有时
31、还需用实际数据试验一下。对于分析:阅读这两段程序,读者可能不易看懂,有时还需用实际数据试验一下。对于(1)(1),如果我们给,如果我们给,如果我们给,如果我们给AI AI 赋赋赋赋值值值值3 3,给,给,给,给AT AT 赋值赋值赋值赋值5 5,在运算后发现,在运算后发现,在运算后发现,在运算后发现AI AI 中变成了中变成了中变成了中变成了5 5,AT AT 中变成了中变成了中变成了中变成了3 3。这段程序就是交换。这段程序就是交换。这段程序就是交换。这段程序就是交换AI AI 和和和和AT AT 中的内容。目的是为了节省一个工作单元。如果改一下:中的内容。目的是为了节省一个工作单元。如果改
32、一下:中的内容。目的是为了节省一个工作单元。如果改一下:中的内容。目的是为了节省一个工作单元。如果改一下:WORK=AT;AT=AI;AI=WORK;WORK=AT;AT=AI;AI=WORK;就能让读者一目了然。就能让读者一目了然。就能让读者一目了然。就能让读者一目了然。对于对于对于对于(2)(2),除法运算()在除数和被除数都是整型量时,其结果只取整数部分,而得到整型量。因此,除法运算()在除数和被除数都是整型量时,其结果只取整数部分,而得到整型量。因此,除法运算()在除数和被除数都是整型量时,其结果只取整数部分,而得到整型量。因此,除法运算()在除数和被除数都是整型量时,其结果只取整数部
33、分,而得到整型量。因此,i/i/j j为为为为0 0,当当当当i ji j时时时时 j/i j/i为为为为0 0,当当当当j ij 0A 0,B 0B 0,C 0C 0,且,且,且,且A+B CA+B C,B+C AB+C A,A+C BA+C B。如果是等腰的,还要判断是否如果是等腰的,还要判断是否如果是等腰的,还要判断是否如果是等腰的,还要判断是否A=BA=B,或,或,或,或B=CB=C,或,或,或,或A=CA=C。对于等边的,则。对于等边的,则。对于等边的,则。对于等边的,则需判断是否需判断是否需判断是否需判断是否A=BA=B,且,且,且,且B=CB=C,且,且,且,且A=CA=C。列出
34、等价类表:列出等价类表:列出等价类表:列出等价类表:6-3.6-3.某一报表处理系统,要求用户输入处理报表的日期。某一报表处理系统,要求用户输入处理报表的日期。某一报表处理系统,要求用户输入处理报表的日期。某一报表处理系统,要求用户输入处理报表的日期。假设日期限制在假设日期限制在假设日期限制在假设日期限制在19901990年年年年1 1月至月至月至月至19991999年年年年1212月,即系统只能对该段时期内的报表进行处理。如果用户输入的日期不在此范围内,则显月,即系统只能对该段时期内的报表进行处理。如果用户输入的日期不在此范围内,则显月,即系统只能对该段时期内的报表进行处理。如果用户输入的日
35、期不在此范围内,则显月,即系统只能对该段时期内的报表进行处理。如果用户输入的日期不在此范围内,则显示输入错误信息。该系统规定日期由年、月的示输入错误信息。该系统规定日期由年、月的示输入错误信息。该系统规定日期由年、月的示输入错误信息。该系统规定日期由年、月的 6 6 位数字字符组成,前位数字字符组成,前位数字字符组成,前位数字字符组成,前 4 4 位代表年,后两位代位代表年,后两位代位代表年,后两位代位代表年,后两位代表月。现用等价类划分法设计测试用例,来测试程序的表月。现用等价类划分法设计测试用例,来测试程序的表月。现用等价类划分法设计测试用例,来测试程序的表月。现用等价类划分法设计测试用例
36、,来测试程序的“日期检查功能日期检查功能日期检查功能日期检查功能”。解:解:解:解:划分等价类并编号划分等价类并编号划分等价类并编号划分等价类并编号:划分成划分成划分成划分成 3 3 个有效等价类,个有效等价类,个有效等价类,个有效等价类,7 7 个无效等价类,个无效等价类,个无效等价类,个无效等价类,如表如表如表如表5-35-3所示。所示。所示。所示。为合理等价类设计测试用例,对于表中编号为为合理等价类设计测试用例,对于表中编号为为合理等价类设计测试用例,对于表中编号为为合理等价类设计测试用例,对于表中编号为1,5,81,5,8对应的对应的对应的对应的 3 3 个合理等价类,个合理等价类,个
37、合理等价类,个合理等价类,用一个测试用例覆盖。用一个测试用例覆盖。用一个测试用例覆盖。用一个测试用例覆盖。为每一个不合理等价类至少设计一个测试用例为每一个不合理等价类至少设计一个测试用例为每一个不合理等价类至少设计一个测试用例为每一个不合理等价类至少设计一个测试用例:测试数据测试数据测试数据测试数据 期望结果期望结果期望结果期望结果 覆盖范围覆盖范围覆盖范围覆盖范围 199002 199002 输入有效输入有效 1,5,8 1,5,8 99MAY 99MAY 输入无效输入无效输入无效输入无效 2 2 19995 19995 输入无效输入无效输入无效输入无效 3 3 1999005 199900
38、5 输入无效输入无效输入无效输入无效 4 4 198912 198912 输入无效输入无效输入无效输入无效 6 6 200001 200001 输入无效输入无效输入无效输入无效 7 7 199900 199900 输入无效输入无效输入无效输入无效 9 9 199913 199913 输入无效输入无效输入无效输入无效 10 10报表日期的2.有非数字字符类型和长度1.6位数字字符3.少于6个数字字符4.多于6个数字字符输入等价类合理等价类不合理等价类月份范围8.1129.等于010.大于12年份范围5.199019996.小于19907.大于19996-46-4根据给出的程序流程图,画出它的根据
39、给出的程序流程图,画出它的根据给出的程序流程图,画出它的根据给出的程序流程图,画出它的PADPAD图和程序图,并计算它的图和程序图,并计算它的图和程序图,并计算它的图和程序图,并计算它的McCabeMcCabe复杂性度量。复杂性度量。复杂性度量。复杂性度量。其中:其中:其中:其中:PiPi代表操作语句,代表操作语句,代表操作语句,代表操作语句,CiCi代表条件。代表条件。代表条件。代表条件。PAD图程序图n nMcCabe复杂性复杂性:46-56-5某城市的电话号码由三个部分组成。这三部分的名称与内容分别是:某城市的电话号码由三个部分组成。这三部分的名称与内容分别是:地区码:空白或地区码:空白或3 3位数字;位数字;22、前缀:非、前缀:非“0”“0”或或“1”“1”开头的开头的3 3位数字;位数字;后缀:后缀:4 4位数字。位数字。用等价分类法完成如下要求:用等价分类法完成如下要求:划分出有效等价类、无效等价类;划分出有效等价类、无效等价类;为有效等价类设计出测试用例。为有效等价类设计出测试用例。解解第一步:电话号码等价类划分第一步:电话号码等价类划分第一步:电话号码等价类划分第一步:电话号码等价类划分
限制150内