软件架构的六个定义

架构,从字面上很容易联想到建筑学中的构建蓝图,不过他是相对稳定的,而软件中的架构是需要不断演进的动态过程。软件架构是对系统构件及其交互关系的高层抽象描述,是软件系统的蓝图和整体结构,用于指导后续的设计与开发,以使抽象具体化。软件架构一直没有一个确切的定义,但是,普遍认为软件架构是一种关注和描述软件系统整体组织结构和性能的抽象系统机制,为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成

虽然软件系结构的概念早在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的博客,原文链接:软件架构的六个定义,如需转载请自行联系原博主。

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/336921

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。