みつじです。
>概念モデルと実装モデルは乖離するものではなく
>概念を人に伝え共有するのが目的なのだと思います。
そうですね。
利害関係者みんなで共有できるとよいと思います。
そして各レベルのモデル間のギャップも少ないにこしたことはないし、
無理に増やす必要はありません。
>と、ひとつの「私」インスタンスが状態変化するのが誰にも分かりやすい概念であり
>これを共有する事で開発者みなスムースに実装できるのではないでしょうか?
概念モデル、設計モデル、実装モデルと3段階に分けることを
想定した場合ですが、設計モデルまで行ってしまえば開発者の
読みやすさを重視してよいと思うのですが、概念モデルは
コードを書けない人たちにも見てもらいたいし、可能であれば
描いてほしいという希望があるので、開発者の理解しやすさと
非プログラマーの理解しやすさが衝突するような局面があれば、
非プログラマーの方の視点を重視して描くことになると思います。
今回がその局面なのかは置いといて。
かなり適当に作成者と読者を想定してみるとこんな感じかな。
作成者 主な読者
========== ==================== ================
概念モデル 設計担当者または顧客 顧客と実装担当者
設計モデル 設計担当者 実装担当者
実装モデル 実装担当者 テスト担当者
ファウラーさんの本にも、彼が仕事で関わったうち最も優秀な
モデラーは看護婦さんだか放射線技師さんだかだと書いてあったように
記憶しています。
もちろん、それはファウラーさんがモデルの書き方を教えたから出来たわけで、
「UMLを描ける顧客」なんてのは実際問題、夢物語ですけどね。
あと、実装までに2つもモデルを描かないといけないなんて信じられない
という意見ももちろんありで、アジャイラーの方々などの意見としては
自然なものと思われます。
しかしまあ、モデルの抽象度のレベルを意識して描くと決めた以上は
考慮しなければならない問題だと思うのです。