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

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

3天内不再提示

嵌入式开发不用写文档?

strongerHuang 来源:strongerHuang 2023-04-18 09:36 次阅读

最近看到有交流群在讨论:嵌入式开发到底要不要写文档的话题

这个话题要展开讨论的话,可能要分很多种情况,公司规模、项目难度、管理制度。。。

分享正文之前,给大家推荐一些嵌入式相关的职位:

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

如果你只会写代码,而从不写文档,你可能只适合中午写代码,因为早晚会“出事”。

不写文档有什么后果?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1.封面总体

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

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

比如:

946c4bd4-dd85-11ed-bfe3-dac502259ad0.png

2.文档目录

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

目录很简单,比如:

948126c6-dd85-11ed-bfe3-dac502259ad0.png

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

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

3.引言

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

949790dc-dd85-11ed-bfe3-dac502259ad0.png

4.框架

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

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

比如:

94a9defe-dd85-11ed-bfe3-dac502259ad0.png

5.硬件设计

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

94c3182e-dd85-11ed-bfe3-dac502259ad0.png

6.软件流程

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

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

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

94d7dda4-dd85-11ed-bfe3-dac502259ad0.png

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

94ee50a2-dd85-11ed-bfe3-dac502259ad0.png

7.系统状态

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

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

95068f28-dd85-11ed-bfe3-dac502259ad0.png

8.通信协议、接口设计等其他

比如你的项目中会用到通信,需要把通信协议整理出来。

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

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

审核编辑 :李倩

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

    关注

    5083

    文章

    19133

    浏览量

    305637

原文标题:嵌入式开发不用写文档?

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

收藏 人收藏

    评论

    相关推荐

    嵌入式系统是什么?嵌入式开发与传统单片机开发不

    1、嵌入式系统是什么2、嵌入式系统的组成3、嵌入式开发与传统单片机开发不同4、嵌入式应用和就业方向5、学习路线1、
    发表于 02-23 06:02

    嵌入式开发圣经

    嵌入式系统开发圣经:嵌入式开发圣经
    发表于 03-25 13:08 88次下载

    基于ARM的嵌入式开发

    基于ARM的嵌入式开发:华清远见/孙天泽基于ARM的嵌入式开发内容有:ARM简介,基于ARM的嵌入式产品,ARM架构,基于ARM的嵌入式开发
    发表于 10-04 08:49 83次下载

    嵌入式开发

    嵌入式开发就是指在嵌入式操作系统下进行开发嵌入式Linux是以Linux为基础的嵌入式作业系统。这里提供了
    发表于 12-20 13:21
    <b class='flag-5'>嵌入式开发</b>

    AG嵌入式开发板电路_51教程文档

    描述:AG嵌入式开发板电路_51教程文档
    发表于 12-21 10:00 19次下载

    嵌入式开发板4412平台WiFi移植文档

    嵌入式开发板4412平台WiFi移植文档
    发表于 03-04 15:55 26次下载

    很全面的嵌入式开发与学习的入门知识

    就更不用提及,在一个虚拟平台上开发的优点是不用关心具体的硬件细节,但这不是一个嵌入式开发者的作风,换一种说法,这种开发不能称之为
    的头像 发表于 02-08 16:55 1.7w次阅读

    嵌入式开发入门_学嵌入式开发需要看哪些书籍

    现在嵌入式开发越来越吃香,很多人都想要学习却不知道要从何下手。本文分析了学习嵌入式软件开发需要具备哪些基本知识和技能,开发学习的基本步骤,并给出了各种参考资料及网站,同时小编还推荐了学
    的头像 发表于 04-04 10:25 2.5w次阅读

    嵌入式开发好学吗_嵌入式开发职业发展方向是什么

    本文首先来了解一下嵌入式前景及薪资待遇,其次解答了嵌入式开发好学不好学的问题,最后阐述了嵌入式开发必会知识以及嵌入式开发职业的四大发展方向,具体的跟随小编一起来了解一下。
    的头像 发表于 05-18 16:41 9189次阅读

    嵌入式开发的产品有哪些_嵌入式开发的流程

    本文主要阐述了嵌入式开发的产品,其次介绍了嵌入式开发的流程。
    发表于 08-31 15:38 1.1w次阅读

    嵌入式开发(一):嵌入式开发新手入门

    本篇文章整理下嵌入式开发中一些入门的基础技能,都是根据以往的工程经验整理,适用于之前没做过嵌入式开发的新手。嵌入式开发流程一般如下,一般是在PC机的Windows系统下安装Ubuntu虚拟机,搭建
    发表于 10-14 10:58 79次下载
    <b class='flag-5'>嵌入式开发</b>(一):<b class='flag-5'>嵌入式开发</b>新手入门

    嵌入式开发资料免费分享

    嵌入式开发资料免费分享嵌入式工程师经验分享:如何学习嵌入式开发截取文档部分学习嵌入式工程师经验分享的资料分享给大家,
    发表于 10-21 11:07 47次下载
    <b class='flag-5'>嵌入式开发</b>资料免费分享

    python做嵌入式开发_Python和嵌入式的区别是什么?可以做嵌入式开发吗?

    从概念上来说,嵌入式和Python的区别还是比较明显的,嵌入式是一个开发领域,而Python则是一门编程语言。下面就来和大家说一说嵌入式和Python这两个之间的区别。
    发表于 11-02 20:21 14次下载
    python做<b class='flag-5'>嵌入式开发</b>_Python和<b class='flag-5'>嵌入式</b>的区别是什么?可以做<b class='flag-5'>嵌入式开发</b>吗?

    嵌入式开发培训学什么?嵌入式开发板知识讲解

    嵌入式开发就是指在嵌入式操作系统下进行开发,一般常用的系统有WinCE,ucos,vxworks,linux,android等。另外,用c,c++或汇编开发;用高级处理器,arm7,a
    发表于 11-02 20:21 16次下载
    <b class='flag-5'>嵌入式开发</b>培训学什么?<b class='flag-5'>嵌入式开发</b>板知识讲解

    嵌入式开发 ---必看图书

    迄今为止最好的嵌入式开发手册,必学精品,国人根据自己的开发经验的,填补了嵌入式开发,一直以来没有详细的开发流程的空白,新人入门不在变的困难
    发表于 11-03 13:06 12次下载
    <b class='flag-5'>嵌入式开发</b> ---必看图书