CN109582299B - 一种串并行嵌套子任务流程图的自动布局方法 - Google Patents

一种串并行嵌套子任务流程图的自动布局方法 Download PDF

Info

Publication number
CN109582299B
CN109582299B CN201811427305.5A CN201811427305A CN109582299B CN 109582299 B CN109582299 B CN 109582299B CN 201811427305 A CN201811427305 A CN 201811427305A CN 109582299 B CN109582299 B CN 109582299B
Authority
CN
China
Prior art keywords
node
basic
nodes
child
tree
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811427305.5A
Other languages
English (en)
Other versions
CN109582299A (zh
Inventor
粟华
张�杰
龚春林
谷良贤
胡彬
朱成贤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northwestern Polytechnical University
Original Assignee
Northwestern Polytechnical University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN201811427305.5A priority Critical patent/CN109582299B/zh
Publication of CN109582299A publication Critical patent/CN109582299A/zh
Application granted granted Critical
Publication of CN109582299B publication Critical patent/CN109582299B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Software Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种串并行嵌套子任务流程图的自动布局方法,构建四种类型FlowSize、FlowStrand、FlowTree和FlowNode;完成在基本节点内添加数据和子基本串、子基本树,基本串和基本树添加子基本节点,在添加或移除、插入任一基本节点后其所有父级基本节点、基本串、基本树的大小Flowsize改变的功能;在画布上添加任一模块,然后在后台构建基本节点并将数据填入;在画布再添加任一模块;以上功能保证了在画布上添加任一模块;保证根节点位置不变的情况下,下属所有节点按照关系排列位置,并保证任一两个节点之间没有重合区域,保证了流程图的串、树和子任务节点之间的布局清晰、均匀。

Description

一种串并行嵌套子任务流程图的自动布局方法
技术领域
本发明属于流程图制作技术领域,具体地说,涉及一种串并行嵌套子任务流程图的自动布局方法。
背景技术
流程图是利用各种不同图形符号来表示工作过程中活动的发生顺序,用简洁直接的图形表现方式让人理解模块之间的顺序,在各种行业中广泛应用。关于流程图的商业软件也多种多样,其中如Microsoft公司的Visio和金山公司的WPS还有各种较为小众的商业软件都是为了满足人们对文件、数据、系统、程序等流程的方便展示。流程图的广泛应用衍生出了人们对于如何让流程图更加直观、清晰的要求。传统方法是通过人们对流程图的手动布局来解决这一问题,但随着近年来流程图的模块更多、更复杂,手动布局已经不能满足基本需求。对于流程图的自动布局需求应用而生。
现有技术中,在实际项目中对现有的自动布局算法进行筛选,发现没有可以应用到项目中的合适的自动布局算法。有的布局算法仅仅可以布局串行流程,有的算法可以布局并行流程,但对于流程中还具有子任务流程的布局不能很好的实现。
发明内容
本发明的目的在于克服现有技术中存在的缺陷,提出了一种串并行嵌套子任务流程图的自动布局方法。该方法是一种既可以串并行混合布局,又可以在这种混合布局中添加无穷嵌套的子任务的闭环布局算法。在项目的实际应用的得到很好的展示,解决了闭合流程图中串并行混合,嵌套混合子任务的布局算法。
其技术方案如下:
一种串并行嵌套子任务流程图的自动布局方法,将基本模块结构分为四种类型,即:FlowSize、FlowStrand、FlowTree 和 FlowNode 。 1. 对于 FlowSize 类型,包括宽和高的属性 2. 对于 FlowNode 类型,应具有的属性包括节点大小 FlowSize、节点包含的FlowStrand 和 FlowTree、节点的上级 ParentStrand 和 ParentTree、节点附带对象 Tag和节点位置 xPositon、yPosition;应包含的方法有添加父节点、添加和移除对象、FlowTree 和 FlowStrand 3. 对于 FlowStrand 类型,应具有的属性包括是否为闭环isRing、节点大小 FlowSize、节点包含的列表 FlowNodes;应包含的方法有添加、插入和移除 FlowNode 4. 对于 FlowTree 类型,应具有的属性包括节点大小 FlowSize、节点包含的列表 FlowNodes;应包含的方法有添加、插入和移除 FlowNode。
具体步骤如下:
步骤1、构建类FlowSize,包括属性宽和高;
步骤2、构建三种FlowNode,FlowStrand,FlowTree结构类型;
步骤3、构建好基本节点、基本串和基本树之后,可以完成在基本节点内添加数据和子基本串、子基本树,基本串和基本树添加子基本节点,在添加或移除、插入任一基本节点后其所有父级基本节点、基本串、基本树的大小Flowsize改变的功能;
步骤4、在画布上添加任一模块,然后在后台构建基本节点并将数据填入;在画布再添加任一模块,根据桌布上覆盖关系判定是否添加子节点;如果是子节点就后台添加子节点;如果是并行节点就在后台构建FlowTree并将与该节点的并行的节点载入FlowTree中,然后将新建基本节点载入原基本节点的父节点的子节点组中,并在该新建节点中载入FlowTree;如果是串行节点,寻找原节点所属基本串,并在该串中插入基本节点;
步骤5、以上功能保证了在画布上添加任一模块,在后台都可以通过最初的根节点获取到所有节点之间的关系,并可获取任一时刻任一节点下附属所有节点所占的单位高度和单位宽度和;
步骤6、通过这些功能,保证根节点位置不变的情况下,下属所有节点按照关系排列位置,并保证任一两个节点之间没有重合区域,保证了流程图的串、树和子任务节点之间的布局清晰、均匀。
进一步,
1)基本节点FlowNode,该节点包括
a)节点数据Tag;
b)节点文本Text;
c)节点大小Flowsize;
d)节点的子基本串Flowstrand和父基本串ParentStrand;
e) 节点的子基本树Flowtree和父基本树ParentFlowTree;
f)节点的位置xPosition和yPosition;
g)添加或移除子基本串和子基本树的方法;
h)当节点大小改变时触发的事件;
2)基本串FlowStrand,该串包括:
a)子基本节点组FlowNodes;
b) 串大小Flowsize;
c)串文本Text;
d)添加或移除、插入子基本节点的方法;
e) 计算串中心位置的方法;
f)当节点大小改变时触发的事件;
3)基本树FlowTree,该树包括:
a) 子基本节点组FlowNodes;
b)树大小Flowsize;
c)添加或移除、插入子基本节点的方法;
d)当节点大小改变时触发的方法。
本发明的有益效果为:
本发明是一种既可以串并行混合布局,又可以在这种混合布局中添加无穷嵌套的子任务的闭环布局算法。在项目的实际应用的得到很好的展示,解决了闭合流程图中串并行混合,嵌套混合子任务的布局算法。
附图说明
图1是本发明算法步骤1的示意图;
图2是本发明算法步骤2的示意图;
图3是串行布局图;
图4是并行布局图;
图5是串并行混合图;
图6是串行子任务混合图;
图7是串并行和子任务混合图;
图8是串并行、子任务嵌套混合图。
具体实施方式
下面结合具体实施方式对本发明的技术方案作进一步详细地说明。
一种串并行嵌套子任务流程图的自动布局方法,将基本模块结构分为四种类型,即:FlowSize、FlowStrand、FlowTree 和 FlowNode 。 1. 对于 FlowSize 类型,包括宽和高的属性 2. 对于 FlowNode 类型,应具有的属性包括节点大小 FlowSize、节点包含的FlowStrand 和 FlowTree、节点的上级 ParentStrand 和 ParentTree、节点附带对象 Tag和节点位置 xPositon、yPosition;应包含的方法有添加父节点、添加和移除对 象、FlowTree 和 FlowStrand 3. 对于 FlowStrand 类型,应具有的属性包括是否为闭环isRing、节点大小 FlowSize、节点包含的列表 FlowNodes;应包含的方法有添加、插入和移除 FlowNode 4. 对于 FlowTree 类型,应具有的属性包括节点大小 FlowSize、节点包含的列表 FlowNodes;应包含的方法有添加、插入和移除 FlowNode。
具体步骤如下:
步骤1、如图1所示,构建类FlowSize,包括属性宽和高;
步骤2、如图2所示,构建三种(FlowNode,FlowStrand,FlowTree)结构类型,分别为:
1)基本节点FlowNode,该节点包括
a) 节点数据Tag;
b)节点文本Text;
c)节点大小Flowsize;
d) 节点的子基本串Flowstrand和父基本串ParentStrand;
e)节点的子基本树Flowtree和父基本树ParentFlowTree;
f)节点的位置xPosition和yPosition;
g)添加或移除子基本串和子基本树的方法;
h)当节点大小改变时触发的事件;
2)基本串FlowStrand,该串包括:
a)子基本节点组FlowNodes;
b)串大小Flowsize;
c)串文本Text;
d)添加或移除、插入子基本节点的方法;
e)计算串中心位置的方法;
f)当节点大小改变时触发的事件;
3)基本树FlowTree,该树包括:
a)子基本节点组FlowNodes;
b)树大小Flowsize;
c)添加或移除、插入子基本节点的方法;
d)当节点大小改变时触发的方法;
步骤3、构建好基本节点、基本串和基本树之后,可以完成在基本节点内添加数据和子基本串、子基本树,基本串和基本树添加子基本节点,在添加或移除、插入任一基本节点后其所有父级基本节点、基本串、基本树的大小Flowsize改变的功能;
步骤4、在画布上添加任一模块,然后在后台构建基本节点并将数据填入;在画布再添加任一模块,根据桌布上覆盖关系判定是否添加子节点;如果是子节点就后台添加子节点;如果是并行节点就在后台构建FlowTree并将与该节点的并行的节点载入FlowTree中,然后将新建基本节点载入原基本节点的父节点的子节点组中,并在该新建节点中载入FlowTree;如果是串行节点,寻找原节点所属基本串,并在该串中插入基本节点;
步骤5、以上功能保证了在画布上添加任一模块,在后台都可以通过最初的根节点获取到所有节点之间的关系,并可获取任一时刻任一节点下附属所有节点所占的单位高度和单位宽度和;
步骤6、通过这些功能,保证根节点位置不变的情况下,下属所有节点按照关系排列位置,并保证任一两个节点之间没有重合区域,保证了流程图的串、树和子任务节点之间的布局清晰、均匀。
STN 算法在实例具体包括以下步骤:
1. 初始化流程图
2. 从左侧拖入模块测试串行
3. 拖入模块测试并行
4. 拖入子任务测试
5. 子任务嵌套子任务测试
本算法基本实现了串行、并行、嵌套子任务的自动布局任务,解决了没有完美解决这一问题的空白。
以上所述,仅为本发明较佳的具体实施方式,本发明的保护范围不限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可显而易见地得到的技术方案的简单变化或等效替换均落入本发明的保护范围内。

