アスペクト指向勉強会 - 実践編 (第13回)
前回 Crosscutting View を作ってみて問題がいくつも発生。
- 「ベットする」は「ゲームを開始する」から起動されるの?
- 起動と見なすと、循環してしまうんじゃない?
- ゲームのフローじゃない?
- テーマがつながっていないのは、要件リストにもれがあるのでは?
- Aspect と識別されずに保留されたものは、そのままで設計に進んでいいか?
- Theme の粒度が小さすぎるのでは?
で、今回は2チームに分かれて作業。
僕らのチームは、プロセスと要求を見直してみた。
テキストを見ると、複数の Theme から共有される要求 (Shared Requirement) について、どちらかの Theme が Aspect と識別されずに保留された場合でも、そのまま設計に進んでいいみたい。どの Theme でその要求に責任をもつのか曖昧になってしまう気はするんですけど。
なので、あまり大幅に修正はせず、少しだけ修正してとりあえず続けてみることに。ゲームのフローは Shared Requirement になっていたりなっていなかったりするが、なっていないところは要求を追加してとりあえずつなげた。起動と見なすと、Base ← Aspect の関係が循環してしまうので、保留のまま設計に進むことになると思う。
次回は、今回修正した箇所を Theme Relationship View に反映させる予定。
もう1つのチームは、テーマ「勝負(を判定)する」について、Indivisual View を作ったみたい。Theme に関係する要求とエンティティの一覧。
次回は、さらに設計へ進む予定。