分享
分销 收藏 举报 申诉 / 32
播放页_导航下方通栏广告

类型华东交通大学软件工程实验报告.doc

  • 上传人:丰****
  • 文档编号:3327022
  • 上传时间:2024-07-02
  • 格式:DOC
  • 页数:32
  • 大小:1.04MB
  • 下载积分:12 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    华东 交通大学 软件工程 实验 报告
    资源描述:
    华东交通大学软件学院 上机实验报告 课程名称:软件工程 指导老师:唐怀琴 专业班级:12软件+交通设备信息工程2班 姓 名:徐锦陶 学 号:34 学 期:大二下学期 实验一:数据流图实验 一、实验目的 通过绘制数据流图掌握数据流图的基本原理,并能对简朴问题进行数据流图的分析,独立地完毕数据流图的分析与设计。此外,学会使用Case工具完毕数据流图和系统流程图的分析与实现。 二、实验内容 实验内容如下: a) 用visio绘制出如下定货系统的SFD(系统流程图)的模型。 图1 某定货系统SFD b) 用visio绘制教材中分别绘制出定货系统的DFD的顶层模型、第一层模型和第二层模型。(具体参考课本上P69~P70的图3.4,图3.5和图3.6) c) 用visio 绘制如下图所示的取款手续的数据流图。 图2 取款手续 d) 请结合目前的银行柜台取款手续,对图2的取款数据流图进行改善,绘制当前银行柜台取款过程的顶层和第一层数据流图。 三、实验结果 (a)、定货系统的SFD(系统流程图)的模型 (b)、图3.4 DFD的顶层模型 (b)、图3.5 DFD的第一层模型 (b)、 DFD的第二层模型 (c)、取款手续的数据流图 (d)、当前银行柜台取款过程的顶层数据流图 当前银行柜台取款过程的第一层数据流图 实验二、软件设计实验 一、实验目的 学会使用Case工具完毕描述软件结构的软件结构图和软件层次图的设计,并纯熟地掌握几种常用的软件具体设计的工具,如程序流程图、盒图、PAD图和鉴定表,并能把给定的软件问题描述转化为过程设计结果。 二、实验内容 1、软件结构设计: (1) 采用visio绘制教材的图4.26中的软件结构图; (2) 采用visio绘制教材的图4.41的软件层次图。 (3) 分析如下所示的数据流图,并把它转换成软件结构图,然后用visio把结果画出来。(注意,请用结构图) 图1 某系统的数据流图 2、软件的具体设计:某航空公司规定,乘客可以免费托运重量不超过20公斤的行李,当行李重量超过20公斤,对头等舱的国内乘客超重部分每公斤收费6元,对其他舱的国内乘客超重部分每公斤收费8元,对外国顾客超重部分每公斤收费比国内乘客多1.5倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。 实验包含三部分的内容: e) 用word设计描述其具体设计结果的PAD图、鉴定表。 f) 用viso画出它的程序流程图,并计算它的Mccabe程序复杂度。(规定把计算过程写到实验报告中) 三、实验结果 1、(1). 采用visio绘制教材的图4.26中的软件结构图; (2) .采用visio绘制教材的图4.41的软件层次图。 (3) .分析如下所示的数据流图,并把它转换成软件结构图,然后用visio把结果画出来。 开始 2、PAD图 输入行李重量X Y=0 T Y=9*(X-20) X>20 F 头 T Y=12*(X-20) 国外乘客 等 舱 F Y=6*(X-20) 头 T Y=8*(X-20) 普通乘客 等 舱 F Y=3*(X-20) 头 T Y=4*(X-20) 残疾乘客 等 舱 F 输出托运费Y 结束 鉴定表 判 定 条 件 行李重量X X<20 Y Y Y Y -- -- -- -- 状 态 X>20 -- -- -- -- Y Y Y Y 乘客类别 外国人 Y N N Y Y N Y N 普通人 N Y Y N N N N Y 残疾人 N N N N N Y N N 乘坐规格 头等舱 Y N Y Y N Y N N 普通舱 N Y N N Y N Y Y 托 运 费 用 Y=0 判 定 规 则 Y=12*(X-20) Y=9*(X-20) Y=8*(X-20) Y=6*(X-20) Y=4*(X-20) Y=3*(X-20) 程序流程图 求McCabe程序复杂度环节: 环节1:将程序流程图退化成有向图,将程序流程图的每个解决框退化成一个节点,将控制流箭头退化成连接各节点的有向弧。 环节2:在有向图中,由程序出口到入口连接一条虚有向弧,使有向图达成强连通。 环节3:计算V(G)=m-n+1 V(G)是有向图的G中的环数,m是有向图G中的弧数,n是有向图G中的节点数因此环形复杂度为:V(G)=17-13+5=9,所以McCabe程序复杂度为9。 实验三、软件测试实验 一、实验目的 学会使用CASE工具完毕软件测试用例的设计以及初步完毕对单元测试,深刻理解单元测试的基本原理及CASE工具的基本使用。 二、 实验内容 1、单元测试的逻辑覆盖测实验证实验:运用工具完毕对如下例子的单元测试,规定分别完毕语句覆盖、鉴定覆盖、条件覆盖、鉴定条件覆盖、条件组合覆盖和途径覆盖测试的测试用例编写以及测试。规定一方面按格式编写出该测试所需要的测试用例,然后编写测试程序,对其进行测试,最后把你写的测试用例按格式记录到实验报告中。 测试用例的格式如下: {[输入], [盼望结果]},对于本例请遵循如下格式: {[A,B,X],[X]} (A>1) and (B=0) (A=2) or (X>1) X = X/A X = X+1 T T F F a b d c e 图1 单元测试逻辑覆盖的验证实验 此外,请测试如下情况: (1). 假如将第1个鉴定中的“AND”错写成了“OR”,用数据{[2,0,3],[2.5]}(一方面,该组数据满足何种逻辑覆盖)对程序进行测试,可否发现错误?为什么?请先测试,然后把结论记录到实验报告中。 (2). 假如将第2个鉴定中的“x>1”错写成了“x<=1”,则用数据{[2,0,3],[2.5]}对程序进行测试,可否发现错误?为什么?请先测试,然后把结论记录到实验报告中。 (3). 假如将第1个鉴定中的“AND”错写成了“OR”,则用数据{[3,0,1],[1/3]}和{[2,1,2],[3]}(一方面,该组数据满足何种逻辑覆盖)对程序进行测试,可否发现错误?为什么?请先测试,然后把结论记录到实验报告中。 (4). 假如将第2个鉴定中的“x>1”错写成了“x<=1”,则用数据{[3,0,1],[1/3]}和{[2,1,2],[3]})对程序进行测试,可否发现错误?为什么?请先测试,然后把结论记录到实验报告中。 (5). 假如将第2个鉴定中的“x>1”错写成了“x<=1”,则用数据{[2,0,3],[2.5]}和{[1,1,1],[1]}(一方面,该组数据满足何种逻辑覆盖)对程序进行测试,可否发现错误?为什么?请先测试,然后把结论记录到实验报告中。 (6). 假如将第1个鉴定中的“a>1”错写成了“a<=1”,且把“b=0”错写成了“b<>0”,则用数据{[2,1,1],[2]}和{[1,0,2],[3]}对程序进行测试,可否发现错误?为什么?请先测试,然后把结论记录到实验报告中。 (7). 假如将第1个鉴定中的“a>1”错写成了“a<=1”,且把“b=0”错写成了“b<>0”,则用数据{[2,1,1],[2]}、{[2,0,2],[2]}、{[1,1,1],[1]}和{[1,0,2],[3]}对程序进行测试,可否发现错误?为什么?请先测试,然后把结论记录到实验报告中。 2、循环结构测试 现有一个简朴循环,需要对其进行测试,其程序伪代码如下: Int i,a; Input(i,a); While(i<=10) { a += 2; if(a>4) { a *= 2; a += 3; } Else { If(a>1) a -= 4; else a += 5; } i++; } a *=4; Output(a); 规定为该程序设计满足简朴循环的所有测试用例,记录到实验报告中。 3、 等价类划分及边界值测试的验证实验:有如下算法A和B均是非负整型变量(注:int型),假如10<A<100,则B=A*20-5,假如0<A<=10,则B=A*15+20,假如A>=100,则B=A*100-200,请分别用等价类划分方法和边界值分析方法设计测试用例,然后编写测试程序完毕测试。并把测试结论写入到实验报告中。 三、 实验结果 1、 (1)语句覆盖 不能发现错误,由于and比or规定的要严格一些,故and可以满足的数据or也一定可以满足。 (2) 不能发现错误,第二个鉴定or只要满足一个条件即可,由于A=2必然成立,故第二个条件一定为真,所以不能发现错误。 (3) 语句覆盖和鉴定覆盖 第一组测试数据不能发现错误,由于第一组数据可以满足第一个鉴定的and鉴定,肯定可以通过or鉴定条件。而第二组测试数据可以发现错误,由于A=2,B=1,只有A满足条件而B不能满足条件,痛多AND返回0。又由于把and错写成了or,返回值为1,影响了X的值,所以能发现错误。 (4) 第一组测试数据能发现错误。通过第一个阿婆那段,执行c操作结果得到X=1/3,第二个鉴定条件是X<=1,鉴定成功返回值为1,进行e操作,最后得到结果X=4/3。与盼望结果不同,系统想、提醒错误,故能发现错误。 第二组测试数据不能发现错误。他、由于第一个鉴定条件是B=0,而B实际值为1鉴定不成功,将进行操作b,进行第二个鉴定期,由于鉴定条件为A=2,此时X=2,故鉴定成功返回1,进行e操作,最后得结果X=3与盼望结果相同,不能发现“x>1”错写成了“x<=1”。故不能发现错误。 (5) 鉴定覆盖条件、语句覆盖、鉴定覆盖和条件覆盖 第一组测试数据不能发现错误,在第2个鉴定期,由于A = = 2对的,满足条件,进行e操作。最后x = 2.5,与盼望结果相同。所以不能发现“x>1”错写成了“x<=1”。 对于第二组测试数据,由于对于第二个鉴定A=2,而A的实际值为1,此时后面的鉴定X>1或者X<=1对结果就有影响了,错写之后由于X=1,对于X<=1鉴定成立,返回1,影响X的值,故能发现错误。 (6) 第一组测试数据不能发现错误,由于原本执行途径是abe。犯错后执行途径仍为abe,所以不能发现错误。  第二组测试数据也不能发现错误,由于原本执行途径是abe。犯错后执行途径仍为abe,所以也不能发现错误。 (7) 第一组测试数据不能发现错误,由于原本执行途径是abe。犯错后执行途径仍为abe,所以不能发现错误。 第二组测试数据可以发现错误,由于原本执行途径是ace。犯错后执行途径仍为abe,所以能发现错误。 第三组测试数据不能发现错误,由于原本执行途径是abd。犯错后执行途径仍为acd,所以不能发现错误。  第四组测试数据不能发现错误,由于原本执行途径是abe。犯错后执行途径仍为abe,所以也不能发现错误。 程序代码: #include<stdio.h> void main() { int A,B; float X,Y; printf("请输入A,B,X:\n"); scanf("%d%d%f",&A,&B,&X); printf("请输入盼望值Y:"); scanf("%f",&Y); if(A>1&&B==0) { X=X/A; if(A==2||X>1) X=X+1; } else { if(A=2||X>1) X=X+1; else {printf("输出X的值:"); printf("%f",X); } } printf("输出X的值:"); printf("%f\n",X); } 2、 循环结构 程序: #include<iostream.h> void main() { int i,a; cout<<"请输入i和a:"<<endl; cin>>i>>a; while(i<=10) { a=a+2; if(a>4) { a=a*2; a=a+3; } else { if(a>1)a=a-4; else a=a+5; } i++; } a=a*4; cout<<a<<endl;} 测试用例:(i,a)为(11,2)(1,5)(1,1)(1,-3) 3、 验证实验 实验程序: #include<stdio.h> void main() { int A,B; printf("请输入A的值:"); scanf("%d",&A); if(A>10&&A<100) B=20*A-5; if(A>0&&A<=10) B=15*A+20; if(A>=100) B=100*A-200; printf("请输出B的值:"); printf("%d\n",B); } 输入条件的等价类划分 ID 输入 盼望结果 备注 1 50 输入有效 覆盖有等价类1 2 5 输入有效 覆盖有等价类2 3 150 输入有效 覆盖有等价类3 有效等价类测试用例  ID 输入 盼望结果 备注 1 50 输入有效 覆盖有效等价类1 2 5 输入有效 覆盖有效等价类2 3 150 输入有效 覆盖有效等价类3 无效等价类测试用例 ID 输入 盼望结果 备注 1 -1 输入无效 覆盖无效等价类4 2 Abc 输入无效 覆盖无效等价类5 边界值分析:     根据题意可以取:-1,0,1,9,10,11,99,100,101,102  实验四:软件动态模型建模实验 一、 实验目的 运用Visio和Powerdesigner等Case工具完毕软件问题的时序图、状态图以及活动图的绘制,真正理解这些动态模型的含义,并能纯熟的使用Case工具。 二、 实验内容 1、 Powerdesigner完毕教材图3.15的状态图设计 2、 Powerdesigner完毕如下软件问题的状态图设计。复印机的工作流程大体如下:未接到复印命令时处在闲置状态,一旦接到复印命令后则进入复印状态,完毕一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;假如执行复印命令时发现没有纸张,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接受复印命令;假如复印时发生卡纸故障,则进入卡纸状态,发出警告,等待维修人员来排除故障,故障排除后回到闲置状态。 3、 Powerdesigner完毕如下所示的时序图设计 图1 某系统时序图 4、 完毕如下用户身份验证功能的活动图设计:用户一方面输入其个人信息,假如确认其输入则向系统提交用户信息,并在数据库中查询用户信息,比较用户信息,同时进行验证,验证通过,该用户获得授权可以进入系统的主界面,否则,验证失败重新回到输入用户信息界面。假如用户放弃输入,则结束程序。 5、 综合题。综合运用所学OOA和OOD方法和技术完毕教材P263习题8的第10题。 三、 实验结果 1、图3.15 2、 打印机 3、 时序图 4、 用户身份验证功能活动图 5、习题8.10 对象模型
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:华东交通大学软件工程实验报告.doc
    链接地址:https://www.zixin.com.cn/doc/3327022.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork