文章目录

  • 图形
  • Jackson结构程序设计方法
  • 例子

图形

图形 结构 说明
顺序结构 A由B、C、D 3个元素顺序组成,出现的次序依次是B、C和D
选择结构 根据条件A是B或C或D中的某一个
重复结构 A由B出现N次(N≥0)组成

Jackson结构程序设计方法

  • 确定输入数据和输出数据的逻辑结构,并用Jackson图描绘这些数据结构
  • 找出输入数据结构和输出数据结构中有对应关系的数据单元
  • 从描绘数据结构的Jackson图导出描绘程序结构的Jackson图
    • 为每对有对应关系的数据单元,按照它们在数据结构图中的层次在程序结构图的相应层次画一个处理框
    • 根据输入数据结构中剩余的每个数据单元所处的层次,在程序结构图的相应层次分别为它们画上对应的处理框
    • 根据输出数据结构中剩余的每个数据单元所处的层次,在程序结构图的相应层次分别为它们画上对应的处理框
  • 列出所有操作和条件(包括分支条件和循环结束条件),并且把它们分配到程序结构图的适当位置
  • 用伪码表示程序。Jackson方法中使用的伪码和Jackson图是完全对应的

顺序结构

处理名 seq处理1处理2
处理名 end

选择结构

处理名 select 条件1处理1
处理名 or 条件2处理2
处理名 or 条件3处理3
处理名 end

重复结构

处理名 iter until 循环条件处理
处理名 end

例子

一个正文文件由若干个记录组成,每个记录是一个字符串
要求统计每个记录中空格字符的个数,以及文件中空格字符的总个数
输出数据格式是,每复制一行输入字符串之后,另起一行印出这个字符串中的空格数;最后印出文件中空格的总个数。


输入数据是正文文件,输出数据是输出表格
有对应关系的数据单元是正文文件和输出表格、字符串和串信息

将【正文文件】变成【输出表格】的处理是【统计空格】
生成【表格体】的处理是【程序体】,生成【空格总数】的处理是【印总数】
将【字符串】变成【串信息】的处理是【处理字符串】
对【生成字符串】的处理是【印字符串】,对【字符】的处理是【分析字符】,生成【空格数】的处理是【印空格数】
由于Jackson图规定顺序执行的处理中不允许混有重复执行或选择执行的处理,所以在【分析字符】上面又增加了一个【分析字符串】
对【空格】的处理是【处理空格】,对【非空格】的处理是【处理非空格】

需要的全部操作和条件如下:
(1) 停止
(2) 打开文件
(3) 关闭文件
(4) 印出字符串
(5) 印出空格数目
(6) 印出空格总数
(7) sum∶=sum+1
(8) totalsum∶=totalsum+sum
(9) 读入字符串
(10) sum∶=0
(11) totalsum∶=0
(12) pointer∶=1
(13) pointer∶=pointer+1
I(1) 文件结束
I(2) 字符串结束
S(3) 字符是空格

伪码

统计空格seq打开文件读入字符串totalsum∶=0程序体iter until文件结束处理字符串seq印字符串seq印出字符串印字符串endsum∶=0pointer∶=1分析字符串iter until字符串结束分析字符select字符是空格处理空格Seqsum∶=sum+1pointer∶=pointer+1处理空格end分析字符or字符不是空格处理非空格seqpointer∶=pointer+1处理非空格end分析字符end分析字符串end印空格数seq印出空格数目印空格数endtotalsum∶=totalsum+sum读入字符串处理字符串end程序体end印总数seq印出空格总数印总数end关闭文件停止
统计空格end

