《软件工程》例子和练习分析课件.ppt

上传人(卖家):三亚风情 文档编号:2891979 上传时间:2022-06-08 格式:PPT 页数:85 大小:2.54MB
下载 相关 举报
《软件工程》例子和练习分析课件.ppt_第1页
第1页 / 共85页
《软件工程》例子和练习分析课件.ppt_第2页
第2页 / 共85页
《软件工程》例子和练习分析课件.ppt_第3页
第3页 / 共85页
《软件工程》例子和练习分析课件.ppt_第4页
第4页 / 共85页
《软件工程》例子和练习分析课件.ppt_第5页
第5页 / 共85页
点击查看更多>>
资源描述

1、例子例子n某装配厂有一座存放零件的仓库,仓库中现有的某装配厂有一座存放零件的仓库,仓库中现有的各种零件的数量以及每种零件的库存量临界值等各种零件的数量以及每种零件的库存量临界值等数据记录在库存清单主文件中。数据记录在库存清单主文件中。n当仓库中零件数量有变化时,应该及时修改库存当仓库中零件数量有变化时,应该及时修改库存清单主文件,如果哪种零件的库存量少于它的库清单主文件,如果哪种零件的库存量少于它的库存量临界值,则应该报告给采购部门以便定货,存量临界值,则应该报告给采购部门以便定货,规定每天向采购部门送一次定货报告。规定每天向采购部门送一次定货报告。 n装配厂使用一台微机处理更新库存清单主文件

2、和装配厂使用一台微机处理更新库存清单主文件和产生定货报告的任务。零件库存量的每一次变换产生定货报告的任务。零件库存量的每一次变换称为一个事务,由仓库的称为一个事务,由仓库的CRTCRT终端终端输入到计算机中;输入到计算机中;n系统中的库存清单程序负责对事务进行处理,更系统中的库存清单程序负责对事务进行处理,更新存储在新存储在磁盘磁盘上的库存清单主文件;上的库存清单主文件;n必要的定货信息写在必要的定货信息写在磁带磁带上;上;n每天由报告生成程序读一次磁带,生成并每天由报告生成程序读一次磁带,生成并打印打印出出定货报告;定货报告;n 库存清单程序;库存清单程序;n 报告生成程序。报告生成程序。【

3、例:问题陈述【例:问题陈述】 某家工厂的采购部每天需要一张定货报表,某家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件的出目前价格,主要供应者,次要供应者。零件的出库或入库称为事务,通过库或入库称为事务,通过CRTCRT终端把事务报告给终端把事务报告给定货系统。某种零件的库存量少于库存量临界值定货系统。某种零件的库存量少

4、于库存量临界值时就要再次定货。时就要再次定货。 请给出该系统定货情况的数据流图。请给出该系统定货情况的数据流图。【分析【分析】第一步:第一步:n确定系统的源点和终点确定系统的源点和终点仓库管理员仓库管理员是数据的源点是数据的源点采购员采购员是数据的终点是数据的终点n处理处理本题应该完成本题应该完成定货系统定货系统这样一个功能这样一个功能n数据流数据流事务事务需从仓库送到系统中,显然事务是一个数需从仓库送到系统中,显然事务是一个数据流;据流;系统要把系统要把定货报表定货报表送给采购部,定货报表也是送给采购部,定货报表也是一个数据流。一个数据流。n根据问题的陈述,把整个数据处理过程看作一个根据问题

5、的陈述,把整个数据处理过程看作一个加工,它的输入数据和输出数据实际上反映了本加工,它的输入数据和输出数据实际上反映了本系统与外界环境的接口。系统的顶层数据流图如系统与外界环境的接口。系统的顶层数据流图如下所示:下所示:第二步:把基本系统模型细化,描绘系统的主要功能第二步:把基本系统模型细化,描绘系统的主要功能n将数据处理过程将数据处理过程定货系统进行功能分解成定货系统进行功能分解成处理事处理事务务和和产生报表产生报表两部分两部分n考虑有关数据存储问题,题中涉及到存储的信息有:考虑有关数据存储问题,题中涉及到存储的信息有:库存清单库存清单、定货信息定货信息处理事务需要处理事务需要“库存清单库存清

