日々常々

ふつうのプログラマがあたりまえにしたいこと。

モデリングのきほん

関西Javaエンジニアの会10周年イベント、 KanJava 10th Anniversary Partyモデリングの話をしました。

話したこと

モデリングモデリングしたモデルでモデリングを説明してみました。図の書き方とか言葉の抽出とかそう言う話ではありません。「なんちゃらモデリングをうまくやる方法」みたいなのを期待された方はすみません。でも延長線上にはあると思います。

私の中のモデリングは、対象から使わない情報を削ぎ落とし、対象の特定部分を強調することです。 モデルのモデルを 26ページ で描いてみました。 この図単体では伝わり難いと思いますが、図単独で成立するモデルではなくセッションも含めてのモデルなので雰囲気で見てください。

モデリングのポイントとして 54ページ で「同じことは同じように表現する」と挙げています。「同じことは同じように表現する」は手段で、原則は「情報を維持して表現を減らす」です。 例えば楕円を使うなら、そのモデル内での楕円は同じ意味で使う。同じものを楕円にしたり長方形にしたりしない。違うもの、つまり違いをそのモデルで表現しようとしたこと同士を楕円にしない。これは言葉の揺れも同じです。

モデリングの目的は使えるモデルを作ること( 34ページ )。わざわざモデルを作る以上、何かに使うはずです。なのでモデリングを行う際は使い方に焦点を当てます。

モデルを他人に伝えるために使うとしましょう。モデルを使えば伝わりやすいというのは経験があるかと思いますが、モデルは43ページのようにそのモデルで使わない情報を削ぎ落としたものなので、削ぎ落とした部分が気になってしまうと理解しづらいかったりもします。「あのことを考えなくていいのはなんでだろう」とか。この場合はモデルを使って伝える前に、会話などで目的を説明します。このような場の整えもモデリングなんのですが、メタメタして意味がわからなくなってくるので、それっぽいところで折り合いをつけます。それっぽいところは伝える相手との関係を含めていい感じにモデリングしてください。

あと、21ページ に挙げてますが、モデルは決して図ではありません。私の中ではスライドもモデルですし、このブログの文章もモデルです( 61ページ )。 22ページ に目に見えないモデルもある、みたいなことを描いてみましたが、正直これはうまく描けていません。脳内モデルとかをプロットしたら良かったかなーと思いつつ、うまく描けなかったんだから仕方ありません。

ともかく、「モデリングができない」なんてことはないと思っています。 「使いやすいモデルが作れない」はあるかもしれませんが、「なんでもモデリングだ」と思えばいくらでも実践機会はあります。 練習ではなく実践なので、やってるうちに使いやすいモデルを作る力も付いてきますし、モデルを使う力も付いてきます。

モデリングは難しいからできない」が「モデリングやってるけど難しい」になったら、本セッションの目的は達成です。難しいものは難しい。

イベントについて

今回は Mix Leap Studyさんとの共催と言う形でさせていただきました。ありがとうございます。

orange_cloverさんが togetter まとめてくれてます。シングルトラックかつセッションごとに見出し入れてくれてるので追いやすい。ありがとうございます。

関ジャバ10周年ということで、関ジャバ運営 + 設立メンバー全員がセッションしました。特にテーマも設けず、各々が話たいことを話したらこんな感じになりました。 関ジャバっぽかったと思います。半分以上Java関係ないセッションでしたが、関ジャバはJavaエンジニアのためのコミュニティなのでJavaの話をする必要はないのです。

思い返せば関ジャバでの私の初セッションは多分 関西Javaエンジニアの会(関ジャバ) '11 9月度 で、この時もJavaに関係のない夜行バスの話とかしてました。同年7月の関ジャバカンファレンス2011でLTとかもしてたりするんですが、そっちはLTなのでノーカン。カウントしたとしてもGroovyの話だけど。

これからもぼちぼち活動すると思うので、よろしくお願いします。