I softwarearkitektur er en softwarekomponent et bestanddel af software, der er beregnet til at blive inkorporeret som en reservedel i applikationer . De pakker , de software-biblioteker , eksekverbare, filer , de database eller konfigurationselementer (parametre, scripts, batch-filer) er softwarekomponenter.
Softwarekomponenter er udviklet af IT-fagfolk til genbrug i deres egen software eller til frigivelse på markedet og inkorporeret i tredjepartssoftware. Komponenterne kan distribueres som reservedele kommercielt under en proprietær eller gratis licens .
Softwarekomponenter - samt mønstre eller andre artefakter - kan klassificeres langs tre akser: granularitet , aktivitet, og afhængighed af et bestemt område af ekspertise.
Det ville også være muligt at klassificere komponenterne i henhold til de leverede tjenester. Det er også den eneste type formidlingsarkitekturer (se serviceorienteret arkitektur , arkitektur ARPA I3 ).
Et plugin eller plug-in er en softwarekomponent beregnet til at give en applikationssoftware nye funktioner .
En codec er en softwarekomponent beregnet til at omdanne digital information til og fra et bestemt dataformat ved at anvende en proces, for eksempel datakomprimering .
En widget er en softwarekomponent, der animerer en eller anden form for visuelt element i grafiske grænseflader . Eksempler: knap, tekstfelt, rullepanel.
En driver (engelsk driver ) er en softwarekomponent, der giver brug af et stykke hardware .
Et softwarebibliotek er et sæt komponenter, der er relateret til et bestemt emne og samlet i den samme software. Eksempler: matematisk beregning, filmanipulation, datakomprimering.
En computermotor er et softwarebibliotek eller en enkelt komponent, der udfører arbejde automatisk. Eksempler: tolk , søgemaskine , spilmotor , gengivelsesmotor , databasemotordata indlejret.
En ramme er et softwarebibliotek beregnet til at give software en arkitektur . Softwaren bygges derefter på det skelet, der er oprettet af rammen.
En database er en samling data, der bruges af et computersystem.
En ontologi er en softwarekomponent, der gør det muligt at definere semantikken i et computersystem (se formidlingsarkitektur ).
Begrebet kobling vedrører afhængigheden af softwareelementer med hinanden. De komponent diagrammer til at visualisere denne kobling (afhængighed mellem komponenter). På det teknologiske niveau er der flere måder at opnå en kobling på; hvor kompleksiteten af sidstnævnte er stigende som en funktion af komponenternes teknologiske forskel.
Fra programmørens synspunkt er koblingen mellem moduler normalt gennemsigtig og sker gennem en programmeringsgrænseflade (forkortet API ). Da modulerne er beregnet til brug af anden software, har de alle en programmeringsgrænseflade.
En kildekode modul af ethvert programmeringssprog som indeholder klasser, objekter og / eller funktioner kan genbruges som er af en anden modul skrevet i samme sprog.
En kompileret version af denne kildekode kan generere et bibliotek (dynamisk eller statisk) af native-kode, der kan bruges af ethvert programmeringssprog, der genererer native-kode til den samme platform.
Oprettelsen af proxyer og brugen af marshalling muliggør dynamisk kobling af komponenter ved hjælp af forskellige maskinkoder og / eller distribueres på forskellige platforme ved hjælp af middleware som DCOM , fra Microsoft , JavaBeans fra Sun Microsystems og CORBA fra OMG .
Normalt kobles et modul til en eller flere databaser ved hjælp af en multibase- klient .
(da) Komponentsoftware: ud over objektorienteret programmering