软件设计大致步骤

由于近期在做软件架构设计,这里总结下大致的设计流程

软件设计流程

1 首先要先写系统架构图,将该功能在整个系统的位置以及和大致的内部模块划分

2 然后写内部的结构图,讲内部的各个子系统,模块,组件之间的关系和调用顺序

3 然后列出对外的接口的详细描述,复杂的可以附件一些协作图。

4 接下来要讲具体的业务流程,这里主要用到协作图,或者数据流图,讲述该接口对应的传输过程

这里无需具体到流程图的程度

5 接下来如果子系统复杂的话,再讲内部的子系统的 架构图,结构图,。。循环以上 1,2,3的步骤

6 最后如果内部实现需要遵从一些设计原则,或设计模式,关键算法等,需要写下内部实现策略图或流程图以及关键算法对应的流程图的描述

针对业务特点,业务大小以及倾向点可以选择用什么样的图来作为主要阐述工具:

业务流转 --- 流程图(事务流程图,业务流程图)

数据流转 --- 数据流图

业务依赖关系 --- 系统架构图,软件结构图,业务结构图,协作图

生命周期 --- 时序图,状态图。

7 各个图的画法实例

协作图:

数据流图:

软件结构图,系统架构图,时序图,这些倒是到处都能找到,暂时不加实例

相关推荐
一笑的小酒馆7 小时前
Android中WebRTC通信
android
KevinWang_10 小时前
Android Hilt 依赖注入
android
古法安卓11 小时前
Android-深入理解 Android 回调(Callback)机制
android·性能优化·android studio
古法安卓11 小时前
Android-车机 GNSS 定位数据接收问题排查
android·java·android studio
FungLeo13 小时前
Flutter 吸顶分组列表实战:语义桶分组 + 点击头平滑滚动
android·flutter
阿巴斯甜13 小时前
Android 自定义权限
android
FungLeo14 小时前
Flutter 超长 StatefulWidget 拆分术:part of + extension on State 实战
android·flutter·dart
小王C语言15 小时前
MySQL 数据类型:数值类型、字符串类型、日期和时间类型、enum 和 set、find_in_set 查询
android·数据库·mysql
我命由我1234515 小时前
Android 控件 - CardView(快速实现圆角)
android·java·java-ee·kotlin·android studio·android-studio·android runtime
码云数智-园园15 小时前
Android 全方位性能优化合集
android·性能优化