ずっと受けたかったソフトウェア設計の授業

某方面からガチ本と聞いて、それなら読もうと思って借りたのですが、正直つらかった。

ずっと受けたかったソフトウェア設計の授業

ずっと受けたかったソフトウェア設計の授業

この本は、JSP(Jacson Structured Programming)とJSD(Jacson System Development)を使ったプログラミング/システムの分析を解説する本です。ほかにも、JSPとの比較として複合設計法が紹介されます。また、どのようにモジュール化すべきか、振る舞いを設計でどう表現すべきか、といった議論にも、それぞれ章が割かれています。

たとえ難しくても、途中で投げ出すのは惜しいくらい面白いテーマです。

しかし、自分とは相性がイマイチだったようで、読むのがつらかったです。内容が分かりづらくて音を上げそうになっていたところ、「その本は設計の本ではなく要件定義の本だと思って読め」という謎のアドバイスをもらい、そう思って読んだら読み終えることができました。タイトル「設計の授業」なのになにそれこわい。

実際、著者たちが語ろうとするレイヤーよりも抽象度の低いレイヤーの話を、説明の例に使っているために、理解しにくい部分があると思いました。分かりやすい例でいうと、JSPの「中間ファイル」は、データフロー図に出てくる「ファイル」と同様に実装上の概念ではなく、データを格納する何かである(それはファイルに永続化されたものとは限らない)ということを、理解して読む必要があります。(でないと頭の中が疑問でいっぱいになってしまう!)

一方、Amazonのレビューにあるように、例そのものが古いせいで理解を妨げているとは感じませんでした。サンプルコードがModula-2なのには時代を感じましたが……。

先日読んだミック氏のDB本(http://d.hatena.ne.jp/torazuka/20120419/book)は、静的なデータ構造からシステムの分析と設計を進める話でした。一方、この本は、実世界を動的なモデルとして記述するところから、システム開発を行うアプローチを取ります。2冊を続けて読んだのは、面白い偶然でした。視野が広がって良かったです。

本に書かれていることは、まだ理解できない部分も多いです。それならば2周目を読めばよいのですが、易しい文章と大きなフォント、広い行間、図が豊富に使われた本なのに、書いてある内容が理解できない、という奇妙な体験に参ってしまったので、しばらくは別のことに逃避することにします。