Programvarearkitektur er et fagfelt innen informatikk og programvareutvikling som handler om å strukturere og organisere programvare til systemer for å høyne kvaliteten til systemet.

Faktaboks

Også kjent som

engelsk: software architecture

Alle større programvaresystemer består av mange ulike strukturer, som igjen består av ulike programvareelementer som er relatert til hverandre. Andre navn på et programvareelement kan være en modul, en klasse eller en pakke. Måten man organiserer programvareelementer til et system kan påvirket systemets kvaliteter, som vedlikeholdbarhet, sikkerhet, ytelse, tilgjengelighet, hvor godt systemet kan samvirke med andre systemer og hvor enkelt det er å utvide.

Utvikling

Det er som regel en programvarearkitekt som lager en programvarearkitektur som en del av utviklingen av et programvaresystem.

En viktig hjelp i dette arbeidet er bruk av metoder for design og evaluering av programvarearkitektur, samt bruk av arkitektur- og designmønstre. Slike mønster er maler på hvordan man kan løse utfordringer og problemer man ofte har ved utvikling av store programvaresystemer.

Eksempel på kjente designmønster er Model-View Controller, Observer, Singleton og Abstract Factory, mens eksempel på kjente arkitekturmønster inkluderer klient-tjener, lagdelt og tjenesteorientert arkitektur. Arkitekturmønster er spesifikt en løsning som beskriver hvordan man kan organisere programvareelementer for å oppnå kvalitet på bestemte områder (som ytelse, utvidbarhet, sikkerhet og tilgjengelighet).

Merk at kvaliteten til et datasystem ikke er kun avhengig av de strukturene man lager i programvarearkitekturen, men også kvaliteten på hvordan disse strukturene og hele systemet er programmert.

Les mer i Store norske leksikon

Kommentarer

Kommentarer til artikkelen blir synlig for alle. Ikke skriv inn sensitive opplysninger, for eksempel helseopplysninger. Fagansvarlig eller redaktør svarer når de kan. Det kan ta tid før du får svar.

Du må være logget inn for å kommentere.

eller registrer deg