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

相关文章

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

Spring 中的切面与事务结合使用完整示例

《Spring中的切面与事务结合使用完整示例》本文给大家介绍Spring中的切面与事务结合使用完整示例,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录 一、前置知识:Spring AOP 与 事务的关系 事务本质上就是一个“切面”二、核心组件三、完

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca

QT Creator配置Kit的实现示例

《QTCreator配置Kit的实现示例》本文主要介绍了使用Qt5.12.12与VS2022时,因MSVC编译器版本不匹配及WindowsSDK缺失导致配置错误的问题解决,感兴趣的可以了解一下... 目录0、背景:qt5.12.12+vs2022一、症状:二、原因:(可以跳过,直奔后面的解决方法)三、解决方

MySQL中On duplicate key update的实现示例

《MySQL中Onduplicatekeyupdate的实现示例》ONDUPLICATEKEYUPDATE是一种MySQL的语法,它在插入新数据时,如果遇到唯一键冲突,则会执行更新操作,而不是抛... 目录1/ ON DUPLICATE KEY UPDATE的简介2/ ON DUPLICATE KEY UP

Python中Json和其他类型相互转换的实现示例

《Python中Json和其他类型相互转换的实现示例》本文介绍了在Python中使用json模块实现json数据与dict、object之间的高效转换,包括loads(),load(),dumps()... 项目中经常会用到json格式转为object对象、dict字典格式等。在此做个记录,方便后续用到该方

MySQL分库分表的实践示例

《MySQL分库分表的实践示例》MySQL分库分表适用于数据量大或并发压力高的场景,核心技术包括水平/垂直分片和分库,需应对分布式事务、跨库查询等挑战,通过中间件和解决方案实现,最佳实践为合理策略、备... 目录一、分库分表的触发条件1.1 数据量阈值1.2 并发压力二、分库分表的核心技术模块2.1 水平分

SpringBoot请求参数传递与接收示例详解

《SpringBoot请求参数传递与接收示例详解》本文给大家介绍SpringBoot请求参数传递与接收示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录I. 基础参数传递i.查询参数(Query Parameters)ii.路径参数(Path Va

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

Redis实现高效内存管理的示例代码

《Redis实现高效内存管理的示例代码》Redis内存管理是其核心功能之一,为了高效地利用内存,Redis采用了多种技术和策略,如优化的数据结构、内存分配策略、内存回收、数据压缩等,下面就来详细的介绍... 目录1. 内存分配策略jemalloc 的使用2. 数据压缩和编码ziplist示例代码3. 优化的