关键词不能为空

当前您在: 主页 > 英语 >

实验指导书(修订版)

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-08 08:31
tags:

-

2021年2月8日发(作者:斯托扬诺维奇)











教育软件工程实验指导书



Education Software Engineering


Experiment Instruction Book







者:王艳芬












2015



11














............... .................................................. ...




实验一




数据流图实验



.......... ............................................. 1



实验二



软件设计实验



.......... ............................................. 7



实验三



软件测试实验



.......... ............................................ 10



实验四



软件动态模型建模实验



...... ........................................ 18



附录


1



JUnit4.11



eclips e


中的配置方法



................................... 27



附录


2



JUnit4


概述



.............................................. .......... 33






实验一




数据流图实验




一、实验目的:



通过绘制系统流程图 和数据流图,熟练掌握系统流程图和数据流图的基本原理,并能


对简单问题进行系统流图 和数据流图的分析,独立地完成数据流图设计。此外,学会使用


Microsoft V isio2003


工具完成数据流图和系统流程图的分析与实现。




二、实验学时:


4


学时




三、实验内容:



学会用


Microsoft Visio2003


绘制系统流程图、数据流图。



1


、用


Microsoft Visi o2003


绘制出如下定货系统的


SFD


(系统流程图)的模型。



事物


库存 清单


程序


库存清单


主文件


定货


系统


报告生成


程序


定货报告




1


某定货系统


SFD


2


、用


Microsoft Visi o2003


绘制如下定货系统的


DFD


(数据流图)的基本系统模型、


功能级数据流图和把“处理事务”的功能进一步分解后的 数据流图。




1



仓库管


理员


事务


订货系统


订货报表


采购员




2


仓库定货系统的 基本系统模型



D


1


库存清单


库存清单


1


仓库管< /p>


理员


事务


处理


事 务


定货


信息


定货


信息


D


2



订货信息


产生


报表


2


定货报表


采购员




3


仓库定货系统的功能级数据流图



D


1



库存 清单


库存清单


仓库管


理员


事务


1.


1


接收

< p>
事务


事务


库存


更新库


信息


存清单


1.


2


1.


3


处理


事 务


定货


信息


2


产生


报表


定货信息


D

< br>2



定货信息


定货

< p>
报表


采购





4


把“处理事务”的功能进一步分解后的数据流图



3


、绘制如图


5


所示的取款 手续的数据流图。




5


取款手续




2




4


、根据如下考务处理系统需求分析:




1


)对考生送来的报名单进行检查;




2


)对合 格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送


给阅卷站;




3


)对阅卷站 送来的成绩单进行检查,并根据考试中心制定的合格标准审定合格者;




4


)制作考生通知单(含成绩合格

< br>/


不合格标志)送给考生;




5


)按地区进行成绩分类统计和试题难度分析,产生统计分析表 。



设计考务处理系统的基本系统模型、功能级数据流图以及各 功能进一步分解后的数据流


图。




四、实验步骤



指针工具



连接线工具



文本工具





6


Microsoft Visio 2003


工具栏



如图< /p>


6


所示为


Microsoft Visio 2003


的工具栏,可利用“指针工具”选择并添加相应的


符号,利用“连接线工具”添加连接线,利用“文本工具”添加文本,利用“绘图工具”


绘制矩形、椭圆形、直线、曲线等图形。



1




Microsoft

Visio2003


绘制出如下定货系统的


SFD


(系统流程图)


的模型。



1


)打开


Microsoft Visio 2003


,选择“流程图”下的“基本流程图”绘制系统的


系统流程图。




2


)利用指针工具选中需要添加的符号后将其拖拽到绘图区。


< p>


3


)将基本元素选择好后,利用文本工具为其添 加相应的文本,若需对文本进行旋


转,可利用文本工具下拉菜单中的文本块工具


示。



进行旋转。如图


7




3





7


系统流 程图基本物理元素




3


)利用连接线工具添加数据流连接线,绘制数据流之后得到完整的系统流程图,


如图


8


所示。





8


系统流程图



2




Microsoft


Visi o2003


绘制如下定货系统的


DFD


(数据流图)的基本系统



