ひがやすを技術ブログ

電通国際情報サービスのプログラマ

コントロール分析

コントロールは、バウンダリから直接呼び出されるものと、コントロールから呼び出されるものがあります。どこまで、コントロールを細分化するのかは、ユーザのレビューが必要かという観点で行います。
コントロールを抽出するときに、本来コントロールがやるべきこと以外のケースがあるのか、ユーザにヒアリングしてください。あれば、これも、ロバストネス図に反映させます。
内部設計のフェーズで、コントロールをメソッドに細分化します。そのときの指針は以下の通りです。

  • 開発言語的な要素が出てはいけない。
  • 何をやっているのか意味不明なメソッドは作ってはいけない。
  • 幾つかの処理の塊に名前を付けることができるなら、別メソッドに切り出すべし 。
  • 条件判定部分は別メソッドに。
  • 繰り返される部分は別メソッドに。
  • 実装・テストにかかる時間は2時間以内。

分解されたメソッドごとに事前条件・事後条件を設定します。ロジックそのものは記述しません。事後条件が仕様なんだという考えです。
これらのメソッドをインターフェース設計書に記述します。バウンダリから呼び出されるメソッドには印をつけておきます。業務ロジッククラスからしか呼び出されないメソッドも含まれていますが、これは、業務機能を超えるメソッドがあったときに、気付きやすくするためです。
インターフェースには、バウンダリから呼び出されるメソッドだけを記述し、それ以外は、実装クラスにのみ記述するというやり方もあるのですが、今は上記の通りで考えています。