6、单”数据数据产生报表和处理事务在不同时间进行,因此需要存储产生报表和处理事务在不同时间进行,因此需要存储“定货信息定货信息”第三步:根据需要,对处理功能进行分解第三步:根据需要,对处理功能进行分解n将处理事务进一步分解为将处理事务进一步分解为接收事务接收事务、更新库存清更新库存清单单、处理定货处理定货三部分三部分n画出进一步分解后的数据流图画出进一步分解后的数据流图根据下列描述,画出学生申请根据下列描述,画出学生申请IC借书卡的第一层借书卡的第一层数据流图。学生入学后到图书馆申请数据流图。学生入学后到图书馆申请IC借书卡,借书卡,图书馆管理人员根据图书馆管理人员根据IC借书卡库存情况分析是否借

7、书卡库存情况分析是否需要购买新的需要购买新的IC借书卡,如需购买,则向借书卡,如需购买,则向IC借书借书卡提供商购买。各种资金往来通过学校的会计科卡提供商购买。各种资金往来通过学校的会计科办理。办理。欲开发一个银行的活期存取款业务的处理系统:储户将填欲开发一个银行的活期存取款业务的处理系统:储户将填好的存好的存/取款单和存折交给银行工作人员,然后由系统作以取款单和存折交给银行工作人员,然后由系统作以下处理;下处理; (1)业务分类处理:系统首先根据储户所填的存业务分类处理:系统首先根据储户所填的存/取款单,确取款单,确定本次业务的性质,并将存定本次业务的性质,并将存/取款单和存折交下一步处理;

8、取款单和存折交下一步处理; (2)存款处理:系统将存款单上的存款金额分别记录在存折存款处理:系统将存款单上的存款金额分别记录在存折和帐目文件中,并将现金存入现金库;最后将存折还给储户;和帐目文件中,并将现金存入现金库;最后将存折还给储户; (3)取款处理:系统将取款单上的取款金额分别记录在存折取款处理:系统将取款单上的取款金额分别记录在存折和帐目文件中,并从现金库提取现金;最后将现金和存折还和帐目文件中,并从现金库提取现金;最后将现金和存折还给储户。给储户。该系统的总体图如下图所示,请画出该系统的零级图。该系统的总体图如下图所示,请画出该系统的零级图。某个学生成绩管理系统的部分功能如下:某个学

9、生成绩管理系统的部分功能如下:A.基本信息管理:教务管理人员输入或修改学期教学执行计基本信息管理:教务管理人员输入或修改学期教学执行计划、学生名单和教师名单;划、学生名单和教师名单;B.学生选课:学生根据教学执行计划进行选课;学生选课:学生根据教学执行计划进行选课;C.分配任课教师:教务管理人员为符合开课条件的课程分配分配任课教师:教务管理人员为符合开课条件的课程分配教师,并打印任课通知单给教师;教师,并打印任课通知单给教师;D.成绩管理:每门课程的教师在考试评分结束后将考试成绩成绩管理:每门课程的教师在考试评分结束后将考试成绩交给教务管理人员,教务管理人员输入、维护成绩,系统可交给教务管理人

10、员,教务管理人员输入、维护成绩,系统可生成成绩单生成成绩单(发给学生发给学生)、成绩统计分析表、成绩统计分析表(发给教务管理人员发给教务管理人员)。根据以上的描述根据以上的描述,完成下列题目:完成下列题目:(1)请用数据流图描绘本系统的功能。请用数据流图描绘本系统的功能。(2)请用实体请用实体-联系图描绘本系统的功能。联系图描绘本系统的功能。IPO1学生信息IPO2学生选课IPO3成绩查询IPO4教师信息IPO6分配教师IPO5成绩录入IPO7教学计划管理例:一个应用软件系统的开发成本需例:一个应用软件系统的开发成本需50005000元,元,系统投入运行后每年可节约系统投入运行后每年可节约25

