实现和维护一个一致的架构是一件非常复杂的任务,因为架构会涉及到很多不同背景的人员,他们使用不同的标记。为了处理这种复杂性,研究人员开始关注如何为不同的涉众定义清晰的架构描述,本篇介绍一下架构视角和视图的一些概念,在大家理解了这些基本概念之后,下一篇我将会对ArchiMate中的基本视角进行介绍。
架构描述概念模型
大家都知道的有4+1视图模型,业界还有其他一些软件体系结构表示方法,如ISO的一个标准RM-ODP,还有MDA中的Platform-Independent Model(PIM) and Platform-Specific Model (PSM),从这些模型来看,我们可以推断,在软件架构方面,通过视角(ViewPoint)和架构视图进行架构的描述已经是被大家接受的一个概念。在企业架构 - 如何描述企业架构中对视角和视图也进行了一些描述。
下图为架构描述的概念模型,图中列出了主要的一些概念:
- 系统(System):一套满足特定功能的组件
- 架构(Architecture):系统的基本组织结构,包含组件以及它们之间的关系和环境,架构将指导系统的设计和演进
- 架构描述(Architecture Description):一套描述架构的工件。在TOGAF中,架构视图是架构描述的主要工件。
- 涉众(Stakeholder):在系统中承担角色,或者关注系统某方面的人,例如用户、开发人员、管理人员等。不同涉众有不同的关注点,涉众可以是个人、团队或者组织。
- 关注点(Concern): 涉众对系统感兴趣的地方,是决定系统是否被接受的重要因素。关注点可以使系统功能、开发、操作、性能、安全等各个方面。
- 视角(Viewpoint):定义企业架构表现的抽象模型,每个模型针对的是特定类型涉众的特定关注点。
- 视图(View):视角的一个具体表现,它是有目的的传递架构信息的一种很好的方法。
架构视角分类框架
架构视角分类框架主要是围绕视角、视图和涉众进行。在开始讲了架构描述的复杂性来自于不同的涉众要求,ArchiMate是一个灵活的架构描述语言,它提倡架构师和其他涉众可以定义自己的企业架构视图,它介绍了一个对视角和视图的定义和分类框架。这个框架基于两个维度:目的(purpose)和内容(content)。
下图把目的和内容维度和示例涉众在一张图上表示出来如下,下一blog中大家会常看到这个图:
- 目的(purpose)
- 设计(Designing): 支持架构师和设计师从概要设计到详细设计,UML就是常用的一种设计描述语言
- 决策(Deciding): 帮助管理者作出决策
- 通知(Informing): 为了获得认可、同意,与涉众沟通企业架构
- 内容(content)
- 详细(Details): 考虑ArchiMate框架的一层或者一层的一个方面
- 一致(Coherence): 考虑ArchiMate框架的多层或多个方面,支持负责IT服务和业务流程的中层管理员
- 概括(Overview): 考虑ArchiMate框架的多层和多个方面,可以支持CEOs和CIOs进行决策
分类示例
- 目的
典型涉众 | 目的 | 示例 | |
Designing | 架构师、软件开发人员、业务流程设计人员 | navigate, design, support design decisions, compare alternatives | UML、BPMN 、flowchart、ER |
Deciding | 高层管理者 | 决策 | cross-reference table, landscape map, list, report |
Informing | 职工、客户 | 讲解、达成一致和认同 | animation, cartoon, process illustration, chart |
- 内容
典型涉众 | 目的 | 示例 | |
Details | 软件工程师、流程负责人 | 设计、管理 | UML class diagram, BPMN process diagram |
Coherence | 中层管理者 | 分析依赖性 | views expressing relations like “use”, “realize”, and “assign” |
Overview | 企业架构师、高层管理者 | 变更管理 | landscape map |