`
zlei
  • 浏览: 31962 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

软件架构的六个定义

阅读更多
   架构,从字面上很容易联想到建筑学中的构建蓝图,不过他是相对稳定的,而软件中的架构是需要不断演进的动态过程。软件架构是对系统构件及其交互关系的高层抽象描述,是软件系统的蓝图和整体结构,用于指导后续的设计与开发,以使抽象具体化。软件架构一直没有一个确切的定义,但是,普遍认为软件架构是一种关注和描述软件系统整体组织结构和性能的抽象系统机制,为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成   
    虽然软件系结构的概念早在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提出:软件体系结构包括组件、组件的外部可见性以及相互的关系。其中软件组件的外部可见性是指软件组件提供的服务、性能、特性、共享资源使用等。该定义强调体系结构分析需要从系统中抽象出用于分析、决策的信息。概括各种不同观点,可发现它们都支持这样的观点,即:软件体系结构包括系统总体组织、全局控制、通信技术、同步、数据存取、设计元素的功能、组织、规模、性能、设计方案的选择。

分享到:
评论

相关推荐

    2021 迈向SOA软件架构,软件定义汽车成为现实.pdf

    在软件定义汽车的时代背景下,汽车软件架构正经历重大变革,SOA(面向服务架构)作为核心技术路线,已经成为推动行业发展的关键。以下详细解读在迈向SOA架构过程中的几个关键知识点。 首先,SOA软件架构的核心思想...

    面向软件定义的飞行器综合电子系统软件架构技术-王小辉.pdf

    面向软件定义的飞行器综合电子系统软件架构技术是现代航空航天领域的一个重要研究方向,它针对传统飞行器系统软硬件一体化的局限性,提出了新的解决方案。随着飞行器系统智能化的发展,传统的一体化研制方式面临着...

    SEI的架构设计文档

    这个模板可能包含预定义的形状、连接线和布局,帮助设计师快速构建和展示软件架构。 **四、实践与应用** 在实际项目中,开发团队可以基于SEI的架构设计文档模板来规划和记录软件架构。这不仅有助于团队成员之间的...

    华为计算与通信架构使能软件定义汽车 硬件工程师电路分析物联网模电单片机嵌入式技术.doc

    华为 CCA+VehicleStack 是华为提出的数字系统架构设计理念,旨在将传统车分为六层,包括机械层、高压电池电气层、低压的部件层、软件层、应用层和云服务层。这种架构设计可以实现软件的可升级性、硬件的可扩展性和可...

    软件定义安全架构.pdf

    ### 软件定义安全架构概述 随着信息技术的飞速发展,网络安全问题日益凸显,传统的安全防护措施已难以满足日益复杂多变的网络环境需求。为此,“软件定义安全(Software Defined Security, SDS)”作为一种新兴的...

    软件架构和架构师

    软件架构的重要性及其定义 - **背景**: 随着软件系统的规模日益扩大,复杂性也随之增加,传统的“算法+数据结构=程序”设计模式已无法满足当前的需求。软件架构作为一种新的设计理念应运而生,旨在为软件系统提供...

    软件架构实践 第2版

    软件架构是构建大型、复杂软件系统的基础,它定义了系统的组件、组件之间的关系以及指导系统开发和演进的原则。这本书的第二版提供了最新的理论和实践经验,帮助读者理解和应用软件架构的核心概念。 在软件开发过程...

    软件架构师教程,系统架构师讲义

    软件架构是软件开发过程中的关键环节,它定义了系统的整体结构和组织方式,包括主要组件、组件之间的关系以及交互方式。本教程首先会介绍软件架构的基本概念,如模块化、分层架构、微服务架构等,让读者理解架构设计...

    软件架构--软件架构讲义

    软件架构是软件开发过程中的核心组成部分,它定义了软件系统的高级结构、主要组件以及它们之间的关系,为系统设计提供了一个蓝图。本讲义将深入探讨软件架构的基本概念、重要性以及如何进行有效的架构设计。 首先,...

    产品技术开发项目-软件架构设计模板

    本文档旨在为产品经理、项目经理、系统工程师、架构师及软件开发人员提供一个清晰、全面的软件架构设计模板,以帮助他们理解和执行项目的架构设计,确保后续开发工作的顺利进行,并为网站后续版本的架构提供参考。...

    软件架构说明书模版 软件构架

    本模版旨在提供一个通用的框架,帮助开发者和项目团队清晰地定义和理解软件架构,但需根据具体项目需求进行调整,不可生搬硬套。 1.1 文档编写目的 软件架构说明书的主要目的是确保所有相关人员对系统的设计有共同...

    软件架构文档(样例).doc

    在简介部分,我们可以看到软件架构文档的目的、范围、定义、首字母缩写词和缩略语、参考资料等信息。这部分内容为我们提供了软件架构文档的总体概况。 架构表示方式是指软件架构文档中用来描述软件系统架构的方法和...

    软件架构设计 ppt

    1. **软件架构定义**:软件架构是指软件系统的高级结构,包括主要组件、组件间的相互关系以及指导其设计和实现的原则。它是软件开发的基础,决定了系统的核心特性。 2. **架构设计步骤**: - **需求分析**:明确...

    软件架构实践(第三版)林巴斯

    - **定义与作用**:软件架构是关于软件系统的基本结构和组织方式,包括组成系统的组件、这些组件之间的关系以及指导它们交互的设计原则。良好的架构能够提高软件的可维护性、灵活性和可扩展性。 - **影响因素**:...

    恰如其分的软件架构.pdf_恰如其分的软件架构_

    软件架构是构建大型复杂系统的基础,它定义了系统的组件、它们之间的关系以及交互方式,是软件开发过程中的关键决策点。这篇文章通过详细阐述软件架构的核心概念,帮助读者理解如何构建一个既高效又易于维护的软件...

    软件架构设计案例分析

    在软件架构的定义中,还有一个重要的视角是将软件架构视为系统的一个或多个结构,而每个结构又由软件元素、这些元素的外部可见属性以及它们之间的关系组成。这种结构化的方法有助于更好地理解和沟通软件架构。 架构...

    软件架构师培训资料,软件架构师培训资料,软件架构师培训资料

    这份“软件架构师培训资料”涵盖了软件开发过程中的多个关键环节,旨在帮助学员全面掌握架构师所需的核心技能。 首先,我们来看“01_软件流程实施方案选择.pdf”。这一部分主要讲解如何在不同的项目环境中选择合适...

Global site tag (gtag.js) - Google Analytics