11、002500元,当年利元,当年利率为率为1212时,计算该软件系统的投资回收期、时,计算该软件系统的投资回收期、纯收入和投资回收率。纯收入和投资回收率。年年 将来值将来值 (1+i1+i) 现在值现在值 累计现在值累计现在值1 2500 1.12 2232.14 2232.141 2500 1.12 2232.14 2232.142 2500 1.25 1992.98 4225.12 2 2500 1.25 1992.98 4225.12 3 2500 1.40 1779.45 6004.57 3 2500 1.40 1779.45 6004.57 4 2500 1.57 1588.80 75

12、93.37 4 2500 1.57 1588.80 7593.37 5 2500 1.76 1418.57 9011.945 2500 1.76 1418.57 9011.94 9011.94-5000=4011.949011.94-5000=4011.94(元)(元)2+(5000-4225.12)/1779.45=2.442+(5000-4225.12)/1779.45=2.44(年)(年)本题的投资回收率为本题的投资回收率为41414242。 例:例:某校教学管理某校教学管理ERER图图 对象对象教师属性教师属性学生属性学生属性课程属性课程属性联系属性联系属性关系关系n下面是一个人们打电

13、话时的系统状态图。(见书下面是一个人们打电话时的系统状态图。(见书6767页)。页)。 n例如,描绘一家计算机公司全部产品的数据结构可以用图例如,描绘一家计算机公司全部产品的数据结构可以用图中的层次方框图表示。中的层次方框图表示。n例:用例:用WarnierWarnier图描绘一类软件产品图描绘一类软件产品图图 正文加工系统的层次图正文加工系统的层次图层次图层次图图图 带编号的层次带编号的层次图图(H图图)n和和H图中每个图中每个方框相对应,方框相对应,应该有一张应该有一张IPO图描绘这图描绘这个方框代表个方框代表的模块的处的模块的处理过程。模理过程。模块在块在H图中的图中的编号便于追编号便于

14、追踪了解这个踪了解这个模块在软件模块在软件结构中的位结构中的位置。置。HIPO图图图图 结构图的例子结构图的例子产生最佳解的一般结构产生最佳解的一般结构结构图结构图1.1.变换分析变换分析例子:汽车数字仪表板的设计。例子:汽车数字仪表板的设计。( (教材教材P106)P106)假设的仪表板将完成下述功能:假设的仪表板将完成下述功能:(1) (1) 通过模数转换实现传感器和微处理机接口;通过模数转换实现传感器和微处理机接口;(2) (2) 在发光二极管面板上显示数据;在发光二极管面板上显示数据;(3) (3) 指示每小时英里指示每小时英里数数(mph)(mph),行驶的里程,每加仑油行驶的英里数

15、,行驶的里程,每加仑油行驶的英里数(mpg)(mpg)等等;等等;(4) (4) 指示加速或减速;指示加速或减速;(5) (5) 超速警告:如果车速超过超速警告:如果车速超过5555英里英里/ /小时,则发出超速警告铃声。小时,则发出超速警告铃声。n在软件需求分析阶段应该对上述每条要求以及系统的其他在软件需求分析阶段应该对上述每条要求以及系统的其他特点进行全面的分析评价,建立起必要的文档资料,特别特点进行全面的分析评价,建立起必要的文档资料,特别是数据流图。是数据流图。第一级分解第一级分解精化精化n例题:例题:某程序某程序流程图如右图流程图如右图所示,请分别所示,请分别用用N-S图和图和PAD

16、图表示。图表示。 a UNTIL x8jbice WHILE x5dx1x2x3x4fgh UNTIL x7x6xi=PAD图:图:x8ajx1bTFfx6TFx7ighCASE xix2x4x3x5cdeN-S图:图:判定表例题:判定表例题:n假设某航空公司规定,乘客可以免费托运假设某航空公司规定,乘客可以免费托运重量不超过重量不超过30kg的行李。的行李。n当行李重量超过当行李重量超过30kg时,对头等舱的国内时,对头等舱的国内乘客超重部分每公斤收费乘客超重部分每公斤收费4元,对其他舱的元,对其他舱的国内乘客超重部分每公斤收费国内乘客超重部分每公斤收费6元。元。n对外国乘客超重部分每公斤收

