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

原图7.1

EA绘制

图7.1 TT示例的包。
账户包持有抽象的会计类型,电话服务包为这个特定领域扩展这些类型。
PlantUML
@startuml
package 账户 {
}
package 电话服务 {
}
电话服务 ..> 账户
@enduml

原图7.2

EA绘制

图7.2 TT的账户模型。
PlantUML
@startuml
skinparam nodesep 100
skinparam ranksep 100
class 会计实务
class 过账规则
class 方法
class 账户
class 汇总账户
class 明细账户
class 对象
class 会计事项
class 分录 {
-
金额 : 币值
-
发生时间 : 时间点
-
记账时间 : 时间点
}
汇总账户 -up-|> 账户
明细账户 -up-|> 账户
会计实务 "0..*" -- "0..*" 过账规则
过账规则 "0..*" -- "1\n-计算" 方法
过账规则 "0..1" -- "0..*" 会计事项
过账规则 "0..*" -- "1\n-触发者" 账户
过账规则 "0..*" -- "0..1\n-输出" 账户
过账规则 符号 -- "0..1\n-输出" 账户
汇总账户 "0..1" -- "0..*\n-孩子s" 账户
账户 x-- "0..*\n-分录s" 分录: /
明细账户 "1\n-账户\n<<readOnly>>" -- "0..*\n-分录s" 分录
明细账户 x-- "0..1\n-主题\n<<abstract>>" 对象
分录 "2..*" -right- "1" 会计事项
分录 "0..*\n-来源s" -- "0..*\n-结果s" 会计事项
@enduml

原图7.3

EA绘制

图7.3 电话服务的结构模型。
PlantUML
@startuml
skinparam nodesep 120
skinparam ranksep 100
class "账户::明细账户"
class "账户::会计实务"
class 服务账户
class 电话服务
class 电话线
class 顾客
note as 说明
这个表示法说明"明细账户"和"会计实务"
类型位于"账户"包内
end note
服务账户 --|> "账户::明细账户"
说明 .. "账户::明细账户"
说明 .. "账户::会计实务"
服务账户 "0..*" -- "1\n-主题\n<<readOnly>>" 电话服务
"账户::会计实务" "1" --x 电话服务
电话服务 "0..*" -- "1" 电话线
电话服务 "0..*" -- "1" 顾客
@enduml
