Definicja ta została wzbogacona przez Perry’ego i Wolfa o ograniczenia i interakcje pomiędzy komponentami w roku 1992: „Architektura opisuje wybrane elementy architektoniczne, połączenia między nimi oraz ograniczenia tych elementów architektonicznych i ich wzajemnych związków niezbędnych do zdefiniowania modelu spełniającego wymagania i będącego podstawą dla projektu systemu informatycznego”, aczkolwiek o wiele bardziej popularna jest formuła Perry’ego: Software Architecture = {Elements, Form, Rationale}.

Z kolei Garlan i Shaw skłaniają się do bardziej uproszczonej definicji w swoim artykule ogłoszonym rok późniejD. Garlan, M. Shaw: An Introduction to Software Architecture, Advances in Software Engineering and Knowledge Engineering. vol. 1, World Scientific, 1993, pp. 1-39.: „Architektura oprogramowania danego systemu można traktować jako kolekcję komponentów obliczeniowych – lub prościej komponentów – wraz z opisem interakcji pomiędzy tymi komponentami”. Przełomową definicję architektury oprogramowania podał Philippe Kruchten w 1995 roku, która to definicja uwzględniała abstrakcję architektury oraz potrzebę spełnianie pewnych wymagań w stosunku do projektowanego systemu informatycznegoPhilippe Kruchten: Architectural Blueprints – The “4+1” View Model of Software Architecture.