17、费比国内乘对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。费比正常乘客少一半。例:用判定表表示计算行李费算法例:用判定表表示计算行李费算法例:用判定表表示计算行李费算法例:用判定表表示计算行李费算法例:用判定表表示计算行李费算法例:用判定表表示计算行李费算法例:用判定表表示计算行李费算法例:用判定表表示计算行李费算法 图图 用判定树表示计算行李费的算法用判定树表示计算行李费的算法判定树判定树例题:例题:n某校制定了教师的讲课课时津贴标准。对某校制定了教师的讲课课时津贴标准。对于各种性质的讲座,无论教师是什么职称,于

18、各种性质的讲座,无论教师是什么职称,每课时津贴费一律是每课时津贴费一律是50元;元;n对于一般的授课,则根据教师的职称来决对于一般的授课,则根据教师的职称来决定每课时津贴费:教授定每课时津贴费:教授30元,副教授元,副教授25元,元,讲师讲师20元,助教元,助教15元。元。n请分别用判定表和判定树表示津贴标准。请分别用判定表和判定树表示津贴标准。 1520253050FFFFT讲座讲座TFFF助教助教FTFF讲师讲师FFTF副教授副教授FFFT教授教授54321判定表:判定表:课时津贴课时津贴一般授课一般授课讲座讲座教授教授副教授副教授讲师讲师助教助教3025201550判定树:判定树:练习题

19、练习题1:习题:习题6.3n画出下列伪码程序的程序流程图和盒图:画出下列伪码程序的程序流程图和盒图: STARTIF p THENWHILE q DOf END DO ELSEBLOCK g nEND BLOCKEND IFSTOPJackson方法例:方法例:n一个正文文件由若干个记录组成,每个记一个正文文件由若干个记录组成,每个记录是一个字符串。录是一个字符串。n要求统计每个记录中空格字符的个数,以要求统计每个记录中空格字符的个数,以及文件中空格字符的总个数。及文件中空格字符的总个数。n要求的输出数据格式是,每复制一行输入要求的输出数据格式是,每复制一行输入字符串之后,另起一行印出这个字符

20、串中字符串之后,另起一行印出这个字符串中的空格数,最后印出文件中空格的总个数。的空格数,最后印出文件中空格的总个数。 (1)用)用Jackson图描绘输入、输出数据结构图描绘输入、输出数据结构输入数据的格式为:输入数据的格式为:若干记录若干记录构成文件构成文件若干字符若干字符构成一条记录构成一条记录字符是由空格与非空格两类元素组成的字符是由空格与非空格两类元素组成的输出数据的格式为:输出数据的格式为:一行字符串一行字符串本行字符串中的空格数本行字符串中的空格数文件中的空格总数文件中的空格总数(1) 用用Jackson图描绘的输入输出数据结构。图描绘的输入输出数据结构。 设计步骤如下设计步骤如下

21、:(2) 分析确定在输入数据结构和输出数据结构分析确定在输入数据结构和输出数据结构中有对应关系的数据单元。中有对应关系的数据单元。 (3) 从数据结构图导出程序结构图。从数据结构图导出程序结构图。 (4) 列出所有操作和条件,并且把它们分配到程序结构图列出所有操作和条件,并且把它们分配到程序结构图的适当位置。的适当位置。(1)停止)停止(2)打开文件)打开文件(3)关闭文件)关闭文件(4)印出字符串)印出字符串(5)印出空格数目)印出空格数目(6)印出空格总数)印出空格总数(7)sum:=sum+1(8)totalsum:=totalsum+sum(9)读入字符串)读入字符串(10)sum:=

