监控端)、DefinitionDB(工作流定义数据库)、EnactmentDB(工作流运行数据库)、OrganizationDB(组织机构数据库)、ApplicationDB(应用程序数据库)、WorkItemDB(工作项数据库)、ConfigFile(工作流系统配置文件)。这里,WfClient 作为接收用户交互的界面部分,将用户所作的行为,依照固定的规则,将请求送给工作流执行子系统进行处理。Monitor 作为接收系统管理员交互的界面部分,将系统管理员对系统作出的调整,发送给工作流执行子系统进行处理。其余的DefinitionDB 等活动者,负责将工作流执行子系统每一步的操作与状态记录到数据库中,以永久保存。用例包括ResourceLocate ( 资源定位)、EngineContainer ( 引擎容器)、ProcessDefLoad(定义装载)、ProcessMonitor(过程监控)、Util(公用程序)。其中,EngineContainer 通过ResourceLocate 定位所有系统所用到的资源,表EngineContainer 用例使用ResourceLocate 用例,用带有箭头的实线表示。EngineContainer 不直接与用户交互,活动者对工作流的参与都是通过ProcessMonitor 这个工作流执行子系统的入口来进行的。EngineContainer 通过ProcessDefLoad 将现有的工作流定义装入,这样才能运行该工作流,EngineContainer 用例与ResourceLocate 用例之间是使用关系。
这里仅给出用例ProcessMonitor 的具体功能分析。这些功能分析作为对ProcessMonitor 用例的注释,不在用例图上标识,只作为系统详细设计时的要点。对其余用例的分析方法与之类似。
过程监督服务器作为引擎容器的一部分,主要提供外部对引擎容器的运行状况的监督,即对引擎当前运行状况的查询。
譬如,当客户端或管理端需要了解引擎的运行状况时,首先发出一个消息请求,消息服务器接受到该消息后对消息进行解释,如果属于查询引擎的运行状况,则调用监督服务部分提供的API(应用程序接口)对引擎进行查询,然后将结果返回至请求者。
监督服务器处理的查询请求根据请求对象的不同主要有如下内容:
引擎容器运行状况的查询;各引擎运行状况的查询;过程定义信息的查询;过程实例信息的查询;活动实例信息的查询;工作项信息的查询;同步命令请求的响应。
b.工作流引擎
图2表示工作流引擎的用例图。其中的活动者包括EngineManager(引擎管理器)与LogFiles(日志文件)。EngineManager 负责控制工作流中所有元素的状态,是工作流调度的核心。LogFiles 阶段性将固定格式的文字记录为日志,用以保存。这里的用例有ProcessControl(控制过程实例)、TransitionControl(控制转移)、ActivityControl(控制活动)、WorkItemControl(控制工作项)、DanamaticModify(动态修改流程)、CreateLogfile(创建日志文件)。EngineManager 根据一定的条件,通过ProcessControl、TransitionControl、ActivityControl、WorkItemControl 与DanamaticModify,控制工作流各个组成元素的状态,以达到控制工作流的目的。
文章来源于领测软件测试网 https://www.ltesting.net/