Clements et al. beschreiben drei Abstraktionsebenen [ Documenting Software Architectures – Views and Beyond]. Die oberste Ebene sind die Viewtypes, die in unterschiedlichen Stilen auftreten und auf der untersten Ebene durch verschiedene Sichten dargestellt werden können. Bei der Darstellung wird davon ausgegangen, dass der Architekt drei Aspekte betrachten muss:
Wie ist die Architektur in Implementierungseinheiten (z.B. Klassen, Modulen) strukturiert?
Wie ist die Architektur hinsichtlich Laufzeitverhalten und Interaktionen strukturiert?
Wie sind die Wechselwirkungen mit nichttechnischen Strukturen in der Umwelt?
Aus diesen drei Aspekten werden im folgenden die drei Viewtypes, d.h. die Perspektiven für die Dokumentation abgeleitet. Jeder Viewtype wird in Stile unterteilt, zu jedem Stil wird ein Leitfaden festgelegt, der die Rahmenbedingungen definiert. Auf einer dritten Ebene wird die Umsetzung eines Stils für ein konkretes System anhand einer Sicht beschrieben. Hierfür empfehlen sich Notationen wie UML oder spezielle Architekturbeschreibungssprachen.
Module Viewtype
Beschreibung der statischen Struktur des Systems auf Modulbasis
Definition von Stilen wie Schichten, Dekomposition und Generalisierung.
Component-Connector Viewtype
Beschreibung der Laufzeitsicht auf das System mit Hilfe von Komponenten, Objekten und Prozessen
Definition von Stilen wie Client-Server und shared data.
Allocation Viewtype
Beschreibung der Zuordnung von Softwareeinheiten auf die Umgebung (Hardware, Dateisystem, Teams)
Definition von Stilen wie Zuweisung von Arbeitsaufgaben und Verteilung.