【软件工程】Jackson图相关推荐

  1. 【软件工程】Jackson图概念+优点缺点+改进的Jackson图+实例

    那天写实验报告的查资料的时候发现网上居然没有完整的Jackson图相关知识orz那我就自己动手丰衣足食好了quq 以下多图预警! Jackson方法是一种面向数据结构的设计方法. 一.Jackson图 ...

  2. 课堂练习---统计空格流程图、Jackson图

    统计空格流程图 火车 Jackson图 转载于:https://www.cnblogs.com/qinmiaomiao/p/8763105.html

  3. 流程图和火车程序Jackson图

    流程图 火车程序Jackson图 转载于:https://www.cnblogs.com/gwy1107/p/8743768.html

  4. Jackson图概念+优点缺点+改进的Jackson图+实例

    那天写实验报告的查资料的时候发现网上居然没有完整的Jackson图相关知识orz那我就自己动手丰衣足食好了quq 以下多图预警! Jackson方法是一种面向数据结构的设计方法. 一.Jackson图 ...

  5. 软件工程的图之数据流图,盒图

    软件工程图图图 今天刚考完软件工程,趁脑子还热会,赶紧来总结一下,之前复习软件工程的图的时候让我太痛苦了- 数据流图 先简单了解一下他的概念:数据流图是描绘信息流和数据从输入移动到输出的过程中所经受的 ...

  6. 软件工程类图_软件工程系列-UML3

    本系列文章为笔记,内容根据北京大学<软件工程>MOOC UML的模型表达工具 系统静态部分建模工具 UML为不同抽象层提供了6种可对系统静态部分建模的图形工具 类图 显示了类(及接口).类 ...

  7. UML软件工程--类图

    UML 基础:类图 选自:IBM 这是关于统一建模语言.即UML 里采用的基本图的一系列文章的一部分.在我 先前关于序列图的文章 里,我把重点从 UML 1.4 版,转移到 OMG的采用UML 2.0 ...

  8. 软件工程-----层次图

    层次图 什么是层次图 层次图是一种图形化的表示方法,用于展示一个系统或组织的层次结构. 它通常由一个根节点开始,然后分支出多个子节点,每个子节点又可以有自己的子节点, 以此类推.层次图可以帮助人们更好 ...

  9. 软件工程导图呈现——软件

    "软件工程",如果以望文生义的理解方式是不是可以这样解释:有关软件的所有工作,它包括很多内容,是一项浩大的工程. 匆匆将软工过了一遍,基本上是一头雾水,总结的也是漏洞百出,有些知识 ...

最新文章

  1. Go 分布式学习利器(20)-- Go并发编程之多路选择和超时控制,channel的关闭和广播
  2. AddressSanitizer+cmake
  3. Linux环境下查PG库的慢sql,postgresql慢SQL
  4. 解决Com调用AutoCAD被呼叫方拒绝接收呼叫
  5. Sparse Principal Component Analysis via Rotation and Truncation
  6. python进程\协程\异步IO
  7. deepfake 图片_DeepFake克星来了!简单2步算法,造假图像无处可逃
  8. 如何手动修改oracle表空间,ORACLE数据库创建和修改表空间
  9. java 对象结构_java对象的结构
  10. How to debug WCF in local
  11. 《RunningMan》评论及弹幕情感分析
  12. 附和导线平差程序(by C#)
  13. python for spss statistics_IBM SPSS Statistics 与用户自定义 Python 模块的集成及分析
  14. 5分钟学完《梁宁产品思维30讲》
  15. 移动硬盘参数错误无法访问数据恢复方法
  16. png图片合成gif动态图-python3
  17. 盘古开源顺势转型,开拓芯片市场
  18. c语言编程齿轮模数选择,如何画齿轮,一看就懂
  19. 强化网络互连设备安全配置脚本
  20. 入门级磁带机使用方法

热门文章

  1. Java 将图片组合成PDF文件
  2. Github Markdown表情速查表
  3. 《坤之色——楚雄》孙溟㠭书画艺术
  4. k8s部署jenkins和Pod始终为pending状态“persistentvolume-controller no persistent volumes available.....”解决办法
  5. module ‘selenium.webdriver‘ has no attribute ‘PhantomJS‘
  6. 【AR】开始使用Vuforia进行Android开发(3)
  7. 倒计时|好礼知时节,Acala 糖果节参与热度持续升温!
  8. 时滞/延迟微分方程(delay-differential equation)
  9. linux保险箱软件,360保险箱的保护功能 - 不怕盗号木马 奇虎360保险箱抢鲜试用(组图)_Linux安全_Linux公社-Linux系统门户网站...
  10. 浅谈边缘计算下的车联网