- 1、本文档共96页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.5.2 Halstead方法 Halstead方法根据程序中运算符和操作数的总数来度量程序的复杂程度。 令N1为程序中运算符出现的总次数,N2为操作数出现的总次数,程序长度N定义为: N=N1+N2 程序中使用的不同运算符(包括关键字)的个数n1,以及不同操作数(变量和常数)的个数n2。预测程序长度的公式如下: H = n1 log2n1 + n2 log2n2 预测程序中包含错误的个数的公式如下: E = N log2 (n1+n2)/3000 Jackson图和层次图的区别: Jackson图 层次图 作用 ①描绘数据结构 ②描绘程序结构 描绘软件结构 矩形框 ①数据元素 ②几个语句 模块 连线 组成关系 调用关系 6.4.3 Jackson方法 Jackson结构程序设计方法由5个步骤组成: (1) 分析并确定输入数据和输出数据的逻辑结构,用Jackson图描绘数据结构。 (2) 找出输入数据结构和输出数据结构中有对应关系的数据单元。所谓有对应关系是指有直接的因果关系,在程序中可以同时处理的数据单元(对于重复出现的数据单元必须重复的次序和次数都相同才可能有对应关系)。 (3) 用下述规则从描绘数据结构的Jackson图导出描绘程序结构的Jackson图: 第一,为每对有对应关系的数据单元,按照它们在数据结构图中的层次在程序结构图的相应层次画一个处理框(层次不同时与图中层次低的那个对应); 第二,根据输入数据结构中剩余的每个数据单元所处的层次,在程序结构图的相应层次分别为它们画上对应的处理框; 第三,根据输出数据结构中剩余的每个数据单元所处的层次,在程序结构图的相应层次分别为它们画上对应的处理框。 改进的Jackson图规定在构成顺序结构的元素中不能有重复出现或选择出现的元素,因此可能需要增加中间层次的处理框。 (4) 列出所有操作和条件(包括分支条件和循环结束条件),并且把它们分配到程序结构图的适当位置。 (5) 用伪码表示程序。 顺序结构: A seq B C D A end 选择结构: A select cond1 B A or cond2 C A or cond3 D A end 循环结构: A iter until(或while) cond B A end 例1: 一个正文文件由若干个记录组成,每个记录是一个字符串。 要求统计每个记录中空格字符的个数,以及文件中空格字符的总个数。 要求的输出数据格式是,每复制一行输入字符串之后,另起一行印出这个字符串中的空格数,最后印出文件中空格的总个数。 设计步骤如下: (1) 用Jackson图描绘的输入输出数据结构。 (2) 分析确定在输入数据结构和输出数据结构中有对应关系的数据单元。 (3) 从数据结构图导出程序结构图。 (4) 列出所有操作和条件,并且把它们分配到程序结构图的适当位置。 (5) 用伪码表示程序处理过程。 例2: 高考后将考生的基本情况文件(简称考生情况文件)和考生高考成绩文件(简称考分文件)合并成一个新文件(简称考生新文件)。 考生基本情况文件中的考生记录的内容包括:准考证号、姓名、通信地址。 考分文件中的考生记录的内容包括:准考证号和各门考分。 合并后的考生新文件自然也是由考生记录组成,内容包括:准考证号、姓名、通信地址和各门考分。 设计步骤如下: (1) 用Jackson图描绘的输入输出数据结构。 输入数据结构: 输出数据结构: (2) 分析确定在输入数据结构和输出数据结构中有对应关系的数据单元。 (3) 从数据结构图导出程序结构图。 (4) 列出所有操作和条件,并且把它们分配到程序结构图的适当位置。 操作:①停止; ②打开两个输入文件; ③建立输出文件; ④从输入文件中各读一条记录; ⑤生成一条新记录; ⑥将新记录写入输出文件; ⑦关闭全部文件。 条件:I(1)文件结束。 (5) 用伪码表示程序处理过程。 产生新文件 seq 打开两个输入文件 建立输出文件 从输入文件中各读一条记录 分析考生记录 iter until 文件结束 处理考生记录 seq 产生准考证号 产生姓名 产生通信地址 产生考分 生成一条新记录 将新记录写入输出文件 从输入文件中各读一条记录 处理考生记录 end 分
文档评论(0)