方法如路标。
软件架构的5中视图包括:逻辑架构、开发架构、运行架构、物理架构、数据架构。
逻辑架构:关注功能。不仅包括用户可见的功能,也包括一些基础模块以及辅助模块。
开发架构:关注程序包,不仅包括要编写的程序,还包括可以直接使用的第三方SDK或者现成的框架、类库以及开发的系统将运行于其上的系统软件或者中间件。
运行架构:关注进程、线程、对象等运行时概念,以及相关的并发、同步、通信等问题。
物理架构:关注‘目标程序及其依赖的运行库和系统软件’最终如何安装或部署到物理机器,以及如何部署机器和网络来配合软件系统的可靠性、可伸缩性等要求。
数据架构:关注持久化数据的存储方案,不仅包括实体及其实体关系的数据存储格式,还包括数据传递、数据复制和数据同步等策略。
运行架构和开发架构的关系:开发架构一般偏重于程序包在编译时期的静态依赖关系,而这些程序运行起来后会表现为对象、线程、进程,运行架构比较关注这些运行时单元的交互问题。
物理结构和运行架构的关系:运行架构特别关注目标程序的动态执行情况,而物理架构重视目标程序的静态位置问题;物理架构还要考虑软件系统和包括硬件在内的整个IT系统之间是如何相互影响的。
数据架构和物理架构的关系:对于很多集成系统,数据需要在不同系统之间的传递、复制和暂存,这往往要涉及到不同的物理机器。
五种架构视图的关注点各有侧重。逻辑架构侧重功能需求;开发架构侧重开发期间质量属性;运行架构侧重运行期质量属性;物理架构侧重安装和部署需求;数据架构侧重数据需求。
两个问题:
1. 多个架构视图之间的同步问题
不同的软件架构视图之间不是独立的,它们分别从不同的角度反映了一个软件系统的特性,所以之友它们合在一起时,才是一个完整的软件系统,所以需要保持各个视图之间是相互解释的,而不是相互矛盾的。
2. 架构视图的数量问题
忌讳为了架构而架构,不是所有类型的软件系统都需要所有的5个视图。例如对于不涉及到数据存储的系统,那么是不需要数据架构的;对于单机版的系统,不涉及到分布式的需求,那么物理架构相对来说也比较简单。
参考文献
《软件架构设计》 温昱
相关推荐
讨论 软件架构视图 1、为用户设计:满足功能需求及质量需求(易用性、性能、可伸缩性、持续可用性)。 2、为客户设计:充分考虑客户的业务目标、上线要求的时间、预算限制以及集成需要等,还有特别关注客户所在领域...
软件架构4+1视图模型(20211122100015).pdf
本文基于多个并发视图的使用情况来说明描述软件密集型系统架构的模型。使用多重视图允许独立地处理各"风险承担人":最终用户、开发人员、系统工程师、项目经理等所关注的问题,并且能够独立地处理功能性和非功能性...
软件架构设计-五视图方法论
软件架构概念:将若干结构元素进行装配,从而满足系统主要功能和性能需求,并满足其他非功能性需求,如可靠性、可伸缩性、可移植性和可用性。用来处理软件高层次结构的设计和实施。
这是一篇介绍软件架构的英文 作者是:Rational 的Philippe Kruchten
可扩展架构 案例- web 架构, 腾讯培训. 大型web架构
运用RUP 4+1视图方法进行软件架构设计-UML软件工程组织
该文件是架构蓝图--软件架构 "4+1" 视图模型,对UML和软件体系结构中的视图模型作了很详细的说明介绍,对同学们学习这方面的知识有很好的帮助。
在不同的架构设计方法中出现的软件架构视图种类很多,本文介绍最常用的两种架构视图——逻辑架构视图和物理架构视图,并通过具体案例的分析说明如何运用它们进行架构设计。当观察和描述事物大局的时候,逻辑架构和...
01 支撑架构视图-软件进程实施方案选择 02 管理架构视图-获取团队开发成功的若干问题 03 管理架构视图-软件构架导论 04 业务架构视图-业务建模与领域分析 05 业务架构视图-需求开发与UML用例建模 06 技术架构视图-...
javaj2ee高级软件架构师培训资料(内部资料)-管理架构视图-软件构架导论业务架构视图-数据持久化
软件架构4+1视图模型.docx
软件架构4+1视图模型.doc
软件架构4+1视图模型.pdf
二、架构视图 RUP的4+1视图体系结构 三、软件架构国际标准 二 一、架构流程 1.软件架构流程 二、架构约束 1.软件架构质量约束 2.软件架构环境约束 三 一、架构底层规划 1.管理调度分析设计 二、架构管理 1....
第二单元:技术架构视图─面向对象程序设计原则与模式 59 用GRASP模式指导设计 62 领域模型 96 面向对象设计的基本原则 132 第三单元:用UML辅助系统分析与设计 177 UML简介及常见疑难问题辨析 ...
架构蓝图--软件架构4+1视图模型(PhilippeKruchten).pdf
架构蓝图--软件架构4+1视图模型(PhilippeKruchten)汇编.pdf
支撑架构视图-软件进程实施方案选择 管理架构视图-获取团队开发成功的若干问题 管理架构视图-软件构架导论 业务架构视图-业务建模与领域分析 业务架构视图-需求开发与UML用例建模 技术架构视图-构架行为分析 ...