Common sense is the collection of prejudices acquired by age eighteen. It is harder to crack a prejudice than an atom.

間違いだらけのソフトウェア・アーキテクチャ

読者を選ぶ本である。一般的な技術書のように特定の技術に対して理解できるよう触りから深く解説しているわけではなく、さまざまな技術を扱う。またエッセイのような優しい語り口ではあるが、専門用語や幅広い背景知識が必要とされ、ソフトウェア業界に身を置き、ソフトウェア基盤の設計やフレームワーク選定の経験が無いと読み進めるのは苦しそうだ。以下、要点をピックアップする。

非機能要求の探り方

大抵のお客さんは機能要求に関しては詳しく話してもらえるが、非機能要求に関しては話してはくれない。それでも顧客の話に耳をすませばところどころに出てくる。例えば「○○の情報を早く見たい」という発言の”早く”という部分だ。

もう一歩踏み込んで著者は非機能要求発見会議というのを提唱している。機能要求がある程度固まった段階で「このシステムで何が起こったら一番困るか?」をブレーンストーミングする会議だ。会議にあたっては質問を準備しておく。例えば「このシステムが1時間止まったらどんなことになりますか?」というものだ。

品質特性シナリオの作成

非機能要求を探ったら、品質特性シナリオを作成する。品質特性シナリオには重要な品質特性ごとに、これから作ろうとするシステムに対して、誰が、どんな時に、どんなことをすると、どういう結果が、どれくらいで返ってくるかを書く。例えばシステムの可用性ならば、システム内部で、通常運転中、クラッシュが発生したら、復旧を行うのに、6時間かかるといったものだ。

品質特性シナリオを利用するメリットは、エンジニア目線からシステム利用者目線で考えることができる点だ。「最新のフレームワークがどうのこうの」ではなく、「そのシステムは使われてナンボでしょ」という風に。

おわりに

本書は、上記の話題のほかにもアーキテクチャの分析・評価を行う手法であるATAM(Architecture Trade-off Analysis Method)やソースコードを評価するメトリクス(1000行あたりのバグ数といった品質メトリクスとは別のもの)についても紹介されている。冒頭で述べたように本書を楽しめる読者は限られそうだが、ソフトウェア・アーキテクチャの設計に近いことを経験したものには「そんなことあったなあ」とか「やっぱ、そうだよね」と思いながら読み進めるだろう。もちろん新たな発見があるかもしれない。

以上

間違いだらけのソフトウェア・アーキテクチャ
トム・エンゲルバーグ 著、長谷川 裕一、土岐 孝平 訳
2010/9/15 初版発行

関連記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

カレンダー

2020年11月
 1
2345678
9101112131415
16171819202122
23242526272829
30