『オブジェクト指向とコンポーネントによるソフトウェア工学』を読み

今日は生産研に行って、非常にvisitor-unfriendlyな建物だなと思ったり、
(1年のころの安達さんの授業が思い出される・・・「生産研はトイレに行ったら帰れません」)
駒場でちょっと東大生に一歩近づいた気分だったり。


本が届いたので読み始めました。

オブジェクト指向コンポーネントによるソフトウェア工学 -UMLを使って-

まだ全然読み始めだけど思ったこと。

1.良いシステムとは

この本では

・有効で使いやすいこと:生活を楽にしたいりする
・信頼できる:バグが少ない
・柔軟であること:機能追加・修正が容易とか
・値段が安い:ソフトウェアの値段≒人件費
・利用できること:2つの側面があって
  -入手可能なハードウェア上、OS上で動く(移植性が高い)
  -ソフトウェアが存在すること(ソフトウェア開発プロジェクトを完遂すること)

といっている。

2.インタフェースはやっぱり大事

  インタフェースとはあるモジュールがクライアントに対して提供する機能を定義したもの。"文書化"したものとも書かれている。クライアントは通信するモジュール(サーバとも表記されている)がある機能を提供すると"仮定"して自身の処理を書く。こういった仮定をインタフェース中に"文書化"して、仮定が正しいかをチェックしなくてはならない。

3.抽象化とカプセル化の違い

この本では

抽象化:モジュールのクライアントがインタフェースに述べられているいる以上のことを知る必要のないとき
カプセル化:モジュールのクライアントがインタフェースに述べられているいる以上のことを知ることができないとき

と言っている。しかし厳密な定義はない模様・・・