で、今度は「UMLモデリングの本質」への疑問点。

UMLモデリングの本質 (日経ITプロフェッショナルBOOKS)

UMLモデリングの本質 (日経ITプロフェッショナルBOOKS)

  • 63ページ(第1版第1刷。他の版ではページが違っていたらごめんなさい)の、カテゴリー化を行なった図書館情報システムのクラス図欄外の注。

雑誌はそれぞれ1冊しか蔵書していないから、「書名」から見た「雑誌」の多重度は本来は「1」である。
ただしここでは将来の拡張性を考えて、同じ雑誌が複数冊あっても管理できるように「0...*」とした。

とありますが、こういうのを拡張性を考えたモデリングというんだろうか?
初めてクラス図というものに触れたとき、多重度は、そのクラスの情報をメンテナンスする画面のバリデーションを明快にできる要素として、とても「いける」ものと感じていたんですが。
たとえば、「従業員」クラスと「部署」クラスとの関連があり、「従業員」から見た「部署」の多重度が「1」だったとする(たぶん、この場合は「部署」が「所属先」というロールになるんでしょう)。
「0...1」でなく、「1」ということはつまり、「従業員マスタメンテナンス画面」の「所属先」というフィールドは必須入力項目だというバリデーションを明示している、と認識していました。
そうすると、上記の「雑誌」の多重度は、やはり「1」なんでないか? 「0...*」とするのが、なぜに拡張性につながるのかがいまひとつピンと来ない。
まあ、「1」か「0...*」かでは、画面の実装が大きく変わってくることにもなるわけで、そう思えば雑誌の蔵書が2冊以上になる(充分あり得ますね)仕様変更の可能性を鑑みたうえで、後者にしておくというのもありなわけですね。一応自己解決。
考えてみれば、これは概念レベルのモデリングの練習だったんだった。実装レベルというずれた視点で考えることで、自分で話をおかしくしていたわけかな。
ああ、まだまだわからんことだらけですね。