IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 软件研发过程中的5种最常见的图 -> 正文阅读

[系统运维]软件研发过程中的5种最常见的图

一、背景

软件研发过程中,我们常有如下的困惑:

  1. 有时我们需要设计一个较大型的业务系统,或者做一个开源项目,我们该如何将这个系统的整体功能、逻辑细节一层层描述清楚呢?

  2. 我们接手了一个大型复杂的系统,该如何一点点从宏观到微观的去梳理整个功能流转的脉络呢?

通过简单绘制系统的架构图、各模块之间的接口交互和时序图等,我可以更加直观地理解整个系统的运作模式,所谓的磨刀不误砍柴工。

二、系统架构图

系统架构图往往用于软件研发的总体设计阶段,通过简单分层来展示不同层次的模块,再加上基础服务、公共服务和监控服务等,就构成了系统层面的一个宏观的轮廓。无论是常见的MVC架构、还是DDD架构在整体系统设计层面都是差不多的,一个完整清晰的系统架构图往往会有以下用途:

  • 阐明了系统的各种依赖,包括底层中间件、外部系统、监控系统等,帮助我们更好的建立整个系统的监控体系,了解系统性能瓶颈点等

  • 在业务层阐述了系统的主要功能模块,可以好且快对外介绍我们的系统

  • 阐述了系统的整体技术架构,是微服务化的,还是单体的;有没有网关层、基础组件层等

这里有两张抽象的系统架构供参考:

?

?

三、时序图

时序图一般用于软件研发的详细设计阶段,可以用来描述系统间微服务间、或者是功能模块间的交互过程,它展示了系统的总体调用链路,和数据流转的过程。基于时序图我们可以做以下事情:

  • 签署服务间的SLA,帮助我们推动微服务治理

  • 宏观上清晰的描述了功能实现的过程(业务流转、数据流转),协助我们在设计时思考,以防遗漏设计细节

?

四、程序流程图

详细设计阶段,在系统内部,我们需要清晰的描述业务实现的过程,包括顺序逻辑、条件判断、循环逻辑等。是我们在技术review阶段的重要工具,基本程序流程图设计好,代码中的可能异常和风险点也就分析的差不多了,基本就可以直接照着流程图进行编码了。对于一些比较注重系统稳定性的团队,在此阶段花费的时间,有时要比编码时间还长😂?

五、状态流转图

有时除了关系业务处理逻辑,还要关心对象状态的流转,这里截取了一个电商网站在下单时的订单状态流转的示例。

?

六、总结

本文列举了软件工程设计阶段最为常见的5种图,清晰的软件工程的图可以更加直观的表达出我们的设计意愿,建立起与其他项目参与者沟通的桥梁;还有助于让我们的设计思考更加严密;另外还有助于整体项目文档的建设,帮忙新人快速上手项目。 关于软件工程中常见的5中图就介绍到这里啦,我们下期见,Peace 😘

我是简凡,一个励志用最简单的语言,描述最复杂问题的新时代农民工。求点赞,求关注,如果你对此篇文章有什么疑惑,欢迎在我的微信公众号中留言,我还可以为你提供以下帮助:

  • 帮助建立自己的知识体系

  • 互联网真实高并发场景实战讲解

  • 不定期分享Golang、Java相关业内的经典场景实践

我的博客:BestBear

微信公众号:

?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-11-09 20:02:38  更:2021-11-09 20:04:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 23:38:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码