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

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

    关注

    5075

    文章

    19041

    浏览量

    303722
  • 通信
    +关注

    关注

    18

    文章

    5982

    浏览量

    135889

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

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

收藏 人收藏

    评论

    相关推荐

    【毕设项目参考】嵌入式Linux 10+项目推荐,附项目文档/源码/视频

    又是一年毕设季,针对即将开始毕业设计的大学生,我们汇总了10+嵌入式linux项目,供同学们参考。这些项目覆盖了多个领域,希望可以为同学们提供丰富的灵感来源。我们鼓励同学们根据自己的兴趣和专业方向
    的头像 发表于 11-19 15:21 361次阅读
    【毕设<b class='flag-5'>项目</b>参考】<b class='flag-5'>嵌入式</b>Linux 10+<b class='flag-5'>项目</b>推荐,附<b class='flag-5'>项目</b><b class='flag-5'>文档</b>/源码/视频

    有什么比较热门的嵌入式项目

    大佬们想问一下可以做什么样的嵌入式项目好找工作?工作1到2年左右
    发表于 11-08 09:57

    嵌入式学习建议

    很多弯路,也会使你对嵌入式系统感到畏惧。等你软件硬件基础打好了,再学习就感到容易理解。实际上,许多嵌入式应用并不需要操作系统。也可以根据实际项目需要
    发表于 10-22 11:41

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被称为嵌入式系统的核心组件,是一种用于控制和数据处理的计算机硬件,其设计旨在嵌入特定设备中执行专门任务。嵌入式主板如同是设备的“大脑”,主要功能是根据
    的头像 发表于 09-30 10:05 397次阅读

    飞凌嵌入式「在线文档」功能上线 | 开放灵活,尽在掌握

    在忙碌的研发过程中,效率十分关键,飞凌嵌入式深知“便捷获取最新资料”的重要性,为此全新上线【在线文档】功能——进入飞凌嵌入式官网,产品资料全面升级为在线文档形式,旨在为客户带来更加开放
    的头像 发表于 09-13 09:46 305次阅读
    飞凌<b class='flag-5'>嵌入式</b>「在线<b class='flag-5'>文档</b>」功能上线 | 开放灵活,尽在掌握

    嵌入式linux开发的基本步骤有哪些?

    之前,首先需要选择合适的硬件平台。硬件选择需要考虑以下几个方面: 1.1 处理器 嵌入式Linux开发需要一个处理器,常见的处理器有ARM、MIPS、PowerPC等。选择处理器时,
    的头像 发表于 09-02 09:11 417次阅读

    适合初学者的嵌入式项目有哪些?

    适合初学者的嵌入式项目有哪些? 嵌入式学习是一个实践性很强的领域,通过实际项目可以帮助你巩固理论知识并提升技能。以下是几个适合初学者练手的嵌入式
    发表于 07-11 10:23

    从事嵌入式方向,一定要软硬件通吃?

    嵌入式系统开发领域,软件和硬件的界限常常模糊不清。一个常见的问题是,嵌入式软件工程师是否需要了解硬件。本文将探讨这一问题的重要性,并分析嵌入式软件工程师掌握硬件知识对
    的头像 发表于 06-05 08:10 1104次阅读
    从事<b class='flag-5'>嵌入式</b>方向,一定要软硬件通吃?

    如何成为一名嵌入式C语言高手?

    高手需要掌握C语言基础、了解嵌入式系统的硬件架构和工作原理,通过实践项目提升技能,并积极参与开源项目和技术社区。持续学习和自我提升是成为嵌入式
    发表于 04-07 16:03

    如何成为一名嵌入式C语言高手?

    高手需要掌握C语言基础、了解嵌入式系统的硬件架构和工作原理,通过实践项目提升技能,并积极参与开源项目和技术社区。持续学习和自我提升是成为嵌入式
    发表于 03-25 14:12

    嵌入式工程师需要掌握哪些技术?

    嵌入式工程师需要掌握哪些技术? 嵌入式系统是当今科技领域中的重要组成部分,它们存在于我们生活的方方面面,从智能手机到汽车控制系统,从家电到医疗设备。因此,对于那些想要进入嵌入式行业的
    发表于 03-04 16:38

    定制嵌入式主板,需要考虑的功能有哪些?

    随着科技的不断发展和进步,嵌入式系统在各行各业中得到了广泛的应用。嵌入式主板作为嵌入式系统的核心组件,起着至关重要的作用。在定制嵌入式主板时,需要
    的头像 发表于 02-29 17:38 499次阅读
    定制<b class='flag-5'>嵌入式</b>主板,<b class='flag-5'>需要</b>考虑的功能有哪些?

    嵌入式物联网开源项目分享

    很多初学者或者互联网转行从业者,在学习嵌入式技术的基本理论概念之后,可能会感觉到迷茫,感觉自己虽然学了不少,但却不知道怎么用到项目上。
    的头像 发表于 01-24 10:36 1464次阅读
    <b class='flag-5'>嵌入式</b>物联网开源<b class='flag-5'>项目</b>分享

    开发嵌入式产品需要注意哪些问题

    俗话说,只会写代码的工程师不是好的工程师,这句话不是没有道理的,初学者可能不理解,但过来的老司机肯定知道。 一款产品如果需要长期维护、销售,肯定避免不少开发文档。这里给大家讲述一下开发嵌入式产品常见的
    的头像 发表于 01-17 10:37 360次阅读

    什么是嵌入式系统?嵌入式系统的具体应用

    嵌入式,一般是指嵌入式系统。用于控制、监视或者辅助操作机器和设备的装置。
    的头像 发表于 12-20 13:33 2431次阅读