嵌入式方案设计文档该怎么写?
关注+星标公众号,不错过精彩内容
作者 | strongerHuang
微信公众号 | 嵌入式专栏
俗话说,不会写文档的工程师不是好的工程师!
如果你只会写代码,而从不写文档,迟早有一天会“出事”。这不是危言耸听,现实生活中有很多活生生的例子。
1不写文档有什么后果?
如果不写文档,开发过程中就会出现类似下面这些情况。
领导:这个功能不好、再添加一个功能、把这个功能去掉等。
软件:这个功能不能实现、代码只能重构、一个bug引发N个bug等。
硬件:添加功能只能重新画板、没有考虑要预留通信接口等。
通常,在小公司不写设计文档很正常,但是隐患很大。反复增删功能、调整方案这都需要付出大量时间和精力。
只是一两次小改动都还好,如果多次、大改动的话,就会出现互相甩锅、同事不和的后果。
不要问为什么,经历过的人都懂
2嵌入式项目,需要哪些设计文档?
我之前参与开发的项目,从需求、设计、实现、测试、总结等这几个阶段下来,设计文档多的时候有上100个文档。
当然,这里面是包含不同岗位(软件、硬件、机械、测试等)、不同模块等细分的各种文档。
对于不同的项目,可能设计文档种类和数量不同,比如你一个简单的电子手表,可只需要一个需求文档、一个方案设计文档就可以了。
其实,项目越复杂,设计文档越多。比如京东的仓储物流这一套系统,你能想想一下有多少个设计文档吗?光是需求阶段的文档肯定都有上百个:需求、评估、审核等各种文档。
当然,对于我们普通的项目,需要的设计文档可能几个 ~ 十几个就可以了,
比如:需求文档、评估文档、总方案文档、模块方案文档、通信协议文档、测试用例文档等。
每一种文档没有固定的格式,只需要结合你自己实际项目,把重点描述清楚,能指导开发人员,方便开发和设计即可。
3举例:xxx项目电源管理方案
下面分享一个简单方案设计文档。
1.封面总体
就像一个本书的封面,把主要信息罗列出来。比如:
项目名称、文档版本、日期、作者、密级等。
比如:
2.文档目录
作为一个技术开发人员,如果你连word的目录都不知道怎么生成,你应该好好反思一下了。
目录很简单,比如:
这里想说下,目录是自动生成,而不是手动编辑的目录。
我就发现有人的目录居然是手动编辑的,不知道大家是不也这么“水”?
3.引言
这里引言也可以是“概述”,把整个方案的主要内容进行描述,比如这里简单列几点:
4.框架
框架就是首先给人第一眼就能了解你这个项目有些什么东西。
比如系统框架、软、硬件框架等。这里需要用到一些设计框架的工具,比如:Visio.
比如:
5.硬件设计
罗列硬件相关的设计信息,比如硬件供电、状态等。
6.软件流程
牵涉到软件,在方案中必不可少的一点,就是软件流程。
如果你软件流程都不清楚,在开发过程中,肯定会反反复复修改代码,甚至修改了数十版不能用。
软件流程网上有很多例子可参看,比如按键检测流程:
比如电压、电流检测流程:
7.系统状态
每一个系统基本都由多个状态(或者模式),比如工作状态、空闲状态、故障状态等。
你要把系统可能遇到的状态都列出来,并描述清楚。比如:
8.通信协议、接口设计等其他
比如你的项目中会用到通信,需要把通信协议整理出来。
或者简单描述通信相关的内容,比如硬件使用了UART、CAN,通信协议使用CANopen、Modbus等。然后具体协议指令单独一个文档。(见:协议文档)。
最后,以上内容仅供参考,不同项目的情况不同。根据项目情况把设计中需要考虑的重要信息整理出来,并容易理解就可以了。
------------ END ------------
后台回复『嵌入式软件设计与开发』相关文章。
欢迎关注我的公众号,回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。
欢迎关注我的视频号:
点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。
嵌入式方案设计文档该怎么写?相关推荐
- 项目规划和方案设计文档的编写
引言 在工作中,很多时候,我们都需要就一个问题提出一个解决方案,这时候,我们很可能需要产出一个文档来供大家讨论,并指导下一步工作计划.这个文档便是所谓的设计文档. 问题可大可小,形式上是否叫它为一个项 ...
- java开发文档怎么写_程序员该不该写技术文档,怎么写文档,易懂又能提升自己...
最近公司项目的调用量突然涨了一大波,很多系统都纷纷扛不住了,于是需要对系统进行优化,系统优化的第一步,便是梳理业务! 在这个过程中,经常出现了这样一些情况,发现数据库的某些字段,没有注释,也没有一定的 ...
- 作为一个产品经理,产品文档该怎样写
产品文档想必是每一个产品经理都必写的东西,那么,产品文档该怎样写呢?本文为刚入行产品经理的小伙伴总结了一些具体规范内容,请看如下分享. 文档必须是很规范化的,而且是可以持续下来的,就算人员变更,也不会 ...
- Word使用技巧:如何给文档添加手写签名?
工具:绘王GT-100签名屏 程序:WPS 2019.Word 2019 商务人士在外地出差时,公司仍会有许多文件.合同需要审批签字,想立即签署有没有解决办法?答案是肯定的.我们只需一个电子签名设备, ...
- 作为 Gopher, 你知道 Go 的注释即文档应该怎么写吗
这里填写标题 1. 作为 Gopher, 你知道 Go 的注释即文档应该怎么写吗? 1.1. 导语 1.2. 引言 1.3. 什么是 GoDoc 1.4. godoc 命令 1.5. pkgsite ...
- Java在线打开word文档实现手写批注
前言: 有些OA系统会有用户在线对word文档添加手写批注的需求,这样的需求看似不好实现,其实是可以实现的. 但是这需要开发者具备将activex控件集成到Java环境的能力.对于大部分Java开发工 ...
- 先写API文档还是先写代码?你需要这款神器Apifox!
代码未动,文档先行 其实大家都知道 API 文档先行的重要性,但是在实践过程中往往会遇到很多困难. 程序员最讨厌的两件事:1. 写文档,2. 别人不写文档.大多数开发人员不愿意写 API 文档的原因是 ...
- 离职交接文档_如何写好离职工作交接文档?
交接文档的重要性 一个业务员与客户建立起了私下的信赖关系,可是当他因工作调动而离开原岗位,由另一个人接替的时候,原来的关系很可能就会一下子断裂. 百货商店也一样,如果柜台的营业员换人了,有些顾客就不会 ...
- 需求文档(PRD文档)应该怎么写?
产品设计是一个由抽象的概念到具体形象化的处理过程,通过文字或图像等方式将我们规划的产品需求展现出来.它将产品的某种目的或需求转换为一个具体的物理或工具的过程,把一种计划.规划设想.问题解决的方法,通过 ...
最新文章
- 今天JKS挂了,记录一下手动发云机上流程
- 水果电池打造柠檬电动汽车!
- [转] vim 正则表达式 很强大
- cup过高是什么意思_做青和焙火有什么关系?
- FTP多用户权限 linux环境 一站式解决方案(基础篇)
- [转]如何处理机器学习中的不平衡类别
- 从声学模型算法角度总结 2016 年语音识别的重大进步
- Mastering The Mix Total Bundle 2021 Mac - 混音插件合集
- OpenSolaris系列文章之----投影仪设置
- Android 运行时权限
- vue中遇到使用iframe出现的页面崩溃问题
- java流浪救助站公益志愿者管理系统
- 计算机行业职业名称英语,行业英语学习
- vue 修改地址栏参数
- 用python解矩阵方程_用Python的Numpy求解线性方程组
- 圣天诺LDK能做什么?
- 《zw版·delphi与halcon系列原创教程》zw版_THImagex控件函数列表
- 超级计算机多层网络,超级计算机的多层架构抽象及描述
- 2019年大数据发展趋势预测,该学什么编程语言?
- SimpleMind Pro for Mac(思维导图)中文完整版
热门文章
- NXP智能互联技术方案研讨会深圳站,明远智睿期待与你相遇!
- stm32点亮led灯。
- csgo 单人训练房
- html中背景条纹效果,CSS3 页面滚动交叉斜条纹背景效果
- 反编译C语言程序学习笔记
- 【易康教程】遥感自动解译精度评价-Kappa系数计算等
- 《Temporal Pyramid Network for Action Recognition》算法详解
- CSS盒子模型与页面布局
- python 拆分word,拆分python中的句子
- python输出0到50间的偶数_python奇数偶数行输出_python对输出的奇数偶数排序实例代码...