20. 理解を深めるために
• Art of Conceptual Modeling
• 0. 概念モデリングとは
• SaG of Modeling for Real World
• 3. モデリングとは ~ 現象学からの考察
• 5. 概念モデリングに関する圏論的考察 ‐ 議論のとっかかりとして
https://note.com/kae_made
20
30. 同じ概念クラス間に定義された関係:Relationship
Element
前にある
後ろにある
0..1
0..1
E0
S
E1 E2 En
S1 S2
p s p s p s
上のモデルを雛形にしたインスタンスの例
一つのクラスに定義された関係の例
両端の意味、多重度はモデ
ル化対象によって異なる
この例では、最初の要素には、その“前にある”インスタンスは
存在しないので、“前にある”側の多重度が“0..1”になっており、
最後の要素には、その“後ろにある”インスタンスは存在しない
ので、“後ろにある”側の多重度も”0..1“になっている。
多重度を意図的に“1”や、“*”、“1..*”に変えると、存在可能な
インスタンスとインスタンス間の関係が許されるか、また、
その変更によって両端の意味が適切なままか、不適切になる
かを、確認してみよう。
30
38. Super Sub 関係
P
C1 C2
P1
p2
c11
c12
c21
c22
拡張される側に△をつけて、
拡張するクラスを線でつなぐ
{complete, disjoint}
※拡張した側のクラスの各インスタンスに対応する拡張された側のクラスのインスタンスが必ず一つだけ存在
する、かつ、拡張された側のクラスの各インスタンスに対応する、拡張したクラスのうちのどれかのクラス
のインスタンスが必ず一つだけ存在する。
※拡張するクラスの数は、扱っている問題領域において意味的に正しければ、2つ以上あっても構わない
※{complete, disjoint}は図の表記上、省略しても構わないが、モデリングにおいては、{complete, disjoint}に
なるように概念クラスを定義すること
Pの集合
C1の集合 C2の集合
概念インスタンスの集合をベン図で描くと
38
39. Super Sub 関係による概念の詳細化
Element
前にある
後ろにある
0..1
0..1
E0
S
E1 E2 En
S1 S2
p s p s p s
Element
First
{complete, disjoint}
Middle Last
Predecessor Successor
1
1
{complete, disjoint} {complete, disjoint}
一列の並びの詳細なモデル
precedes
succeeds
一列の並びの単純なモデル
関係の多重度が、“0..1”から“1”に変っている
39
41. Super Sub Relationship は継承・拡張ではない
41
Super Sub Relationship は、ある特定の概念における分類を示すことに注意
Relationship の線は、注意深く定義する事
Super Sub Relationship の Super 側のクラスのインスタンスは、単体で存在することはできない
A
B C
P
D E
R1
R2 R3
BとCは、ある一つの観点(R1)
において、A を分類、分割している
• A のインスタンスは、必ず B か C、
どちらかのインスタンスと R1 のリ
ンクを持つ
DとE は、それぞれ別の観点(R2、R3)において、
A を別系統で、分類、分割している
• P のインスタンスは、必ず、D のインスタンスが
R2 でリンクを持ち、かつ、E のインスタンスと
R3 でリンクを持つ
※ Super Sub Relationship は、分類の世界の概念情報モデルを不安定にするので、安易に定義せ
ず、よくよく吟味してから定義する事
42. 演習3.
• お題
• 水力発電所、火力発電所、風力発電所、太陽光発電所を Super Sub
Relationship を使って、概念情報モデルを描きなさい
• 水力発電所、火力発電所、風力発電所、太陽光発電所を Super Sub
Relationship を使わずに、二項関係の概念情報モデルを描きなさい
• 二項関係の概念情報モデルで定義した Relationship の多重度を吟味し
なさい
42