ここで
「その体系から見ると、できる開発と出来ない開発がみえてくる」というのは、修正可能なシステムでかきます
と書いたので、「修正可能なシステム」の番外編として、その「出来る開発と出来ない開発の違い」を書きたいと思います(なお、番外編1の1は、べつに、2、3と予定しているわけでなく、もし今後出てきたら、1、2と続けようと思っているだけです)
■情報処理の体系
まず、「その体系から見ると」の「その体系」から説明します。
それについては、情報処理試験ぐらいのお勉強のポイントの体系化の「理論の階層と細分化」に書いた、
これは、情報処理という概念の2つの側面をあらわす。
情報処理とは、情報(データ)を、処理(プロセスを動かす、プロセッシング)することといえる。
ってことに関連する。
つまり、情報処理は、情報であるデータと処理であるプロセスにわかれ、
入力データをもとに、出力データを作成するプロセスである。
っていうことは、
(1)出力データが決まらないと、システムは作れない
(2)入力データをもとに、既存のプロセスを組み合わせて、
(1)の出力データを作らないと、システムは作れない
(3)(2)の入力データが、既存に存在しない場合、
(画面などを使って)新規入力できないと、システムは作れない
ことになります。
逆に言うと、
(あ)出力が決まっていて
(い)既存のデータと、新規入力データを使って、
(う)開発言語や(自作も含む)既存モジュールが提供する関数・メソッドで
(い)から(あ)が作れれば、
開発できる
ということになります。
DFDだと、(あ)と(い)を明確に書くので、あと、階層を落としていった
ときのデータを確認すれば、OKですね。
なお、(あ)と(い)に関して、データが決まっているだけでなく、
その一貫性も矛盾ないようにしないといけません。
■ということで、やばい開発は・・・
(一)出力がきまらない
お客さんが決めたがらない。
(二)テキトーに画面を決めている
機能がはっきりしないのに、画面ばっかりどんどんできる(^^;)
(三)こういう機能をやりたい、あーいうことをやりたいというだけで、
なにを、どーするの!ということは、はっきりしない
(データレベルで・・)
こーなると、やばいです。
で、アジャイルの場合、実は、この(一)、(二)、(三)すべての状況をみたしても、開発に入れます。
(DFDを作る場合は無理)
なので、やばい開発が最近増えてきたといえます。
■安全なのは・・・
前回書いた、修正可能なシステム その4 要求仕様部分(2) で書いた、シナリオ、つまり、こー言うデータを入れると、こー言うものができますね!というのが明確で、その処理プロセスが見える(帳票を出すとか、DBに書き出すとか・・・)ってことになります。
ということで、このお話(番外編)はここまで。