Shaw 和 Garlan[Sha96]在他们划时代的著作中以如下方式讨论了软件的体系结构:从第一个程序被划分成模块开始,软件系统就有了体系结构。同时,程序员已经开始负责模块间的交互和模块装配的全局属性。从历史的观点看,体系结构隐含了不同的内容——实现的偶然事件或先前的遗留系统。优秀的软件开发人员经常采用一个或者多个体系结构模式作为系统组织策略,但是他们只是非正式地使用这些模式,并且在最终系统中没有将这些模式清楚地体现出来。
如今,有效的软件体系结构及其明确的表示和设计已经成为软件工程领域的主导主题。