22、0(11)totalsum:=0(12)pointer:=1(13)pointer:=pointer+1I(1)文件结束)文件结束I(2)字符串结束)字符串结束S(3)字符是空格)字符是空格(4) 列出所有操列出所有操作和条件,作和条件,并且把它们并且把它们分配到程序分配到程序结构图的适结构图的适当位置。当位置。(5) 用伪码表示用伪码表示程序处理过程序处理过程。程。 流图的表示:流图的表示:n结点:结点:用圆表示,用圆表示,一个圆代表一条或一个圆代表一条或多条语句。多条语句。n边:边:箭头线称为边,箭头线称为边,代表控制流。在流代表控制流。在流图中一条边必须终图中一条边必须终止于一个结点,即

23、止于一个结点,即使这个结点并不代使这个结点并不代表任何语句。表任何语句。n区域:区域:由边和结点由边和结点围成的面积称为区围成的面积称为区域,包括图外部未域,包括图外部未被围起来的区域。被围起来的区域。 映射方法:映射方法:n任何方法表示的过程设计结果,都可以翻译成流任何方法表示的过程设计结果,都可以翻译成流图。图。n对于顺序结构,一个顺序处理序列和下一个选择对于顺序结构,一个顺序处理序列和下一个选择或循环的开始语句,可以映射成流图中的一个结或循环的开始语句,可以映射成流图中的一个结点。点。n对于选择结构,开始语句映射成一个结点;两条对于选择结构,开始语句映射成一个结点;两条分支至少各映射成一

24、个结点;结束映射成一个结分支至少各映射成一个结点;结束映射成一个结点。点。n对于循环结构,开始和结束语句各映射成对于循环结构,开始和结束语句各映射成一个结点。一个结点。nV(G)=区域数区域数 =4nV(G)=E-N+2 =11-9+2=4nV(G)=P+1 =3+1=4例:例: 逻辑覆盖逻辑覆盖1 1、 语句覆盖语句覆盖n选择足够多的测试数据,选择足够多的测试数据,至少执行程序中所有语句一次。至少执行程序中所有语句一次。在该例子中,只要设计在该例子中,只要设计能通过路径能通过路径SacbdRSacbdR的测试的测试用例就覆盖了所有的语句用例就覆盖了所有的语句。所以可选择测试用例如:。所以可选

25、择测试用例如: 【 A=2A=2,B=0B=0,X=3 X=3 】2. 2. 判定覆盖判定覆盖( (分支覆盖分支覆盖) )n程序中的每个语句至少执程序中的每个语句至少执行一次,并且每个判定的行一次,并且每个判定的每个可能结果都至少执行一次。每个可能结果都至少执行一次。所有判定分支:所有判定分支:(1) a(1) a点判定为点判定为T T (2) a(2) a点判定为点判定为F F(3) b(3) b点判定为点判定为T T (4) b(4) b点判定为点判定为FF2. 2. 判定覆盖判定覆盖( (分支覆盖分支覆盖) )测试用例:测试用例: . . 满足满足(1)(4)(1)(4) (A=3A=3

26、,B=0B=0,X=1X=1)覆盖覆盖SacbRSacbR . . 满足满足(2)(3)(2)(3) (A=2A=2,B=1B=1,X=1X=1)覆盖覆盖SabdRSabdR2. 2. 判定覆盖判定覆盖( (分支覆盖分支覆盖) )或者:或者: . . 满足满足(1)(3)(1)(3) (A (A2 2,B B0 0,X X3) 3) 覆盖覆盖sacbdRsacbdR . . 满足满足(2)(4)(2)(4) (A (A3 3,B B1 1,X X1) 1) 覆盖覆盖sabRsabRn特点:比语句覆盖强,但对特点:比语句覆盖强,但对程序逻辑的覆盖程度仍不高。程序逻辑的覆盖程度仍不高。 3. 3.

