架构语言ArchiMate - 关系(Relationships)
本文更新版本已挪至 http://www.zhoujingen.cn/blog/4099.html
--------------------------------------
在架构语言ArchiMate - 语言结构(Language Structure)中对语言结构进行了介绍,最后列出下面的ArchiMate框架图:业务、应用和技术三个层次(Layer),对象、行为和主体三个方面(Aspect),在架构语言ArchiMate -业务层(Business Layer)、架构语言ArchiMate -应用层(Application Layer)、架构语言ArchiMate -技术层(Technology Layer)中分别介绍了这三层的概念,在之前的介绍中都出现过各个元素间的关系,本篇将专门介绍一下ArchiMate在这些层次中使用到的关系。
关系(Relationships)总体说明
静态结构关系(Structural Relationships) |
图例 |
|
关联 |
对象间的一组相关链接的关系 |
|
访问 |
行为概念元素访问业务对象或数据对象的一种关系 |
|
被使用 |
表示流程、功能、交互使用服务的关系,角色、组件或协作对接口、服务的访问关系 |
|
实现 |
一个具体的实体实现逻辑实体的关系 |
|
分配 |
角色、组件等行为元素的执行关系 |
|
共享聚集(聚合) |
一个对象由其他对象组合而成,其他对象存在多个实体 |
|
组合聚集(组合) |
一个对象由其他对象组成,其他对象是这一个对象的一部分 |
|
动态关系(Dynamic Relationships) |
图例 |
|
流 |
流程、功能、交互和事件之间的信息或价值传递或转换 |
|
触发 |
在流程、功能、交互和事件中临时的或持久的触发关系 |
|
其他关系 |
图例 |
|
分组 |
基于共同的特征对对象进行分组 |
|
联结点 |
连接相同类型的关系,例如作为分支流程的关联点 |
|
特殊化 |
一个对象是另一对象的特殊化类型 |
Structural Relationships
聚合关系是“has-a”关系,组合关系是“contains-a”关系;聚合关系表示整体与部分的关系比较弱,而组合比较强;聚合关系中代表部分事物的对象与代表聚合事物的对象的生存期无关,一旦删除了聚合对象不一定就删除了代表部分事物的对象。组合中一旦删除了组合对象,同时也就删除了代表部分事物的对象。
组合(Composition)
一个对象由其他对象组成,其他对象是这一个对象的一部分
- 相对于聚合关系,组合对象只能是一个组合的一部分
- 组合只能是在两个相同概念的实例之间存在关系
- 图例
- 示例
下面通过两种方式表达组合关系,Financial application应用组件由三个其他应用组件组合而成,类似系统划分子系统
聚合(Aggregation)
一个对象由其他对象组合而成,其他对象存在多个实体
- 相对于组合关系,聚合对象可以是多个聚合的一部分
- 聚合只能是在两个相同概念的实例之间存在关系
- 图例
- 示例
下面通过两种方式表达聚合关系,Car insurance 产品聚合了一个契约(Policy)和两个业务服务
分配(Assignment)
角色、组件等行为元素的执行关系
可以分配业务角色给业务流程或功能、应用组件给应用功能、业务协作给业务交互、应用协作给应用交互。业务接口给业务服务、应用接口给应用服务、业务参与者给业务角色
- 图例
- 示例
下面通过两种方式表达分配关系,Payment function 应用功能部属在Financial application应用组件中,Payment service 应用服务通过Application interface接口进行访问
实现(Realization)
一个具体的实体实现逻辑实体的关系
- 实现关系表示逻辑实体(“what”,如服务)被具体实体(“how”,如功能)等实现
- 实现关系还可以表示数据对象实现业务对象,工件实现应用组件
更多内容参考:企业架构语言ArchiMate.pdf 企业架构框架-TOGAF.pdf
开源信息系统开发平台之OpenExpressApp框架 1.1 春节飞虎版发布
欢迎转载,转载请注明:转载自周金根 [ http://zhoujg.cnblogs.com/ ]
转载于:https://www.cnblogs.com/zhoujg/archive/2010/02/18/1668987.html
架构语言ArchiMate - 关系(Relationships)相关推荐
- 架构语言ArchiMate -业务层(Business Layer)
在线ArchiMate1.0中对ArchiMate进行了详细的介绍,想学习的一些同事不太喜欢看英文资料,而年后项目组要开始做业务架构了,所以在春节前最后一天把对业务层的介绍写完.以下我将会分别对不同层 ...
- 架构语言ArchiMate -应用层(Application Layer)
在架构语言ArchiMate - 语言结构(Language Structure)中对语言结构进行了介绍,最后列出下面的ArchiMate框架图:业务.应用和技术三个层次(Layer),对象.行为和主 ...
- 架构语言ArchiMate - ArchiMate提供的基本视角(Viewpoints)介绍一
本文更新版本已挪至 http://www.zhoujingen.cn/blog/4110.html ----------------------------- 在架构语言ArchiMate - 架构 ...
- ArchiMate - 发布【企业架构语言ArchiMate v0.5.pdf】
在<年度总结和计划:去年4个1,今年5个1>中说过今年我准备在项目组引入1个架构语言(ArchiMate),为了便于大家学习,我把一些内容集成一本电子书,目前发布0.5版本,后续还会不断更 ...
- 《编写高质量代码:改善Objective-C程序的61个建议》——建议8:C语言与Objective-C语言的关系是充分而非必要条件...
本节书摘来自华章出版社<编写高质量代码:改善Objective-C程序的61个建议>一 书中的第2章,作者:刘一道,更多章节内容可以访问云栖社区"华章计算机"公众号查看 ...
- 自学golang【第一章:go语言基础知识】为什么要学习go语言?go语言与c语言的关系?go语言创始人?go语言的特性有哪些?go语言适合做什么?国内外有哪些企业或项目使用go语言?
事先声明:本文部分内容参考了尹成的笔记,如果侵权请联系删除. 我是一名自学go语言的初学者,从今天开始我将会坚持更新go语言的相关知识,从入门到精通,如果大家有什么需要可以加我QQ:239479969 ...
- R语言相关关系可视化函数梳理(附代码)
来源:R语言中文社区 作者:赵镇宁 本文约3177字,建议阅读6分钟. 本文为你介绍R语言相关关系可视化的函数进行了初步梳理,大家可根据个人需求及函数功能择优选择. 当考察多个变量间的相关关系时,通常 ...
- MVC与三层架构之间的关系
一. MVC MVC是软件工程中的一种软件架构模式,分为Model(模型).View(视图).Controller(控制器) 1. Model model是应用对象,程序员编写程序应有的功能(实现算法 ...
- ABAP SY-LANGU语言代码转换关系(内外码转换)
1. SY-LANGU语言代码转换关系 语言代码在透明表T002:未转换的值才是正确的语言代码 SAP 语言&语言代码关系表 语言代码 语种规格 语言(ISO 639) 语言名称(英文) 语言 ...
最新文章
- redis特点单进程单线程高性能服务器,Redis为什么是单线程?Redis又为什么这么快!...
- 网络基础知识_你家的网络是这么布线的吗?家庭网络布线基础知识普及!
- destroy意思中文翻译_destroy是什么意思_ destroy的翻译_音标_读音_用法_例句_爱词霸在线词典...
- Spring AOP代理时 ClassCastException: $Proxy0 cannot be cast to (类型转换错误)
- 安徽省c语言程序设计省二题库,C语言程序设计题库二.pdf
- 老男孩五篇重要文章:http://oldboy.blog.51cto.com/2561410/1184139
- 【Golang】Go语言Windows GUI库XCGUI,DirectUI设计思想,高度自定义界面,支持Direct2D硬件加速
- ElasticSearch之别名_aliases
- Ajax实现异步请求步骤
- 数字经济|引领建筑业数字化信息化转型
- 在CentOS 7中安装Panoply
- 使用node上传到腾讯云对象存储cos---转载
- 免越狱中控你们知道多少呢?
- Java实现 LeetCode 330 按要求补齐数组
- Python的常用库
- 一个屌丝程序猿的人生(一百零六)
- 有限元分析的分析流程
- 孙鑫 java web_javaweb(code) 孙鑫老师的java web 开发详解的源代码 - 下载 - 搜珍网
- 堡垒机怎么安装mysql_JumpServer堡垒机安装
- 新加坡国立计算机视觉博士常,黄科杰的个人主页-Zhejiang University Personal homepage...
热门文章
- html代码整体移动,HTML5移动端最基本网页模板代码
- 项目前期管理的一种科学方法——可行性研究工作
- 59空格超简单数独题
- 2103 Family planning 不用大数
- 《机械制造业智能工厂规划设计》——2.2 智能工厂设计需求分析
- 整理了1000+数据分析资料!包含分析案例、指标体系、简历模板
- 已经删除的微信聊天记录怎么恢复?
- QT做类似QQ截图功能(带图片编辑功能)
- Oracle中关于to_date(),to_char(),to_number()函数的用法
- 云南大学信息学院c语言实验七,云南大学软件学院汇编语言实验报告七.docx