软件结构图解读.docx

上传人:b****0 文档编号:9652422 上传时间:2023-05-20 格式:DOCX 页数:21 大小:189.48KB
下载 相关 举报
软件结构图解读.docx_第1页
第1页 / 共21页
软件结构图解读.docx_第2页
第2页 / 共21页
软件结构图解读.docx_第3页
第3页 / 共21页
软件结构图解读.docx_第4页
第4页 / 共21页
软件结构图解读.docx_第5页
第5页 / 共21页
软件结构图解读.docx_第6页
第6页 / 共21页
软件结构图解读.docx_第7页
第7页 / 共21页
软件结构图解读.docx_第8页
第8页 / 共21页
软件结构图解读.docx_第9页
第9页 / 共21页
软件结构图解读.docx_第10页
第10页 / 共21页
软件结构图解读.docx_第11页
第11页 / 共21页
软件结构图解读.docx_第12页
第12页 / 共21页
软件结构图解读.docx_第13页
第13页 / 共21页
软件结构图解读.docx_第14页
第14页 / 共21页
软件结构图解读.docx_第15页
第15页 / 共21页
软件结构图解读.docx_第16页
第16页 / 共21页
软件结构图解读.docx_第17页
第17页 / 共21页
软件结构图解读.docx_第18页
第18页 / 共21页
软件结构图解读.docx_第19页
第19页 / 共21页
软件结构图解读.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

软件结构图解读.docx

《软件结构图解读.docx》由会员分享,可在线阅读,更多相关《软件结构图解读.docx(21页珍藏版)》请在冰点文库上搜索。

软件结构图解读.docx

软件结构图解读

实验二:

第五题:

职工工资判定表

1

2

3

4

5

6

7

8

9

助工

T

F

F

T

F

F

T

F

F

工程师

F

T

F

F

T

F

F

T

F

高工

F

F

T

F

F

T

F

F

T

工作年限N<10

T

T

F

F

F

F

F

F

工作年限10

F

F

F

T

T

T

F

F

F

工作年限20

F

F

F

F

F

F

T

T

T

350

×

400

×

500

×

350(1+20%)

×

400(1+20%)

×

500(1+30%)

×

350(1+30%)

×

400(1+35%)

×

500(1+40%)

×

 

环形复杂度计算:

V(G)=E-N+2=30-22+2=10

E是流图中边的条数,N是结点数。

 

职工津贴伪代码:

工作年限N,津贴W

Switch(职工种类)

