1. 定義
    1. ビューポイント
      1. 1つのタイプのビューを構築するためのパターン・テンプレート・慣例などのガイドライン
      2. 関連するステークホルダと、ビューを構築するための指針・原理・テンプレートモデルを提供する
      3. 特定のタイプとビューを作成するプロセスを導く
      4. ビューが対応しようとしている関心事と、そのアーキテクチャ側面を作成および記述するアプローチ方法を定義する
    2. ビュー
      1. ステークホルダが抱いている関心事にアーキテクチャがどう対応するかを示す、アーキテクチャの機能的側面を表現した成果物
      2. アーキテクチャの表現(関連する関心事のセット)に基づいて、アーキテクチャで重要な機能を文書化する方法
      3. ステークホルダへシステムのアーキテクチャ構造を説明し、アーキテクチャが関心事を満たすことを実証する
  2. 論理ビュー
    1. 機能的
      1. システム実行時の機能要素・その責務・インタフェースおよび主な相互作用を記述する
      2. 関心事
        1. 機能的能力
          1. システムが実行を要求される事柄の範囲
        2. 外部インタフェース
          1. 他システムとのデータおよび制御の流れ
        3. 内部構造
          1. 責務を割り当てた内部要素とそれらの相互作用の仕方
        4. 設計理念
          1. 関心事の分離
          2. 凝縮度
          3. 結合度
          4. 相互作用の量
          5. 機能的柔軟性
          6. 統一性
    2. 情報
      1. 情報をアーキテクチャが格納・操作・管理および配布する方法を記述する
      2. 関心事
        1. 情報の構造と内容
          1. エンティティ・クラスなどの関係
        2. 情報の流れ
          1. データの生成と削除のタイミング
          2. データアクセスのタイミング
        3. データ所有権
          1. データ書き込みに対する排他制御
        4. 適時性・待ち時間・寿命
          1. データソースの更新から実際に利用できるまでの待ち時間
          2. 不要になった情報を削除するタイミング
        5. 参照とマッピング
          1. エンティティ・オブジェクト・クラスなどを参照する識別子
          2. データが複数のリポジトリにある場合の突き合わせ方式
        6. トランザクションの管理・回復
          1. 複数システムにわたるトランザクションの独自管理
        7. データ品質
          1. データ項目の値がどれだけ正確か
        8. データボリューム
          1. システムが管理または処理するデータの量
        9. アーカイブとデータ保存
          1. テープなどの他の記憶媒体へのアーカイブ
        10. 規則
          1. 遵守する法規
    3. 並行性
      1. 並行実行可能なシステムの機能要素を明白に識別する並行性構造と、その制御方法を記述する
      2. 関心事
        1. タスク構造
        2. 機能要素のタスクへのマッピング
        3. プロセス間通信
        4. 状態管理
        5. 同期化と完全性
        6. スタートアップ・シャットダウン
        7. タスク障害
        8. 再入可能性
  3. 物理ビュー
    1. 開発
      1. ソフトウェア開発のプロセスをサポートするアーキテクチャを記述する
      2. 関心事
        1. 設計の標準化
        2. テストの標準化
        3. デバッグ機構
        4. 統合開発環境
          1. Eclipse, NetBeans
        5. イシュートラッカー
          1. Redmine, JIRA
        6. CI サーバー
          1. Jenkins
        7. バージョン管理システム
          1. コードとコンフィグ
          2. Git, Subversion
        8. 自動テストツール
          1. Selenium
    2. 配置
      1. システムが実行時の環境に持つ依存性を含め、システムが配置される環境を記述する
      2. 関心事
        1. ハードウェアのタイプ
          1. SANストレージ・SSLアクセラレータなど
        2. ハードウェアの仕様と量
          1. ハードウェアの詳細スペック
        3. サードパーティーソフトウェア
          1. OS・ミドルウェアのスペック
        4. テクノロジーの互換性
        5. ネットワーク
          1. 必要なリンク・リンク容量・L/B・F/W・暗号化
        6. 物理的制約
          1. 空間・電力・ケーブル長
        7. OS内リソース
          1. パッケージ
          2. サービス
          3. ファイル・レジストリ
          4. ユーザー・グループ
          5. ファイアウォール
        8. 構成管理
          1. Puppet, Salt
          2. serverspec
        9. OS自動インストール
        10. 成果物ストレージ
    3. 運用
      1. 本番環境での稼働時、システムがどう運用・管理およびサポートされるかを記述する
      2. 関心事
        1. インストールとアップグレード
          1. デプロイと初期設定
          2. 既存データを維持したソフトウェア更新
        2. 機能の移行
          1. ビッグバン・並列稼働・段階的移行
        3. データの移行
          1. 移行のためのユーティリティ
        4. 統合監視と制御
          1. 死活・パフォーマンス・利用傾向
          2. Nagios, Zabbix
        5. メンテナンス
          1. 予定通知
          2. Sorry サーバー
        6. ログの管理と解析
        7. 運用構成管理
        8. ユーザーフィードバック機構
        9. ユーザーサポート
        10. バックアップとリストア
        11. ガーベジコレクション
        12. 自動レポート