0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

嵌入式项目需要哪些设计文档?

strongerHuang 来源:strongerHuang 作者:strongerHuang 2021-05-11 13:46 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

俗话说,不会写文档的工程师不是好的工程师!

如果你只会写代码,而从不写文档,迟早有一天会“出事”。这不是危言耸听,现实生活中有很多活生生的例子。

1不写文档有什么后果?

如果不写文档,开发过程中就会出现类似下面这些情况。

领导:这个功能不好、再添加一个功能、把这个功能去掉等。

软件:这个功能不能实现、代码只能重构、一个bug引发N个bug等。

硬件:添加功能只能重新画板、没有考虑要预留通信接口等。

通常,在小公司不写设计文档很正常,但是隐患很大。反复增删功能、调整方案这都需要付出大量时间和精力。

只是一两次小改动都还好,如果多次、大改动的话,就会出现互相甩锅、同事不和的后果。

不要问为什么,经历过的人都懂

2嵌入式项目,需要哪些设计文档?

我之前参与开发的项目,从需求、设计、实现、测试、总结等这几个阶段下来,设计文档多的时候有上100个文档。

当然,这里面是包含不同岗位(软件、硬件、机械、测试等)、不同模块等细分的各种文档。

对于不同的项目,可能设计文档种类和数量不同,比如你一个简单的电子手表,可只需要一个需求文档、一个方案设计文档就可以了。

其实,项目越复杂,设计文档越多。比如京东的仓储物流这一套系统,你能想想一下有多少个设计文档吗?光是需求阶段的文档肯定都有上百个:需求、评估、审核等各种文档。

当然,对于我们普通的项目,需要的设计文档可能几个 ~ 十几个就可以了,

比如:需求文档、评估文档、总方案文档、模块方案文档、通信协议文档、测试用例文档等。

每一种文档没有固定的格式,只需要结合你自己实际项目,把重点描述清楚,能指导开发人员,方便开发和设计即可。

3举例:xxx项目电源管理方案

下面分享一个简单方案设计文档。

1.封面总体

就像一个本书的封面,把主要信息罗列出来。比如:

项目名称、文档版本、日期、作者、密级等。

比如:

603831ac-b20d-11eb-bf61-12bb97331649.png

2.文档目录

作为一个技术开发人员,如果你连word的目录都不知道怎么生成,你应该好好反思一下了。

目录很简单,比如:

60425d12-b20d-11eb-bf61-12bb97331649.png

这里想说下,目录是自动生成,而不是手动编辑的目录。

我就发现有人的目录居然是手动编辑的,不知道大家是不也这么“水”?

3.引言

这里引言也可以是“概述”,把整个方案的主要内容进行描述,比如这里简单列几点:

60737726-b20d-11eb-bf61-12bb97331649.png

4.框架框架就是首先给人第一眼就能了解你这个项目有些什么东西。

比如系统框架、软、硬件框架等。这里需要用到一些设计框架的工具,比如:Visio.

比如:

60ae538c-b20d-11eb-bf61-12bb97331649.png

5.硬件设计罗列硬件相关的设计信息,比如硬件供电、状态等。

60c5fece-b20d-11eb-bf61-12bb97331649.png

6.软件流程牵涉到软件,在方案中必不可少的一点,就是软件流程。

如果你软件流程都不清楚,在开发过程中,肯定会反反复复修改代码,甚至修改了数十版不能用。

软件流程网上有很多例子可参看,比如按键检测流程:

610b6afe-b20d-11eb-bf61-12bb97331649.png

比如电压、电流检测流程:

611f1374-b20d-11eb-bf61-12bb97331649.png

7.系统状态每一个系统基本都由多个状态(或者模式),比如工作状态、空闲状态、故障状态等。

你要把系统可能遇到的状态都列出来,并描述清楚。比如:

61b4129e-b20d-11eb-bf61-12bb97331649.png

8.通信协议、接口设计等其他比如你的项目中会用到通信,需要把通信协议整理出来。

或者简单描述通信相关的内容,比如硬件使用了UARTCAN,通信协议使用CANopen、Modbus等。然后具体协议指令单独一个文档。(见:协议文档)。

最后,以上内容仅供参考,不同项目的情况不同。根据项目情况把设计中需要考虑的重要信息整理出来,并容易理解就可以了。

原文标题:嵌入式方案设计文档该怎么写?

文章出处:【微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5209

    文章

    20651

    浏览量

    336944
  • 通信
    +关注

    关注

    18

    文章

    6450

    浏览量

    140254

原文标题:嵌入式方案设计文档该怎么写?

