当前位置:
文档之家› 工作流图形设计器详细设计说明
工作流图形设计器详细设计说明
Protected override void OnPaintBackground(PaintEventArgs e)
{
// do nothing
}
3. Override the OnMove event with the following code.
Protected override void OnMove(EventArgs e)
工作流程设计器是工作流平台的一部分,它提供用户对自己的流程进行定义的功能。
系统名称:工作流程设计器(HTCS——WorkFlowDesigner)
1.3
《workflow.mdl》作者:
《工作流管理联盟工作流标准》4Broad译(V1.0)
2
2.1
工作流程设计器是工作流平台中不可或缺的一部分。工作流程设计器以图形的方式为建模人员提供了一个方便的工作流程建模环境。
{
Button btn1 = (Button)sender;
btn1.DoDragDrop(btn1,DragDropEffects.Move);
}
private void MenuPanel_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
由工作流引擎负责Step状态间的转换。Step有“初始”、“就绪”、“执行”、“挂起”、“终止”、“执行后”、“完成”七种状态。当进入该Step时状态为“初始”;系统自动执行完PreAction后状态转换为“就绪”;当Handler确认接收后状态转换为“执行”,然后系统自动执行InAction;在执行态Handler可以对Step进行“挂起”、“终止”的操作;当Handler确认完成后状态转换为执行后;系统自动执行完AferAction后状态转换为完成。
顺序路由:工作流从连接路由的上一个Step流向且只能流向连接路由的下一个Step。
分支路由:工作流经过分支路由时,首先判定条件,根据条件的判定结果选择其中的一个或全部分支向下流动。
汇聚路由:多个Step流经一个路由时,该路由为汇聚路由,它与分支路由一一对应。如果汇聚路由的上级结点是与关系时,则需要等待上级所有结点执行完才进行该路由;如果汇聚路由的上级结点是或关系时,则上级结点有一个执行完即进行该路由。
3.4
3.4.1
它表示结点之间的逻辑关系。它在工作流程建模时的效果图如下:
3.4.2
A)RouterLeft说明:它在设计器中,距离设计器左边框的像素值。
B)RouterTop说明:它在设计器中,距离设计器顶端边框的像素值。
C)RouterWidth说明:路由器宽度,只读。
D)RouterHeight说明:路由器高度,只读。
WfMC(工作流管理联盟)给出的工作流概念为:工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行。事实上,工作流技术就是业务流程的计算机化或自动化,它将过程逻辑从业务逻辑中分离出来,由工作流引擎专门完成对过程逻辑的计算,从而使开发人员将主要精力集中在业务逻辑的处理上。
J)NextRouter说明:下一个路由的ID。
K)PreAction
L)InAction
M)AfterAction
3.2.3
同3.1.3小节
3.2.4
继承自ArraryList
3.3
3.3.1
它表示工作流中的最后一个步骤。它在工作流程建模时的效果图如下:
3.3.2
同3.2.2小节
3.3.3
同3.1.3小节
3.1.2
A)NodeLeft说明:它在设计器中,距离设计器左边框的像素值。
B)NodeTop说明:它在设计器中,距离设计器顶端边框的像素值。
C)NodeWidth说明:结点宽度,只读。
D)NodeHeight说明:结点高度,只读。
E)NodeName说明:结点名称,显示在结点下端的文本,名称不可重复。
2)工作流引擎(WorkFlowEngine):
工作流引擎使具体应用系统中的工作流从一个个体“流”向另外一个个体,实现工作流的自动化。它完全是一个后台驱动,对于用户来说是不可见的。它主要包括运行服务功能、监控管理功能。
3)工作(Job):
一个工作流程称为一个工作(Job)。一个工作流的定义包括模板和实例两个部分,模板用于描述工作流定义,用于工作流应用的设计阶段;实例是将模板用于启动工作流程时对模板的拷贝。
2.2
图2.0系统效果图
2.3
详见workflow.mdl
2.4
图2.1工作流效果图
2.5
1)工作流(WorkFlow):
工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行。事实上,工作流技术就是业务流程的计算机化或自动化,它将过程逻辑从业务逻辑中分离出来,由工作流引擎专门完成对过程逻辑的计算,从而使开发人员将主要精力集中在业务逻辑的处理上。
}
private void MenuPanel_DragDrop(object sender, DragEventArgs e)
{
if(e.Data.GetDataPresent("System.Windows.Forms.Button"))
{
Button btn1 = (Button)e.Data.GetData("System.Windows.Forms.Button");
btn1.Location = new Point(this.PointToClient(new Point(e.X,e.Y)).X,0);
}
}
控件背景透明实现:
1. Add the transparent style to the control window.
Protected override CreateParams CreateParams
3.1.3
拖动效果实现:
btn.MouseDown+=new MouseEventHandler(btn_MouseDown);
btn.MouseUp +=new MouseEventHandler(btn_MouseUp);
private void btn_MouseDown(object sender, MouseEventArgs e)
{
RecriateHandle();
}
3.2
3.2.1
它表示工作流中的一个步骤。它在工作流程建模时的效说明:它在设计器中,距离设计器左边框的像素值。
B)NodeTop说明:它在设计器中,距离设计器顶端边框的像素值。
C)NodeWidth说明:结点宽度,只读。
D)NodeHeight说明:结点高度,只读。
以下为路由的几种形式的演示:
图2..2顺序路由
图2..3判定路由
图2..4汇聚路由
图2..4判定、汇聚路由需要组合出现
图2..5嵌套路由
3
开始结点
普通结点
结束结点
路由
连接线
以上组件在工具箱中的效果图如下:
3.1
3.1.1
每个工作流有且只有一个开始节点(StartStep),它表示工作流程的开始。它在工作流程建模时的效果图如下:
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x20;
return cp;
}
}
2. Override the OnPaintBackground event. This is necessary to prevent the background to be painted.
每个工作都有一个创建者(Creator),他是启动此工作的人。每个工作可以有多个拥有者(Owner),拥有者具有撤销、挂起、强行终止工作的权力。每个步骤都有一个处理者(Handler),他是模板中定义的Step执行人。
4)步骤(Step):
组成Job的每个执行单元称为步骤(Step,又称为节点),工作开始的第一个Step称为开始节点(StartStep),工作结束的最后一个Step称为结束节点(EndStep)。
工作流平台——工作流设计器
详细设计说明
1
1.1
为符合软件需求并对本软件系统各功能模块进行说明,以便编程人员进行程序的编制设计,同时贯彻需求报告中所确定的通用性、完整性、可靠性及可维护性原则,做到结构合理、方便、快捷、规范开发人员的工作,特编制本详细设计说明书。
适用对象:
软件开发者(Supplicrs),以便准确地理解客户需要什么样的产品和各功能模块的具体设计和编制。
E)RouterName说明:路由器名称,显示在路由器下端的文本,路由器不可重复。
F)RouterID说明:路由器编码,只读。系统指定。
G)RouterDescribe说明:路由器描述信息。
H)SourceSteps
I)ConditionFunc
J)IsNeedTranKey
K)ResultSteps
E)NodeName说明:结点名称,显示在结点下端的文本,名称不可重复。
F)NodeID说明:结点编码,只读。系统指定。
G)NodeDescribe说明:结点描述信息。
H)AssignType说明:指派类型,EnumAssignType枚举
I)Handler说明:处理人。与AssignType对应。
1.2
在企业日常经营管理活动中,为适应市场快速变化的需要,企业要经常调整自己的管理流程,这就是我们经常提到的流程重组。通常的流程重组只是将现有的业务处理次序进行改变或改变具体的执行角色或减少不必要的环节,因此,这就要求开发的计算机管理系统业务功能没有增加的情况下能根据需要随时调整处理流程。将工作流技术与业务系统结合可以很好的解决以上的问题,这也是工作流技术的应用越来越多的主要原因。