软件设计大致步骤

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

软件设计流程

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

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

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

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

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

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

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

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

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

数据流转 --- 数据流图

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

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

7 各个图的画法实例

协作图:

数据流图:

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

相关推荐
阳光明媚sunny8 小时前
Room持久化库中,@Transaction注解的正确使用场景是?
android·数据库
我是好小孩9 小时前
【Android】六大设计原则
android·java·运维·服务器·设计模式
铉铉这波能秀13 小时前
如何在Android Studio中使用Gemini进行AI Coding
android·java·人工智能·ai·kotlin·app·android studio
川石课堂软件测试15 小时前
什么是BUG,你对BUG的了解有多少?
android·linux·服务器·python·功能测试·bug·安全性测试
玩机达人8817 小时前
三星S25Ultra/S24安卓16系统Oneui8成功获取完美root权限+LSP框架
android·linux·里氏替换原则
居安思危_Ho18 小时前
RK平台Uniapp自启动缓存问题解决
android·缓存·uni-app·rk平台·uniapp资源文件
molong93118 小时前
Activity/Service/Broadcast/ContentProvider 生命周期交互
android·学习·交互
molong93121 小时前
Android 权限模型(前台、后台、特殊权限)
android
怪兽20141 天前
Looper、MessageQueue、Message及Handler的关系是什么?如何保证MessageQueue的并发访问安全?
android·面试