The “4+1” View Model of Software Architecture
架构视图是对于从某一视角或某一点上看到的系统所做的简化描述,描述中涵盖了系统的某一特定方面,而省略了于此方面无关的实体。
架构视图如同在建筑学中的不同种类的蓝图。
1. 背景
软件架构文档过分强调软件开发的某一个方面。
架构不能解决所有风险承担者所关注的问题。
每个软件系统都有多个风险承担者:最终用户、开发人员、系统工程师、项目经理等。
软件工程师欲使用单张视图来捕捉所有的系统架构要点,努力地在单一视图中表达超过其表达限度的蓝图。
Philippe Kruchten, Architectural Blueprints — The “4+1” View Model of Software Architecture.
使用多个并发的视图来组织软件架构的描述,每个视图仅用来描述一个特定的所关注的方面的问题集合。
2. 视图模型 An Architectural Model
软件架构涉及到抽象、分解和组合、风格和美学。
逻辑视图(Logical View),设计的对象模型(使用面向对象的设计方法时)。
过程视图(Process View),捕捉设计的并发和同步特征。
物理视图(Physical View),描述了软件到硬件的映射,反映了分布式特性。
开发视图(Development View),描述了在开发环境中软件的静态组织结构。
逻辑架构:
视 角:最终用户
关注点:功能性需求,即在为用户提供服务方面系统所应该提供的功能。
表示法:Booch标记法,UML(类图、交互图、顺序图、状态图),E-R图。
系统分解为一系列的关键抽象,表现为对象或对象类的形式。它们采用抽象、封装和继承的原理。
分解并不仅仅是为了功能分析,而且用来识别遍布系统各个部分的通用机制和设计元素。
架构视图是对于从某一视角或某一点上看到的系统所做的简化描述,描述中涵盖了系统的某一特定方面,而省略了于此方面无关的实体。
架构视图如同在建筑学中的不同种类的蓝图。
1. 背景
软件架构文档过分强调软件开发的某一个方面。
架构不能解决所有风险承担者所关注的问题。
每个软件系统都有多个风险承担者:最终用户、开发人员、系统工程师、项目经理等。
软件工程师欲使用单张视图来捕捉所有的系统架构要点,努力地在单一视图中表达超过其表达限度的蓝图。
Philippe Kruchten, Architectural Blueprints — The “4+1” View Model of Software Architecture.
使用多个并发的视图来组织软件架构的描述,每个视图仅用来描述一个特定的所关注的方面的问题集合。
2. 视图模型 An Architectural Model
软件架构涉及到抽象、分解和组合、风格和美学。
逻辑视图(Logical View),设计的对象模型(使用面向对象的设计方法时)。
过程视图(Process View),捕捉设计的并发和同步特征。
物理视图(Physical View),描述了软件到硬件的映射,反映了分布式特性。
开发视图(Development View),描述了在开发环境中软件的静态组织结构。
逻辑架构:
视 角:最终用户
关注点:功能性需求,即在为用户提供服务方面系统所应该提供的功能。
表示法:Booch标记法,UML(类图、交互图、顺序图、状态图),E-R图。
系统分解为一系列的关键抽象,表现为对象或对象类的形式。它们采用抽象、封装和继承的原理。
分解并不仅仅是为了功能分析,而且用来识别遍布系统各个部分的通用机制和设计元素。
