- 1、本文档共248页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程pptppt课件
顶层数据流图 随着需求分析活动的深入,较高抽象级别的复杂加工逐步精化为一系列相互关联的数据流和子加工。 数据流图的精化与平衡 逐层精化必须保持数据流图的平衡 数据流与加工精化必须保持一致 需求分析活动只求对问题全面、清晰的理解,不考虑软件设计细节? 第一层数据流图 加细每一个加工框 销售细化 Design Design * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * (软件正确性的另外一个例子) 软件问题:飞行控制软件故障 以上两个例子说明,复杂设备中安全关键软件的正确性问题不容忽视。 * (软件可靠性的一个例子) 2003年8月14日,北美东北部大面积停电,从卫星图像中可以看到,东北部一片黑暗。 * (软件时效性的一个例子) 2004年9月14日下午5点,洛杉矶机场400多架飞机,同时与机场失去联系,持续约一分钟,在后备系统重启后,恢复正常。 原因是机场的空中管理软件的时钟计数的设计存在缺陷。事后分析,该系统每40天会失效一次,因此每30天必须重新启动一次系统。 * 停摆:停止交易。 原因:交易系统软件更新升级时,出现问题,由此反映出大型软件的可维护性问题。 * Spyware:间谍软件,盗取信用卡密码等私人信息。 保守估计, 50%以上的系统安全漏洞是由软件缺陷引起的。 * 红线表示:攻击的技术手段和工具越来越多。 黄线表示:攻击者所需要的知识越来越少。 “熊猫烧香”的制作者只有中专学历。 如何在系统受到攻击的情况下,保持服务能力,这就是我们关心的复杂软件系统的可生存性问题。 * NIST:美国国家标准技术局、美国国家标准技术研究院、美国国家标准技术协会 * 我们的信息基础设施,正建立在脆弱的软件之上。 * * * * * * * * * * * * * * * * * * * * * * * 语句覆盖 判定覆盖 条件覆盖 判定/条件覆盖 条件组合覆盖 路径覆盖 2009 * Software Engineering Group 1.7 测试 逻辑覆盖 现给出如下程序: #include(stdio.h); main(){ float A, B, X; scanf(“%f %f %f”, A, B, X); if (A1)(B==0) X=X/A; if (A==2)||(X1) X=X+1; printf(“%f”, X)} 2009 * Software Engineering Group 1.7 测试 设计该程序的测试数据以分别满足语句覆盖、判定覆盖、条件覆盖、条件组合覆盖和路径覆概的逻辑覆盖标准。 为使每个语句都执行一次,程序的执行路径应是sacbed: A=2, B=0, X=4 问题:若把b点的判定错写为: (A==2)||(X1) 入口 返回 (A1)(B==0) (A==2)||(X1) X = X / A X = X + 1 s a b d c e 2009 * Software Engineering Group 语句覆盖:选取足够多的测试数据,使被测试程序中每个语句至少执行一次。 1.7 测试 判定覆盖:选取足够多的测试数据,使被测试程序中不仅每个语句至少执行一次,而且每个判定的每种可能的结果都至少执行一次。 2009 * Software Engineering Group 能够分别覆盖路径sacbed和sabd或sacbd和sabed的两组测试数据,都满足判定覆盖标准: (1)A=3, B=0, X=3 (sacbd) (2)A=2, B=1, X=1 (sabed) 入口 返回 (A1)(B==0) (A==2)||(X1) X = X / A X = X + 1 s a b c e d 1.7 测试 条件覆盖:选取足够多的测试数据,使被测试程序中不仅每个语句至少执行一次,而且每个判定表达式中的每个条件都取到各种可能的结果。 入口 返回 (A1)(B==0) (A==2)||(X1) X = X /
文档评论(0)