Claims (2)

1.一种串并行嵌套子任务流程图的自动布局方法,其特征在于,包括以下步骤:
步骤1、构建类FlowSize,包括属性、宽和高;
步骤2、构建三种结构类型,分别为:基本节点FlowNode、基本串FlowStrand、基本树FlowTree;
步骤3、构建好基本节点、基本串和基本树之后,完成在基本节点内添加数据和子基本串、子基本树,基本串和基本树添加子基本节点,在添加或移除、插入任一基本节点后其所有父级基本节点、基本串、基本树的大小Flowsize改变的功能;
步骤4、在画布上添加任一模块,然后在后台构建基本节点并将数据填入;在画布再添加任一模块,根据桌布上覆盖关系判定是否添加子节点;如果是子节点就后台添加子节点;如果是并行节点就在后台构建FlowTree并将与该节点的并行的节点载入FlowTree中,然后将新建基本节点载入原基本节点的父节点的子节点组中,并在该新建基本节点中载入FlowTree;如果是串行节点,寻找原节点所属基本串,并在该串中插入基本节点;
步骤5、以上功能保证了在画布上添加任一模块,在后台都能通过最初的根节点获取到所有节点之间的关系,并能获取任一时刻任一节点下附属所有节点所占的单位高度和单位宽度和;
步骤6、通过这些功能,保证根节点位置不变的情况下,下属所有节点按照关系排列位置,并保证任一两个节点之间没有重合区域,保证了流程图的串、树和子任务节点之间的布局清晰、均匀。
2.根据权利要求1所述的串并行嵌套子任务流程图的自动布局方法 ,其特征在于,
1)基本节点FlowNode,该节点包括
a) 节点数据Tag;
b)节点文本Text;
c)节点大小Flowsize;
d)节点的子基本串Flowstrand和父基本串ParentStrand;
e)节点的子基本树Flowtree和父基本树ParentFlowTree;
f)节点的位置xPosition和yPosition;
g)添加或移除子基本串和子基本树的方法;
h) 当节点大小改变时触发的事件;
2)基本串FlowStrand,该串包括:
a)子基本节点组FlowNodes;
b)串大小Flowsize;
c)串文本Text;
d)添加或移除、插入子基本节点的方法;
e) 计算串中心位置的方法;
f)当节点大小改变时触发的事件;
3)基本树FlowTree,该树包括:
a)子基本节点组FlowNodes;
b)树大小Flowsize;
c)添加或移除、插入子基本节点的方法;
d)当节点大小改变时触发的方法。
CN201811427305.5A 2018-11-27 2018-11-27 一种串并行嵌套子任务流程图的自动布局方法 Active CN109582299B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811427305.5A CN109582299B (zh) 2018-11-27 2018-11-27 一种串并行嵌套子任务流程图的自动布局方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811427305.5A CN109582299B (zh) 2018-11-27 2018-11-27 一种串并行嵌套子任务流程图的自动布局方法

