I programvarearkitektur er en programvarekomponent et bestanddel av programvaren som skal integreres som en reservedel i applikasjoner . De pakker , de programvare biblioteker , kjørbare, filer , den databasen eller konfigurasjonselementer (parametre, skript, batch-filer) er programvarekomponenter.
Programvarekomponenter er utviklet av IT-fagpersoner for gjenbruk i egen programvare, eller for utgivelse på markedet og innlemmet i tredjeparts programvare. Komponentene kan distribueres som reservedeler kommersielt under en proprietær eller gratis lisens .
Programvarekomponenter - samt mønstre eller andre gjenstander - kan klassifiseres langs tre akser: granularitet , aktivitet, og avhengighet av et bestemt område av ekspertise.
Det vil også være mulig å klassifisere komponentene i henhold til de tilbudte tjenestene. Det er også den eneste typen formidlingsarkitekturer (se serviceorientert arkitektur , arkitektur ARPA I3 ).
Et plugin eller plugin-program er en programvarekomponent som er ment å gi nye funksjoner til en applikasjonsprogramvare .
En kodek er en programvarekomponent ment å transformere digital informasjon til og fra et bestemt dataformat ved å bruke en prosess, for eksempel datakomprimering .
En widget er en programvarekomponent som animerer en slags visuelt element i grafiske grensesnitt . Eksempler: knapp, tekstboks, rullefelt.
En driver (engelsk driver ) er en programvarekomponent som gir bruk av en maskinvare .
Et programvarebibliotek er et sett med komponenter relatert til et bestemt emne og samlet i den samme programvaren. Eksempler: matematisk beregning, filmanipulering, datakomprimering.
En beregningsmotor er et programvarebibliotek eller en enkelt komponent som utfører arbeid automatisk. Eksempler: tolk , søkemotor , spillmotor , gjengivelsesmotor , databademotordata innebygd.
Et rammeverk er et programvarebibliotek som skal gi programvaren en arkitektur . Programvaren bygges deretter på skjelettet som er opprettet av rammeverket.
En database er en samling av data som brukes av et datasystem.
En ontologi er en programvarekomponent som gjør det mulig å definere semantikken til et datasystem (se meklingsarkitektur ).
Begrepet kobling gjelder avhengighet av programvareelementer med hverandre. De komponentdiagrammene for å visualisere denne kobling (avhengigheten mellom komponentene). På teknologisk nivå er det flere måter å oppnå en kobling på; kompleksiteten til sistnevnte øker som en funksjon av komponentenes teknologiske ulikhet.
Fra programmererens synspunkt er koblingen mellom modulene vanligvis gjennomsiktig og gjøres gjennom et programmeringsgrensesnitt (forkortet API ). Siden de er beregnet på bruk av annen programvare, har modulene alle et programmeringsgrensesnitt.
En kildekoden modul av et hvilket som helst programmeringsspråk som inneholder klasser, gjenstander og / eller funksjoner kan gjenbrukes som er av en annen modul skrevet på samme språk.
En samlet versjon av denne kildekoden kan generere et bibliotek (dynamisk eller statisk) med innfødt kode som kan brukes av ethvert programmeringsspråk som genererer innfødt kode for samme plattform.
Opprettelsen av fullmakter og bruk av marshalling tillater dynamisk kobling av komponenter ved hjelp av forskjellige maskinkoder og / eller distribueres på forskjellige plattformer ved hjelp av mellomvare som DCOM , fra Microsoft , JavaBeans fra Sun Microsystems og CORBA fra OMG .
Vanligvis kobles en modul til en eller flere databaser ved hjelp av en multibaseklient .
(in) Komponentprogramvare: utover objektorientert programmering