系统设计心得

初做系统设计,积累一些心得,大家一起讨论。

1、 关于需求:

初做系统设计,容易先入为主,收集需求的时候就考虑人力,技术等原因,在很前面的就把某些功能砍掉。

如果这样分析问题,整个系统就没有全貌,容易出现需求遗漏,设计不清楚,整个系统不完全,后续无法扩展。



A、 收集需求时,应该梳理系统全景图,业务场景,输入,输出,流程描述等。

B、 尽量用客户的语言,而不是抽象后的设计语言。用客户化的语言方便和客户做需求澄清,同时避免过早提炼设计导致需求变形。

C、 做需求排序。

D、 需求收集清楚后,映射到具体的系统架构/功能组件上,评估工作量。

E、 工作量评估出来之后,根据工作量和需求排序裁剪功能和需求。



2、 关于系统架构:

A、 需求澄清之后,抽象成系统架构,常用UML,0/1层架构图等工具。

B、 根据需求列出功能全景。

C、 列出关键技术点。

D、 做竞争分析,业界是否有开源项目分析。

E、 对业务在做系统架构时,对功能和技术要做足够的抽象,抽象层次不充分,后续考虑系统的扩展性会极大受限。



3、 技术选择:

选择合适的技术,这块需要经验积累。有经验积累才了解每种技术的优劣以及和业务的适合度。而同时因为设计师本身对某项技术有积累,而倾向于选择熟悉的技术。

这块建议重点参考业界经验。每项技术有优势,也必然有坑。



A、 编程语言方面:

对系统性能要求高,优先考虑C/C++。

企业级应用,优先考虑JAVA。

要求快速开发,可以考虑PYTHON。

B、 组件/框架:

各种开源框架很多Spring,OSGi,MVC,ESB等。

要充分考虑系统的扩展性,选用成熟的组件框架。这块对于JAVA程序员来说,比较容易理解,C/C++程序员需要转变思路。



C、 系统

选择比较少,一般就是windows/linux,而且往往根据系统的应用很早就确定了。如果要支持多系统,就要考虑代码移值性,越是高级预言,一般来说,移值性越好。



4、 编码:

业界这方面很多思想,如

A、 面向接口编程

B、 组件化/模块化

C、 设计模式

D、 开放封边原则

归根结低,就是要足够抽象,足够开放,足够易扩展。

另外一个原则是在系统设计的时候就要充分考虑编码问题,以及代码框架,风格等。
### STM32温湿度检测系统设计实现心得与体会 #### 系统设计概述 在STM32温湿度检测系统的设计中,主要涉及硬件连接、软件编程以及数据处理等关键环节。通过使用DHT11温湿度传感器,结合STM32微控制器的GPIO接口和定时器功能,可以实现对环境温湿度的实时监测[^1]。 #### 硬件连接与初始化 硬件连接是整个系统的基础,确保DHT11传感器与STM32之间的正确连接至关重要。通常,DHT11的数据引脚需要连接到STM32的一个GPIO引脚上,并通过软件配置该引脚为输入输出模式。初始化过程中,需要设置正确的时钟源和GPIO模式,以保证通信时序的准确性[^1]。 ```c void DHT11_Init(void) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = DHT11_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(DHT11_PORT, &GPIO_InitStructure); } ``` #### 数据读取与解析 数据读取部分需要精确控制时序,确保能够准确捕获DHT11返回的40位数据。这些数据包括湿度整数部分、湿度小数部分、温度整数部分、温度小数部分以及校验和。解析后,可以通过串口或其他显示设备输出实际的温湿度值[^2]。 ```c uint8_t DHT11_ReadData(uint8_t *data) { // 实现DHT11数据读取逻辑 return 1; // 返回1表示成功,0表示失败 } ``` #### 系统优化与低功耗设计 为了延长电池供电设备的续航时间,可以采用STM32的低功耗模式。例如,在不需要频繁读取数据的情况下,可以让MCU进入停机模式或待机模式。需要注意的是,在退出低功耗模式时,可能需要重新配置时钟源以恢复正常的系统运行[^3]。 #### 数据验证与分析 通过长期运行测试,验证系统的稳定性和数据一致性。可以将采集到的温湿度数据与标准仪器进行对比,评估误差范围,确保测量结果的可靠性。 #### 心得体会 在设计STM32温湿度检测系统的过程中,不仅掌握了DHT11传感器的使用方法,还深入理解了嵌入式系统的开发流程。每一次调试和优化都带来了新的收获,尤其是在处理硬件时序和软件兼容性问题时,积累了宝贵的经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值