Software lze definovat jako všechny koncepty, činnosti a postupy, které vedou ke generování programů pro počítačový systém. Jinými slovy, jedná se o instrukce, které byly předdefinovány programátorem k provedení označených úkolů.
Software je sada binárních čísel (bitů), která má pro počítač nějaký smysl a je uložena na nějaké fyzické podpoře (hardware), odkud k ní může procesor přistupovat, spouštět ji nebo zobrazovat. Zatímco hardware je viditelný, hmatatelný a snadno použitelný počítačový systém, software je čistě koncepční entita: intelektuální produkt, to znamená, že hardware je fyzická část a software je logická část počítače.
Cílem „dobrého softwaru“ je zvýšit pravděpodobnost, že bude vyvinut včas a že bude nákladově efektivnější díky efektivnějšímu využívání personálu a zdrojů.
Software lze rozdělit různými způsoby podle typu prováděné práce. Softwarový systém, kde jeden z jeho důležitých částí je operační systém, je ta část, která umožňuje hardware funkce, řídí práci, zpracovává takových zásadních, ačkoli často neviditelné úkoly, jako je údržba diskových souborů a správy z obrazovky.
Aplikační software umožňuje uživatelům provádět jednu nebo více konkrétních úkolů, v každém oboru činnosti, které mohou být automatizované nebo asistované, provádí zpracování textu úkoly, správu databází a podobně. Vytvořte například index seřazený podle autora nebo načtěte informace z databáze atd.
A konečně je tu programovací software, který poskytuje nástroje, které programátorovi pomáhají psát počítačové programy a praktickým způsobem používat různé programovací jazyky.