Il software componente, a volte chiamato componentware, si riferisce a un modulo separato o oggetto di programmazione che funziona indipendentemente dagli altri componenti in un sistema mantenendo la comunicazione con l’intero sistema. In termini più semplici, un componente è costruito per fornire un’attività o un servizio specifico. Sebbene questo tipo di ingegneria del software si basi sulla programmazione orientata agli oggetti, è considerata una classificazione separata e più avanzata chiamata programmazione orientata ai servizi. I singoli moduli componenti consentono a un sistema di continuare a funzionare nel caso in cui un singolo programma vada in crash.
Il termine software componente descrive in modo appropriato il modo in cui ciascuno dei singoli moduli del programma costituisce un componente, o parte, dell’intero sistema. Ad esempio, considera il modo in cui un’auto è assemblata da molte parti diverse. Alcune parti sono più essenziali per il suo funzionamento rispetto ad altre ma, nel complesso, se un particolare sistema non critico, come la radio, si guasta, il resto dell’auto continuerà a funzionare. La programmazione del software dei componenti è uno schema di progettazione simile in cui più parti creano un intero sistema.
Questo tipo di software è comunemente usato nelle applicazioni di programmazione quando un guasto completo del sistema potrebbe creare problemi con la sicurezza o essere un fastidio. Tali applicazioni includono software di elaborazione degli ordini e pagamento, software di conservazione dei registri e persino browser Internet. Le singole attività svolte da software di questo tipo sono delegate a singoli componenti software. Questi pezzi garantiscono il funzionamento stabile dell’intero sistema proteggendo anche la sicurezza dei sistemi, poiché ogni componente è isolato dagli altri.
Nel caso dei browser Internet, i singoli componenti possono funzionare per offrire più sessioni di navigazione del processo. Per l’utente medio, ciò significa che quando cinque schede sono aperte e uno script java non autorizzato provoca il blocco del sito visualizzato in una scheda, solo quella scheda viene compromessa. Chiudendo la scheda è possibile salvare il resto della sessione. Questo sistema a più processi aumenta anche la sicurezza nel moderno browser Internet perché mantiene ogni processo nel proprio spazio separato.
Molti moderni sistemi operativi per computer (OS) utilizzano software a componenti almeno in una certa misura. Un esempio è il sistema operativo Windows. In questo sistema, gli utenti possono abilitare o disabilitare i componenti del sistema operativo per personalizzarlo in base alle proprie esigenze. Inoltre, se un programma si blocca, sono incluse misure di sicurezza per interrompere in sicurezza il processo associato e terminare il programma senza riavviare il computer. Questa capacità ha reso il software a componenti una parte importante dell’ingegneria del software.