27、 条件覆盖条件覆盖n不仅每个语句至少执行一次,不仅每个语句至少执行一次,而且使判定表达式中的每个条而且使判定表达式中的每个条件都取到各种可能的结果。件都取到各种可能的结果。n为达到条件覆盖标准,应选为达到条件覆盖标准,应选取测试数据,使得取测试数据,使得: :在在a a点判定有各种结果出现:点判定有各种结果出现: A A1 1 A1A1 B B0 0 B0B0在在b b点判定有各种结果出现:点判定有各种结果出现: A A2 2 A2A2 X X1 1 X1X13. 3. 条件覆盖条件覆盖n因此,可选取测试用例:因此,可选取测试用例:满足满足【A=2A=2,B=0B=0,X=4X=4】 ( (满

28、足满足A A1 1,B B0 0,A A2 2,X X1 1的条件,的条件,执行路径执行路径SacbdRSacbdR) )满足满足【A=1A=1,B=1B=1,X=1X=1】 ( (满足满足A1A1,B0,A2B0,A2,X1X1的条件,执行路径的条件,执行路径SabRSabR) )3. 3. 条件覆盖条件覆盖n或者,可选取测试用例:或者,可选取测试用例:满足满足【A=2A=2,B=0B=0,X=1X=1】 ( (满足满足A A1 1,B B0 0,A A2 2,X1X1的条件,的条件,执行路径执行路径SacbdRSacbdR) )满足满足【A=1A=1,B=1B=1,X=2X=2】 ( (满

29、足满足A1A1,B0,B0,A2A2,X X1 1的条件,执行路径的条件,执行路径SabdRSabdR) )4. 4. 判定判定/ /条件覆盖条件覆盖n选取足够多的测试数据,使得判定表达式中的每个条件选取足够多的测试数据,使得判定表达式中的每个条件都取到各种可能的值,而且每个判定表达式都取到各种可能的值,而且每个判定表达式 都取到各种都取到各种可能的结果。可能的结果。n测试用例:测试用例:. . 满足条件满足条件和判定和判定A A2 2,B B0 0,X X4 4 覆盖覆盖SacbdRSacbdR . . 满足条件满足条件和判定和判定A A1 1,B B1 1,X X1 1 覆盖覆盖SabRS

30、abR n特点:有时判定特点:有时判定/ /条件覆盖也并不比条件覆盖更强。条件覆盖也并不比条件覆盖更强。 n在例子中,对于在例子中,对于a a、b b点的判定共有八种可能的条件组合,点的判定共有八种可能的条件组合,它们是:它们是: A A1 1,B B0 0 A A1 1,B0 B0 A1 A1,B B0 0 A1 A1,B0 B0 A A2 2,X X11 A A2 2,X1X1 A2 A2,X X1 1 A2 A2,X1X1条件组合覆盖条件组合覆盖n因此,可选取下面四组测试用例,使上面列出的八种条件因此,可选取下面四组测试用例,使上面列出的八种条件组合每种至少出现一次:组合每种至少出现一次

31、:.A=2.A=2,B=0B=0,X=4X=4( (针对针对1 1、5 5两种组合,执行路径两种组合,执行路径SacbdRSacbdR) ).A=2.A=2,B=1B=1,X=1X=1( (针对针对2 2、6 6两种组合,执行路径两种组合,执行路径SabdRSabdR) ).A=1.A=1,B=0B=0,X=2X=2( (针对针对3 3、7 7两种组合,执行路径两种组合,执行路径SabdRSabdR) ).A=1.A=1,B=1B=1,X=1X=1( (针对针对4 4、8 8两种组合,执行路径两种组合,执行路径SabRSabR) )测试用例:测试用例:【A=2A=2,B=0B=0,X=4X=4

