デブサミ2010
午後一から参加しようと思ってたら、午前中の用事が終わらなくて午後二のセッションから参加。
ということで参加したのは以下の三セッション。
- 開発品質向上のための、ASQ/ALMソリューション 〜品質向上策・活用していないのは何故ですか?〜
- パネルディスカッション 出張! DDD難民救済キャンプ 〜ドメイン駆動設計をあきらめない〜
- 実践Cucumber 〜ユーザの視点でシステムの振る舞いをテストしよう
ということで、それぞれメモ。かなり偏ってますが…。
開発品質向上のための、ASQ/ALMソリューション 〜品質向上策・活用していないのは何故ですか?〜
特にMicrofocusの宣伝ということもなく
ASQ - Automated Software Quality
ALM - Application Lifecycle Management
についての一般の話を経験を基づいた話。
Agile開発にXP, スクラム以外にクリスタルという方法論についても軽くふれられており、興味深い
パネルディスカッション 出張! DDD難民救済キャンプ 〜ドメイン駆動設計をあきらめない〜
DDD - Domain Driven Design
- TDDでは外部から見た振る舞いを大切にする。では内部的な美しさは? => DDDにはそれがあるかも。
何故、今DDDか?
- 海外では今、盛り上がっている。
- 業務処理がRDB側にのってしまい、Application側がTransaction Script Patternに陥っている
- フレームワークが成熟したことにより、ドメインに注力できるようになった。
- ただフレームワークがドメインについて何かやってくれるわけではない。
DDDのエッセンスのエッセンス
- Domainとは「知識,組織,活動の領域」
- 複雑なドメインはモデルに基づいて設計すべきだ
- 良いモデラーは「知識の噛み砕き」を行っている
- ユビキタス言語 - ユーザとの共通のドメイン言語
- モデル駆動設計
- ビルディングブロック
- 深いモデル - ドメインリファクタリング => ブレイクスルー
自分にとってのDDD
- ソフトウェアの最終形態
- 銀の弾丸などない
- 複数のアプローチを持っておくことは技術者の強み
- 同じ言葉で同じものを見る/新しい言葉を見つけることで見えていなかったことが見えてくる
明日から始めるDDD
Agile開発が前提/洋書でかつ内容も難しい=>明日から始めるといっても敷居が高い
入門者向け
- オブジェクト広場の連載(DDD難民に捧げる Domain-Driven Designのエッセンス DDD難民に捧げる)。ただしパターンにより過ぎている
- InfoQでダウンロードできる Domain Driven Design(ドメイン駆動設計) Quickly 日本語版のPDF(ここからダウンロード)
- ドメイン駆動 (Programmer’s SELECTION)=ドメイン駆動
実装者向け
- まずはDaoという名前からRepositoryへ
- SourceForgeにサンプルがある。DDDsampleでググれ
設計者向け
- ユビキタス言語を使ってレビューする
マネージャ向け
- DDDでは人員の配置は高度な設計とみなされているので、そこから