ウィリアムのいたずらの、まちあるき、たべあるきーPART2

gooブログ「ウィリアムのいたずらの、まちあるき、たべあるき」がお引越ししてきました

開発の初めから順番に書いていってみる その45:プログラミング(7)入出力1 位置づけ


 シリーズ「開発の初めから順番に書いていってみる」の続きです。
 設計手順には、要求分析、外部設計、内部詳細設計・プログラミング、単体テスト、結合テスト、総合テスト、運用テスト及び運用とあります。
 現在プログラミングです。
(プログラミング以前は、ここ http://www.geocities.jp/xmldtp/index_kaihatsu.htm)

 プログラミングでは決定表と自動生成のお話をします。
 今までで、決定表のお話は、おわりました。
 今度は自動生成なのですが、その前に自動生成する対象となる入出力について、その位置づけから考えてみたいと思います。




■入出力の位置づけ

 条件分岐の位置づけのとき、、こんな体系を出しました
<<プログラム>>
 ・次の文を実行する
 ・どこかにジャンプする
 ・そこで終了する
 ・条件によって分かれる
    ・条件(IF文)が1個
    ・複数の条件がある
       ・条件が1つしか成立しない(select case)
       ・条件が複数成立してしまう
           ・条件が成立したら、実行(マルチアンサー)
           ・条件から状態を決めて実行(シングルアンサー)


で、前は、「条件によって分かれる」について考えたのですが、
今回は、「次の文を実行する」について考えてみたいと思います。

 これは、実行内容が、そのプロセス内のデータを使って処理するか、どこかプロセスの外にあるモノを使うかでちがいます。
 プロセスのデータを使って処理するものは、ふつうの処理で、どこかプロセスの外にあるモノを使うのが入出力です。
 まあ、この中間の共有メモリっていうのもあるのですが、それは入出力に入れときましょう。



■入出力の分類

 で、入出力処理は、デバイスごとにイロイロありますが、主に使うのは
   ・ファイル
   ・DB
   ・画面
   ・帳票
 そして最近とくに
   ・HTTP間の通信(REST型)
 です。

 これ以外にもイロイロあるわけですが、特にこれらが重要になります。
 このうち、DBとファイルは同じアプローチでできます。
 画面は別のアプローチになります。
 帳票は、ツールを使うことが多いので、そのツールにより、やり方がまちまちになってしまいます。
 HTTPにおけるアプローチは、AJAXでは大体固まっています。
 それ以外に関しては、ちょっと別の機会にまとめたほうがいいような気がします。




■体系のまとめ
そこで、今日の分(赤字のところ)を追加してまとめると、こんな感じになります。
<<プログラム>>
 ・次の文を実行する
    ・プロセス内のデータを処理する=一般的な処理
    ・外部にあるデータを処理する=入出力
       ・ファイル
       ・DB
       ・画面
       ・帳票
       ・HTTP間の通信(REST型)
           :
           :(入出力デバイス分ある)
           :
 ・どこかにジャンプする
 ・そこで終了する
 ・条件によって分かれる
    ・条件(IF文)が1個
    ・複数の条件がある
       ・条件が1つしか成立しない(select case)
       ・条件が複数成立してしまう
           ・条件が成立したら、実行(マルチアンサー)
           ・条件から状態を決めて実行(シングルアンサー)





 でそれぞれの入出力について説明なのですが、帳票はまちまちなので説明できない、HTTPは別の機会ということで、次回から、「DBとファイル」と「画面」について、その特徴について説明したいと思います。