4



模型、功能级数据流图和把处理事务的功能进一步分解后的数据流图。




1



在 已打开的


Microsoft Visio2003


中,如果想 绘制新的模型,可通过单击“文件”


--->


“新建”


--->


“选择绘图类型”进入


Microso ft


Visio2003


的起始界面,如图

< br>9


所示。





9 Microsoft Visio2003


的起始界面



< /p>



2


)选择“软件”中的“数据流模型图 ”来进行


DFD


(数据流图)的绘制。




3


)利用指针工具选中需要添加的符 号后将其拖拽到绘图区,将基本元素选择好后,利


用文本工具为其添加相应的文本。如图


10


所示。





10


数据流图基本物理元素



< p>
4


)利用指针工具选中“数据流”符号并将其拖拽到绘图区中相应的位置, 或者利用连


接线工具添加数据流连接线。



5


)利用文本工具为数据流命名,完整的订货系统完整的 顶层数据流图如图


11


所示。





11


完整 的顶层模型




6

)利用相同的方法绘制功能级数据流图和把处理事务的功能进一步分解后的数据流图。




3



4


题请同学自主完成。




5




五、实验结果



一张系统流程图和七张数据流图。实验报告一份。




6




实验二



软件设计实验




一、实验目的:



学会使用


Microsoft Visio2003

< p>
工具完成描述软件结构的软件结构图和软件层次图的设


计,并熟练地掌握几 种常用的软件详细设计的工具,如程序流程图、盒图、


PAD


图 和判定


表,并能把给定的软件问题描述转化为过程设计结果,同时进行环路复杂度计算, 判断结


构化设计结果的复杂性。




二、实验内容:



1


、软件结构设计:



(1)


采用


Microsoft Visio2003


绘制产生最佳解的软件结构图。





1


产生最佳解的软件结构图




(2)


采用


Microsoft Visio2003


绘制家庭自动化系统的软件层次图。



家庭自动化系统



用户


登录


子系



灯光


控制


子系



家电

< p>
控制


子系



环境


控制


子系



保安


控制


子系



用户


登录


用户


信息


用户


权限


室内


灯光


室外


灯光




花园


洒水


游泳



门窗


监控


摄像


监控

< br>



2


家庭自动化系统的软件层次图





(3)


分析如图

< br>3


所示的数据流图,


并把它转换成合理的软件结构图,< /p>


然后用


Microsoft


Visio 2003


把结果画出来。


(注意,请用结构图,而非层次图)< /p>




7




A


a


B


b


C


c


P


r


w


R


W


p


D


d


E

< br>e


Q


u


U


v


V




3


某系统的数据流图



2


、将下面程序段分别用流程图、


N-S


图、

< p>
PAD


图表示,并把结果画出来。



start


while P


{



A;



do B while !Q;


}


End


3


、程序题:输入三个正整数 作为边长,判断该三条边构成的三角形是等边、等腰还


是一般三角形。

< br>


请用流程图


,PAD



,N-S


图描述上述程序的算法,并把结果画出来。

< br>


4


、软件的详细设计:假定某单位职工的的职称只分为 助工、工程师和高工三种,保


底津贴分别是


350



400



500


元,


并且单位根据职工的工作年限给予津贴适当的上浮奖励,

< p>
具体上浮情况如下:无论助工、工程师和高工工作年限在


10


年以下的无浮动;对于单位


工作超过


10

< p>
年但不到


20


年的职工,助工、工程师津贴上浮< /p>


20%


,高工上浮


30%


;对于在


单位工作超过


20


年 的职工,助工津贴上浮


30%


,工程师津贴上浮


35%


,高工上浮


40%


。< /p>



实验包含如下四个部分的内容:



a)


c)



word


设计描述其详细设计结果的判定表。



写出它的伪代码。



b)

< p>


visio


画出它的程序流程图。



d)


将程序流程图转换为流图,


然后计算它的


McCabe


程序复杂度。


(


要求把计算过程



8



写到实验报告中


)


(选做题)


5


、请对自己选定的课程设计题目进行详细 设计,画出其程序流程图,并


将程序流程图转换为流图,然后计算它的

