ソフトウェアとは、コンピュータそのものを示すハードウェアに対して作られた造語で、プログラムと同じ意味にとらえることもあります。ハードウェアは機械そのもので、ソフトウェアが与えられて初めて機能します。
ソフトウェアは右の図のようにそれぞれの役割によって分割されています。それぞれ機能分担することで開発のコスト軽減、効率化することができる他、利用者は応用ソフトウェアの使用方法だけ知っていれば利用できるという利点を持っています。
○基本ソフトウェア
ハードウェアを効率よく使えるようにするためのソフトウェアでハードウェアに近い位置で仕事をします。OSはシステムソフトウェアです。
○ミドルウェア
基本ソフトウェアと応用ソフトウェアの中間的なソフトウェアで、応用ソフトウェアから見て共通的な機能を提供します。共通的な機能を提供するミドルウェアのおかげで、応用ソフトウェアは必要最低限の、効率の良い開発を進めることができます。主な例としてDBMS(Database Management System)、通信システム、GUIなどが上げられます。
○応用ソフトウェア
ユーザが直接操作するメインのソフトウェアになります。アプリケーション(AP)と呼ばれる部分でもあります。ワープロソフト、ゲーム、メールソフトなど。