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

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


原图6.21

EA绘制

图6.21 使用账户查找方法。

使用单独的方法来查找输出账户以及计算会计事项的值。

PlantUML

@startuml

skinparam nodesep 100

skinparam ranksep 100

class 过账规则

class 方法

过账规则 "0..*" -- "1\n-计算" 方法

过账规则 "0..*" -- "1\n-账户查找器" 方法

@enduml

原图6.22

EA绘制

图6.22 事件图,展示了将账户查找器和资格条件方法添加到图6.14中的使用。

PlantUML

@startuml

start

-> 每个分录;

:添加分录;

:查找匹配的过账规则;

note right

过账规则.allInstances()->select(触发者=分录.账户)

end note

-> 每个过账规则;

if (满足过账规则资格条件) then (Y)

:查找输出账户;

-> 每个账户;

:做输出过账;

endif

stop

@enduml

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

原图6.23

EA绘制

图6.23 将资格条件添加到上述规则。

PlantUML

@startuml

skinparam nodesep 120

skinparam ranksep 120

class 过账规则

class 方法

过账规则 "0..*" -- "1\n-计算" 方法

过账规则 "0..*" -- "1\n-账户查找器" 方法

过账规则 "0..*" -- "1\n-资格条件" 方法

@enduml

原图6.24

EA绘制

图6.24 使用账户过滤器的交互图。

PlantUML

@startuml

participant X

participant ":账户过滤器"

participant ":账户"

create ":账户过滤器"

X--> ":账户过滤器" : 创建

X-> ":账户过滤器" : 设置发生时间段

activate ":账户过滤器"

deactivate ":账户过滤器"

X-> ":账户" : 把过滤器用于分录(一个账户过滤器)

activate ":账户"

loop 每一个分录

":账户" -> ":账户过滤器" : 是否包括(一个分录)

activate ":账户过滤器"

deactivate ":账户过滤器"

end

destroy ":账户过滤器"

":账户" --> X : 分录集合

deactivate ":账户"

@enduml