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
 
1. SISTEM OPERASISistem  operasimerupakan program utama yang langsung berinteraksi dengan bahasa  yang di kenal oleh mesin komputer ( bahasa mesin). Penggunaan  processor, memory, hardisk dan komponen lainnya diatur oleh sistem operasi .
Contoh Sistem Operasi :




- Produk  Microsoft : Windows 3.1, Windows 95, Windows 98, Windows 2000, WIndows  Me, WIndows XP, Windows Vista, WIndows NT (untuk jaringan).
 
- Produk Novel : Linux, Redhat, OpenSuse, Ubuntu, Mandrake, Mandriva,dll
 
- Produk Apple : Macintosh
 
- Produk IBM : DOS, UNIX
 
2. Program Aplikasi

Program  aplikasi merupakan program yang di buat untuk tujuan tertentu, misalnya  untuk penjualan di supermarket, untuk mengelola data rumah sakit, untuk  mencetak kuitansi dan sebagainya.
3. Bahasa Pemrograman
Bahasa  pemrograman merupakan bahasa yang dipakai untuk membuat program  komputer. dengan bahasa pemrograman , kita dapat menyusun  perintah-perintah yang harus dijalankan oleh komputer sehingga  menghasilkan informasi atau melakukan pekerjaan sesuai dengan keinginan.



Tingkatan Bahasa Pemrograman ada 4 yaitu :
- Low Languange Program ( Bahasa Pemgrograman Tingkat Rendah), contohnya Assembly machine
 
- Middle Language Program ( Bahasa Pemrograman Tingkat Menengah), contohnya Bahasa C++
 
- High Language Program ( Bahasa Pemrograman Tingkat Tinggi ), Contohnya Pascal, Borland , Fotran
 
- 4GL ( Bahasa Pemrograman Tingkat ke 4 ), contohnya Visual Basic, Visual FOxPro
 
4. Program Bantu ( Utility )




Program  Bantu merupakan program yang bertujuan untuk mengatur konfigurasi  komputer, menjaga komputer dari serangan virus dan hacker, menyelamatkan  data dan sebagainya. Program jenis ini tidak banyak melibatkan pengguna  dalam penggunaannya, tetapi bekerja sendiri sesuai dengan perintah dan  fungsinya.
Contoh program bantu yang kita kenal yaitu 
Anti Virus, Backup , Disk Defragmenter, dsbnya.
5. Program Paket
Program  paket merupakan gabungan dari beberapa aplikasi yang di paket menjadi  kesatuan untuk menangani suatu bidan pekerjaan yang saling berkaitan.  Contoh paket yang paling terkenal adalah Microsoft Office dimana  didalamnya terdapat program untuk mengolah kata (Microsoft Word), untuk  mengolah angka ( Microsoft Excel), Untuk Program Presentasi ( Microsoft  Power Point) dll.




Dilihat dari bidang pekerjaan yang ditangani, program paket dapat dibedakan menjadi:
1. Aplikasi perkantoran, misalnya : Microsoft Office dan StarOffice
2. Aplikasi database, misalnya : oracle dan SQL Server
3. Aplikasi grafik, misalnya Adobe Photoshop dan Corel Draw
6. Program Permainan
Program permainan merupakan program-program yang dibuat untuk menampilkan permainan interaktif pada layar komputer.




Contoh program permainan yang sudah dikenal yaitu :
a. 
Solitaire, tersedia pada Accessories WIndows
b. 
Counter Strike, umumnya dimainkan di game center
c. 
Kurusetra, terkenal sebagai game asli buatan indonesia
7. Program Multimedia
Program  Multimedia mencakup program-program yang memainkan musik atau lagu,  memutar film atau video, untuk menangkap siaran radio atau televisi dan  program lainnya.
contoh Program multimedia yaitu :



a. 
Winamp, umumnya digunakan untuk memainkan lagu mp3
b. 
JetAudio dapat memainkan berbagai format lagu serta video
c. 
RealPlayer, dapat menangkap siaran radio dan TV dari Internet