2010/04/30

問題を解きやすいように変形する

算数で言えば、(37 + 68) を (37 + 70 - 2) のように変形すれば、1の位から10の位への繰り上がりの計算がなくなり、計算が簡単になります。数学では、幾何上の難問を等価な代数的処理に置き換えたり、反対に代数上の難問を等価で直感的な幾何に置き換えたりすることも多いようです。

数学の様に厳密に等価性が維持されるわけではありませんが、ソフトウェアの開発でも、処理し易い形に問題を変形してしまうことは有効な手段です。

例えば、設計の問題は、データ ⇔ ビジネスロジック ⇔ UIの各間で変換可能な場合があります。またxUnitは、テストの一部を実装に変形するツールと考えることができます。あるいは要求仕様書の作成を日本語によるコーディング、プロジェクトマネジメントをプロジェクトの設計・実装・テストと捕らえることで、解決しやすくなる問題もあるでしょう。

正攻法では難しい問題に遭遇した場合は、難しい部分を解き易い形に変形/変換することができないか、考えみてるよいでしょう。

0 件のコメント:

コメントを投稿