架构语言ArchiMate - 关系(Relationships)

简介:

  在架构语言ArchiMate - 语言结构(Language Structure)中对语言结构进行了介绍,最后列出下面的ArchiMate框架图:业务、应用和技术三个层次(Layer),对象、行为和主体三个方面(Aspect),在架构语言ArchiMate -业务层(Business Layer)架构语言ArchiMate -应用层(Application Layer)架构语言ArchiMate -技术层(Technology Layer)中分别介绍了这三层的概念,在之前的介绍中都出现过各个元素间的关系,本篇将专门介绍一下ArchiMate在这些层次中使用到的关系

关系(Relationships)总体说明

静态结构关系(Structural Relationships)

图例

关联
Association

对象间的一组相关链接的关系

访问
Access

行为概念元素访问业务对象或数据对象的一种关系

 

被使用
Used by

表示流程、功能、交互使用服务的关系,角色、组件或协作对接口、服务的访问关系

实现
Realization

一个具体的实体实现逻辑实体的关系

分配
Assignment

角色、组件等行为元素的执行关系

共享聚集(聚合)
Aggregation

一个对象由其他对象组合而成,其他对象存在多个实体

组合聚集(组合)
Composition

一个对象由其他对象组成,其他对象是这一个对象的一部分

动态关系(Dynamic Relationships)

图例


Flow

流程、功能、交互和事件之间的信息或价值传递或转换

触发
Triggering

在流程、功能、交互和事件中临时的或持久的触发关系

其他关系

图例

分组
Grouping

基于共同的特征对对象进行分组

联结点
Junction

连接相同类型的关系,例如作为分支流程的关联点

特殊化
Specialization

一个对象是另一对象的特殊化类型

Structural Relationships

  聚合关系是“has-a”关系,组合关系是“contains-a”关系;聚合关系表示整体与部分的关系比较弱,而组合比较强;聚合关系中代表部分事物的对象与代表聚合事物的对象的生存期无关,一旦删除了聚合对象不一定就删除了代表部分事物的对象。组合中一旦删除了组合对象,同时也就删除了代表部分事物的对象。

组合(Composition)

一个对象由其他对象组成,其他对象是这一个对象的一部分

  1. 相对于聚合关系,组合对象只能是一个组合的一部分
  2. 组合只能是在两个相同概念的实例之间存在关系
  • 图例

  • 示例

下面通过两种方式表达组合关系,Financial application应用组件由三个其他应用组件组合而成,类似系统划分子系统

聚合(Aggregation)

一个对象由其他对象组合而成,其他对象存在多个实体

  1. 相对于组合关系,聚合对象可以是多个聚合的一部分
  2. 聚合只能是在两个相同概念的实例之间存在关系
  • 图例

  • 示例

下面通过两种方式表达聚合关系,Car insurance 产品聚合了一个契约(Policy)和两个业务服务

分配(Assignment)

角色、组件等行为元素的执行关系

可以分配业务角色给业务流程或功能、应用组件给应用功能、业务协作给业务交互、应用协作给应用交互。业务接口给业务服务、应用接口给应用服务、业务参与者给业务角色

  • 图例

  • 示例

下面通过两种方式表达分配关系,Payment function 应用功能部属在Financial application应用组件中,Payment service 应用服务通过Application interface接口进行访问

实现(Realization)

一个具体的实体实现逻辑实体的关系

  1. 实现关系表示逻辑实体(“what”,如服务)被具体实体(“how”,如功能)等实现
  2. 实现关系还可以表示数据对象实现业务对象,工件实现应用组件

更多内容参考:企业架构语言ArchiMate.pdf         企业架构框架-TOGAF.pdf

 










 本文转自 jingen_zhou 51CTO博客,原文链接:http://blog.51cto.com/zhoujg/518598,如需转载请自行联系原作者


