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

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

需求分析阶段

用例图

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

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

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

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

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

数据流图

todo

系统架构设计阶段

系统框图

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

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

功能图

逻辑图

详细设计阶段-硬件设计

硬件框图

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

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

项目设计之硬件框图

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

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

原理图

sch,pcb

接线图

接线图细化具体连线

详细设计阶段-软件设计

架构图

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

分层设计

参考资料:
软件层次图

类图

流程图、状态图、时序图

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

测试验证

测试流程图

todo

可靠性设计

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

FEMA

FMEA,即Failure Mode and Effects

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

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

相关推荐
LuminousCPP32 分钟前
数据结构-二叉树(六):BFS层序遍历与完全二叉树判断|复用链式队列 + (N_0=N_2+1) 性质证明
c语言·数据结构·笔记·算法·二叉树·宽度优先
指针常量1 小时前
【RL系列文章】难样本学习等
学习·大语言模型·rl·后训练
wuyk5552 小时前
从零吃透Modbus通信|第7章:终极工程整合(模块化架构、双模式主机从机、RTOS适配、量产级模板)
c语言·stm32·学习·架构
一条破秋裤3 小时前
STM32 学习笔记:PWM 驱动 LED 呼吸灯与舵机代码
笔记·stm32·学习
kyrie_sakura4 小时前
python学习笔记11 -- 进程和线程
笔记·python·学习
自小吃多4 小时前
PCB Editor软件差分对添加与设置笔记
笔记·嵌入式硬件
高亦真5 小时前
今天是学习嵌入式的第34天
linux·学习·算法
2501_931819705 小时前
桂柳方言标注公司错误标注溯源追踪体系搭建诉求落地 桂柳方言标注公司学习信实翻译全链路追踪技术
学习·语音识别
Capricorn19886 小时前
防编造架构实战:对比 Gemini Notebook 解析知芽 Notebook Skill 的工程实现
人工智能·笔记·elasticsearch·架构·知识图谱·论文笔记
Asum1ta6 小时前
K8s 学习环境搭建:Python 与 PyCharm 开发环境配置指南
python·学习·kubernetes