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

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

需求分析阶段

用例图

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

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

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

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

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

数据流图

todo

系统架构设计阶段

系统框图

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

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

功能图

逻辑图

详细设计阶段-硬件设计

硬件框图

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

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

项目设计之硬件框图

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

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

原理图

sch,pcb

接线图

接线图细化具体连线

详细设计阶段-软件设计

架构图

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

分层设计

参考资料:
软件层次图

类图

流程图、状态图、时序图

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

测试验证

测试流程图

todo

可靠性设计

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

FEMA

FMEA,即Failure Mode and Effects

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

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

相关推荐
珊瑚里的鱼22 分钟前
【双指针】专题:LeetCode 202题解——快乐数
开发语言·c++·笔记·算法·leetcode·职场和发展
The_cute_cat1 小时前
25.4.15学习总结
学习
宋隽颢1 小时前
GIT工具学习【4】:推送到远程仓库
git·学习
ᖰ・◡・ᖳ2 小时前
Web APIs阶段
开发语言·前端·javascript·学习
youka1502 小时前
大数据学习栈记——MongoDB编程
大数据·学习·mongodb
☞无能盖世♛逞何英雄☜3 小时前
Web三漏洞学习(其二:sql注入)
数据库·sql·学习
结冰架构3 小时前
【AI提示词】金融信息抽取工程师工作流程
人工智能·学习·ai·金融·提示词
AI服务老曹4 小时前
优化运营、降低成本、提高服务质量的智慧物流开源了
运维·人工智能·学习·开源·能源
美味的大香蕉4 小时前
Spark-SQL
笔记
踢足球的程序员·4 小时前
OpenGL学习笔记(立方体贴图、高级数据、高级GLSL)
笔记·学习·图形渲染