原图4.5

EA绘制

图4.5 给图4.4添加维度级别。
维度级别允许我们为维度的每个级别命名。
PlantUML
@startuml
class 企业片段
class 维度元素
class 维度级别
class "维度" as 维度类
企业片段 维度 "0..*" -- "1" 维度元素
维度元素 "0..*" -- "1" 维度级别 : /
维度元素 "0..*" -- "1" 维度类 : {层级结构}
维度级别 "0..* {sequence}" -- "1" 维度类
@enduml

原图4.7

EA绘制

图4.7 测量和测量协议。
源测量来自数据库,计算测量使用公式。
★译注:原文的vice-versa(反之亦然)只能YY,在"测量"加约束是无法体现的
PlantUML
@startuml
class 关注对象
class 观察
class 数量
class 测量 {
__ constraints __
{协议.oclIsKindOf(测量协议)}
}
class 计算测量 {
__ constraints __
{协议.oclIsKindOf(计算测量协议)}
}
class 协议
class 测量协议
class 源测量协议
class 计算测量协议
class 现象类型
协议 <|-- 测量协议
测量协议 <|-- 源测量协议
测量协议 <|-- 计算测量协议
观察 <|-- 测量
测量 <|-- 计算测量
关注对象 "1" -- "0..*" 观察
观察 "0..*" -- "1" 协议
数量 "1" -- "0..*" 测量
测量协议 "0..*" -- "1" 现象类型
测量 "0..*" -- "1" 现象类型: /通过测量协议派生
计算测量 "0..*" -- "0..*\n源测量s" 测量
@enduml

原图4.8

EA绘制

图4.8 计算测量协议的方法。
PlantUML
@startuml
skinparam nodesep 140
skinparam ranksep 100
class 测量协议
class 源测量协议
class 计算测量协议
class 现象类型
class 方法
测量协议 <|-- 源测量协议
测量协议 <|-- 计算测量协议
测量协议 "0..* {sequence}" -- "1\n返回类型" 现象类型
计算测量协议 "0..*" -- "1..* {sequence}\n输入类型s" 现象类型
计算测量协议 "0..*" -- "1\n公式" 方法
@enduml
