T31训练营 DAY3

前一节课后思考:

什么是架构图,如何通过架构图清晰地表述系统的组件和决策?

4+1视图
4+1视图由Philippe Kruchten于1995年在《IEEE Software》上发表了题为《The 4+1 View Model of Architecture》的论文提出,随着RUP和UML而普及。4+1视图包括逻辑视图、开发视图、过程视图、物理视图以及把四大视图串联起来的场景。

逻辑视图:使用面向对象的分解方法,逻辑架构主要支持功能需求,也就是系统应该提供怎样的服务给用户。当采用面向对象的设计方法时,逻辑视图即对象模型。当然以数据驱动的E-R模型也可以表达。

开发视图:描述实际的软件开发环境中的软件模块组织。

过程视图:描述设计的并发和同步特征。

物理视图:描述软件如何映射到硬件,反映系统在分布方面的设计。

UML中的图和各视图的对应关系
场景视图:用例图
逻辑视图:类图和对象图
开发视图:类图和组件图
过程视图:顺序图、协作图、状态图、活动图、组件图
部署视图:部署图

TOGAF四大架构域

业务架构:业务战略,治理,组织和关键业务流程。
数据架构:组织的逻辑和物理数据资产结构和数据管理资源。
应用架构:待部署的独立应用系统的蓝图,交互和与组织核心业务流程的关系。
技术架构:所需的逻辑软硬件能力来支持业务,数据和应用服务的部署。包括IT基础设施,中间件,网络,通信,处理和标准等。

4+1视图和TOGAF四大架构域都是从多个层面对于架构的进行描述,正如Philippe Kruchten所述:
一个架构视图是对于从某一视角或某一点上看到的系统所做的简化描述,描述中涵盖了系统的某一特定方面,而省略了于此方面无关的实体。

也就是说,架构要涵盖的内容和决策太多了,超过了人脑"一蹴而就"的能力范围,因此采用"分而治之"的办法从不同视角分别设计;同时,也为软件架构的理解、交流和归档提供了方便。

这里的视角既可以是平行的也可以自顶向下的或是从整体到局部的,而不要试图在一张架构图内容纳全部。

你可能感兴趣的:(T31训练营,架构)