Il software per computer, o semplicemente software, è un insieme di programmi per computer e dati correlati che forniscono le istruzioni per dire a un computer cosa fare e come farlo. Hardware è un termine generale per attrezzature come chiavi, serrature, cerniere, chiusure, maniglie, fili, catene, forniture idrauliche, strumenti, utensili, posate e parti di macchine. La ferramenta domestica è tipicamente venduta nei negozi di ferramenta.
Perché un computer produca risultati utili, l'hardware e il software devono lavorare insieme. Niente di utile può essere fatto con l'hardware da solo, e il software non può essere utilizzato senza il supporto dell'hardware.
Per fare un'analogia, un lettore di cassette e le sue cassette acquistate al mercato sono hardware. Tuttavia, le canzoni registrate sulle cassette sono il suo software. Per ascoltare una canzone, quella canzone deve essere prima registrata su una delle cassette, che viene poi montata sul mangianastri e riprodotta. Allo stesso modo, per ottenere un lavoro da un computer, il software corrispondente deve essere prima caricato nell'hardware e poi eseguito.
Da questa analogia emergono i seguenti punti importanti sulla relazione tra hardware e software:
1. Sia l'hardware che il software sono necessari affinché un computer faccia un lavoro utile. Entrambi sono complementari l'uno all'altro.
2. Lo stesso hardware può essere caricato con diversi software per far sì che un computer svolga diversi tipi di lavoro proprio come diverse canzoni possono essere riprodotte usando lo stesso mangianastri.
3. Tranne che per gli aggiornamenti (come l'aumento della memoria principale e della capacità dell'hard disk, o l'aggiunta di altoparlanti, modem, ecc.); l'hardware è normalmente una spesa una tantum, mentre il software è una spesa continua. Come compriamo nuove cassette per le canzoni appena uscite o per le canzoni di cui non abbiamo le cassette, compriamo un nuovo software da far girare sullo stesso hardware come e quando si presenta il bisogno, o i fondi diventano disponibili.
Peopleware è un termine usato per riferirsi a uno dei tre aspetti fondamentali della tecnologia informatica: hardware, software e peopleware. Peopleware può riferirsi
a tutto ciò che ha a che fare con il ruolo delle persone nello sviluppo o nell'uso
di sistemi software e hardware, comprese questioni come la
produttività degli sviluppatori, il lavoro di squadra, le dinamiche di gruppo, la psicologia della programmazione, la
gestione dei progetti, i fattori organizzativi, la progettazione dell'interfaccia umana e l'
interazione uomo-macchina.