The 4 + 1 view model of architecture
P Kruchten
Software, IEEE 12 (6), 42-50
Philippe Kruchtenは、この論文でシステムのアーキテクチャを記述するために、5種のビューを使う方法を提案している。
一つのビューではなく複数のビューを使うと、ステークホルダー(エンドユーザ、開発者、SE、PMなど)のもつ異なる関心事に対処しやすい。
さらに、機能要件と非機能要件を分けて扱うこともできるという利点もある。
論文の中では、5つのビューの概念と、使い方が解説されている
Introduction:システムのアーキテクチャ記述の問題
システムのアーキテクチャを全部一つの図にまとめようとしている場面をよく見かける。
でも、その図をよく観てみると、うまく表現しきれてないのがわかる。
図の中の矢印や箱で表したい概念が多すぎて、複雑なものになってしまっている。
本論文では以下の5つのビューをからなるモデルを提案する。
- logical view
- process view
- physical view
- development view
- scenarios(use case)
それぞれのビューでは対象とするステークホルダや関心事が異なる.
Logical view
対象とするステークホルダ:エンドユーザー
関心事:機能要件
システムをブラックボックスと見た時に、エンドユーザがシステムに受けるサービスを機能とする。
logical architectureはその機能の要件に対応する。
クラス図やアクティビティ図、State図などを含むUML図に表される。
Development view
対象とするステークホルダ:開発者
関心事:非機能要件
開発者の視点からシステムを描いたもの。
ソフトウェア管理に対応する。
implementation viewとも知られている。
UMLコンポーネント図でシステムの要素を表現する。
Process view
対象とするステークホルダ:インテグレーター
関心事:ソフトウェアモジュール構成(階層,ソフトウェア管理,再利用など)
システムの動的な部分を扱う。
どう動作・通信するかなどの、実行時に着目する。
Physical view
対象とするステークホルダ:システムエンジニア
関心事:ハードに関わる非機能要件
システムエンジニアの視点からシステムを描く。
ハードとソフトの対応や、ハード同士のつながりを表現。
deployment viewとも言われる。