Software-ul componente, uneori numit componentware, se referă la un modul separat sau un obiect de programare care funcționează independent de celelalte componente dintr-un sistem, menținând în același timp comunicarea cu întregul sistem. În termeni mai simpli, o componentă este construită pentru a furniza o anumită sarcină sau serviciu. În timp ce acest tip de inginerie software se bazează pe programarea orientată pe obiecte, este considerată o clasificare separată și mai avansată numită programare orientată pe servicii. Modulele componente individuale fac posibil ca un sistem să continue să funcționeze în cazul în care un singur program se blochează.
Termenul software component descrie în mod adecvat modul în care fiecare dintre modulele de program individuale formează o componentă, sau o parte, a întregului sistem. De exemplu, luați în considerare modul în care o mașină este asamblată din mai multe părți diferite. Unele părți sunt mai esențiale pentru funcționarea sa decât altele, dar, în ansamblu, dacă un anumit sistem necritic se defectează, cum ar fi radioul, restul mașinii va continua să funcționeze. Programarea componentelor software este o schemă de proiectare similară în care mai multe părți creează un întreg sistem.
Acest tip de software este utilizat în mod obișnuit în aplicațiile de programare când defecțiunea completă a sistemului ar putea crea probleme de securitate sau poate fi o pacoste. Astfel de aplicații includ software de procesare a comenzilor și plăți, software de păstrare a evidenței și chiar browsere de internet. Sarcinile individuale efectuate de software-ul de acest tip sunt delegate unor componente software individuale. Aceste piese asigură funcționarea constantă a întregului sistem, protejând în același timp securitatea sistemelor, deoarece fiecare componentă este izolată de celelalte.
În cazul browserelor de internet, componentele individuale pot funcționa pentru a oferi mai multe sesiuni de navigare prin proces. Pentru utilizatorul obișnuit, acest lucru înseamnă că atunci când cinci file sunt deschise și un script java necinstit face ca site-ul care este vizualizat într-o singură filă să înghețe, doar acea filă este compromisă. Închizând fila, restul sesiunii poate fi salvat. Acest sistem de procese multiple sporește, de asemenea, securitatea în browserul de internet modern, deoarece păstrează fiecare proces în spațiul său separat.
Multe sisteme de operare pentru computere (OS) moderne utilizează software-ul componente într-o anumită măsură. Un exemplu este sistemul de operare Windows. În acest sistem, utilizatorii pot activa sau dezactiva componentele sistemului de operare pentru a le personaliza în funcție de nevoile lor. În plus, dacă un program se blochează, există măsuri de protecție incluse pentru a opri în siguranță procesul asociat și a încheia programul fără a reporni computerul. Această abilitate a făcut din software-ul componente o parte importantă a ingineriei software.