<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg>
在我刚学习软件开发时,都会接触到程序流程图。在这里我们先复习一下程序流程图
处理框、判断框、起止框、连接点、流程线、注释框等构成,结合相应的算法,构成整个程序流程图。
任何复杂的算法。都可以由顺序结构、分子结构和循环结构这三种基本结构组成
- 顺序结构
顺序结构是简单的线性结构,各框按顺序执行。其流程图的基本形态如图所示,语句的执行顺序为
- 选择(分支)结构
这种结构是对某个给定条件进行判断,条件为真或假时分别执行不同的框的内容。其基本形状有两种
- 循环结构
循环结构有两种基本形态: while型循环和do - while型循环。a. while 型循环:其执行序列为:当条件为真时,反复执行A,一旦条件为假,跳出循环,执行循环紧后的语句。b. do-while型循环:执行序列为:首先执行A,再判断条件,条件为真时,一直循环执行A,一旦条件为假,结束循环,执行循环紧后的下一条语句
- 实例分析
计算长方形面积的问题:
可分为以下几个步骤:
(1)设置num1和num2两个变量,接收用户输入的长度和宽度,并存储到num1和num2两个变量;
(2)判断num1和num2是否大于0,如果大于0,继续下一个步骤,否则提示用户长度和宽度输入错误,算法结束;
(3)计算num1和num2的乘积,并将乘积结果存储到result变量;
(4)显示result变量的值到屏幕。
其计算流程图为:
代码如下:
我们总结下程序流程图,它包含一个开始节点,多个中间处理结点,多个结束节点。
上面的代码定义了逻辑,我们可以执行代码,根据输入变量(num1,num2)会得到不同的结果
讲了这么多程序流程图,他和工作流什么关系呢?我认为实际上,工作流是一种特殊的程序流程图。
下面是activiti工作流和程序结构流程图的对比
程序结构流程图元素 activiti工作流元素 说明 Java的运行环境Jre 流程引擎 代码 流程定义/流程模型/流程图 代码执行 流程执行实例 启动事件 启始框 结束任务 终止框 用户活动 等待用户输入(scanf) 互斥网关 判断(if/else) 只有一个执行路径 并行网关 多线程 多个执行路径 子流程 子函数(areaFunction) 变量num1,num2 变量在activiti中无需定义,可以在发起流程和用户活动处理时传入
上面关于activity工作流的介绍。实际上涵盖了我们实际工作中80%的业务情况。
下面我着重介绍一下用户活动。
在我们的工作流使用当中。接触最多的就是流程审批,而流程审批中,最重要的就是用户活动。
什么是用户活动呢?需要用户参与的活动,如果一个节点需要用户参与,我们需要
- 定义节点审批人
- 提供页面、按钮供审批人操作
- 根据审批人操作驱动流程执行
一.定义节点审批人方式
编号 方式 优缺点 举例 1 具体人 简单、容易理解;当人员变动时都需要修改流程定义,对业务人员要求比较高;流程带版本,修改流程后,执行中流程还会到原审批人 总经理 2 单岗位单审批人 简单、容易理解;当人员变动时无需修改流程定义,修改流程后,执行中流程还会到新审批人,是【1】中版本的优化,推荐 总经理岗位 3 每个部门岗位类别单审批人 部门助理 4 单岗位多审批人,需要签收,签收后任务认领到具体人 副总裁 5 单岗位多审批人,会签,任意一人审批即可 和【3】类似,但不需要签收 6 单岗位多审批人,会签,所有人都审批后进入下一节点 7 单岗位多审批人,会签,投票,比例审批人同意进入下一节点 【5】,【6】是【7】的特殊情况 8 定义变量,通过外部程序传入流程 最灵活,满足所有情况
二.提供页面、按钮供审批人操作。
编号 方式 优缺点 举例 1 内置页面设计器 业务人员可以自己设计、修改页面,适用于简单页面 2 外置页面 程序员开发页面、灵活、工作量大 3 外置页面,提供页面设计功能 兼具【1】,【2】优点,工作量大
Java Spring boot activiti前后端分离,流程审批,权限管理框架
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/17169.html