2011-03-05
ビューポイントとビュー
アーキテクチャ設計における観点 - GOLEM-XIVの日記では「ビューポイント」と「ビュー」という2つの用語を少し混乱ぎみに使用してしまっていたので、改めて定義を確認してみた。
IEEE1471での定義
ISO-Architecture.org errorでは、ビューポイントとビューについて、以下のように定義している。
A viewpoint is a way of looking at a system.
A view is what you see when looking from the chosen viewpoint.
ビューポイントとは、システムに対する観点である。
ビューとは、選択したビューポイント(観点)から見えるものである。
うーん、これだけだと何のことやら。同じページに、もう少し詳しい説明がある。
A view is a collection of models representing the architecture of the whole system relative to a set of architectural concerns. Separation of concerns is a useful technique for managing complexity. A view is part of a particular architecture description for a system of interest. For example, a structural view of a system might include a model showing components and their interfaces and a model of their dependencies and inheritance relationships. A performance view might consist of models for resource utilization, timing schedules and cause-effect diagrams. The idea of a view is that it addresses a specific set of concerns about a system using well-defined notations and models.
ビューとは、アーキテクチャ的な関心ごとに対するモデルの集合であり、システム全体のアーキテクチャを表す。関心の分離は、複雑さを扱うために有用な手法である。ビューはシステム的な関心ごとに対する、個々のアーキテクチャ記述である。例えば、システムの構造的なビューは、コンポーネントとそのインターフェースに関するモデルや、それらの依存性、そして継承関係に関するモデルを含むだろう。パフォーマンス・ビューは、リソースの使用量、タイムスケジュール、特性要因図などのモデルからなるであろう。ビューの目的とは、システムのある関心ごとを、しっかり定義された記法とモデルで扱うことである。
A viewpoint captures the conventions for constructing, interpreting and analyzing a particular kind of view. Viewpoint conventions include languages, notations, model types, modelling methods, analysis techniques, design rules or other operations on views.
ビューポイントは、個々の種類のビューを構築し、解釈し、分析するための規約を捉えるためのものである。ビューポイントの規約は言語、記法、モデルの種類、モデリング手法、分析手法、デザイン・ルール、そしてその他のビューに関する操作などを含む。
ちなみに、IEEE1471では、ビューポイントやビューを含む、アーキテクチャに関する概念の関連も定義されている。
この図から、
- アーキテクチャ記述(Architecture Description)は1つ以上のビュー(View)から構成される
- ビューは1つ以上のモデル(Model)を含む
- アーキテクチャ記述では、1以上のビューポイント(View Point)が選択される
- ビューポイントは、ビューを裏付ける
というような関連があることが分かる。
自分なりに解釈すると
自分なりの言葉で解釈すると、こんな感じだろうか。
- ビューポイント
- システムのアーキテクチャに対する観点。例えば、機能的な観点、配置的な観点、データの観点など。観点の定義のみならず、その観点からシステムを見たときに、どのようにモデリングすればよいかというメソドロジー(手法)も提供する。
- ビュー
- 選択されたビューポイントで提供されるメソドロジーに基づき、アーキテクチャをモデリングした成果物(モデル)。クラス図、コンポーネント図など、複数のモデルからなる。
そして、ビューポイントとビューを使用してアーキテクチャを設計する際の流れは、こんな感じ。
*1:ただ、個人的には、ビューポイントの選択に対し、プロジェクトごとに大きくぶれる事はないと考えている。
- 15 http://www.google.co.jp/search?q=蟻コロニー最適化+アルゴリズム&hl=ja&client=firefox-a&rls=org.mozilla:ja:official&prmd=ivns&ei=KeN4TaGWApDsuAP8qMXqBw&start=1
- 6 http://www.google.co.jp/search?q=IT アーキテクチャ View&hl=ja&lr=&num=100
- 4 http://core.group.csk.com/km/servlet/jp.co.realcom.km3.devel.generated.http.servlet.community.project.discroom.ShowArticlePage?ProjectId=3357&DiscroomId=3708&ArticleThreadId=15015&ArticleId=45751&cdata=0a762b2a7b3a5
- 4 http://search.yahoo.co.jp/search?p="適応モデル"とは&aq=-1&oq=&ei=UTF-8&fr=top_ga1_sa&x=wrt
- 4 http://twitter.com/
- 4 http://www.google.co.jp/search?q=アーキテクチャ パースペクティブ&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a
- 3 http://www.google.co.jp/search?q=dsl+ファウラー&hl=ja&client=firefox-a&rls=org.mozilla:ja:official&prmd=ivns&source=lnms&tbm=mbl&ei=GdmiTYekG4ryvQOQ9qmPBQ&sa=X&oi=mode_link&ct=mode&cd=9&ved=0CBIQ_AUoCA&prmdo=1
- 3 http://www.google.co.jp/search?q=javascript+goto&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a
- 3 http://www.google.co.jp/search?sourceid=chrome&ie=UTF-8&q=XSS+attack
- 3 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4SUNC_jaJP371JP371&q=XSS+attack

