网站大量收购闲置独家精品文档,联系QQ:2885784924

[工学]软件工程导论 张海藩第5版第6章.ppt

  1. 1、本文档共88页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]软件工程导论 张海藩第5版第6章

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 图6.12 表示输入输出数据结构的Jackson图 第二步是分析确定在输入数据结构和输出数据结构中有对应关系的数据单元。 输出数据总是通过对输入数据的处理而得到的,因此在输入输出数据结构最高层次的两个单元总是有对应关系的。这一对单元将和程序结构图中最顶层的方框(代表程序)相对应,也就是说经过程序的处理由正文文件得到输出表格。 因为每处理输入数据中一个“字符串”之后,就可以得到输出数据中一个“串信息”,它们都是重复出现的数据单元,而且出现次序和重复次数都完全相同,因此,“字符串”和“串信息”也是一对有对应关系的单元。 还有其他有对应关系的单元吗? 依次考察输入数据结构中余下的每个数据单元。“字符”不可能和多个字符组成的“字符串”对应,和输出数据结构中其他数据单元也不能对应。“空格”能和“空格数”对应吗?显然,单个空格并不能决定一个记录中包含的空格个数,因此没有对应关系。通过类似的考察发现,输入数据结构中余下的任何一个单元在输出数据结构中都找不到对应的单元. 结论:在这个例子中输入输出数据结构中只有上述两对有对应关系的单元。在图6.12中用一对虚线箭头把有对应关系的数据单元连接起来,以突出表明这种对应关系。 第三步是从数据结构图导出程序结构图。按照前面已经讲述过的规则,这个步骤的大致过程是: 在描绘程序结构的Jackson图的最顶层画一个处理框“统计空格”,它与“正文文件”和“输出表格”这对最顶层的数据单元相对应。 2. 接下来还不能立即画与另一对数据单元(“字符串”和“串信息”)相对应的处理框,因为在输出数据结构中“串信息”的上层还有“表格体”和“空格总数”两个数据单元,在程序结构图的第二层应该有与这两个单元对应的处理框——“程序体”和“印总数”。 在程序结构图的第三层才是与“字符串”和“串信息”相对应的处理框——“处理字符串”。 在程序结构图的第四层似乎应该是和“字符串”、“字符”及“空格数”等数据单元对应的处理框“印字符串”、“分析字符”及“印空格数”,这3个处理是顺序执行的。但是,“字符”是重复出现的数据单元,因此“分析字符”也应该是重复执行的处理。改进的Jackson图规定顺序执行的处理中不允许混有重复执行或选择执行的处理,所以在“分析字符”这个处理框上面又增加了一个处理框“分析字符串”。最后得到的程序结构图为图6.13。 图6.13 描绘统计空格程序结构的Jackson图 空格总数 表格体 第四步是列出所有操作和条件,并且把它们分配到程序结构图的适当位置。 首先,列出统计空格个数需要的全部操作和条件。经过简单分析不难把这些操作和条件分配到程序结构图的适当位置,结果为图6.14。 第五步是用伪码表示程序处理过程。 因为Jackson使用的伪码和Jackson图之间存在简单的对应关系,所以从图6.14很容易得出下面的伪码: 图6.14 把操作和条件分配到程序结构图的适当位置 表体 1. 终止 2. 打开文件 3. 关闭文件 4. 打印出字符串 5.打印出空格数 6.打印出空格总数 7.行空格数统计 8.空格总数统计 9. 读入字符串 10.行空格数统计清零 11.空格总数统计初始化清零 12.行字符统计初始化 13.行字符统计加一. I(1) 文件结束 I(2) 字符串结束 S(3) 字符是空格 统计空格seq 看书P126 图6.14 打开文件 读入字符串 totalsum∶=0 表格体iter until文件结束 处理字符串seq 印字符串seq 印出字符串 印字符串end sum∶=0 pointer∶=1 分析字符串iter until字符串结束 分析字符select字符是空格 处理空格seq sum∶=sum+1 pointer∶=pointer+1 处理空格end 分析字符or字符不是空格 处理非空格seq

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档