`
json20080301
  • 浏览: 166169 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

利用“图”数据结构实现简易工作流

阅读更多

数据结构课程中有三类常用数据结构;

三种数据结构比较

  线性表:数据元素之间仅有线性关系,每个数据元素只有一个直接前驱和一个直接后继;
  树形结构:数据元素之间有着明显的层次关系,并且每一层上的数据元素可能和下一层中多个元素相关,但只能和上一层中一个元素相关;
  图形结构:结点之间的关系可以是任意的,图中任意两个元素之间都可能相关。

 

最近做工作流,要求可以配置化,图形结构刚好符合工作流的模型要求“结点之间的关系可以是任意的,图中任意两个元素之间都可能相关”;

 

把工作流中各个环节都看成是一个结点,结点和结点可以在某种条件下相关;刚好符合图形结构;

 

工作流模型设计如下:

流程结点表(流程节点,流程类型,流程上下文参数);

结点图形表(起始节点 ,参数值, 终止节点 );

 

例如:一个流程D有 A,B,C 三个节点,

那么在流程结点表中记录是

A, D, PARAM

B, D,PARAM

C,D,PARAM 

结点图形表中记录是

A   Y   B

B   Y   C

A   N   C

 

这样通过读取表中的信息就可以进行流程结点的转化啦

分享到:
评论

相关推荐

    [原创]JWFDv0.96 工作流系统-引擎原子操作API简易说明

    **JWFDv0.96工作流系统**是一个基于原子操作API的工作流程管理系统,它提供了灵活且可扩展的框架,用于实现...通过深入研究相关文档和源码,开发者可以更好地理解和利用这一系统,实现符合业务需求的工作流解决方案。

    [JWFD开源工作流]大规模拓扑矩阵存储结构最新进展

    6. **源码解析**:对于GraphMatrix.java,可能分析其数据结构设计、算法选择以及代码优化策略。 7. **版本控制**:不同时间戳的矩阵文件可能用于跟踪数据的变化,以便于回溯或对比不同版本的拓扑结构。 综上所述,...

    JWFD开源工作流V0.92-0.96设计文档

    "JWFDv0.96 开源工作流系统-二次开发与API简易说明.doc"和"JWFDv0.96 开源工作流系统-二次开发API简易说明.doc"详细介绍了如何利用这些API来定制功能或与其他系统集成。 8. **流程图XML结构**:"JWFDv0.96 开源工作...

    VC条件下实现简易计算器的编程

    2. **应用程序框架**:MFC提供了一个应用程序工作流模板,包括初始化、消息处理和退出等步骤。在这个简易计算器项目中,你需要继承`CWinApp`类来创建你的应用程序类,并重写其中的某些方法。 3. **对话框类**:...

    工作流]建立一个工作流程的简明过程

    ### 工作流构建精要:从零到一的简易指南 #### 引言 工作流,作为现代企业信息化管理的重要组成部分,旨在优化业务流程,提高工作效率,减少人为错误,实现资源的有效配置。对于初次接触通达OA系统的用户而言,...

    netty实现简易tomcat

    在本项目中,我们将探讨如何利用 Netty 实现一个简易版的 Tomcat,即一个基础的 HTTP 服务器容器。Tomcat 是一个广泛使用的开源 Java Servlet 容器,它实现了 Java EE 的 Web 应用程序规范。 首先,我们需要了解 ...

    1.简易数据传输加密处理电路1

    简易数据传输加密处理电路的设计,是将电子学原理与密码学技术相结合的一次实际应用尝试,其核心在于利用线性反馈移位寄存器(LFSR)产生的m序列,实现对数据的高效加密与解密。本文将详细介绍该加密电路的五个组成...

    管理系统系列--基于C++实现简易图书管理系统.zip

    在本项目"管理系统系列--基于C++实现简易图书管理系统.zip"中,我们主要探讨的是如何利用C++编程语言设计和实现一个基础的图书管理系统。这个系统可能是为了帮助图书馆或者个人书库进行图书的登记、查询、借阅和归还...

    简易图书馆管理系统C++代码

    在编程学习过程中,设计和实现一个简易的图书馆管理系统是常见的实践项目,它能够帮助我们深入理解面向对象编程、数据结构和文件操作等核心概念。本文将针对标题“简易图书馆管理系统C++代码”进行详细解读,探讨...

    基于LabVIEW编写的简易计算器

    每个函数、子VI(Virtual Instrument)或结构都是一个节点,通过连线表示数据流。计算过程可能涉及了“数学”函数库中的加法、减法、乘法和除法节点。 3. **事件结构**:计算器的运行可能依赖于事件结构,当用户...

    城市交通指南系统--c语言课程设计--源码

    2. **数据结构**:为了存储和处理城市的交通信息,如公交线路、站点、时刻表等,开发者可能使用了数组、链表、树或图等数据结构。例如,公交线路可以表示为链表,每个节点代表一个站;或者,城市地图可以用邻接矩阵...

    简易文本编辑器.zip

    总结,这个简易文本编辑器展示了JAVA在实现文本处理方面的强大能力,同时也融入了数据结构的实际应用,对于初学者来说,它是理解和掌握JAVA编程及数据结构的绝佳实践案例。通过分析和理解这个编辑器的实现,不仅能...

    SSH2 简易的库存商品管理系统

    综上所述,SSH2简易库存商品管理系统利用了Struts2处理用户界面和业务逻辑,Hibernate进行数据持久化,Spring管理组件间的关系和事务,这三者共同构建了一个功能完备的库存管理解决方案。`product.sql`文件用于初始...

    JWFDv0.97.000(初步支持自动数据处理模型)简易设计说明文档

    JWFD群里面有朋友提出要利用工作流做一个自动数据处理的系统,我就利用JWFDv0.96版本的数据结构,经过改造和升级,初步完成了这个工作,当然只是初步,嵌入外部算法的IO文件与XML的结合工程还最终未完成,所以这个...

    QQ 简易程序

    QQ简易程序是一个基于Java语言开发的聊天应用程序,它利用了用户数据报协议(UDP)来实现通信功能。UDP是一种无连接的、不可靠的传输层协议,与TCP相比,它更注重速度和低延迟,适合于实时通信或者对数据完整性要求...

    简易博客网站的设计与实现_mysql

    简易博客网站的设计与实现是基于Java技术栈,利用SpringMVC框架、MySQL数据库构建的一个功能齐全的在线博客系统。这个项目涵盖了多个关键知识点,对于学习Web开发和深入了解Java后端技术有着重要的实践价值。 首先...

    基于java实现的简易web容器.rar

    【Java实现简易Web容器】 Java实现的简易Web容器是一个用于托管Web应用程序的软件,它可以接收HTTP请求,并将这些请求分发到相应的后端服务。在本项目中,你将学习到如何利用Java来构建这样一个基础架构,这对于...

    简易OAdemo

    通过模拟工作流,"简易OAdemo"可能展示了如何在线发起和审批各种申请。这通常涉及表单填写、流程图展示、任务分配和状态追踪。 6. **任务与日程管理**: 系统可能包含任务列表和日历视图,帮助用户跟踪待办事项和...

    简易cpu设计

    在本项目中,我们探讨的是一个简易CPU的设计,该CPU是使用VHDL语言在FPGA(Field Programmable Gate Array)平台上实现的。VHDL是一种用于数字逻辑系统描述的硬件描述语言,常用于FPGA和ASIC(Application-Specific ...

    简易oa系统

    综上所述,简易OA系统虽然简单,但涉及了Web开发的多个重要方面,包括ORM、MVC架构、数据库操作、用户认证、工作流引擎以及项目管理等。对于初学者来说,这是一个了解和实践Java Web开发的绝佳案例。而对于经验丰富...

Global site tag (gtag.js) - Google Analytics