32、】 执行路径执行路径:SacbdRSacbdR点覆盖点覆盖n为使程序执行路径经过程序图的边覆盖为使程序执行路径经过程序图的边覆盖(1,2,3,4,5,6,7)(1,2,3,4,5,6,7),可使用测试用例:可使用测试用例:【A=3A=3,B=0B=0,X=1X=1】 执行路径:执行路径:1-4-5-31-4-5-3【A=2A=2,B=1B=1,X=1X=1】 执行路径:执行路径:1-2-6-71-2-6-78. 8. 路径覆盖路径覆盖n选取足够多的测试数据,使程序的每条可能路选取足够多的测试数据,使程序的每条可能路径都至少执行一次径都至少执行一次( (如果程序图中有环,则要如果程序图中有环,则

33、要求每个环至少经过一次求每个环至少经过一次) )。n例中共有四条可能的执行路径:例中共有四条可能的执行路径:n1-2-31-2-3;1-2-6-71-2-6-7;n1-4-5-31-4-5-3;1-4-5-6-71-4-5-6-7。 为满足路径覆盖,可使用测试用例:为满足路径覆盖,可使用测试用例:【A=1A=1,B=1B=1,X=1X=1】 执行路径:执行路径:1-2-31-2-3【A=1A=1,B=1B=1,X=2X=2】 执行路径:执行路径:1-2-6-71-2-6-7【A=3A=3,B=0B=0,X=1X=1】 执行路径:执行路径:1-4-5-31-4-5-3【A=2A=2,B=0B=0

34、,X=4X=4】 执行路径:执行路径:1-4-5-6-71-4-5-6-7n下面用等价划分法设计一个简单程序的测试方案下面用等价划分法设计一个简单程序的测试方案( (实例研究实例研究) ): 某一某一8 8位计算机,其十六进制常数的定义为:位计算机,其十六进制常数的定义为:以以0 x0 x或或0X0X开头的数是十六进制整数,其值的范围开头的数是十六进制整数,其值的范围是是-7f-7f至至7f7f(大小写字母不加区别),如(大小写字母不加区别),如0 x130 x13,0X6A0X6A,-0 x3c -0 x3c 。第一步:建立等价类表第一步:建立等价类表输入条件输入条件有效等价类有效等价类无效

35、等价类无效等价类十六进制整十六进制整数数1 1、 0 x0 x或或0X0X开头的开头的1-21-2位数字串位数字串2 2、以、以- 0 x- 0 x开头的开头的 1-21-2位数字串位数字串3 3、在、在-7f-7f至至7f7f之间之间 4 4、非、非0 x0 x或非或非- -开头的串开头的串 5 5、含有非数字且、含有非数字且(a,b,c,d,e,f)(a,b,c,d,e,f)以外字符以外字符 6 6、多于、多于5 5个字符个字符 7 7、- -后跟非后跟非0 0的多位串的多位串 8 8、-0-0后跟数字串后跟数字串 9 9、- -后多于后多于3 3个数字个数字 1010、小于、小于-7f-

36、7f 1111、大于、大于 7f7f 第二步:为有效等价类设计测试用例第二步:为有效等价类设计测试用例测试用例测试用例期望结果期望结果覆盖范围覆盖范围0 x230 x23显示有效输入显示有效输入1 1,3 3-0 x15-0 x15显示有效输入显示有效输入2 2,3 3第三步:为无效等价类至少设计一个测试用例第三步:为无效等价类至少设计一个测试用例测试用例测试用例期望结果期望结果覆盖范围覆盖范围2 2显示无效输入显示无效输入4G12G12显示无效输入显示无效输入5123311123311显示无效输入显示无效输入6-1012-1012显示无效输入显示无效输入7-011-011显示无效输入显示无效

37、输入8-0134-0134显示无效输入显示无效输入9-0 x777-0 x777显示无效输入显示无效输入100 x870 x87显示无效输入显示无效输入11边界值分析边界值分析n例:计算机输出整数的范围在例:计算机输出整数的范围在-32768-32767之间,之间,若我们要测试机器所能表示整数的边界情况,则若我们要测试机器所能表示整数的边界情况,则有如下测试方案和输出结果:有如下测试方案和输出结果:1、输入、输入-32769,输出,输出“无效输入无效输入”2、输入、输入-32768,输出,输出-327683、输入、输入-32767,输出,输出-327674、输入、输入32766,输出,输出32

