软件架构
软件架构定义
【Lane 90】软件体系结构是对软件系统大规模结构和性能的研究。系统的体系结构的重要方面包括系统模块之间的功能划分,模块之间的通信方式,和共享信息的表示。
【Garlan 92】随着软件系统规模扩大与复杂度增加,设计问题远不是算法和数据结构的计算:设计和量化系统结构。体系结构问题包括总体组织和全局控制、通讯协议、同步、数据存取,给设计元素分配特定功能,设计元素的组织,规模和性能,在各设计方案间进行选择等。这就是软件架构的设计。
【Dewayne Perry&A1exander Wolf】由一组元素(elements)构成,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工转换,数据构件是被加工转换的信息,连接构件把架构的不同部分连接起来。程序调用,共享数据,消息等均为连接元素的例子。软件架构的形式是由专有属性(properties)和关系组成。属性用于限制软件架构元素的选择,关系用于限制软件架构元素组合的结构。这一定义侧重于从架构风格、模式和规则角度考虑软件架构。
【Clements 94-2】软件架构定义为软件系统的组织结构,包括构件,连接器,约束,准则。构件可以为代码块,如模块,数据库管理系统。连接器是系统构件交互的抽象,如程序调用,管道,远程调用。一个架构有多个约束和准则,包括构件选择约束和选择特定的构件准则。
【Moriconi 94]】软件架构代表以下概念:1构件:独立存在的对象,如模块、进程,程序或变量;2.接口;构件和环境之间交互的逻辑点的对象;3连接器ÿ