第二回!チキチキ Agile x Kanazawa.rb に参加してきました。
表示してたスライドは、たぶんこれみたい。
Modeling in the Agile Age - JP
メモ
- 全体像を知るために、モデリングが必要。
- 捨てるモデルと、保存するモデルを分ける。
- コードからリバース出来るものは、捨ててしまう。
- コードに現れないものは、保存してメンテする。
- Keeps
- Architecture
- Domain Model
- Key UseCases
- Architecture
- システム全体の構造的な表現
- MVCの依存関係を、パッケージ階層で示すなど。
- Domain Model
- 問題領域の概念とそれらの繋がり
- 現実世界をモデリングするのは難しい。対象となるシステムがベースになる。
- 唯一正しいモデル、というものは無い。
- Key UseCases
- アクターが大事。"ユーザ"ではなく"開発者"など絞る。
- コミュニケーション図で、何が同動くかを記述する。
- astahのマインドマップが使いやすい。
- 他にKeepするもの
- 設計の理由。WHY。
- チームで話し合って、追加・削除をしてメンテしていく。
- モノ・コト・モノ パターンと、ヘッダー・明細パターン
- 図書館と本屋では、モデリングが違う。図書館では蔵書という概念があるが、本屋では数しか見てないはず。
- 問題と解を得るために、分析モデルと設計モデルを分けて考える。
感想
メンテ出来なくて、特に重要じゃないモデルは、書いても捨ててしまえばいい、というのはいいと思った。 書いてもメンテしなきゃ、と考えると書きづらいし。
また、用語集・辞書を最初に作って、それをメンテしていくのはやっぱり重要なんだなーと。 メンテに際しては、誰もが見える場所で、更新が通知されることが重要っぽい。(みんなで作ってる感というか。 ただ、誰もが見える場所とはいえ、プロジェクト関係者以外に見えたらダメだと思うので、どこに置けばいいのかなーと。