第7回目となる今回のセミナーは、4+1Viewというソフトウェアアーキテクチャの設計視点と、RUP(Rational Unified Process)というUMLベースの開発プロセスのを開発責任者として有名なPhilippe Kruchten氏を講師に招き、ソフトウェアアーキテクチャについて講演いただきました。
セミナーでは、最初にアーキテクチャとナレッジマネジメントに対する従来からの定義とともに講師の考えを紹介いただいた後、今回の主題であるアーキテクチャ上の知識の重要性について解説がありました。
講師によると、アーキテクチャ上の知識はアーキテクチャ設計と設計判断からなります。これをAK=AD+DD、(Architectural Knowledge=Architecture Design+Design Decision)と表現しました。
- AD:アーキテクチャ設計は構造(と振る舞い)だけでなく多くの「〜性(〜ities)」を具体化・解決するものであること、及び、その表現方法として、従来からの「箱と矢印できれいな絵を書く方法(Boxology)」の限界や、その代替・補完手段としてビュー定義やメタファー/ブレンドなどの考え方について紹介がありました。
- DD:設計判断については、その背景に、判断を行った根拠(Rationale)や文脈(Context)があるため、これが記されていないと、単純にアーキテクチャ設計の結果を知識として活用することができない、という点を強調されました。設計判断を蓄積・管理するためのいくつかの手法やツール紹介もありましたが、まだこれらは研究段階、とのことです。
Kruchten氏からこのセミナーで解説されたソフトウェアアーキテクチャに対する考察は、実際のソフトウェア開発の状況を考えると、とても納得できる内容です。しかし、それを抽象化された設計論として議論する時に忘れがちなポイントでもあります。
セミナー時間は予定よりもオーバーしましたが、参加者にとってとても有意義な内容でした。講師のKruchten先生、そしてセミナーを盛り上げてくれた参加者の皆様、どうもありがとうございました。