38、7665、输入、输入32767,输出,输出327676、输入、输入32678,输出,输出“无效输入无效输入”nGanttGantt(甘特)图(甘特)图n假设有一座陈旧的矩形木板房需要重新油漆。这假设有一座陈旧的矩形木板房需要重新油漆。这项工作必须分项工作必须分3 3步完成:首先刮掉旧漆,然后刷上步完成:首先刮掉旧漆,然后刷上新漆,最后清除溅在窗户上的油漆。假设一共分新漆,最后清除溅在窗户上的油漆。假设一共分配了配了1515名工人去完成这项工作,然而工具却有限:名工人去完成这项工作,然而工具却有限:只有只有5 5把刮旧漆用的刮板,把刮旧漆用的刮板,5 5把刷漆用的刷子,把刷漆用的刷子,5 5把把

39、清除溅在窗户上的油漆用的小刮刀。怎样安排才清除溅在窗户上的油漆用的小刮刀。怎样安排才能使工作进行得更有效呢?能使工作进行得更有效呢?n要提高效率,应该采用要提高效率,应该采用“流水作业法流水作业法”,即首先,即首先由由5 5名工人刮板刮掉第名工人刮板刮掉第1 1面墙上的旧漆,当第面墙上的旧漆,当第1 1面墙面墙刮净后,另外刮净后,另外5 5名工人立即用刷子给这面墙刷新漆名工人立即用刷子给这面墙刷新漆(与此同时拿刮板的(与此同时拿刮板的5 5名工人转去刮第名工人转去刮第2 2面墙上的面墙上的旧漆)。旧漆)。n一旦刮漆的工人转到第一旦刮漆的工人转到第3 3面墙而且刷新漆的工人转面墙而且刷新漆的工人

40、转到第到第2 2面墙以后,余下的面墙以后,余下的5 5名工人立即拿起刮刀去名工人立即拿起刮刀去清除溅在第清除溅在第1 1面墙窗户上的油漆,面墙窗户上的油漆,。这样安排。这样安排使每个工人都有活干,因此在较短的时间内完成使每个工人都有活干,因此在较短的时间内完成任务。任务。n表表13.5 13.5 各道工序估计需要用的时间(小时)各道工序估计需要用的时间(小时) 工序工序墙壁墙壁刮旧漆刮旧漆刷新漆刷新漆清理清理1或或32312或或4462图图13.1 13.1 旧木板房刷漆工程的旧木板房刷漆工程的GanttGantt图图工程网络工程网络n在工程网络中用箭头表示作业在工程网络中用箭头表示作业( (

41、例如,刮旧漆,刷例如,刮旧漆,刷新漆,清理等新漆,清理等) ),用圆圈表示事件,用圆圈表示事件( (一项作业开始一项作业开始或结束或结束) )。n注意,事件仅仅是可以明确定义的时间点,并不注意,事件仅仅是可以明确定义的时间点,并不消耗时间和资源。作业通常既消耗资源又需要持消耗时间和资源。作业通常既消耗资源又需要持续一定的时间。续一定的时间。n用开始事件和结束事件的编号标识一个作业,因用开始事件和结束事件的编号标识一个作业,因此此“刮第刮第1 1面墙上旧漆面墙上旧漆”是作业是作业1-21-2。n图图13.213.2是旧木板房刷漆工程的工程网络。是旧木板房刷漆工程的工程网络。图图13.2 旧木板房

42、刷漆工程的工程网络旧木板房刷漆工程的工程网络 图图13.3 13.3 旧木板房刷漆工程的完整的工程网络旧木板房刷漆工程的完整的工程网络作业作业LETLET(结束)(结束) EETEET(开始)(开始) 持续时间持续时间机动时间机动时间2-42-46 62 23 31 13-53-511116 62 23 34-74-718186 61 111115-65-612128 80 04 45-85-815158 84 43 36-76-7181812120 06 67-97-9202012122 26 68-98-9202015150 05 59-109-10212115151 15 5n表表13.6 13.6 旧木板房刷漆网络中的机动时间(小时)旧木板房刷漆网络中的机动时间(小时)图图13.4 13.4 旧木板房刷漆工程改进的旧木板房刷漆工程改进的GanttGantt图之一图之一

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(《软件工程》例子和练习分析课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|