Publications (2)

Publication Number Publication Date
CN109582299A CN109582299A (zh) 2019-04-05
CN109582299B true CN109582299B (zh) 2021-12-10

Family

ID=65924985

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811427305.5A Active CN109582299B (zh) 2018-11-27 2018-11-27 一种串并行嵌套子任务流程图的自动布局方法

Country Status (1)

Country Link
CN (1) CN109582299B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112734353A (zh) * 2019-10-28 2021-04-30 北京国双科技有限公司 一种可视化流程动态多分支的布局方法和装置
CN115079918B (zh) * 2022-08-19 2022-11-18 中化现代农业有限公司 项目研究建模方法、装置、电子设备和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104615541A (zh) * 2015-02-10 2015-05-13 上海创景计算机系统有限公司 基于流程图的仿真测试建模系统及方法
CN105242597A (zh) * 2015-09-29 2016-01-13 中国科学院光电技术研究所 一种嵌入式控制器调试界面的自动生成方法
CN106056649A (zh) * 2016-05-31 2016-10-26 深圳市永兴元科技有限公司 流程图的生成方法和装置
JP2017037617A (ja) * 2015-08-07 2017-02-16 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
CN106445506A (zh) * 2016-09-06 2017-02-22 北京恒华伟业科技股份有限公司 一种业务流程图生成方法、装置和系统
CN106557457A (zh) * 2016-11-28 2017-04-05 中国电子科技集团公司第二十八研究所 一种基于qt的自动生成跨平台复杂流程图的系统
CN107291887A (zh) * 2017-06-21 2017-10-24 北京中泰合信管理顾问有限公司 Lnmp架构实现软件化的流程管理系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104615541A (zh) * 2015-02-10 2015-05-13 上海创景计算机系统有限公司 基于流程图的仿真测试建模系统及方法
JP2017037617A (ja) * 2015-08-07 2017-02-16 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
CN105242597A (zh) * 2015-09-29 2016-01-13 中国科学院光电技术研究所 一种嵌入式控制器调试界面的自动生成方法
CN106056649A (zh) * 2016-05-31 2016-10-26 深圳市永兴元科技有限公司 流程图的生成方法和装置
CN106445506A (zh) * 2016-09-06 2017-02-22 北京恒华伟业科技股份有限公司 一种业务流程图生成方法、装置和系统
CN106557457A (zh) * 2016-11-28 2017-04-05 中国电子科技集团公司第二十八研究所 一种基于qt的自动生成跨平台复杂流程图的系统
CN107291887A (zh) * 2017-06-21 2017-10-24 北京中泰合信管理顾问有限公司 Lnmp架构实现软件化的流程管理系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《流程图布局算法实现》;边旭等;《数字技术与应用》;20160714(第5期);第127-128页 *

