软件工程第六讲详细设计总汇.ppt

  1. 1、本文档共98页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 环形复杂度的计算方法 可以用下列任何一种方法计算环形复杂度 1、流图中的区域数等于环形复杂度 2、流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。 3、流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。 上图中的的环形复杂度为3 * 环行复杂度的用途 程序的环形复杂度取决于程序控制流的复杂程度,也即是取决于程序结构的复杂程度。当程序内分支数或循环个数增加时,环形复杂度也随之增加,因此它是对测试难度的一种定量度量,也能对软件最终的可靠性给出某种预测。 实践表明,模块规模以V(G)≤10为宜,也就是说,V(G)≤10是模块规模的一个更科学更精确的上限。 * 6.5.2 Halstead方法 Halstead方法根据程序中运算符和操作数的总数来度量程序的复杂程度。 令N1为程序中运算符出现的总次数,N2为操作数出现的总次数,程序长度N定义为:            N =N1十N2 详细设计完成之后,可以知道程序中使用的不同运算符(包括关键字)的个数n1,以及不同操作数(变量和常数)的个数n2。Halstead给出预测程序长度的公式如下:            H = n1log2n1十n2log2n2 多次验证都表明,预测的长度H与实际长度N非常接近。 Halstead还给出了预测程序中包含错误的个数的公式如下:            E = N log2(n1 +n2)/3000 * Thanks! * 6.4 面向数据结构的设计方法 面向数据结构的设计方法就是用数据结构作为程序设计的基础。 这种方法的最终目标是得出对程序处理过程的描述,最适合于在详细设计阶段使用,也就是说,在完成了软件结构设计之后,可以使用面向数据结构的方法来设计每个模块的处理过程。 使用面向数据结构的设计方法,当然首先需要分析确定数据结构,并且用适当的工具清晰地描述数据结构。 * 6.4.1 Jackson程序设计方法 Jackson图、改进的Jackson图——描述Jackson方法的工具 Jackson方法 * 逻辑数据结构 虽然程序中实际使用的数据结构种类繁多,但是它们的数据元素彼此间的逻辑关系却只有三类: 顺序结构 选择结构 重复结构 可选结构 * 顺序结构 顺序结构的数据由一个或多个数据元素组成,每个元素按确定次序出现一次。 A由B、C、D三个元素顺序组成。 * 顺序结构对应的伪码 顺序结构对应的伪码,其中‘seq’和‘end’是关键字: A seq B C D A end * 选择结构 选择结构的数据包含两个或多个数据元素,每次使用这个数据时按一定条件从这些数据元素中选择一个。 根据条件A是B或C或D中的某一个。 * 选择结构对应的伪码 选择结构对应的伪码,其中‘select’、‘or’和‘end’是关键字,cond1、cond2和cond3分别是执行B、C或D的条件:   A select cond1     B   A or cond2 C   A or cond3     D   A end * 重复结构 重复结构的数据,根据使用时的条件由一个数据元素出现零次或多次构成。 A由B出现N次(N≥0)组成或A由B循环组成,结束条件的编号是i。 * 重复结构对应的伪码 重复结构对应的伪码,其中‘iter’、‘until’、‘while’和‘end’是关键字(重复结构有until和while两种形式),cond是条件:   A iter until(或while)cond    B   A end * 可选结构 A由元素B或者出现或者不出现组成 * Jackson图的优点 便于表示层次结构,而且是对结构进行自顶向下分解的有力工具; 形象直观可读性好; 既能表示数据结构也能表示程序结构。 * Jackson图与层次方框图的比较 Jackson图实质上是对层次方框图(P92)的精化。 但两者含义很不相同: 层次图中的一个方框通常代表一个模块;Jackson图即使在描绘程序结构时,一个方框也并不代表一个模块,通常一个方框只代表几个语句。 层次图表现的是调用关系,通常一个模块除了调用下级模块外,还完成其他操作;Jackson图表现的是组成关系,也就是说,一个方框中包括的操作仅仅由它下层框中的那些操作组成。 * 6.4.2 Jackson方法(1) Jackson结构程序设计方法的五个步骤: 分析并确定输入数据和输出数据的逻辑结构,并用Jackson图描绘这些数据结构。 找出输入数据结构和输出数据结构中有对应关系的数据单元。 所谓有对应关系是指有直接的因果关系,在程序中可以同时处理的数据单元(对于重复出现的数据单元必须重复的次序和次数都相同才可能有

文档评论(0)

挺进公司 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档