软件设计大致步骤

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

软件设计流程

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

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

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

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

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

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

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

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

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

数据流转 --- 数据流图

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

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

7 各个图的画法实例

协作图:

数据流图:

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

相关推荐
Lei活在当下17 小时前
【项目踩坑实录】并发环境下,Glide缓存引起的图片加载异常
android·debug·glide
my_power52020 小时前
检出git项目到android studio该如何配置
android·git·android studio
三少爷的鞋1 天前
Repository 方法设计:suspend 与 Flow 的决选择指南(以朋友圈为例)
android
阿里云云原生1 天前
Android App 崩溃排查指南:阿里云 RUM 如何让你快速从告警到定位根因?
android·java
cmdch20171 天前
手持机安卓新增推送按钮功能
android
攻城狮20151 天前
【rk3528/rk3518 android14 kernel-6.10 emcp sdk】
android
何妨呀~1 天前
mysql 8服务器实验
android·mysql·adb
QuantumLeap丶1 天前
《Flutter全栈开发实战指南:从零到高级》- 25 -性能优化
android·flutter·ios
木易 士心1 天前
MVC、MVP 与 MVVM:Android 架构演进之路
android·架构·mvc
百锦再1 天前
国产数据库的平替亮点——关系型数据库架构适配
android·java·前端·数据库·sql·算法·数据库架构