系统架构设计(一):UML与软件架构

什么是系统架构设计?

系统架构设计是对系统高层结构和行为的描述,包括:

  • 系统的各个模块(组件)
  • 模块之间的交互方式
  • 数据流动、控制流动
  • 技术选型与部署策略

系统架构常见的风格有:

  • 分层架构(Layered Architecture)
  • 微服务架构(Microservice Architecture)
  • 客户端-服务器(Client-Server)
  • 事件驱动架构(EDA)
  • 面向服务架构(SOA)

UML在系统架构设计中的作用

UML 提供了一整套图形符号来帮助我们表达系统的不同层次结构。主要包括以下几种图:

UML图类型 用途
用例图(Use Case Diagram) 描述系统与用户之间的交互
类图(Class Diagram) 描述系统中的类、接口及其关系
组件图(Component Diagram) 描述系统中各个软件组件及其依赖
部署图(Deployment Diagram) 描述系统的物理部署结构,如服务器、网络节点等
时序图(Sequence Diagram) 描述对象之间按时间顺序的消息交换
活动图(Activity Diagram) 描述业务流程或算法流程
状态图(State Diagram) 描述对象在不同状态之间的变化

系统架构设计流程 + UML 图组合实践

需求分析阶段

  • 主要产出:用例图
  • 目标:了解系统角色、功能、边界

系统架构设计阶段

  • 产出:
    • 分层结构草图(可以使用类图或组件图)
    • 技术选型(框架、数据库、消息队列等)
    • 微服务划分图(组件图 + 部署图)

模块设计阶段

  • 产出:
    • 类图(定义类、继承、接口)
    • 时序图(描述接口或服务之间的调用流程)
    • 状态图(用于处理复杂状态机逻辑)

系统部署阶段

  • 产出:
    • 部署图(展示微服务部署在哪些服务器上、如何通信)

一个完整系统示例

假设我们设计一个视频监控系统,包含如下部分:

  • 前端 Web 页面
  • 后端服务(用户认证、录像管理、实时预览)
  • 媒体服务(RTSP 转 WebRTC)
  • 数据库与存储
  • SRS 流媒体服务器

我们可以这样用 UML 来描述架构:

用例图

  • 用户 -> 登录
  • 用户 -> 预览实时视频
  • 用户 -> 查询回放录像
  • 管理员 -> 设备管理

组件图

  • 用户服务
  • 视频管理服务
  • 媒体网关(转码、拉流)
  • 存储模块
  • SRS 服务(独立组件)

部署图

text 复制代码
[客户端浏览器]
      |
   [Nginx 反向代理]
      |
[后端 API 服务群] --连接--> [数据库]
          |
       调用
          |
     [媒体网关服务] --连接--> [SRS 服务]

时序图

  • 用户点击播放 -> API 服务 -> 媒体网关 -> SRS 拉流 -> 返回 WebRTC 地址 -> 前端播放

总结

设计层级 推荐 UML 图
系统级功能 用例图、组件图
逻辑结构 类图、时序图
流程控制 活动图、状态图
运维部署 部署图
相关推荐
黄俊懿12 小时前
【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第一节:DNS优化
网络·计算机网络·架构·系统架构·cdn·dns·架构设计
沛沛rh4517 小时前
用 Rust 实现用户态调试器:mini-debugger项目原理剖析与工程复盘
开发语言·c++·后端·架构·rust·系统架构
一几文1 天前
软考高级系统架构师25年下半年案例分析真题回顾带解析1,质量属性+质量属性场景+AES-256加密算法
架构·系统架构·软考高级·软考·aes·考证·质量属性
池佳齐2 天前
软考高级系统架构设计师备考(七):计算机系统基础—校验码
系统架构
池佳齐2 天前
软考高级系统架构设计师备考(十):操作系统—文件管理
系统架构
你这个想法好2 天前
Media Service 从系统架构到应用场景的深度解析
车载系统·系统架构
Jump 不二2 天前
AI 绘图 Skill|Markdown 一键出架构图、UML、数据可视化
人工智能·信息可视化·语言模型·uml
池佳齐2 天前
软考高级系统架构设计师备考(二):计算机系统基础—计算机体系结构详解
系统架构
weixin_408099672 天前
【系统架构级】电商自动化系统搭建:OCR + 自动上架完整解决方案(从0到1落地)
系统架构·自动化·文字识别·api接口·跨境电商·ocr识别·电商自动化
文言一心3 天前
海量警情知识库系统架构设计:基于LightRAG的混合检索方案
系统架构