- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程-06详细设计
McCabe方法 – cont. 流图 – cont. 在流图中用圆表示结点,一个圆代表一条或多条语句 程序流程图中的一个顺序的处理框序列和一个菱形判定框,可以映射成流图中的一个结点 流图中的箭头线称为边,代表控制流 在流图中一条边必须终止于一个结点,即使这个结点并不代表任何语句(实际上相当于一个空语句) 由边和结点围成的面积称为区域,当计算区域数时应该包括图外部未被围起来的那个区域 McCabe方法 – cont. 流图 – cont. 当过程设计中包含复合条件时,生成流图的方法稍微复杂一些 所谓复合条件,就是在条件中包含了一个或多个布尔运算符(逻辑OR,AND,NAND,NOR) 在这种情况下,应该把复合条件分解为若干个简单条件,每个简单条件对应流图中一个结点 图(a)程序流程图 图(b)流图 McCabe方法 – cont. 计算环形复杂度的方法 可以用下述3种方法中的任何一种来计算环形复杂度: (1)流图中的区域数等于环形复杂度 (2)流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数 (3)流图G的环形复杂度V(G)=P+1,其中,户是流图中判定结点的数目 McCabe方法 – cont. 环形复杂度的用处: 程序的环形复杂度取决于程序控制流的复杂程度,即取决于程序结构的复杂程度 当程序内分支数或循环个数增加时,环形复杂度也随之增加,因此它是对测试难度的一种定量度量,也能对软件最终的可靠性给出某种预测 McCabe研究大量程序后发现,环形复杂度高的程序往往是最困难、最容易出问题的程序 实践表明,模块规模以V(G)≤10为宜,V(G)=10是模块规模的一个更科学更精确的上限 Halstead方法 Halstead方法也称为文本复杂性度量,它根据程序中运算符和操作数的总数来度量程序的复杂程度 运算符是通常语法中的象+,-,,,if-then-else, while-do等这样一些语法元素 操作数是指那些变量、常量等。至于注解、说明和其他的非执行语句并不计入在内 Halstead方法 – cont. 程序长度N的计算 N = N1 + N2 N1 为程序中运算符出现的总次数 N2 为程序中操作符出现的总次数 Halstead方法预测程序长度H的计算 H = n1 log2n1 + n2 log2n2 n1为程序中使用不同运算符的个数 n2为程序中使用不同操作符的个数 实践表明 ,预测长度H和实际长度N很接近 Halstead方法预测程序中错误E的个数 E = N log2(n1+n2) / 3000 误差在8%以内 QA * * 2013-10-18 计1111、1112 * 2013-10-24 1109 在详细设计阶段,要决定各个模块的实现算法,并精确地表达这些算法。 表达过程规格说明的工具叫做详细设计工具,它可以分为以下三类: 图形工具 表格工具 语言工具 过程设计工具 1. 程序流程图 在40年代末到70年代中期,程序流程图一直是软件设计的工具 它以对控制流程的描绘直观、易于掌握而被设计人员青睐 依据国家标准(GB1526-89),列出有关程序流程图的基本符号(如下页图) 1. 程序流程图 – cont. 优点: 容易掌握,且历史“悠久”,使用广泛 缺点: 本质上不具备逐步求精的特点,对于提高大型系统的可理解性作用甚微 使得程序员过早的考虑程序的控制流程,而不是全局结构 用箭头代表控制流,随意转移控制 违背了结构化程序设计的精神 程序流程图不易表示数据结构 趋势:停止使用 2. 盒图 (N-S图) N-S图是Nassi和Shneiderman提出来的,它体现了结构程序设计精神,是目前过程设计中广泛使用的一种图形工具。 基本符号:(e)调用子程序A 2. 盒图 (N-S图) – cont. 优点: 功能域(一个特定控制结构的作用域)明确,可以从盒图上一眼就看出来 没有箭头不允许随意转移控制,不可能任意转移控制 很容易确定局部和全程数据的作用域 很容易表现嵌套关系,也可以表示模块的层次结构 ---培养程序员用结构化的方式思考问题和解决问题的习惯 缺点: 随着程序内嵌套的层数增多时,内层方框越来越小,这样不仅会增加画图的难度,还会影响图形的清晰度 3. PAD图 PAD(Problem Analysis Diagram)问题分析图 日立公司中央研究所在1973年研究开发 使用二维树形结构图描述程序的逻辑 PAD图的优点: 程序一定是结构化的,PAD图中竖线的总条数就是程序中的层次数,既表示程序逻辑,也描绘数据结构 (a)顺序 先执行P1后执行P2 (b)选择 IF C THEN P1 ELSE P2 (c)CASE型多分支 (d)WHILE型循环 W
您可能关注的文档
最近下载
- UL 1998-2018 UL可编程器件安全软件标准.pdf VIP
- 2024届广东省广州市省实教育集团九年级数学第一学期期末学业水平测试试题含解析.doc VIP
- 传感器原理及应用复习题 .pdf VIP
- 风力发电工程技术专业2021级人才培养方案(高职).pdf VIP
- 2021年10月青岛市建设工程材料价格及造价指数(可搜索)(1).pdf VIP
- 变形监测技术试题及答案.docx VIP
- DB62T 2528.5-2021 动物疫病监测规范 第5部分:免疫抗体监测.pdf VIP
- 2024年秋季新人教版七年级上册英语全册教案.docx
- 《杂草学》教学大纲.doc VIP
- 脑部抗衰护理方案.pptx VIP
文档评论(0)