- 1、本文档共102页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
04结构化设计new
4.10.3 Jackson方法 在导出程序结构图的过程中,由于改进的Jackson图规定在构成顺序结构的元素中不能有重复出现或选择出现的元素,因此可能需要增加中间层次的处理框。 4.10.3 Jackson方法 (4)列出所有操作和条件(包括分支条件和循环结束条件),并且把它们分配到程序结构图的适当位置。 (5)用伪码表示程序。 课堂练习 用面向数据流方法设计本书P62图3.17工资支付系统的数据流图所示的工资支付系统的软件结构。 分析: 1、从整体来分析系统的特点: 从图中可以看出,事务数据和人事数据沿着两条输入通路进入系统,输出数据沿着一条输出通路离开系统,数据图中没有明显的事务中心,因此,从整体上看这个数据流图具有变换流的基本特征。 2、分析输入和输出边界: “收集数据”和“取数据”显然是在输入流中,“审核数据”并不对数据进行处理,功能是为了确保输入数据的准确性,应该归入输入流中;“更新人事数据”由人事科通过另一个程序完成,不属于本系统。“印表格”应该在输出流中;“分发工资明细表”应该用人工来完成,不是系统的功能部分。由此,系统边界如下图所示。 3、完成“第一级分解” 也就是确定系统的总体控制结构。通常,变换系统高层是一个“三叉”控制结构。如下图: 4、完成“第二级分解” 就是把数据流图中的每个处理映射成软件结构中的一个适当的模块。 变换分析的映射规则是:从变换中心的边界开始沿着输入通路向外移动,把输入通路中每个处理映射成软件结构中“输入信息处理控制模块”控制下的一个低层模块;然后沿着输出通路向外移动,把输出通路中每个处理映射成直接或间接受“输出信息处理控制模块”控制的一个低层模块;最后把变换中心内的每个处理映射成受“变换中心控制模块”控制的一个低层模块。 第二级分解的结果如下图: 5、优化 进一步分析,“接收工资数据”这个控制模块是多余的,对于输出,“印出计算结果”与“印表格”是同一个处理,只需保留一个。优化后的系统结构如下图所示: 4.8 过程设计 图4.24 三种基本的控制结构 (a) 顺序结构,先执行A再执行B; (b) IF-THEN-ELSE型选择(分支)结构; (c)WHILE型循环结构 4.8 过程设计 结构程序设计的经典定义如下所述。 如果一个程序的代码块仅仅通过顺序、选择和循环这三种控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。 4.8 过程设计 这个经典定义过于狭隘了,结构程序设计本质上并不是无GO TO语句的编程方法,而是一种使程序代码容易阅读、容易理解的编程方法。 4.8 过程设计 机械地使用三种基本控制结构实现这个目标反而会使程序晦涩难懂。因此,下述的结构程序设计的定义可能更全面一些。 4.8 过程设计 结构程序设计是尽可能少用GO TO语句的程序设计方法。最好仅在检测出错误时才使用GO TO语句,而且应该总是使用前向GO TO语句。 4.8 过程设计 图4.25 其他常用的控制结构 (a) DO-UNTIL型循环结构;(b)多分支结构 4.9 过程设计的工具 描述程序处理过程的工具称为过程设计的工具,它们可以分为图形、表格和语言三类。 4.9.1 程序流程图 程序流程图又称为程序框图,它是历史最悠久使用最广泛的描述过程设计的方法,然而它也是用得最混乱的一种方法。 图4.26中列出了程序流程图中使用的各种符号。 图4.26 程序流程图中使用的符号 (a) 选择(分支);(b) 注释;(c) 预先定义的处理; (d) 多分支;(e) 开始或停止;(f) 准备; (g)循环上界限;(h) 循环下界限;(i) 虚线; (j) 省略符;(k) 并行方式;(l) 处理; (m) 输入/输出;(n) 连接;(o) 换页连接;(p) 控制流 4.9.2 盒图(N-S图) 出于要有一种不允许违背结构程序设计精神的图形工具的考虑,Nassi和Shneiderman提出了盒图,又称为N-S图。 图4.27 盒图的基本符号 (a) 顺序;(b) IF-THEN-ELSE型分支;(c) CASE型多分支; (d) 循环;(e) 调用子程序A 4.9.2 盒图(N-S图) 盒图没有箭头,因此不允许随意转移控制。坚持使用盒图作为详细设计的工具,可以使程序员逐步养成用结构化的方式思考问题和解决问题的习惯。 4.9.3 PAD图 PAD是问题分析图(Problem Analysis Diagram)的英文缩写,自1973年由日本日立公司发明以后,已得到一定程度的推广
文档评论(0)