Die zunehmende Komplexität der Software mit den damit verbundenen vielfältigen technischen Fragen (z.B. Ressourcenbeschränkung) und strategischen Problemstellungen (z.B. Produktlinienbildung) erzwingt die Verwendung von verschiedenen Systemsichten, um eine effiziente Entwicklung hochqualitatifier Systeme sicherzustellen. Für die Entwicklung sind daher spezifische Modelle mit unterschiedlichen Abstraktionsgraden notwendig. Diese Modelle sind dabei jeweils auf die unterschiedlichen Sichten auf das zu entwickelnde System ausgerichtet, die sich abhängig vom Entwicklungsstadium ergeben. Methodisch lassen sich diese Modelle in vier Gruppen einordnen, die jeweils eine spezifische Architektursicht unterstützen: