Komponentinė programinė įranga, kartais vadinama komponentine programine įranga, reiškia atskirą modulį arba programavimo objektą, kuris veikia nepriklausomai nuo kitų sistemos komponentų ir palaiko ryšį su visa sistema. Paprasčiau tariant, komponentas yra sukurtas tam, kad teiktų konkrečią užduotį ar paslaugą. Nors šio tipo programinės įrangos inžinerija yra pagrįsta objektiniu programavimu, ji laikoma atskira ir pažangesne klasifikacija, vadinama į paslaugas orientuotu programavimu. Atskiri komponentų moduliai leidžia sistemai toliau veikti, jei viena programa sugenda.
Terminas „komponentinė programinė įranga“ taikliai apibūdina būdą, kuriuo kiekvienas atskiras programos modulis sudaro visos sistemos komponentą arba dalį. Pavyzdžiui, apsvarstykite, kaip automobilis surenkamas iš daugybės skirtingų dalių. Kai kurios dalys yra svarbesnės jo funkcijai nei kitos, tačiau apskritai, jei sugenda tam tikra nekritinė sistema, pvz., radijas, likusi automobilio dalis veiks ir toliau. Komponentinės programinės įrangos programavimas yra panaši projektavimo schema, kurioje kelios dalys sukuria visą sistemą.
Šio tipo programinė įranga dažniausiai naudojama programuojant programas, kai visiškas sistemos gedimas gali sukelti saugumo problemų arba kelti nepatogumų. Tokios programos apima užsakymų apdorojimo ir mokėjimo programinę įrangą, apskaitos programinę įrangą ir net interneto naršykles. Atskiros užduotys, kurias atlieka šio tipo programinė įranga, yra deleguojamos atskiroms programinės įrangos komponentams. Šios dalys užtikrina nuolatinį visos sistemos veikimą, kartu apsaugodamos sistemos saugumą, nes kiekvienas komponentas yra izoliuotas nuo kitų.
Interneto naršyklių atveju atskiri komponentai gali pasiūlyti kelias proceso naršymo sesijas. Paprastam vartotojui tai reiškia, kad kai atidaromi penki skirtukai ir dėl nesąžiningo „Java“ scenarijaus viename skirtuke peržiūrima svetainė sustoja, pažeidžiamas tik tas skirtukas. Uždarius skirtuką galima išsaugoti likusią seanso dalį. Ši kelių procesų sistema taip pat padidina saugumą šiuolaikinėje interneto naršyklėje, nes kiekvieną procesą išlaiko savo atskiroje erdvėje.
Daugelis šiuolaikinių kompiuterių operacinių sistemų (OS) bent tam tikru mastu naudoja komponentinę programinę įrangą. Vienas iš pavyzdžių yra „Windows“ OS. Šioje sistemoje vartotojai gali įjungti arba išjungti OS komponentus, kad pritaikytų ją savo poreikiams. Be to, jei programa užstringa, įtrauktos apsaugos priemonės, leidžiančios saugiai sustabdyti susijusį procesą ir užbaigti programą nepaleidžiant kompiuterio iš naujo. Dėl šio gebėjimo komponentinė programinė įranga tapo svarbia programinės įrangos inžinerijos dalimi.