【图解】系统设计学习笔记

嵌入式项目开发的全生命周期过程,是从需求到实施的抽象到具体的过程,需要很多设计,这些设计都可以用图形的形式来体现,具体

需求分析阶段

用例图

表达用户所能感知的系统功能需求,为什么用,以及怎么用

参考《uml+oopc嵌入式c语言开发》

简而言之,用例在系统的众多功能当中,属于直接提供用户服务的部分。例如麦当劳餐厅可视为一个系统,它具有许多功能,像"卖汉堡"、"采购蔬菜"、"炸薯条"、"卖咖啡"、"提供厕所"、"提供小孩游戏"、"烘焙咖啡",等等。其中有一小部分是用户能看得见、感觉得到又觉得有意义的服务,就是用例:而系统的其他功能就不称为用例,而只是一般的系统功能罢了。

于是,可区分出上述麦当劳系统功能当中,属于用例的为:"卖汉堡"、"卖咖啡"、"提供厕所"、"提供小孩游戏"等。

为什么要特别看待这些功能呢?因为这些是用户认为有价值的服务,也就是可以向用户收取费用的服务,属于"收益面"的功能。至于像"采购蔬菜"、"炸薯条"、"烘焙咖啡"等都是属于"成本面"的功能。UML用例图就是特别突显系统收益面的功能,期待在系统创建初期就能确保系统切中用户的期待和需要。义意长会的圆甲

数据流图

todo

系统架构设计阶段

系统框图

展示电气系统的整体架构,包括主要功能模块、模块间的交互关系及系统边界。

高层次抽象,不涉及具体硬件或软件实现细节。为其他图表提供顶层框架,通常与硬件/软件框图配合使用

功能图

逻辑图

详细设计阶段-硬件设计

硬件框图

硬件框图提供宏观布局,展示硬件模块的组成及其功能,是软件系统图的基础 。

比系统总体框图更具体,但仍不涉及硬件的详细设计(如电路图)。

项目设计之硬件框图

硬件框图是对项目功能模块直观的体现,

一个硬件项目包括:控制核心、输入设备、输出设备、通信外设、电源管理五大部分。通过对五大部分的整合形成一份完整的硬件框图。
控制核心一般包括:烧录模块、调试模块、复位模块、时钟模块、启动模块、输入设备接口、输出设备接口、电源输入模块、存储器扩展模块、主控核心。
输入设备一般包括:传感器输入、按键输入、音频输入、时钟输入等。
输出设备一般包括:LED灯、数码管、液晶显示器、电机等。
通信外设主要用于设备与设备之间进行数据交互的接口,一般包括:串口、USB、以外网等等。
电源管理是整个电路板的供电装置,电源系统的稳定对电路板的工作有很大影响。

原理图

sch,pcb

接线图

接线图细化具体连线

详细设计阶段-软件设计

架构图

一般描述软件业务逻辑的框图,是对业务模块与业务模块之间的约束关系的一种表示。

分层设计

参考资料:
软件层次图

类图

流程图、状态图、时序图

流程图是对过程、算法、流程的一种图像表示

测试验证

测试流程图

todo

可靠性设计

识别和预防系统、产品或过程中的潜在失效模式,评估其影响并制定改进措施,以降低风险和提高可靠性

FEMA

FMEA,即Failure Mode and Effects

Analysis,是在产品设计阶段和过程设计阶段,对构成产品、设备的子系统、零件,以及构成过程的各个工序逐一进行分析,找出所有潜在的失效模式,并分析其可能的后果,从而预先采取必要的措施,以提高产品或设备的质量和可靠性的一种系统化的活动。

在可靠性设计中,有一个从功能图->边界图->p图->FMEA的完整设另计流程。

相关推荐
二进制小甜豆3 小时前
网络原理 TCP/IP
java·学习
chennalC#c.h.JA Ptho4 小时前
在macOS上安装windows系统
经验分享·笔记·macos
后藤十八里5 小时前
Python格式化字符串的四种方法
开发语言·python·学习
10000hours5 小时前
【C语言编译】编译原理和详细过程
linux·c语言·笔记
贩卖黄昏的熊7 小时前
JavaScript 笔记 --- part8 --- JS进阶 (part3)
前端·javascript·笔记
球求了7 小时前
Linux 入门:操作系统&&进程详解
linux·运维·服务器·开发语言·学习
李匠20247 小时前
C++负载均衡远程调用学习之负载均衡算法与实现
运维·c++·学习·负载均衡
CodeCipher7 小时前
Java后端程序员学习前端之CSS
前端·css·学习
李匠20247 小时前
C++负载均衡远程调用学习之Agent代理模块基础构建
c++·学习
blackA_8 小时前
数据库MySQL学习——day8(复习与巩固基础知识)
数据库·学习·mysql