Also Published As

Publication number Publication date
CN109582299A (zh) 2019-04-05

Similar Documents

Publication Publication Date Title
US20210160151A1 (en) SYSTEM-ON-CHIP (SoC) ASSEMBLY, CONFIGURABLE IP GENERATION AND IP INTEGRATION UTILIZING DISTRIBUTED COMPUTER SYSTEMS
CN105094818B (zh) 基于soa的自然资源综合应用构建方法及系统
US8502823B2 (en) Method and system for lane graph visualization
CN109582299B (zh) 一种串并行嵌套子任务流程图的自动布局方法
US20210125144A1 (en) Bill of material conversion method, electronic apparatus and non-transitory computer-readable storage medium
CN103927185A (zh) 基于能源管理的网络拓扑建模装置及其引导方法
CN109144562B (zh) 一种基于zookeeper的智能代码发布告警方法
CN109739909A (zh) 一种基于标签快速实现数据可视化图表的展示方法及系统
CN110083664B (zh) 基于cmdb模型自动构建拓扑模型的方法
CN107659439A (zh) 一种动态的服务编排方法
CN110968749A (zh) 基于大数据容器化调度中心系统的可视化显示装置及方法
CN105912723A (zh) 一种自定义字段的存储方法
CN103713930B (zh) 一种图形化定义流程地图的方法和装置
CN111115093B (zh) 一种仓库管理软件的兼容方法
CN103164230B (zh) 一种基于新特征模型的需求建模及模型转换方法
CN102521129B (zh) 一种自绘窗口的测试方法和装置
CN109828806A (zh) 一种基于ui自定义多样化组合控件的优化方法
CN109960553A (zh) 一种多视窗内容呈现方法与系统
US8060488B2 (en) System and method for classifying and defining relationships between product information data
CN102611580B (zh) 一种基于规格驱动的多版本网络管理方法
CN103795727B (zh) 一种基于树状结构配置的数据分发方法
CN103186514A (zh) 用于实现文档结构化的方法和装置
US9280260B2 (en) Provision of a graphical layout of semi-structured data based on properties of the semi-structured data and user input
CN110633459A (zh) 数据报表的自动生成方法及系统、计算机可读存储介质
CN101464873A (zh) 物料清单的建立方法与系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant