软件设计大致步骤

embedded/2025/1/16 16:47:16/

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

软件设计流程
1 首先要先写系统架构图,将该功能在整个系统的位置以及和大致的内部模块划分
2 然后写内部的结构图,讲内部的各个子系统,模块,组件之间的关系和调用顺序

3 然后列出对外的接口的详细描述,复杂的可以附件一些协作图。
4 接下来要讲具体的业务流程,这里主要用到协作图,或者数据流图,讲述该接口对应的传输过程
  这里无需具体到流程图的程度
5 接下来如果子系统复杂的话,再讲内部的子系统的 架构图,结构图,。。循环以上 1,2,3的步骤
6 最后如果内部实现需要遵从一些设计原则,或设计模式,关键算法等,需要写下内部实现策略图或流程图以及关键算法对应的流程图的描述

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

业务流转 --- 流程图(事务流程图,业务流程图)
数据流转 --- 数据流图
业务依赖关系 --- 系统架构图,软件结构图,业务结构图,协作图
生命周期 --- 时序图,状态图。

7  各个图的画法实例

协作图:

数据流图:

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


http://www.ppmy.cn/embedded/154430.html

相关文章

SpringBoot之OriginTrackedPropertiesLoader类源码学习

源码解析 /*** 作用是从给定的资源(如文件或输入流)中加载 .properties 文件,* 并将属性键值对转换为带有来源信息(origin)的 OriginTrackedValue 对象。*/ public class OriginTrackedPropertiesLoader {private fin…

1,Linux环境变量基本定义(基于Ubuntu示例进行讲解)

linux环境变量的概念 Linux环境变量(准确说应该是shell变量),是直接存储在操作系统中的一组键值对(dict类型),用于配置系统和应用程序的操作行为。 【有经验的描述】:它们的工作原理很简单&am…

Shell作业二

1、编写一个Shell脚本用于判断192.168.242.0/24网络中当前在线的IP地址,并打印出这些IP地址。 脚本: #!/bin/bash# 网络前缀 NETWORK"192.168.242"echo "正在扫描网络 $NETWORK.0/24 中的活动主机..."# 遍历主机地址 for i in {1..…

JavaScript系列(26)--安全编程实践详解

JavaScript安全编程实践详解 🔒 今天,让我们深入探讨JavaScript的安全编程实践。在当今的网络环境中,安全性已经成为开发者必须重点关注的领域。 安全编程基础 🌟 💡 小知识:JavaScript安全编程涉及多个方…

[石榴翻译] 维吾尔语音识别 + TTS语音合成

API网址 丝路AI平台 获取 Access token 接口地址:https://open.xjguoyu.cn/api/auth/oauth/token,请求方式:GET,POST Access token是调用服务API的凭证,调用服务API之前需要获取 token。每次成功获取 token 以后只有…

解决 Git SSL 连接错误:OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno

问题描述 在执行 git pull 命令时遇到以下错误: > git pull --tags origin main fatal: unable to access github仓库: OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 0这个错误通常表示 Git 在尝试通过 HTTPS 连接到 GitHub 时遇到了 SSL 连接问题。 解决方案…

es,单个节点磁盘使用率高

背景: 磁盘使用率不均匀,一般是因为存在大分片,分片数和机器数不匹配引起的。 这次出现的问题排除了,分片问题。 一个节点使用到87%, 其它节点60% 左右, 原因: 是因为升级配置数据迁移的时候 迁…

干净卸载Windows的Node.js环境的方法

本文介绍在Windows电脑中,彻底删除Node.js环境的方法。 在之前的文章Windows系统下载、部署Node.js与npm环境的方法(https://blog.csdn.net/zhebushibiaoshifu/article/details/144810076)中,我们介绍过在Windows电脑中&#xff0…