Skillnaden mellan perspektiv och beskrivande mjukvaruarkitektur ligger i deras
räckvidd och syfte :
Beskrivande programvaruarkitektur:
* Fokus: Fångar "vad" av arkitekturen, beskriver dess komponenter, deras relationer och hur de arbetar tillsammans.
* Omfattning: Erbjuder en omfattande vy av hela systemet, inklusive högnivå designval och viktiga tekniska beslut.
* Syfte:
* Kommunikation: Tjänar som en plan för intressenter (utvecklare, testare, chefer) för att förstå systemet.
* Dokumentation: Ger en register över de arkitektoniska besluten som fattas och fungerar som en referenspunkt för framtida utveckling.
* Exempel:
* Arkitektoniska diagram (t.ex. komponentdiagram, distributionsdiagram)
* Arkitekturbeslut (ADR)
* Designdokument på hög nivå
Perspektivprogramvaruarkitektur:
* Fokus: Ger en specifik synvinkel på arkitekturen, med fokus på en viss oro eller aspekt.
* Omfattning: begränsat till ett specifikt område av arkitekturen, såsom säkerhet, prestanda eller skalbarhet.
* Syfte:
* Specialiserad analys: Hjälper till att förstå specifika arkitektoniska överväganden och deras inverkan på systemet.
* Målinriktad kommunikation: Underlättar diskussion och samarbete mellan intressenter med specifika intressen.
* Exempel:
* Säkerhetsarkitekturdiagram
* Performanceanalysrapporter
* Dokumentation av skalbarhetsdesign
Här är en tabell som sammanfattar de viktigaste skillnaderna:
| Funktion | Beskrivande arkitektur | Perspektivarkitektur |
| --------------------- | -------------------------- | -------------------------- |
| Fokus | Vad | Viewpoint |
| Omfattning | Omfattande | Specifikt område |
| Syfte | Kommunikation, dokumentation | Specialiserad analys, riktad kommunikation |
| Exempel | Diagram, ADR:er, designdokument | Säkerhet, prestanda, skalbarhetsdokumentation |
I huvudsak ger beskrivande arkitektur en holistisk översikt, medan perspektivarkitektur ger fokuserad insikt i specifika områden. De kompletterar varandra genom att erbjuda olika linser för att förstå mjukvaruarkitekturen.