虽然软件系结构的概念早在20世纪80年代就已经提出,但真正引起关注和重视是在90年代。
1992年,Ikwayne Perry和Ales Wolf定义:软件体系结构={元素,形式,准则}。软件体系结构是由具有特定形式的体系结构元素或设计元素构成,包括处理元素、数据元素和连接元素。处理元素负责对数据进行加工,数据元素是被加工的信息连接元素把体系结构的不同部分组合连接起来。软件体系结构形式由专有特性和关系组成。而在多个体系结构方案中选择合适的体系结构方案往往基于一组
准则。这一定义注重区分处理元素、数据元素和连接元素,这一方法在其它的定义和方法中基本上得到保持。
1993年 DavidW an和MaryS haw提出:软件体系结构=}组件,连接件,约束}。组件可以是一组代
码,如程序的模块;也可以是一个独立的程序,如数据库服务器。连接件可以是过程调用、管道、远程调用等,用于表示组件之间的相互作用。一个软件体系结构还包括某些约束,约束一般为对象连接时的规则或指明连接的势态和条件。软件体系结构是设计过程的一个层次,它处理那些超越算法和数据结构的设计,研究整体结构设计和描述方法。
1994年 , Bass等人提出:体系结构设计至少应包括应用领域的功能分割、系统结构、结构的领域功能分配三个方面。
1995年 , DavidG arlan和MaryS haw修正定义:软件体系结构包括系统组件的结构、组件的相互关系以及控制组件设计演化的原则和指导三个方面。
1996 年 ,Kmchten指出,软件体系结构有四个角度:概念角度、模块角度、运行角度和代码角度。概念角度描述系统的主要组件及它们之间的关系;模块角度包含功能分解与层次结构;运行角度描述一个系统的动态结构;代码角度描述各种代码和库函数在开发环境中的组织。
1997年 , Bass,Cl ements和KazTnan提出:软件体系结构包括组件、组件的外部可见性以及相互的关系。其中软件组件的外部可见性是指软件组件提供的服务、性能、特性、共享资源使用等。该定义强调体系结构分析需要从系统中抽象出用于分析、决策的信息。概括各种不同观点,可发现它们都支持这样的观点,即:软件体系结构包括系统总体组织、全局控制、通信技术、同步、数据存取、设计元素的功能、组织、规模、性能、设计方案的选择。
本文转自BlogJava 新浪blog的博客,原文链接:软件架构的六个定义,如需转载请自行联系原博主。