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

相关推荐
自传.6 天前
B 站更新|软考架构师案例篇・软件工程篇第 2-4 集上线|UML 用例图|类图|顺序图真题精讲
架构·系统架构·软考高级·uml·案例分析·用例图·软考系统架构师
码匠许师傅12 天前
【设计模式精讲】29.行为型模式总结与对比(Behavioral Patterns Summary)
c++·设计模式·uml
Java爱好狂.12 天前
Java初学者如何设计一个高并发系统?
程序员·高并发·架构师·并发编程·java面试·java面试题·java八股文
码匠许师傅13 天前
【设计模式精讲】27.模板方法模式(Template Method)
c++·设计模式·uml·模板方法模式
码匠许师傅14 天前
【设计模式精讲】26.策略模式(Strategy)
c++·设计模式·策略模式·uml
码匠许师傅14 天前
【设计模式精讲】25.状态模式(State)
c++·ui·设计模式·状态模式·uml
rolt14 天前
用UML表示的行业标准02汽车-AUTOSAR
软件工程·ddd·uml·领域驱动设计·ontology·本体
东莞市永盛电气15 天前
CNC数控机床北美供电适配新实践:208V转380V变压器落地应用案例
uml
码匠许师傅15 天前
【设计模式精讲】24.观察者模式(Observer)
c++·观察者模式·设计模式·uml
码匠许师傅16 天前
【设计模式精讲】22.中介者模式(Mediator)
c++·设计模式·软件工程·uml·中介者模式