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 で扱っている諸概念とや 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用語
ソフトウエア工学用語のIEEE標準用語集に従い、以下の定義が使われる: 

* アーキテクト（仕組士）: システムのアーキテクチャを設計する責任がある、人、チーム、あるいは組織
* アーキテクチャ的記述 (AD): アーキテクチャを文書化するプロダクトの集合
* アーキテクチャ（仕組）: システムの構成要素、それら相互や環境との関係性、及びその設計と発展をガイドする原則を包含するシステムの基本的組織化
* *設計*: あるアーキテクチャの、定義、文書化、維持、改善、及び正しい実装の認証の活動
* *システム*: ある特定な機能または機能群のセットを達成する組織化された構成要素の集合。用語*システム*は、個別のアプリケーション、伝統的感覚でのシステム、サブシステム、システムのシステム、プロダクト・ライン、プロダクト・ファミリ、事業体全体、及びその他の重要な集合体を網羅する。
* *システムの利害関係者*: システムに関心がある、またはそれとの関連に係わる、個人、チーム、または組織（あるいはそのクラス）
* *ビュー*: 関係する関心のセットの観点からの全体システムの1つの表現
* *視点*: 1つのビューを構築し利用する慣習の1つの仕様。その創作と分析のための1つのビューと技法のため、目的と読者の確立による個別のビューの開発からのひとつのパターンまたはテンプレート。

## アーキテクチャ記述のためのIEEE概念的フレームワーク
IEEE 1471は、以下の概念的フレームワークを使う:

# システムの環境（または*コンテキスト*）はシステムに影響し得る。その環境は、インタフェース経由での直接的あるいは他の方法による間接的のいずれにもかかわらず、当該システムと相互作用するほかのシステムを含むことがある。その環境は、他のシステムと関連する当該システムの*スコープ*を定義する境界を決める。
# ひとつのシステムは、一人以上の*利害関係者*を有する。各利害関係者は、通常そのシステムに関心を持つか、または関わっている。
# *関心*は、システムの開発、その運用あるいは、一人以上の利害関係者にとって重大であるかあるいは他の点で重要な、あらゆる他の局面に関係するそれらの関心である。*関心*は、性能、信頼性、セキュリティ、配備、及び発展性などのシステムの観点を含む。
# システムは、その環境での1つ以上の*ミッション（役務）*を満たすため存在する。*ミッション*とは、一人以上の利害関係者によって何らかの*目的*のセットに合致するよう意図されたシステムの利用または運用である。
# 各システムは、それが理解されるか否かを問わず、記録されるか概念的であるかを問わず、1つの*アーキテクチャ*を持つ。1つのアーキテクチャは、*アーキテクチャ記述*として記録され得る。
# 1つのアーキテクチャ記述は、（アーキテクチャ的）*ビュー*と呼ばれる1つ以上の構成要素で組織化される。各*ビュー*は、そのシステムの利害関係者の1つ以上の関心を取扱う。1つの*ビュー*は、特定な*視点*からのシステムアーキテクチャの部分的表現である。
# *視点*は慣習を確立し、それによってビューが生成され、描写され、そして分析される。この意味で、1つのビューは1つの視点に準じる。視点は、そのビューを記述するのに使われるべき、（表記法、モデル、あるいはプロダクトのタイプを含む）言語、及び、これらのビューを表現に適用されるべきあらゆる関連するモデリング手法または分析技法を決める。これらの言語や技法は、その視点により取扱われる関心に関連する結果をもたらすため使われる。
# アーキテクチャ記述は、使用する1つ以上の視点を*選定する*。*視点の選定*は通常、アーキテクチャ記述を行う利害関係者の考えとその関心に基づく。1つの*視点の定義*は、1つのアーキテクチャ記述で生み出されるか、またはどこか（1つの*ライブラリ視点*）で定義されることもある。
# ビューは、1つ以上の*アーキテクチャ的モデル*から構成できる。そのようなアーキテクチャ的モデルはそれぞれ、関連するアーキテクチャ的視点によって確立された手法を用いて開発される。1つのアーキテクチャ的モデルは、1つ以上ののビューに関与できる。

## IEEE 1471への遵守
IEEE 1471 は、以下のような、アーキテクチャ記述で遵守すべき規範的要求のセットを定義する:

* アーキテクチャ記述の、認識、バージョン、及び概要情報 (条項 5.1)
* 利害関係者と彼らの関心の認識が、そのアーキテクチャと関連すべきか判断する。(条項 5.2)
* そのアーキテクチャの表現を組織化するため選ばれた各視点の仕様と、それら選定の根拠 (条項 5.3)
* 1つ以上のアーキテクチャ的ビュー (条項 5.4)
* アーキテクチャ的記述の要求される構成要素間での既知の不整合全ての記録。 (条項 5.5)
* そのアーキテクチャを選定した理論的根拠 (条項 5.6)

## 脚注

## 関連項目
* ソフトウェアアーキテクチャのビュー
* エンタープライズアーキテクチャフレームワーク
* ビュー・モデル

## 外部リンク
* IEEE 1471 website
* MEGAF - アーキテクチャフレームワークを具現化した基盤であり、ISO/IEC 42010 に準拠している。