{

case助工

if(N<10){

W=350;

}

elseif(10

W=350(1+20%);

}

elseif(20

W=350(1+30%);

Brake;

case工程师

if(N<10){

W=400;

}

elseif(10

W=4000(1+20%);

}

elseif(20

W=4000(1+35%);

Brake;

case高工

if(N<10){

W=500;

}

elseif(10

W=500(1+30%);

}

elseif(20

W=500(1+40%);

Brake;

}

实验三

职工津贴伪代码:

工作年限N,津贴W

Switch(职工种类)

{

case助工

if(N<10){

W=350;

}

elseif(10

W=350(1+20%);

}

elseif(20

W=350(1+30%);

Brake;

case工程师

if(N<10){

W=400;

}

elseif(10

W=4000(1+20%);

}

elseif(20

Brake;

case高工

if(N<10){

W=500;

}

elseif(10

W=500(1+30%);

}

elseif(20

W=500(1+40%);

Brake;

}

实验三测试用例及其结论

第一题:

(1).如果将第1个判定中的“AND”错写成了“OR”,用数据{[2.5],[2,0,3]}(首先,该组数据满足何种逻辑覆盖)对程序进行测试,可否发现错误?

为什么?

请先测试,然后把结论记录到实验报告中。

结论:

语句覆盖,不能发现错误,当错写成or时,测试用例执行时仍然是选择ture分支,跟预期的结果一致,不能发现错误。

(2).如果将第2个判定中的“x>1”错写成了“x<=1”,则用数据{[2.5],[2,0,3]}对程序进行测试,可否发现错误?

为什么?

请先测试,然后把结论记录到实验报告中。

结论:

不能发现错误。

当程序运行到d时,仍然运行F分支,跟预期结果一致。

(3).如果将第1个判定中的“AND”错写成了“OR”,则用数据{[1/3],[3,0,1]}和{[3],[2,1,2]}(首先,该组数据满足何种逻辑覆盖)对程序进行测试,可否发现错误?

为什么?

请先测试,然后把结论记录到实验报告中。

结论:

条件覆盖,判定覆盖,不能发现错误,程序的执行结果与预期一致。

(4).如果将第2个判定中的“x>1”错写成了“x<=1”,则用数据{[1/3],[3,0,1]}和{[3],[2,1,2]})对程序进行测试,可否发现错误?

为什么?

请先测试,然后把结论记录到实验报告中。

结论:

能发现错误,当程序执行到d时,会选择分支T,将会与预期不符。

(5).如果将第2个判定中的“x>1”错写成了“x<=1”,则用数据{[2.5],[2,0,3]}和{[1],[1,1,1]}(首先,该组数据满足何种逻辑覆盖)对程序进行测试,可否发现错误?

为什么?

请先测试,然后把结论记录到实验报告中。

结论:

条件覆盖。

能发现错误,当第二组测试用例执行至d时,会执行T分支,会与预期结果不符。

(6).如果将第1个判定中的“a>1”错写成了“a<=1”,且把“b==0”错写成了“b!

=0”,则用数据{[2],[2,1,1]}和{[3],[1,0,2]}对程序进行测试,可否发现错误?

为什么?

请先测试,然后把结论记录到实验报告中。

结论:

不能发现错误,程序的执行结果与预期一致。

(7).如果将第1个判定中的“a>1”错写成了“a<=1”,且把“b==0”错写成了“b!

=0”,则用数据{[2],[2,1,1]}、{[2],[2,0,2]}、{[1],[1,1,1]}和{[3],[1,0,2]}对程序进行测试,可否发现错误?

为什么?

请先测试,然后把结论记录到实验报告中。

结论:

能发现错误,执行第二个测试用例时,出现的结果为3,与预期结果不符。

 

第二题:

源程序1:

packageapp;

publicclasstest1{

publicinttest(inti,inta){

while(i<=10)

{

a+=2;

if(a>4){

a*=2;

a+=3;

}else{

if(a>1)//1

a-=4;

else//a<1

a+=5;

}

i++;

}

a*=4;

returna;

}

}

测试程序1:

packageapp;

importorg.junit.Test;

importjunit.framework.TestCase;

publicclasstest1_testextendsTestCase{

privatestatictest1te=newtest1();

@Test

publicvoidtestTest(){

assertEquals(-4,te.test(10,1));//内部第一层循环

assertEquals(20,te.test(10,-2));//内部第二层循环

assertEquals(132,te.test(9,3));

assertEquals(-8,te.test(11,-2));

}

}

源程序2:

packageapp;

publicclasstest3{

publicinttest(intA,intB){

if(10

if(A<100){//10

B=A*20-5;

}elseif(A>=100){//A>=100

B=A*100-200;

}

}elseif(A<=10){//A<=10

if(0

B=A*15+20;

}

}

returnB;

}

}

测试程序2:

packageapp;

importorg.junit.Test;

importjunit.framework.TestCase;

publicclasstest3_testextendsTestCase{

privatestatictest3te3=newtest3();

@Test

publicvoidtestTest(){

/*等价类划分方法*/

assertEquals(50,te3.test(2,2));//0

assertEquals(395,te3.test(20,20));//10

assertEquals(10800,te3.test(110,110));//A>100

/*边界值方法*/

assertEquals(170,te3.test(10,10));//0

assertEquals(9800,te3.test(100,100));//10

}

}

当测试的入口参数超出函数范围时,程序会提醒测试失败;反之,正确的入口参数,程序会正确运行。

万年历需求分析

本次万年历系统,其主要功能是查看当前日期(年、月、日)、查看当地时间、查看其它年月的日历,1900~2014年的日期查询,包括公历、农历两种方式的展示,并且加入了节日的显示,用颜色加以区分,能够清楚的看到重要节日的日期。

另外加了一个系统时间的显示,可以显示当前系统的时间。

在下拉选框旁边有“上个月”“下个月”的按钮,可以在选定年份的条件下进行细致的月份选择。

主要使用流程是:

查看万年历系统、查看其它月份或年份日历,选中其它日期查看,查看当日日期。

主要功能的实现用例如下:

(1)查看万年历:

1、进入万年历系统;

2、系统获取当前日期并且设置日期为当日,红字代表当日日期;

(2)查询当月其它年份:

改变年份的方法是在下拉列表中选取年份

1、点击选择年份的下拉菜单,选择年份;

2、系统获取当前的年份;

3、系统设置为已选年份的当月的日历并显示于界面上;

(3)查看当年的其他月份:

改变月份的方法是在下拉列表中选取月份

1、点击选择月份的下拉菜单,选择月份;

2、可以通过“上个月”“下个月”逐次调试并选定;

3、系统获取当前的月份;

4、系统设置为已选月份为当年的月历并显示于界面上;

 

读书的好处

 

1、行万里路,读万卷书。

2、书山有路勤为径,学海无涯苦作舟。

3、读书破万卷,下笔如有神。

4、我所学到的任何有价值的知识都是由自学中得来的。

——达尔文

5、少壮不努力,老大徒悲伤。

6、黑发不知勤学早,白首方悔读书迟。

——颜真卿

7、宝剑锋从磨砺出,梅花香自苦寒来。

8、读书要三到:

心到、眼到、口到

9、玉不琢、不成器,人不学、不知义。

10、一日无书,百事荒废。

——陈寿

11、书是人类进步的阶梯。

12、一日不读口生,一日不写手生。

13、我扑在书上,就像饥饿的人扑在面包上。

——高尔基

14、书到用时方恨少、事非经过不知难。

——陆游

15、读一本好书,就如同和一个高尚的人在交谈——歌德

16、读一切好书,就是和许多高尚的人谈话。

——笛卡儿

17、学习永远不晚。

——高尔基

18、少而好学,如日出之阳;壮而好学,如日中之光;志而好学,如炳烛之光。

——刘向

19、学而不思则惘,思而不学则殆。

——孔子

20、读书给人以快乐、给人以光彩、给人以才干。

——培根

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

当前位置:首页 > 工程科技 > 城乡园林规划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2