< br>McCabe


程序复杂度。



三 、实验学时:


4


学时




四、实验步骤


1



绘制产生最佳解的软件结构图。




1



软 件结构图的绘制,


打开


Microsoft Visio 20 03



选择


“软件”

< br>中的


“程序结构图”


绘制系统的系统流程图。

< p>



2


)绘制过程同实验 一。



2


、绘制精化后的数字仪表板系 统的软件层次图。




1


)软件层次图的绘制,打开


Microsoft Visio 2003


,选择“组织结构”中的“组织结


构图”绘制系统的系统流程图。< /p>




2


)绘制过 程同实验一。



其他题目请同学自主完成。



五.



实验结果



文档:软件结构图、软件层 次图、流程图、


N-S


图、


PAD


图、伪代码、判定表和程序


流程图以及环路复杂度的计算过程,打印 后粘贴在实验报告中;



实验报告一份。




9




实验三



软件测试实验




一、实验目的:



深刻理解软件测试的 目的,


熟知软件测试的基本方法和基本策略。


学会使用


JUnit4.11


工具完成软件测试用例的设计以及初步完成单元测试 ,


在此基础上深刻理解单元测试的基


本原理及测试类

< p>
JUnit4.11


工具的基本使用。




二、实验内容:


< br>1



单元测试的逻辑覆盖测试验证实验:


运用


JNunit


工具完成对如下例子的单元测试,< /p>


要求分别完成语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖和路径覆盖< /p>


测试的测试用例编写以及测试。要求首先按格式编写出该测试所需要的测试用例,然后编< /p>


写测试程序,对其进行测试,最后把你写的测试用例按格式记录到实验报告中。

< p>




试用例的格式如下:






{[


期望结果


], [


输入


]}


,对于本例请遵循如下格式:






{ [X],[A,B,X] }


a



b



F



(A>1)



and



(B=0)



T



c



X = X/A



d



F



T



(A=2)



or



(X>1)












e



X = X+1





1


单元测试逻辑覆盖的验证实验




10



此外,请测试如下情况:



(1).


如果将第


1


个判定中的“


AND


”错写成了“


OR



,用数据


{[2.5],[2,0,3]}

(首先,


该组数据满足何种逻辑覆盖)对程序进行测试,可否发现错误?为什么?请 先测试,然后


把结论记录到实验报告中。



(2).


如果将第


2


个判定中的“


x>1


”错写成了“

x<=1



,则用数据


{[2.5 ],[2,0,3]}


对程序


进行测试,可否发现错误?为什么 ?请先测试,然后把结论记录到实验报告中。



(3).


如果将第


1


个判定中的“

< br>AND


”错写成了“


OR



,则用数据


{[1/3],[3,0,1]}



{[3],[2,1,2]}


(首先,该组数据满足何种逻 辑覆盖)对程序进行测试,可否发现错误?为什


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



(4).


如果将第


2


个判定中的“


x>1


”错写成了“


x<=1



,则用数据< /p>


{[1/3],[3,0,1]}



{[ 3],[2,1,2]}


)对程序进行测试,可否发现错误?为什么?请先测试,然后把 结论记录到实


验报告中。



(5).


如果将第


2


个判定中的“


x>1


”错写成了“


x<=1



,则用数据


{[2.5],[2,0,3]}



{[1],[1,1,1]}


(首先,该组数据满 足何种逻辑覆盖)对程序进行测试,可否发现错误?为什


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



(6).


如果将第


1


个判定中的



a>1



错写成了



a<=1




且把

< p>


b==0



错写成了< /p>



b!=0




则用数据


{[2],[2,1,1]}



{[3],[1,0,2] }


对程序进行测试,可否发现错 误?为什么?请先测试,


然后把结论记录到实验报告中。



(7).


如果将第


1


个判定中的



a>1



错写成了



a<=1




且把



b ==0



错写成了


< br>b!=0




则用数据


{[2],[2,1,1]}



{[2],[2 ,0,2]}



{[1],[1,1,1]}

< br>和


{[3],[1,0,2]}


对程序进行测试,可否发 现


错误?为什么?请先测试,然后把结论记录到实验报告中。



