Komponenttarkvara, mida mõnikord nimetatakse ka komponentvaraks, viitab eraldi moodulile või programmeerimisobjektile, mis töötab süsteemi teistest komponentidest sõltumatult, säilitades samal ajal side kogu süsteemiga. Lihtsamalt öeldes on komponent loodud konkreetse ülesande või teenuse pakkumiseks. Kuigi seda tüüpi tarkvaratehnika põhineb objektorienteeritud programmeerimisel, peetakse seda eraldiseisvaks ja täiustatud klassifikatsiooniks, mida nimetatakse teenusekeskseks programmeerimiseks. Üksikute komponentide moodulid võimaldavad süsteemil jätkata toimimist ka juhul, kui mõni programm jookseb kokku.
Mõiste komponenttarkvara kirjeldab tabavalt viisi, kuidas iga üksiku programmi moodul moodustab kogu süsteemi komponendi või osa. Mõelge näiteks sellele, kuidas auto on paljudest erinevatest osadest kokku pandud. Mõned osad on selle funktsiooni jaoks olulisemad kui teised, kuid tervikuna, kui mõni konkreetne mittekriitilise süsteemi, näiteks raadio, rike, töötab ülejäänud auto edasi. Komponenttarkvara programmeerimine on sarnane disainiskeem, mille puhul mitmest osast luuakse terve süsteem.
Seda tüüpi tarkvara kasutatakse tavaliselt programmeerimisrakendustes, kui täielik süsteemitõrge võib tekitada turvaprobleeme või olla häiriv. Sellised rakendused hõlmavad tellimuste töötlemise ja maksete tarkvara, arvestustarkvara ja isegi Interneti-brausereid. Seda tüüpi tarkvara üksikud ülesanded delegeeritakse üksikutele tarkvarakomponentidele. Need osad tagavad kogu süsteemi stabiilse toimimise, kaitstes samas ka süsteemi turvalisust, kuna iga komponent on teistest isoleeritud.
Interneti-brauserite puhul võivad üksikud komponendid pakkuda mitmeid protsesside sirvimisseansse. Tavakasutaja jaoks tähendab see, et kui avatud on viis vahekaarti ja võlts Java-skript põhjustab ühel vahekaardil vaadeldava saidi hangumise, on ohus ainult see vahekaart. Vahekaardi sulgemisel saab ülejäänud seansi salvestada. See mitme protsessi süsteem suurendab ka kaasaegse Interneti-brauseri turvalisust, kuna see hoiab iga protsessi eraldi ruumis.
Paljud kaasaegsed arvutioperatsioonisüsteemid (OS) kasutavad komponenttarkvara vähemalt mingil määral. Üks näide on Windows OS. Selles süsteemis saavad kasutajad OS-i komponente lubada või keelata, et seda oma vajadustele vastavaks kohandada. Lisaks on programmi seiskumisel kaasatud kaitsemeetmed seotud protsessi ohutuks peatamiseks ja programmi lõpetamiseks ilma arvutit taaskäivitamata. See võime on muutnud komponenttarkvara tarkvaratehnika oluliseks osaks.