IEEE 1471
IEEE 1471 は、「ソフトウエア集約システムのアーキテクチャ」を記述するためのIEEE標準の一つであり、ソフトウェアアーキテクチャとしても知られる。ISO/IEC/IEEE 42010:2011 Systems and software engineering — Architecture description で置き換えられた。
IEEE 1471は、公式にANSI/IEEE 1471-2000 「ソフトウエア集約システムのアーキテクチャ記述のための推奨指針」 (Recommended Practice for Architecture Description of Software-Intensive Systems) として知られる標準の短縮名である。IEEE (Institute of Electrical and Electronics Engineers)用語で、これは、数あるIEEE標準の中でも最も少ない規範的標準の一つの「推奨指針」(Recommended Practice) である。2007年、この標準は ISO/IEC JTC1/SC7 によって ISO/IEC 42010:2007 「システムとソフトウエア工学--ソフトウエア集約システムのアーキテクチャ的記述のための推奨指針」 (Systems and Software Engineering -- Recommended practice for architectural description of software-intensive systems) として採用された。
『アーキテクチャ(仕組)』は、長い間、システムのライフサイクルにわたる強い影響力を持つと認識されてきた。しかしながら、比較的最近になるまで、アーキテクチャ的思考の傾向は主にハードウエア課題に向けられており、全体から見てソフトウェア面は開発のプレッシャーから軽視されることが多かった。IEEE 1471 は、ソフトウェア集約的システムのアーキテクチャについて考える基盤を提供するために作り出された。
IEEE 1471 の貢献は、以下のように要約できる(このリストで、イタリック体の項目は、その標準で定義されて使われている):
それは、アーキテクチャ (architecture) 記述のためのメタモデルと定義を提供する。
それは、アーキテクチャがシステムの利害関係者 (stakeholder) の関心 (concern) を取り扱うべきと明言する。
それは、アーキテクチャ記述が本質的に多面的ビュー (multi-view) であり、全ての利害関係者の関心を適切に捉えた1つのビューは存在しないことを断言する。
それは、視点 (viewpoint) とビュー (view) を分離する。視点は、関心のセットとそれらの関心を取扱うためアーキテクチャを記述するため使われる表現/モデリング技法を識別する。そしてビューは、1つの特定のシステムへ1つの視点を適用した結果である。
それは、アーキテクチャ記述の要求内容と、アーキテクチャ記述に順ずることがその視点とそのビューの間に1対1の対応を持つという考えを確立した。
それは、アーキテクチャの根拠を獲得することとアーキテクチャ記述内におけるビュー間の整合の無さ/未解決な課題を識別するためのガイダンスを提供する。
IEEE 1471-2000 は、IEEE 1471 で扱っている諸概念とRM-ODPや IEEE 12207 などの他の標準におけるアーキテクチャ概念とを関係付ける有益な付録を提供している。
1995年8月、IEEEのソフトウエア工学標準化委員会 (SESC) は、IEEEアーキテクチャ計画グループ (APG) へIEEE標準にアーキテクチャ的思考を取り入れるための方向性を設定する権利を与えた。1996年4月、アーキテクチャ作業グループ (AWG) がSESCによって作られた勧告を実現するため結成された。AWGの会長は Basil Sherlund、副会長は Ronald Wade と David Emery で、その仕様は Rich Hilliard が編集した。AWGには25人のメンバーがいた。草案には130人のレビュアーがコメントし、投票が行われた。2000年9月、IEEE-SA標準化委員会が、IEEE Std 1471-2000 としてその標準を承認した。
2006年、ISO/IEC 第1合同技術委員会 (JTC1) 、情報技術/サブ委員会 SC7 ソフトウエアとシステム工学は、特別な『最速持回り手順』の下、ISO/IEC 42010として採択し、並行してISOとIECの国家団体によっても承認された。ISO/IEC JTC1/SC7/WG42とIEEE CSによるこの標準の協調的改訂が2006年に始められ、ISO/IECの最速持回り投票の成功に続いてその標準のIEEE標準5年レビューが行われた。
2011年11月、IEEE 1471-2000 は ISO/IEC/IEEE 42010:2011 Systems and software engineering — Architecture description に置換された。
IEEE 1471 によれば、 アーキテクチャ記述は以下のため使うことができる:
システム開発活動の、計画、管理、実行
ソフトウエア工学用語のIEEE標準用語集に従い、以下の定義が使われる:
アーキテクト(仕組士): システムのアーキテクチャを設計する責任がある、人、チーム、あるいは組織
アーキテクチャ的記述 (AD): アーキテクチャを文書化するプロダクトの集合
アーキテクチャ(仕組): システムの構成要素、それら相互や環境との関係性、及びその設計と発展をガイドする原則を包含するシステムの基本的組織化
設計: あるアーキテクチャの、定義、文書化、維持、改善、及び正しい実装の認証の活動
システム: ある特定な機能または機能群のセットを達成する組織化された構成要素の集合。用語システムは、個別のアプリケーション、伝統的感覚でのシステム、サブシステム、システムのシステム、プロダクト・ライン、プロダクト・ファミリ、事業体全体、及びその他の重要な集合体を網羅する。
システムの利害関係者: システムに関心がある、またはそれとの関連に係わる、個人、チーム、または組織(あるいはそのクラス)
ビュー: 関係する関心のセットの観点からの全体システムの1つの表現
視点: 1つのビューを構築し利用する慣習の1つの仕様。その創作と分析のための1つのビューと技法のため、目的と読者の確立による個別のビューの開発からのひとつのパターンまたはテンプレート。
IEEE 1471は、以下の概念的フレームワークを使う:
システムの環境(またはコンテキスト)はシステムに影響し得る。その環境は、インタフェース経由での直接的あるいは他の方法による間接的のいずれにもかかわらず、当該システムと相互作用するほかのシステムを含むことがある。その環境は、他のシステムと関連する当該システムのスコープを定義する境界を決める。
ひとつのシステムは、一人以上の利害関係者を有する。各利害関係者は、通常そのシステムに関心を持つか、または関わっている。
関心は、システムの開発、その運用あるいは、一人以上の利害関係者にとって重大であるかあるいは他の点で重要な、あらゆる他の局面に関係するそれらの関心である。関心は、性能、信頼性、セキュリティ、配備、及び発展性などのシステムの観点を含む。
システムは、その環境での1つ以上のミッション(役務)を満たすため存在する。ミッションとは、一人以上の利害関係者によって何らかの目的のセットに合致するよう意図されたシステムの利用または運用である。
各システムは、それが理解されるか否かを問わず、記録されるか概念的であるかを問わず、1つのアーキテクチャを持つ。1つのアーキテクチャは、アーキテクチャ記述として記録され得る。
1つのアーキテクチャ記述は、(アーキテクチャ的)ビューと呼ばれる1つ以上の構成要素で組織化される。各ビューは、そのシステムの利害関係者の1つ以上の関心を取扱う。1つのビューは、特定な視点からのシステムアーキテクチャの部分的表現である。
視点は慣習を確立し、それによってビューが生成され、描写され、そして分析される。この意味で、1つのビューは1つの視点に準じる。視点は、そのビューを記述するのに使われるべき、(表記法、モデル、あるいはプロダクトのタイプを含む)言語、及び、これらのビューを表現に適用されるべきあらゆる関連するモデリング手法または分析技法を決める。これらの言語や技法は、その視点により取扱われる関心に関連する結果をもたらすため使われる。
アーキテクチャ記述は、使用する1つ以上の視点を選定する。視点の選定は通常、アーキテクチャ記述を行う利害関係者の考えとその関心に基づく。1つの視点の定義は、1つのアーキテクチャ記述で生み出されるか、またはどこか(1つのライブラリ視点)で定義されることもある。
ビューは、1つ以上のアーキテクチャ的モデルから構成できる。そのようなアーキテクチャ的モデルはそれぞれ、関連するアーキテクチャ的視点によって確立された手法を用いて開発される。1つのアーキテクチャ的モデルは、1つ以上ののビューに関与できる。
IEEE 1471 は、以下のような、アーキテクチャ記述で遵守すべき規範的要求のセットを定義する:
アーキテクチャ記述の、認識、バージョン、及び概要情報 (条項 5.1)
利害関係者と彼らの関心の認識が、そのアーキテクチャと関連すべきか判断する。(条項 5.2)
そのアーキテクチャの表現を組織化するため選ばれた各視点の仕様と、それら選定の根拠 (条項 5.3)
1つ以上のアーキテクチャ的ビュー (条項 5.4)
アーキテクチャ的記述の要求される構成要素間での既知の不整合全ての記録。 (条項 5.5)
そのアーキテクチャを選定した理論的根拠 (条項 5.6)