相关文章
|
19天前
|
JavaScript Java Go
探索Go语言在微服务架构中的优势
在微服务架构的浪潮中,Go语言以其简洁、高效和并发处理能力脱颖而出。本文将深入探讨Go语言在构建微服务时的性能优势,包括其在内存管理、网络编程、并发模型以及工具链支持方面的特点。通过对比其他流行语言,我们将揭示Go语言如何成为微服务架构中的一股清流。
111 53
|
16天前
|
监控 Go API
Go语言在微服务架构中的应用实践
在微服务架构的浪潮中,Go语言以其简洁、高效和并发处理能力脱颖而出,成为构建微服务的理想选择。本文将探讨Go语言在微服务架构中的应用实践,包括Go语言的特性如何适应微服务架构的需求,以及在实际开发中如何利用Go语言的特性来提高服务的性能和可维护性。我们将通过一个具体的案例分析,展示Go语言在微服务开发中的优势,并讨论在实际应用中可能遇到的挑战和解决方案。
|
17天前
|
Go 数据处理 API
Go语言在微服务架构中的应用与优势
本文摘要采用问答形式,以期提供更直接的信息获取方式。 Q1: 为什么选择Go语言进行微服务开发? A1: Go语言的并发模型、简洁的语法和高效的编译速度使其成为微服务架构的理想选择。 Q2: Go语言在微服务架构中有哪些优势? A2: 主要优势包括高性能、高并发处理能力、简洁的代码和强大的标准库。 Q3: 文章将如何展示Go语言在微服务中的应用? A3: 通过对比其他语言和展示Go语言在实际项目中的应用案例,来说明其在微服务架构中的优势。
|
2月前
|
Cloud Native Go API
Go语言在微服务架构中的创新应用与实践
本文深入探讨了Go语言在构建高效、可扩展的微服务架构中的应用。Go语言以其轻量级协程(goroutine)和强大的并发处理能力,成为微服务开发的首选语言之一。通过实际案例分析,本文展示了如何利用Go语言的特性优化微服务的设计与实现,提高系统的响应速度和稳定性。文章还讨论了Go语言在微服务生态中的角色,以及面临的挑战和未来发展趋势。
|
2月前
|
运维 Go 开发者
Go语言在微服务架构中的应用与优势
本文深入探讨了Go语言在构建微服务架构中的独特优势和实际应用。通过分析Go语言的核心特性,如简洁的语法、高效的并发处理能力以及强大的标准库支持,我们揭示了为何Go成为开发高性能微服务的首选语言。文章还详细介绍了Go语言在微服务架构中的几个关键应用场景,包括服务间通信、容器化部署和自动化运维等,旨在为读者提供实用的技术指导和启发。
|
2月前
|
负载均衡 Go API
探索Go语言在微服务架构中的应用与优势
在这篇技术性文章中,我们将深入探讨Go语言(又称为Golang)在构建微服务架构时的独特优势。文章将通过对比分析Go语言与其他主流编程语言,展示Go在并发处理、性能优化、以及开发效率上的优势。同时,我们将通过一个实际的微服务案例,详细说明如何利用Go语言构建高效、可扩展的微服务系统。
|
2月前
|
安全 Go 云计算
探索Go语言在微服务架构中的应用与优势
在本文中,我们将深入探讨Go语言(又称为Golang)在构建微服务架构中的独特优势。文章将分析Go语言的并发模型、简洁的语法以及高效的编译速度,以及这些特性如何使其成为微服务架构的理想选择。我们将通过一个简单的微服务示例,展示Go语言在实际开发中的表现,并讨论其在性能和可维护性方面的优势。
|
2月前
|
前端开发 中间件 Go
实践Golang语言N层应用架构
【10月更文挑战第2天】本文介绍了如何在Go语言中使用Gin框架实现N层体系结构,借鉴了J2EE平台的多层分布式应用程序模型。文章首先概述了N层体系结构的基本概念,接着详细列出了Go语言中对应的构件名称,包括前端框架(如Vue.js、React)、Gin的处理函数和中间件、依赖注入和配置管理、会话管理和ORM库(如gorm或ent)。最后,提供了具体的代码示例,展示了如何实现HTTP请求处理、会话管理和数据库操作。
33 0
|
2月前
|
消息中间件 监控 Go
Go语言在微服务架构中的优势与实践
【10月更文挑战第10天】Go语言在微服务架构中的优势与实践
|
2月前
|
Java Go 数据库
Go语言在微服务架构中的优势与实践
【10月更文挑战第10天】Go语言在微服务架构中的优势与实践
下一篇
无影云桌面