私は次の用語についてかなり混乱しています。
ソフトウェアアーキテクチャ
ソフトウェアアプリケーションアーキテクチャは、パフォーマンス、セキュリティ、管理性などの一般的な品質属性を最適化しながら、すべての技術的および運用上の要件を満たす構造化ソリューションを定義するプロセスです。さまざまな要因に基づいた一連の決定が含まれ、これらの決定はそれぞれ、アプリケーションの品質、パフォーマンス、保守性、および全体的な成功に大きな影響を与える可能性があります。(マイクロソフト)
システムアーキテクチャー
システムアーキテクチャは、システムの構造、動作、およびその他のビューを定義する概念モデルです。1アーキテクチャ記述は、システムの構造と動作に関する推論をサポートする方法で編成された、システムの正式な記述と表現です(wiki)
クラス図
ソフトウェアエンジニアリングでは、Unified Modeling Language(UML)のクラス図は、システムのクラス、その属性、操作(またはメソッド)、およびオブジェクト間の関係を示すことにより、システムの構造を記述する静的構造図の一種です。(wiki)
これらの説明を読んだ場合、これらはすべてアプリケーションの異なるモジュール間の相互作用を説明しています。しかし、これらの違いは何ですか?
これらの用語を比較するために私が考え/試みたもの:
- クラス図はシステムアーキテクチャの形式ではありません。上記の説明(
structure, behavior, and more views of a system
)は、アーキテクチャに実装の詳細が存在しないことを意味するのに対し、クラス図は実装を記述し、おそらくアーキテクチャではなく設計の方向にありますか? - ソフトウェアアーキテクチャはアプリケーション自体に焦点を合わせているのに対して、システムアーキテクチャは外部対話(データベースなど)も含むアーキテクチャだと思いますか?