わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

思考展開図をプログラミングに適用すると

創造学のすすめ』を読み終えました.
もともと「思考展開図について知りたい」という動機で購入した本です.思考展開図の説明は第6章からで,分量は決して多くありませんが,この本にはそのエッセンスのみが書かれているということでしょう.
思考展開図はこれ一つだけで簡単に設計や分析ができるというものではなく,思考平面図,思考関連図,そしてモノを創るにあたっての考え方がそこまでに記されていて,第6章でめでたく開花しています.
思考展開図については,Googleで調べれば,この本の1ページを切り出してきれいに描いたPDFファイルも見つかりました.書評としては,畑村洋太郎「創造学のすすめ」 - やぶしらず雑記録が参考になります.
帰りのバスの中で読みながら,この思考展開図をプログラミングに適用できないかと考えていました.読み終えて少し検討…バスが終点に着く直前に,アイデアが固まりました.
もしプログラミングに適用するなら,JavaRubyなどの,オブジェクト指向言語object-oriented languagesが最適なようです.「構造」がクラスに,「機構要素」がメソッドに対応します.「機能要素」は,それぞれのメソッドの仕様であり,(メソッドに付随させる)コメントとして表現されます.「機能」はクラスの仕様,あるいはクラスに要請されるものです.「機能」を取りまとめるものが「要求機能」であり,クラスとメインルーチン(mainメソッド)の集まりとして構成されるプログラムファイルが「全体構造」です.
C言語では,「機構要素」は関数でしょう.「構造」に相当するのは,プログラムの中で定義される構造体であったり,配列であったり,読み書きされるファイルであったり…そうだ,データ構造*1と言えそうです.データ構造の集まりが「全体構造」と一見ならないのは,Cが手続き型言語だからでしょうか.
それから,この本では,「設計支援のツール」として,思考展開図が紹介されていますが,既存のシステムを詳細まで理解し,全体と部分を関連づける,いわば「分析支援のツール」としても活用できそうです.私自身も,プログラムコードの分析や,(自他の)研究報告の読解に適用して,経験を蓄積*2してから,またこの日記で取り上げたり,学生指導に採用したりしたいと思っています.

*1:正確には,データ構造をコードにしたものです.データ構造の仕様は,「機能」として現れます.

*2:一つ関心のあるのは,「機能」と「機能要素」をどうやって関連付けるか? です.たいていの場合,これらには親子関係(一つの機能に,一つ以上の機能要素という関係)にあります.経験だけでなく,そこに書かれた情報からそこそこ機械的に,どのように関連付けるかを求められそうな気がします.