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

相关推荐
金銀銅鐵2 天前
从一个类名到一张类图:用反射自动生成 PlantUML
java·后端·uml
无心水5 天前
24、系统架构师论文写作专题 核心考点与学习笔记
笔记·学习·系统架构·架构师·安全架构·软考架构师·软考系统架构设计师
Warren2Lynch6 天前
C4 模型详解:利用 Visual Paradigm 可视化软件架构的综合指南
开发语言·uml
无心水7 天前
22、数学与经济管理(运筹学) 核心考点与学习笔记
人工智能·笔记·学习·架构师·软考·软考架构师·软考系统架构师
无心水7 天前
20、大数据架构设计理论与实践 核心考点与学习笔记
大数据·笔记·学习·架构师·系统架构设计师·软考系统架构设计师·架构设计师
人邮异步社区8 天前
怎样才能做一个架构师?
程序员·架构师
rolt8 天前
[鉴赏]02 DHH-摇身一变鼓吹软件工程
人工智能·软件工程·uml
无心水11 天前
15、云原生架构设计理论与实践 核心考点与学习笔记
笔记·学习·云原生·架构师·软考·系统架构设计师·软考系统架构设计师
Java爱好狂.12 天前
阿里1658页Java面试题总结(含答案)
java·后端·高并发·架构师·java面试·java面试题·java八股文
无心水13 天前
6、软件工程 核心考点与学习笔记
笔记·学习·软件工程·软考高级·架构师·软考·软考系统架构设计师