




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,实例介绍,软件外包教研室,.,2,第2章实例介绍,2.1三角形问题2.2NextDate问题2.3佣金问题2.4简单ATM系统2.5货币转换器,.,3,2.1三角形问题,三角形问题是在软件测试文献中使用最广的一个例子,这个例子经久不衰的原因之一是,它包含了清晰而又复杂的逻辑。它还是削弱客户、开发人员和测试人员沟通的不完整定义的典型例子。三角形问题之所以复杂,是因为输入与正确输出之间的关系复杂。,.,4,2.1.1三角形问题陈述,简单版本:三角形问题接受三个整数a、b和c作为输入,用作三角形的边。程序的输出是由这三条边确定的三角形类型:等边三角形、等腰三角形、不等边三角形或非三角形。有时这个问题被扩展为将直角三角形作为第五类,在有些练习中会使用这种扩展。改进版本:三角形问题接受三个整数a、b和c作为输入,用作三角形的边。整数a、b和c必须满足以下条件:c1:1=a=200c4:ab+cc2:1=b=200c5:ba+cc3:1=c=200c6:ca+b,.,5,续,程序的输出是由这三条边确定的三角形类型:等边三角形、等腰三角形、不等边三角形或非三角形。如果输入值没有满足这些条件中的任何一个,则程序会通过输出消息来进行通知,例如,“b的取值不在允许范围内”,若c1、c2、c3满足,则给出以下四种相互排斥输出的一个:如果三条边相等,则程序的输出是等边三角形。如果两条边相等,则程序的输出是等腰三角形。如果没有两条边相等,则程序的输出是不等边三角形。如果c4、c5和c6中有一个条件不满足,则程序的输出是非三角形。,.,6,2.1.2三角形问题实现,以下是三角形问题的数据流图描述。可以把这个程序实现为一个主程序和三个简单的过程。在后续章节里我们还要用到这个例子,现在将它的实现用伪代码表示。,.,7,三角形程序实现的数据流图,.,8,三角形问题实现的伪代码,Programtriangle2versionofsimpleDima,b,cAsIntegerDimIsATriangleAsBooleanStep1:GetInputOutput(“Enter3integerswhicharesidesofatriangle”)Input(a,b,c)Output(“SideAis”,a)Output(“SideBis”,b)Output(“SideCis”,c)Step2:IsATriangle?If(ab+c)AND(ba+c)AND(ca+b)ThenIsATriangle=TrueElseIsATriangle=FalseEndIf,step3:DetermineTriangleTypeIfIsATrangleThenif(a=b)AND(b=c)ThenOutput(“Equilateral”)ElseIf(ab)AND(ac)AND(bc)ThenOutput(“Scalence”)ElseOutput(“Isosecles”)EndIfEndIfElseOutput(“NOTaTriangle”)EndIfEndtriangle2,.,9,三角形问题实现的伪代码,Programtriangle3improvedversionDima,b,cAsIntegerDimIsATriangleAsBooleanStep1:GetInputDoOutput(“Enter3integerswhicharesidesofatriangle”)Input(a,b,c)c1=(1=200)c2=(1=200)c3=(1=200)IfNOT(c1)ThenOutput(“Valueofaisnotintherangeofpermittedvalues”)EndIf,IfNOT(c2)ThenOutput(“Valueofbisnotintherangeofpermittedvalues”)EndIfIfNOT(c3)ThenOutput(“Valueofcisnotintherangeofpermittedvalues”)EndIfUntilc1ANDc2ANDc3Output(“SideAis”,a)Output(“SideBis”,b)Output(“SideCis”,c)Step2Step3Endtriangle3,.,10,2.2NextDate函数,输入变量之间的逻辑比较复杂有两种复杂性来源:输入域和闰年规则80%活动出现在20%的空间,.,11,2.2.1NextDate问题陈述,NextDate是一个有三个变量(月份、日期和年)的函数。函数返回输入日期后面的那个日期。变量月份、日期和年都是整数值,并满足以下条件:c1:1=月份=12c2:1=日期=31c3:1812=年=2012我们的处理要包括对月份、日期和年的无效输入值的响应处理,还要对无效逻辑处理,例如任意年的4月31日。,.,12,2.2.2NextDate的伪代码实现,ProgramNextDate1SimpleversionDimtomorrowDay,tomorrowMonth,tomorrowYearAsIntegerDimday,month,yearAsIntegerOutput(“EntertodaysdateintheformMMDDYYYY”)Input(month,day,year)CasemonthOfCase1:monthIs1,3,5,7,8,or10:31daymonths(excpet12),Ifday31thentomorrowDay=day+1elsetomorrowDay=1tomorrowMonth=month+1EndIfCase2:monthIs4,6,9or1130daymonthIfday30thentomorrowDay=day+1elsetomorrowDay=1tomorrowMonth=month+1EndIf,.,13,续NextDatessimpleversion,Case3:monthIs12:Ifday20000)thencommission=0.04*commissioncommission=commission+0.01*(sales-20000)elsecommission=0.04*salesEndIfEndIfOutput(“Commissionis”,commission,”元”)EndCommission,.,20,2.4SATM系统,为了方便同学们了解集成测试和系统测试,我们介绍一个简单的自动柜员机系统,包含各种功能和交互,是一个典型的客户/服务系统的客户端。,.,21,2.4.1SATM的问题描述,SATM客户可以选择三种交易中的任意一种:存款、取款和查询余额。这些交易可以在信用帐户和储蓄帐户上完成。,.,22,2.4.1SATM的问题描述,.,23,2.4.2SATM问题分析,有大量的信息隐藏在刚刚
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 飞机结构胶接装配工职业礼仪规范考核试卷及答案
- 2025年福建省厦门市集美区杏东中学招聘1人考前自测高频考点模拟试题及答案详解(典优)
- 铁氧体材料烧成工应急处置能力考核试卷及答案
- 2025黑龙江伊春市铁力市招聘城市社区工作者笔试模拟试卷及1套完整答案详解
- 2025内蒙古第二批次阿拉善盟直事业单位“绿色通道”引进人才需求考前自测高频考点模拟试题及答案详解(网校专用)
- 2025江苏泰州市姜堰区招聘教师20人考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025广西柳州市柳江区投资集团有限公司下属子公司柳州市堡鑫建筑工程有限公司招聘工作人员模拟试卷及答案详解(夺冠)
- 2025湖南郴州市第一人民医院招聘专技人员考前自测高频考点模拟试题完整答案详解
- 仁爱英语试卷试题及答案
- 中式外语测试题及答案
- 25《王戎不取道旁李》 教学设计
- 2024年咨询工程师继续教育城市轨道交通工程可行性研究报告编制方法考试答案
- 【项目方案】源网荷储一体化项目(储能+光伏+风电)规划报告
- 咖啡因实验报告认知功能与记忆力评估
- (正式版)SHT 3075-2024 石油化工钢制压力容器材料选用规范
- 各类质谱仪的优缺点分析 质谱仪解决方案
- 部编版四年级语文上册句子专项练习(一)
- 苏科版九年级数学下册《二次函数与一元二次方程》评课稿
- 医学细胞生物学课件:第四章 内膜系统及囊泡转运
- 中国矢量地图可编辑建筑生通用区位分析
- 路基路面工程现场检测技术培训课件
评论
0/150
提交评论