当前位置: 首页 > news >正文

PlantUML+EA描述《分析模式》第6章存货和会计(5)

《GJJ-004 分析模式及实现》,umlchina.com/url/video.html


原图6.17

EA绘制

图6.17 用后向链式触发请求明细账户要它的分录。

PlantUML

@startuml

start

:更新账户;

:返回分录;

stop

@enduml

原图6.18

EA绘制

图6.18 更新账户的方法。

在正在处理的账户的每个输入账户上递归调用更新账户的操作。

PlantUML

@startuml

start

repeat

:查找将自己作为输出的过账规则;

-> 每个过账规则;

:查找触发的账户;

:比较并更新账户集合;

backward:更新账户;

repeat while (有新出现账户)

:执行过账规则;

stop

@enduml

(目前,PlantUML的活动图语法还不能完整表示书中原图以及EA版UML图的内容)

原图6.19

EA绘制

图6.19 基于账户触发来更新账户的交互图

PlantUML

@startuml

title

账户被要求使其自身达到最新状态

它找到所有以它作为输出的过账规则

它找到作为这些过账规则触发者的所有账户

它使每个这样的账户达到最新状态(递归)

它执行所有以它作为输出的过账规则

end title

participant ":账户"

participant ":过账规则"

participant "触发者账户: 账户"

[-> ":账户" : 更新()

activate ":账户"

":账户" -> ":账户" : 取以自己为输出\n的过账规则()

activate ":账户"

deactivate ":账户"

loop 所有符合条件的过账规则

":账户" -> ":过账规则" : 取触发者()

activate ":过账规则"

deactivate ":过账规则"

loop 所有触发者账户

":账户" -> "触发者账户: 账户" : 更新()

activate "触发者账户: 账户"

deactivate "触发者账户: 账户"

end

end

loop 所有符合条件的过账规则

":账户" -> ":过账规则" : 执行()

activate ":过账规则"

deactivate ":过账规则"

end

deactivate ":账户"

@enduml

原图6.20

EA绘制

图6.20 使用账户类型。

这引入了一个可以在上面定义过账规则的知识级。

PlantUML

@startuml

skinparam nodesep 140

skinparam ranksep 100

class 账户类型

class 过账规则

class 雇员账户

class 雇员

账户类型 "1\n-触发者" -- "0..*" 过账规则

账户类型 "1\n-输出" -- "0..*" 过账规则

账户类型 "1" -- "0..*" 雇员账户

雇员账户 "0..*" -- "1" 雇员

@enduml

http://www.jsqmd.com/news/1248606/

相关文章:

  • Amphenol ICC RJE1Y26C05C42401连接组件国产化方案
  • 山水Q52S卡拉OK一体机评测:家庭KTV即插即用解决方案
  • 从SEO到SEM再到GEO,三者之间的本质区别到底在哪里?
  • 校园二手交易平台设计与实现
  • 实地走访龙妈升学泰国留学事业部,可信赖的泰国留学中介垂直 - 资讯在线
  • 仓储数据流三大核心:库存BOM、发料清单与备料BOM解析
  • 化学智能体架构设计:核心挑战与7种典型模式
  • LLM Wiki:AI自主管理的动态知识库实践
  • 【AI大模型进阶】Docker for AI:把烦人的Python环境依赖一键打包带走
  • CDN与边缘计算:普通人参与的分布式网络革命
  • Claude Code环境配置与依赖冲突导致的信用额度报错排查指南
  • 为什么你的飞书AI审批总卡在“待人工复核”?揭秘TOP3模型幻觉触发场景及4步精准干预法
  • 贵阳全品类财税工商代办服务,疑难注销变更标书代写,服务商挑选指南 - 品牌评测官
  • 电影票API接口对接实战与优化策略
  • 苹果妙控键盘深度评测:iPad Pro移动办公输入体验与选购指南
  • C++ explicit关键字:防止隐式转换,提升代码安全性与可读性
  • 景观木桩哪里定做?这几家源头厂家值得收藏
  • YOLOv11安全帽识别系统:工业安全检测新标杆
  • 【JAVA毕设源码分享】基于springboot大型超市前后台系统的设计与实现(程序+文档+代码讲解+一条龙定制)
  • 深入TM4C123 CAN控制器:消息对象配置与中断处理实战指南
  • 蓝牙设备连接与宠物行为记录:技术实操与生活观察结合指南
  • 赞评论收藏分享Windows 电脑 6 种截图方法(台式 / 笔记本通用,Win10/Win11)
  • Codex 修改登录权限总出问题?先梳理认证链路再动代码
  • Dify平台:低代码LLM应用开发与部署实战指南
  • 【C++复习】链表
  • LMK041xx双PLL时钟发生器:从寄存器配置到环路滤波器设计的实战指南
  • Windows 11浏览器之争:Chrome与Edge的技术差异与开发者选择
  • Distruptor无锁队列实现说明
  • Django毕业设计-基于 Django 的宠物寄养与临时照料服务平台 面向宠物主人的线上寄养预约系统(源码+LW+部署文档+全bao+远程调试+代码讲解等)
  • 深入解析I2C从机寄存器:从数据交换到FIFO与中断管理