描述系统架构—部署图、组件图 - Go语言中文社区

描述系统架构—部署图、组件图


随着人们对计算机的认识加深,要求也越来越严格,希望计算机能够做的事情也越来越复杂,结构简单的单机版软件显然是不能满足用户的需求了。为了满足这些日益复杂的需求,软件的结构也变得越来越复杂。为了能够清楚的描述系统架构,让我们来了解一下部署图和组件图

部署图

部署图的主要目的是在物理的层次上做整体的系统规划,比如:系统需要几台服务器,每台服务器的配置如何,访问系统的方式等等,部署图的语法结构非常简单

  • 节点(Node),一般用一个立方体(这里写图片描述)来表示,立方体中的Server表示该节点的名称
  • 制品(Artifact),一般用(这里写图片描述)表示,代表一个可以独立运行的软件
  • 属性(Attribute),类似于类图的Attribute,依附于节点,添加了属性的节点如下图:
    这里写图片描述
  • 标记(Tags),标记节点的一些信息,如下图所示:
    这里写图片描述
  • 通信路径(Communication Path),通信路径连接的节点间需要通信,一般用一条直线(这里写图片描述)表示
  • 依赖(Dependency),一般用带箭头的虚线(这里写图片描述)表示,不带箭头一端的节点依赖于箭头端的节点

注意:节点通常表示一类物理设备的意思,例如:在某系统中,有一台DB服务器,一台webapp服务器和多台用于访问webapp的客户端,这里的多台客户端只需要画出一个节点,在节点的属性中表明数量即可
下面是一个实例:
这里写图片描述

组件图

组件有以下特点:

  • 能实现一定功能,或者提供一些服务
  • 不能单独运行,要作为系统的一部分来发挥作用
  • 是物理上的概念
  • 可以单独维护、可独立升级、可替换而不影响整个系统

组件的语法也非常简单

  • 组件(Component),一般用(这里写图片描述)来表示
  • 依赖(Dependency),一般用带箭头的虚线(这里写图片描述)表示,不带箭头的一端组件依赖于箭头一端的组件

组件图的基本语法就只有这么多

部署图结合组件图

下面用一个示例来展示一下部署图结合组件图使用的场景
这里写图片描述
图中有两个节点controller和compute,controller节点上运行了amqp、mongodb、keystone三个制品,另外还运行了ceilometer-collector、ceilometer-api两个组件,compute节点上运行了ceilometer-agent-compute组件。ceilometer-agent-compute需要将数据发送到消息队列上,ceilometer-collector需要从消息队列中获取数据,并持久存储到mongodb中,以供ceilometer-api查询和管理,ceilometer依赖于keystone的认证功能

如何画组合图

2018年3月25日补充
画图软件信息:

项目 属性
软件名称 StarUML(官网地址)
版本号 Version 2.8.1

部署图、组件图组合画法:
这里写图片描述

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/cug_heshun/article/details/51441111
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-08-26 23:06:20
  • 阅读 ( 3313 )
  • 分类:架构

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