ソフトウェア
階層に基づく分類では、ソフトウェアは機能を提供する相手の階層によって分類される。提供相手はエンドユーザー(人間)からアプリケーションソフトウェアまで様々である。
ハードウェアに基づく分類ではソフトウェアが機能するハードウェアによって分類される。ハードウェアには特定機能のみを提供する組み込みシステムから汎用計算をサポートするパーソナルコンピュータまで様々である。