经过上述的测试过程,你有什么体会,请写到实验报告中!



2


、循环结构测试



现有一个简单循环,需要对其进行测试,其程序代码如下:



public int test(int i, int a) {












while(i<=10)


{


a += 2;


if(a>4)


{


a *= 2;


a += 3;


}


else


11













{


if(a>1)


a -= 4;


else


a += 5;


}


i++;


}


a *=4;


return a;


要求为该程序设计满足简单循环的所有测 试用例,记录到实验报告中。



3


、等 价类划分及边界值测试的验证实验:有如下算法


A


< p>
B


均是非负整型变量


(


注 :


int



)


,如果


10


,则


B=A* 20-5


,如果


0


则< /p>


B=A*15+20


,如果


A>=100


,则


B=A*100-200


,请分别 用等价类划分方法和边界值分析方法设计测试用例,然后编写测试


程序完成测试。并把测 试结论写入到实验报告中。



(选做题)


4


、为三角形程序设计测试用例。这个程序的功能是,读入代表三角形边


长的三个整数,判断它们能否组成三角形。如果能够,则输出三角形是等边、等腰或任意


三角形的识别信息。



要求:先用黑盒法设计测试用 例,然后用白盒法进行检验与补充。



提示步骤:


1


)根据三角形特点,按照黑盒测试方法设计相关的测试用例。



2



< br>根据该程序的处理逻辑,


通过某种开发工具编写程序,


实 现测试过程。



3


)根据程序内部处理 逻辑,按照白盒测试技术进行检验,并补充黑盒测


试法中不够完善的测试用例。




三、实验学时:


4


学时




四、实验步骤



Junit4.11< /p>



Eclipse


中的配置及概述详见附 录


1



2.


1


、单元测试的逻辑覆盖测试验证实验




1


)启动


E clipse


,新建立一个项目叫


Junit_Test





2

< p>
)依照图


1


编写一个


Ca lculator


类,详细代码如下:



package app;



public class Calculator {




public double test(double A, double B, double X) {


12











if(A>1&&B==0)











X


=X/A;










if(A==2||X>1)











X


=X+1;







r


eturn X;






}


}


(3)




JUnit4


单元测试包引入项目


J unit_Test




在项目


Junit_Test


上点右键,点“属性”


,如图


2


所示。





2


在弹 出的属性窗口中,


首先在左边选择



J ava Build Path




然 后到右上选择



Libraries



标签,之后在最右边点击“


Add External JAR s


?”按钮,如图


3


所示。

< p>



13





3



找到要添加的


JARs


文件



并添加,如图


3


所示


JUnit4.11


软件包就被包含


进我们这个 项目了。单击


OK


返回。


< p>


4


)生成


JUnit< /p>


测试框架:在


Eclipse



Package Explorer


中用右键点击


Calculator



弹出菜单,选择“

< br>New--> JUnit Test Case



。如 图


4


所示。





4


点击“下一步”后,系统会自动 列出你这个类中包含的方法,选择要进行测试的方法


test





14



如图


5


所示。





5



之后系统会自动生成一个新类


CalculatorTest


,里面包含一些空的测试用例。你只需要将这


些测试用例稍作修改即可 使用。完整的


CalculatorTest


代码如下:



package app;


import ;


import se;


public class CalculatorTest extends TestCase {












//


为测试


Calculator


类而创建的一个


calculator< /p>


对象



private static Calculator calculator = new Calculator();


@Test




//


表明这是一个测试方法



/*



* Test method for '(double, double, double)'



*/


public void testTest() {



/*


判断期待结果和实际结果是否相 等。


assertEquals


的第一个参数为期待结果,


*


第二个参数为实际结果。



*/


assertEquals(2.5,(2,0,3));



}



15


}



(5)



运行测试代码:在


CalculatorTest


类上点右键,选择“


Run As --->a JUnit Test


”来运行


我们的测试,如图


6


所示。





6


运行结果如图

< br>7


所示:



成功





7


运行结果




16

-


-


-


-


-


-


-


-



本文更新与2021-02-08 08:31,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/613320.html

实验指导书(修订版)的相关文章