有点道理。我这里有关于architecture的一些说法:(一)
最近刚刚看到一个对architecture的定义,我认为还比较好理解:“The description of a system and its parts. This description includes a specification of the elements that compose the system, the interactions of the elements, patterns that guide the composition of the elements, and the constraints on these patterns.”
这与你对软件结构的描述是基本一致的:"软件结构可以对应为《国标》的“结构”,即指各层模块、子程序、公用程序等系统元素的划分,并包括简要说明每个系统元素的标识符和功能,分层次地给出个元素之间的控制和被控制关系。”。我认为这个概念是从结构化的角度来描述软件结构的。如果是从面向对象的角度描述一个结构良好的"architecture",它应该包括:
1)A set of classes,typically orgnized into mutiple hierachies
2)A set of collaborations that specify how those classes cooperate to provide various system functions
以及A range of patterns, from idioms to mechanisms to frameworks.
(二)
另外,我做过的一个项目,按照RUP的观点采用UML描述"architecture":
1)RUP对architecure的定义
The highest level concept of a system in its environment [IEEE]. The architecture of a software system (at a given point in time) is its organization or structure of significant components interacting through interfaces, those components being composed of successively smaller components and interfaces.
The organizational structure of a system. An architecture can be recursively decomposed into parts that interact through interfaces, relationships that connect parts, and constraints for assembling parts. Parts that interact through interfaces include classes, components and subsystems.
2)RUP是采用"The 4+1 View Model of Architecture",包括logical view,implementation view,process view,deployment view以及use case view来描述整个软件的architecture的。对比你对软件体系结构的理解“软件体系结构(模版中的注释——用图来表示软件系统的总体结构框架,并对其进行描述)即为系统的总体结构框架。这里所说的系统而非软件,是指包括系统的运行环境(硬件环境和支持环境)在内的整个大的系统。” 这种对"architecture"的描述似乎涵盖了“软件体系结构”的内容。