Forskjellen mellom perspektiv og beskrivende programvarearkitektur ligger i deres
omfang og formål :
Beskrivende programvarearkitektur:
* Fokus: Fanger "hva" av arkitekturen, som beskriver dens komponenter, deres forhold og hvordan de fungerer sammen.
* Scope: Tilbyr en omfattende visning av hele systemet, inkludert designvalg på høyt nivå og viktige tekniske beslutninger.
* Formål:
* Kommunikasjon: Fungerer som en blåkopi for interessenter (utviklere, testere, ledere) for å forstå systemet.
* Dokumentasjon: Gir en oversikt over de arkitektoniske beslutningene som er tatt og fungerer som et referansepunkt for fremtidig utvikling.
* eksempler:
* Arkitektoniske diagrammer (f.eks. Komponentdiagrammer, distribusjonsdiagrammer)
* Architecture Decision Records (ADRS)
* Designdokumenter på høyt nivå
Perspective Software Architecture:
* Fokus: Gir et spesifikt synspunkt på arkitekturen, med fokus på en spesiell bekymring eller aspekt.
* Scope: begrenset til et spesifikt område av arkitekturen, for eksempel sikkerhet, ytelse eller skalerbarhet.
* Formål:
* Spesialisert analyse: Hjelper med å forstå spesifikke arkitektoniske hensyn og deres innvirkning på systemet.
* Målrettet kommunikasjon: Letter diskusjon og samarbeid mellom interessenter med spesifikke interesser.
* eksempler:
* Sikkerhetsarkitekturdiagrammer
* Resultatanalyserapporter
* Skalabilitetsdesigndokumentasjon
Her er en tabell som oppsummerer de viktigste forskjellene:
| Funksjon | Beskrivende arkitektur | Perspektivarkitektur |
| --------------------- | ---------------------- | -------------------------- |
| Fokus | Hva | Synspunkt |
| Omfang | Omfattende | Spesifikt område |
| Formål | Kommunikasjon, dokumentasjon | Spesialisert analyse, målrettet kommunikasjon |
| Eksempler | Diagrammer, ADR -er, designdokumenter | Sikkerhet, ytelse, skalerbarhetsdokumentasjon |
I hovedsak gir beskrivende arkitektur en helhetlig oversikt, mens perspektivarkitektur gir fokusert innsikt i spesifikke områder. De kompletterer hverandre ved å tilby forskjellige linser for å forstå programvarearkitekturen gjennom.