`

软件架构的5种视图

 
阅读更多

方法如路标。

软件架构的5中视图包括:逻辑架构、开发架构、运行架构、物理架构、数据架构。

逻辑架构:关注功能。不仅包括用户可见的功能,也包括一些基础模块以及辅助模块。

开发架构:关注程序包,不仅包括要编写的程序,还包括可以直接使用的第三方SDK或者现成的框架、类库以及开发的系统将运行于其上的系统软件或者中间件。

运行架构:关注进程、线程、对象等运行时概念,以及相关的并发、同步、通信等问题。

物理架构:关注‘目标程序及其依赖的运行库和系统软件’最终如何安装或部署到物理机器,以及如何部署机器和网络来配合软件系统的可靠性、可伸缩性等要求。

数据架构:关注持久化数据的存储方案,不仅包括实体及其实体关系的数据存储格式,还包括数据传递、数据复制和数据同步等策略。

运行架构和开发架构的关系:开发架构一般偏重于程序包在编译时期的静态依赖关系,而这些程序运行起来后会表现为对象、线程、进程,运行架构比较关注这些运行时单元的交互问题。

物理结构和运行架构的关系:运行架构特别关注目标程序的动态执行情况,而物理架构重视目标程序的静态位置问题;物理架构还要考虑软件系统和包括硬件在内的整个IT系统之间是如何相互影响的。

数据架构和物理架构的关系:对于很多集成系统,数据需要在不同系统之间的传递、复制和暂存,这往往要涉及到不同的物理机器。

五种架构视图的关注点各有侧重。逻辑架构侧重功能需求;开发架构侧重开发期间质量属性;运行架构侧重运行期质量属性;物理架构侧重安装和部署需求;数据架构侧重数据需求。

两个问题:

1.       多个架构视图之间的同步问题

不同的软件架构视图之间不是独立的,它们分别从不同的角度反映了一个软件系统的特性,所以之友它们合在一起时,才是一个完整的软件系统,所以需要保持各个视图之间是相互解释的,而不是相互矛盾的。

2.       架构视图的数量问题

忌讳为了架构而架构,不是所有类型的软件系统都需要所有的5个视图。例如对于不涉及到数据存储的系统,那么是不需要数据架构的;对于单机版的系统,不涉及到分布式的需求,那么物理架构相对来说也比较简单。

 

参考文献
《软件架构设计》 温昱
    
作者:李胜攀
         
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
分享到:
评论

相关推荐

    软件架构4+1视图模型(20211122100015).pdf

    该模型使用五种视图来描述软件架构,即逻辑视图、过程视图、物理视图、开发视图和场景视图。 逻辑视图(Logical View)是指系统的逻辑结构,使用面向对象的设计方法来描述系统的对象模型。逻辑视图主要支持功能性...

    软件架构视图

    软件架构视图 软件架构概念是指将若干结构元素进行装配,从而满足系统主要功能和性能需求,并满足其他非功能性需求,如可靠性、可伸缩性、可移植性和可用性。用来处理软件高层次结构的设计和实施。软件架构={元素...

    架构蓝图--软件架构 "4+1" 视图模型

    "4+1" 视图模型是软件架构中的一种常用模型,由 Philippe Kruchten 提出,该模型将软件架构分为四个主要的视图,即逻辑视图、过程视图、物理视图和开发视图,然后加上一个场景视图,以便更好地描述软件架构。...

    架构五视图、开发架构.pptx

    五视图方法论是软件架构设计的一种常见方法论,主要从五个方面对系统进行描述,即逻辑视图、开发视图、数据视图、运行视图和物理视图。 逻辑视图是指对系统的逻辑结构的描述,包括子系统的划分、类图、数据库性能等...

    架构蓝图-软件架构4+1视图模型

    总的来说,“4+1视图模型”提供了一种全面而灵活的方法来描述和管理软件架构,它强调了不同利益相关者的视角,使软件设计更加透明,更易于理解和维护。这种方法已被广泛应用于复杂系统的架构设计中,对于提升软件...

    软件架构设计(温昱)--第4章 软件架构视图

    讨论 软件架构视图 1、为用户设计:满足功能需求及质量需求(易用性、性能、可伸缩性、持续可用性)。 2、为客户设计:充分考虑客户的业务目标、上线要求的时间、预算限制以及集成需要等,还有特别关注客户所在领域...

    软件架构_4+1_视图模型-中文版

    本文基于多个并发视图的使用情况来说明描述软件密集型系统架构的模型。使用多重视图允许独立地处理各"风险承担人":最终用户、开发人员、系统工程师、项目经理等所关注的问题,并且能够独立地处理功能性和非功能性...

    运用RUP 4+1视图方法进行软件架构设计

    RUP(Rational Unified Process)4+1视图方法是一种面向对象的软件开发过程框架,它提供了五个不同的视图来帮助软件架构师全面地理解和设计软件系统: 1. **逻辑视图**:关注系统的静态结构,如类、接口和对象等,...

    软件架构4+1视图模型.doc

    软件架构4+1视图模型是一种行业公认的软件架构模型,由 Philippe Kruchten 提出。该模型认为,软件架构不应该只从一个角度来描述,而应该从多个角度来描述,以满足不同的用户需求和关注点。 多个视图的使用可以将...

    软件架构4+1视图模型.pdf

    软件架构4+1视图模型是一种软件架构设计方法,由IBM开发的Rational Unified Process(RUP)衍生出来的。该方法将软件架构设计分为四个视图,即用例视图、逻辑视图、开发视图和处理视图,另外还有一个物理视图。每个...

    软件架构实践 第2版

    此外,书中的章节还讨论了架构视图和视角的概念,这是表达架构的一种结构化方法。通过不同的视图,可以展示系统的不同方面,如逻辑视图、进程视图、物理视图和数据视图,帮助各方利益相关者理解系统整体结构。 书中...

    《软件架构设计文档》模板,很实用

    本文档模板涵盖了软件架构设计的所有方面,包括架构设计目标、架构设计原则、逻辑架构视图、开发架构视图、运行架构视图、物理架构视图、数据架构视图等。 在文档简介部分,对《软件架构设计文档》的目的、范围和...

    软件架构4+1视图模型.docx

    4+1视图模型是 Philippe Kruchten 提出的一个软件架构模型,由五个主要的视图组成:逻辑视图、过程视图、物理视图、开发视图和 scenarios 视图。每个视图使用自身所特有的表示法—蓝图来描述,并且架构师可以对每种...

    架构蓝图--软件架构4+1视图模型(PhilippeKruchten).pdf

    "架构蓝图--软件架构4+1视图模型" 架构蓝图是软件架构的核心组件之一,它提供了一个整体的视图来描述软件系统的结构和设计。Philippe Kruchten 的"4+1"视图模型是架构蓝图的一种常见形式,该模型由五个主要视图组成...

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

    在软件架构文档中,我们可以看到几个重要的部分,包括简介、架构表示方式、架构目标和约束、用例视图、逻辑视图等。 在简介部分,我们可以看到软件架构文档的目的、范围、定义、首字母缩写词和缩略语、参考资料等...

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

    《软件架构师教程》是一本全面且深入的指南,旨在帮助读者掌握软件架构设计的核心概念、原则和实践。作为系统架构师考试的重要参考资料,这本书涵盖了高级软件架构师所需的知识点,同时也是系统分析师提升专业能力的...

    软件架构设计 ppt

    5. **质量属性**:软件架构设计时要考虑多种质量属性,如性能(响应时间、吞吐量)、可用性、安全性、可扩展性、可维护性等,这些属性会直接影响系统的成功与否。 6. **架构视图**:通常包括逻辑视图(描述软件的...

Global site tag (gtag.js) - Google Analytics