ソフトウェアシステム

ソフトウェアシステム (英: software system)は、コンピュータシステム（ハードウェアとソフトウェアの組み合わせ）の一部を形成するソフトウェアに基づいてコンポーネントを相互通信するシステムのこと。これは、「いくつかの個別のプログラム、これらのプログラムのセットアップに使用される構成ファイル、システムの構造を説明するシステムドキュメント、およびシステムの使用方法を説明するユーザードキュメントで構成される。」 
「ソフトウェアシステム」という用語は、「コンピュータプログラム」および「ソフトウェア」という用語と区別する必要がある。コンピュータプログラムという用語は、一般に、特定のタスクを実行する一連の命令（ソースコードまたはオブジェクトコード）を指す。ソフトウェアシステムは一般に、仕様、テスト結果、エンドユーザードキュメント、保守記録など、より多くのコンポーネントを含む、より包括的な概念を指す。 
ソフトウェアシステムという用語の使用は、ソフトウェア工学の文脈でのシステム理論アプローチの適用に関連する場合がある。ソフトウェアシステムは、一緒に動作するいくつかの個別のコンピュータプログラムと関連する構成ファイル、ドキュメントなどで構成される。 この概念は、ソフトウェアの主要"コンポーネント"とそれらの"相互作用"に焦点を当てているため、大規模で複雑なソフトウェアの研究で使用される。また、ソフトウェアアーキテクチャの分野にも関連する。
ソフトウェアシステムは、特にソフトウェア工学、および一般的なシステム工学に関心のあるグループにとって活発な研究分野である。 この分野を扱う "Journal of Systems and Software" （エルゼビアが発行）のような学術雑誌が存在する。 
ACMソフトウェアシステム賞は、 "「永続的な影響を与えた、概念への貢献に反映された、商業的に受け入れられた、またはその両方のシステムを開発した」"人々または組織を称える年次賞である。 1983年以来、 Association for Computing Machinery （ACM）から授与されており、 IBMが後援する賞金が授与されている。
分類.
ソフトウェアシステムの主な分類には、アプリケーションソフトウェア開発、プログラミングソフトウェア、およびシステムソフトウェアがあるが、区別が難しい場合もある。ソフトウェアシステムの例には、オペレーティングシステム、コンピュータ予約システム、航空交通管制システム、軍事コマンドおよび制御システム、電気通信ネットワーク、コンテンツ管理システム、データベース管理システム、エキスパートシステム、組み込みシステムなどがある。