私が、アプリケーションの設計技法を考えるようになったのは、まったくのピッカピカの新人時代です。新入社員研修のフローチャート研修という、最初の最初でした。テンプレートという定規を支給され、これを使ってプログラムの流れ図、いわゆるフローチャートの書き方の研修が始まりました。今から30年近く前です。いや歳をとりました。
実際にフローチャートと言われるものを書いて見ればわかりますが、こんなものは、まったく人間の思考という飛行を、10KGの鉄アレイをつけてやりなさいというようなもので、使い物にならないということを直感しました。
以来、私は、フローチャートは、情報処理の試験以外、書いたことがありません。
替わりに何を書いていたかというと、その当時Nさんという上司の技術者に教わった、フリーチャートでした。
このフリーチャートというのはどういうものかというと、フローチャートと違ってテンプレートを使いません。すべてフリーハンドです。だからフリーチャートと言ったと思いますが、要は、記号と記述を分離して電気の回路図と同じように、線と○と▽という記号だけで記述し、その内容はそれぞれの記号の横に記述する方法でした。
これであれば、まずテンプレートは不要ですべてフリーハンドで書けます。
これを1年間くらいやるうち、PADやHCPチャートと呼ばれる構造化の記法が広まってきました。しかし前者はフローチャートと同じようにテンプレートが必要ですし、後者はフリーチャートと何ら違いがありませんでした。
ここで開発したのが、現在も使用しているアルゴリズムを記述する記法である「オープンチャート」です。
オープンチャートをテーマに、当時、特殊情報処理技術者試験の論文を書きました。これがある意味で、私のアプリケーションの設計技法の原点です。人に教わった技法ではなく自ら編み出した技法です。
この技法を元に、次々とアプリケーションのGOFならぬアルゴリズムの基本的なパターンを整理し、新しいプロジェクトに適用して、その精度を高めていきました。
この過程で、必然的に出てきたのがデータオリエンティッドの設計技法です。 KAI