文章出处:【微信号:strongerHuang,微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    嵌入式单片机开发学习路径

    路径,让你的学习过程更加轻松有趣。 1. 入门基础 1.1 了解嵌入式系统 在开始学习之前,首先需要了解什么是嵌入式系统以及它的基本构成和应用场景。可以阅读一些基础书籍和网上资源。 1.2
    发表于 02-09 15:42

    嵌入式驱动开发,需要掌握哪些技能?

    单元测试、集成测试、系统测试等,并学会使用调试工具进行问题排查。 6、 其他嵌入式驱动开发,实质也是软件开发,还需要掌握开发文档的编辑、软件版本管理、框架思维等需要软件开发具有的技
    发表于 01-20 16:46

    什么是嵌入式操作系统?

    用 FreeRTOS/UCOS?,核心差异在资源适配和实时性: 举个嵌入式开发中的实际例子: 用 STM32F4 做一个智能小车,需要同时做 3 件事:① 读取超声波传感器数据(避障)、② 接收蓝牙
    发表于 12-09 10:33

    开源 | 60余套STM32单片机、嵌入式Linux、物联网、人工智能项目(开发板+教程+源码)

    私信免费领取!60余套综合项目案例STM32单片机、嵌入式、物联网、人工智能智能车/机器狗/小智AI/家居/农业/安防等多领域项目文档+项目
    的头像 发表于 12-04 11:42 931次阅读
    开源 | 60余套STM32单片机、<b class='flag-5'>嵌入式</b>Linux、物联网、人工智能<b class='flag-5'>项目</b>(开发板+教程+源码)

    使用xmake+zig更优雅的进行嵌入式系统开发

    引言在嵌入式系统开发领域,构建工具的稳定性与可维护性对项目长期发展至关重要。嵌入式项目通常需要针对不同硬件平台进行交叉编译,每个平台都
    的头像 发表于 11-30 10:04 4928次阅读
    使用xmake+zig更优雅的进行<b class='flag-5'>嵌入式</b>系统开发

    嵌入式和FPGA的区别

    。 在当今智能化时代,嵌入式系统和FPGA技术都是电子系统设计中的重要组成部分,但许多工程师和技术爱好者常常对两者的区别和应用场景感到困惑。本文将深入解析嵌入式系统和FPGA的核心差异,帮助您在项目
    发表于 11-19 06:55

    嵌入式需要掌握哪些核心技能?

    嵌入式需要掌握哪些核心技能? 若想通过学习嵌入式技术提升就业竞争力,需重点掌握C语言、嵌入式硬件架构、RTOS/Linux开发、通信协议四大核心技能,并结合行业需求积累
    发表于 10-21 16:25

    还在用PDF文档查资料?飞凌嵌入式「产品在线文档」让您的开发效率狂飙

    ,已难以满足用户对效率、实效性及跨场景便捷性的需求。飞凌嵌入式通过构建云端协同的在线文档中心,重新定义了用户与开发资料的交互逻辑,为用户带来全方位的体验升级。 ▲ 点击上图,访问飞凌嵌入式在线
    发表于 09-26 08:57

    嵌入式达到什么水平才能就业?

    很多想入行嵌入式的朋友,都在纠结:自己得学到啥水平,才能找到工作?要是现在还没达到这种水平/刚想入行嵌入式,现在开始学还来得及嘛?别慌,今天就来好好聊聊~ 嵌入式就业,需要达到这些水
    发表于 09-15 10:20

    新一代嵌入式开发平台 AMD嵌入式软件和工具2025.1版现已推出

    抢先体验 SHEL 流程简化所有 AMD 嵌入式开发平台上的软件项目生成过程 Zephyr RTOS 兼容性已扩展至第二代 AMD Versal AI Edge 系列、Kria SOM
    的头像 发表于 08-20 09:15 4204次阅读

    盘点嵌入式就业所需要的技能有哪些?

    良好的沟通能力和团队合作精神,能够与不同领域的工程师协作。 综上所述,嵌入式行业的就业方向丰富多样,不同行业对嵌入式技术的需求也各有侧重。因此,嵌入式工程师需要根据不同的就业方向,学
    发表于 08-11 15:43

    Linux嵌入式和单片机嵌入式的区别?

    用于对实时性要求高、资源需求较低的场合,如家电控制、工业自动化、小型机器人等。 Linux嵌入式 :适用于需要复杂功能、高处理能力的应用,如智能手机、平板电脑、智能电视、汽车电子等。 2. 开发环境
    发表于 06-20 09:46

    嵌入式AI技术漫谈 如何组建一个AI项目开发小组

    解决具体的问题,每个问题出的场景各有不同,难有成例,都需要投入必要的人手执行开发工作。 嵌入式AI项目当中,几乎所有的开发任务都将围绕数据展开。数据来源的差异性决定了每个AI项目的开发
    的头像 发表于 06-11 16:34 1553次阅读

    【书籍评测活动NO.61】Yocto项目实战教程:高效定制嵌入式Linux系统

    《 Yocto项目实战教程:高效定制嵌入式Linux系统 》应运而生。这本书在官方文档的基础上,结合笔者多年的嵌入式开发经验,提炼核心理论框架,使其易读易懂。同时辅以大量实践案例,帮助
    发表于 05-21 10:00

    嵌入式适合自学吗?

    缺乏系统的规划,而学习到一些不相关或不重要的内容。 2)缺乏实践机会:嵌入式开发需要大量的实践,而自学的学习者可能缺乏实际的项目练习和实践机会。这会导致学习者在实际工作中缺乏经验,难以胜任嵌入
    发表于 04-27 09:54