構造化分析,構造化設計,構造化プログラミング….これらをまとめて「構造化技法」と呼ぶそうです.
知識のないまま,だいたいのところをざっくりとまとめると,たぶんこんな感じです(お詳しい方がおられましたら,ご教示ください!).まず,コンピュータが開発され,プログラムが活用されるようになると,だんだんプログラムの規模が大きくなり,流れも複雑になってくる(フローチャートの時代).
そこで,1966年にベームとヤコビーニが証明した構造化定理「一つの入り口と一つの出口を持つプログラムは,連接と選択,繰り返しを組み合わせることで記述できる」をもとに,ダイクストラが「構造化プログラミング」を提唱した(1).その後,ヨードンやコンスタンチンが「構造化設計」手法を提唱したり,デマルコが「構造化分析」手法を提唱したり,はたまたワードとメラー,ハトレイとピルバイらが構造化手法をリアルタイム・システム向けに拡張するなどの発展を遂げた(2).たぶん,これが1970年代のこと(DFD,手続き型言語としてのC言語の時代)(3).
1980年代に入ると,新たな考え方として「オブジェクト指向」が登場する.イベント・ドリブンのGUI開発にはとても便利な考え方であり,またツールの後押しもあり,インタラクティブなソフトウェア(システム)の開発に使われてきた.ただし,リソースが潤沢でない組み込みシステム開発からは「オブジェクト指向なんて,とんでもない!」という拒否反応も出ているようだ(特定の分野においては,UML,C++の時代).
***
こう見てくると,「構造化技法」は,革新的でクールな(美しい)技法だったんですね,きっと….1970年代から提唱されているから,とか,現在,対応ツールが廉価で入手できないから,とか言わずに,そこに込められた「要領の良さ」とでも言いますか,「本質」をとらえたいと思います.
まあ,分析って,(自己分析も含め)やってもやっても終わりがなくて,どんどん細分化されてしまう,という話も聞きますけどね….
参考・引用*文献
(1)* 渕田孝康;ソフトウェア工学 - 構造化分析,2006年11月,
http://www.ics.kagoshima-u.ac.jp/edu/SoftwareEngineering/structured-analysis.html
(2)* SESSAME WG 2;組込みソフトウェア開発のための構造化モデリング,翔泳社,2006年1月.
(3) @IT情報マネジメント用語事典;DFD (data flow diagram),
http://www.atmarkit.co.jp/aig/04biz/dfd.html
(4) WikiPedia;ソフトウェア工学,
http://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E5%B7%A5%E5%AD%A6
コメントする