分解レベルの判断基準

 連続投稿ついでに、もうひとつ投稿させてもらいます。
 2006年05月14日の記事を書いてからずっと考えていたことがあります。それは、処理を分解するときに「今回はここまで分解すれば十分」という判断を一体どうやってやっているのかということです。ずっと考えていて、一つの仮説にたどり着きました。それは、「外部との関係がすべて明確になるまで」という判断基準です。

 どこまでが内部で、どこからが外部かというのは、場合によって異なります。開発するシステム全体が内部の場合もあれば、ある機能を実現するプログラムの塊が内部の場合もあるし、1つの関数が内部の場合もあります。内部の範囲は、見積もりや設計などのフェーズごとに異なります。フェーズが後になるほど、設計が進むほど、処理は詳細化されていき、内部の範囲は小さくなっていきます。

 また、あるプログラムと外部との関係には、主に以下の4つがあると思います。
1.入力(渡される)
2.出力(渡す)
3.外部データのアクセス(取りに行く、ためておく)
4.外部処理の呼び出し(外部に処理させる)

 私は、ある処理を分解するとき、その処理にとって上記の4つがいるのかいらないのか、いるのならそれはどのようなものかが明確になるまで、処理を分解しているようです。それは外部との関係のモレやぶれは内部処理のモレやぶれに比べてその影響が大きいことから来ているのではないかと思われます。

 「外部との関係がすべて明確になるまで」分解する。この分解の判断基準は、プログラムの処理を分解するとき以外でも使えるかもしれません。

コメント

このブログの人気の投稿

ヌケとモレの違いは?

類推の4つの判断パターン

パターンを洗い出すには