本書は、究極のプログラム設計図『PAD』について記載した解説書です。 主な内容を下記に示します。
PADは、プログラムの論理的な構造(プログラムロジック)を木構造のように現した 究極のプログラム設計図です。 プログラムの詳細設計をPADで書くことにより、バグの発生を未然に防ぐことができます。
さて、あなたは構造化チャートによるプログラム設計図法について知っていますか。 構造化チャートを知らない人でも、一度や二度はフローチャートを見たことがあると思います。 本書では、進化したフローチャートといえる構造化チャートの中で、最も使いやすいPADについて解説します。
例えば、あなたが日曜大工で本棚を作るとします。 木材をカットする前に、大ざっぱなスケッチでもかまいませんが設計図面を書くでしょう。 そして、その設計図面に従って木材をカットして組み立てるでしょう。 日曜大工と同じでプログラムを作成するとき、プログラムロジックを設計します。 そのとき、使って便利なのがPADです。
本書は、下図に示すような読者を対象としています。
情報技術を学ぶ学生は、 ぜひともプログラムの詳細設計で役に立つPADを使いこなして、 良いプログラム設計ができるようスキルを磨いてください。
また、経験の浅い新人技術者は、 複雑なプログラムロジックを作りデバッグで苦労したことはありませんか。 PADによりひと手間かけてプログラム設計をしてみましょう。 きっと、良いプログラムを作成できるようになります。
そして、ベテラン技術者は、 経験を活かして良い設計をしていると思います。 しかし、プログラムの詳細設計をせずに、いきなり端末の前でソースコードを書いていませんか。 自分の技術力を過信せず新人の頃を思い出してPADにより慎重に プログラムのロジックを設計してみてください。
構造化チャートのひとつであるPAD(Problem Analysis Diagram)は、 日立製作所の二村良彦さんが考案したもので1980年代に普及しました。 PADは素晴らしいプログラム設計図です。 当時は、PADを解説した技術情報誌や書籍がありましたが、最近では入手が困難になってきました。
PADでプログラム詳細設計をしようとしたとき、参考になる文献がほとんどありません。 私は1982年ぐらいからPADを使い続けています。 私のソフトウェア技術者人生で培った知恵や経験が誰かの役に立つと考え、 PADについての本書を書くことにしました。
本書の目的は、2つあります。
第1の目的は、PADを読めるようになることです。 PADで書いたアルゴリズムの理解は比較的容易です。 究極シリーズにおいて、いろいろなアルゴリズムを紹介する予定です。 例えば、拙著「超最速ソートアルゴリズム解説」では、 いろいろなソートアルゴリズムをPADで解説しています。
第2の目的は、PADでプログラムのロジックを設計できるようになることです。 PADは2次元に広がる図面なので、プログラムの理解に人間の持つパターン認識能力を活用できます。 PADに慣れてくると、図面からプログラムのロジックが浮かび上がり、 プログラム構造を見渡すことができるようになります。