Secara umum, software digunakan untuk mempermudah pengorganisasian kinerja Hardware . Dengan adanya software akan mengurangi interaksi manusia pada Hardware yang bermacam-macam.
Kita dapat mengelompokkan software berdasarkan fungsi atau dukungannya terhadap hardware. Dukungan pada hardware dapat digambarkan dalam diagram dibawah ini:
Dari gambar terlihat dibawah hardware langsung terdapat software sistem operasi. Software sistem Operasi ini yang melakukan hubungan dengan hardware secara langsung. Hardware yang beroperasi tanpa sistem operasi akan mempunya operasi yang terbatas dan tidak dapat di gunakan untuk menjalasnkan software aplikasi.
Berdasarkan fungsinya, software dibagi menjadi tujuh, yaitu :
Sistem Operasi
Program Aplikasi
Bahasa Pemrograman
Program Bantu
Program Paket
Program Permainan
Program Multimedia