思いついたことのメモメモ・・・
システムは、情報を処理するものなので、それを開発するには、
どのような情報を、
どう処理するか?
ということが必要になる。
どのような情報・・・とはデータのことになる。
データは、値そのものも重要だが、その値がどう表現されているかということも重要である。
従来、情報処理では、これを型として扱ってきた。そのような側面も重要だが、システムを実現するには、そのデータを表現するメディアが重要になる。メモリ上に展開するのか、DBなのか、画面なのか、帳票なのか・・・?である。
つまり、
「氏名を画面に、文字型で出力する」
みたいな形でデータを考えないといけないってことになる。
なお、データは、固定の値のこともあるが、前に処理した値を使うこともある。
前に処理した値は、変数に入れるので、データの値は、定数と変数からなる。
一方、「どう処理するか」は、プロセスになる。
プロセスは、入力データ項目、出力データ項目で定義されるが、その他に、起動する順序と条件が必要になる。
3に4を足して5をかける(3+4)*5と、
4に5をかけて3を足す(4*5)+3
では、出力が違う。また、起動する条件、IF文やSWITCH文がないと、プログラムは記述できない。
まとめると、
システムは、以下のことが決まらないと作れない。
・データ(メディア、型、値=変数と定数)
・プロセス(入力データ、出力データ、起動順序・条件)
プロセスは、さらに細かく詳細化され、最終的に、プログラミング言語で記述できるまでに詳細化されないと、システムは作れない。
逆に、これだけのことが決まると、作れるのか?
メディアである画面や帳票には、システム化する実現方法があり、それらの方法の中には、競合するもの、実現できないものもある。実現できるかどうかは、その入出力を実現するライブラリやフレームワークが存在するかどうかである。
しかし、その競合が起こらなければ、入出力データは、フレームワークやライブラリを使って、プログラムにデータを供給したり、データを受け取って表示したりできる。