CBF Studio业务建模示例(4)-业务模型设计

2023-11-09 17:20

本文主要是介绍CBF Studio业务建模示例(4)-业务模型设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 一 业务需求分析
    • 二 业务模型设计
    • 三 业务活动设计
      • 3.1 补充业务活动上下文
      • 3.2 设定执行者岗位
      • 3.3 设计活动泳道图
      • 3.4 设计业务动作前导后继处理
      • 3.5 设计互斥网关判断逻辑
      • 3.6 设计定制化任务逻辑

一 业务需求分析


  由客户经理发起开立个人客户信息的请求,录入相关信息,提交信息后由审查员进行审核,审查员审核通过后持久化到数据库中。为维护个人客户信息流程同上。查看个人客户信息则直接发起,不需要经过审查。
  本文仅针对开立个人客户信息为例,其余业务设计交给读者。根据上述需求就可以拆分出三个业务动作:

  1. 发起个人客户信息创建
  2. 审查个人客户信息
  3. 个人客户信息入库

  那么从是否需要岗位职员处理、业务动作出入口参数等维度整理需求表如下:

业务动作类型执行岗位入口参数出口参数
创建个人客户信息人工任务客户经理1.基本信息;2.联系信息列表(其余信息不做演示)
审核个人客户信息人工任务审查员1.基本信息;2.联系信息列表是否通过
个人客户信息入库定制任务

  整个业务流程则由运营部处理,并且“个人客户基本信息”、“个人客户联系信息列表”、“是否通过审查”等数据需要在整个业务流程中流转,实际上审查员在驳回请求的时候是可以将请求重新打回给客户经理的,为了化简示例,就直接将流程导向至结束。

二 业务模型设计


  按上述需求人工任务业务模型定义:

业务模型总览

  细化岗位设置和业务接口数据:
创建个人客户信息
审核个人客户信息
开立个人客户信息

三 业务活动设计


3.1 补充业务活动上下文

  前面已经将“开立个人客户信息”业务活动定义好了,但是仅仅设置了执行机构、角色和授权,接下来需要细化设计。首先补充业务活动上下文数据定义:

业务活动上下文

3.2 设定执行者岗位

  设置人工任务执行角色,客户经理毋庸置疑就是发起流程的用户,而审查员的话就简单粗暴的从所有审查员岗位中找出第一个人来吧,实际上应该按某种量化维度设置的,比如说分派的任务最少、已登录等等。

执行岗位设定

3.3 设计活动泳道图

  重头戏来了,利用可视化编排将整个业务流程串起来:

业务活动泳道图

3.4 设计业务动作前导后继处理

  前导处理的主要逻辑是从业务活动上下文中获取数据并传入业务动作的请求接口数据中,后继处理则相反:

创建个人客户信息前导后继
审查个人客户信息前导后继

3.5 设计互斥网关判断逻辑

  需要注意的是互斥网关的分支处理逻辑判断是自上而下的,并且任何分支只要逻辑值为真,就会将流程导向至此分支的处理方向:

提交审查网关
通过审核网关

3.6 设计定制化任务逻辑

  系统任务可以直接复用之前设计好的服务应用程序来完成相关实体数据的存储:

定制化任务逻辑
  设计完成后发布业务工程即可。
  (更多关于可视化建模开发工具的介绍可以关注领驭框架(北京)软件有限公司的微信公众号和我自己的订阅号,或者到公司主页(www.eframesoft.com)查询。)
领驭框架软件
Java基友圈

这篇关于CBF Studio业务建模示例(4)-业务模型设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/377511

相关文章

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

Python进行PDF文件拆分的示例详解

《Python进行PDF文件拆分的示例详解》在日常生活中,我们常常会遇到大型的PDF文件,难以发送,将PDF拆分成多个小文件是一个实用的解决方案,下面我们就来看看如何使用Python实现PDF文件拆分... 目录使用工具将PDF按页数拆分将PDF的每一页拆分为单独的文件将PDF按指定页数拆分根据页码范围拆分

javaScript在表单提交时获取表单数据的示例代码

《javaScript在表单提交时获取表单数据的示例代码》本文介绍了五种在JavaScript中获取表单数据的方法:使用FormData对象、手动提取表单数据、使用querySelector获取单个字... 方法 1:使用 FormData 对象FormData 是一个方便的内置对象,用于获取表单中的键值

Node.js net模块的使用示例

《Node.jsnet模块的使用示例》本文主要介绍了Node.jsnet模块的使用示例,net模块支持TCP通信,处理TCP连接和数据传输,具有一定的参考价值,感兴趣的可以了解一下... 目录简介引入 net 模块核心概念TCP (传输控制协议)Socket服务器TCP 服务器创建基本服务器服务器配置选项服

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

在 Spring Boot 中使用 @Autowired和 @Bean注解的示例详解

《在SpringBoot中使用@Autowired和@Bean注解的示例详解》本文通过一个示例演示了如何在SpringBoot中使用@Autowired和@Bean注解进行依赖注入和Bean... 目录在 Spring Boot 中使用 @Autowired 和 @Bean 注解示例背景1. 定义 Stud

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(