0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

嵌入式開發(fā)不用寫文檔?

strongerHuang ? 來(lái)源:strongerHuang ? 2023-04-18 09:36 ? 次閱讀

最近看到有交流群在討論:嵌入式開發(fā)到底要不要寫文檔的話題

這個(gè)話題要展開討論的話,可能要分很多種情況,公司規(guī)模、項(xiàng)目難度、管理制度。。。

分享正文之前,給大家推薦一些嵌入式相關(guān)的職位:

俗話說(shuō),不會(huì)寫文檔的工程師不是好的工程師!

如果你只會(huì)寫代碼,而從不寫文檔,你可能只適合中午寫代碼,因?yàn)樵缤頃?huì)“出事”。

不寫文檔有什么后果?

如果不寫文檔,開發(fā)過(guò)程中就會(huì)出現(xiàn)類似下面這些情況。

領(lǐng)導(dǎo):這個(gè)功能不好、再添加一個(gè)功能、把這個(gè)功能去掉等。

軟件:這個(gè)功能不能實(shí)現(xiàn)、代碼只能重構(gòu)、一個(gè)bug引發(fā)N個(gè)bug等。

硬件:添加功能只能重新畫板、沒(méi)有考慮要預(yù)留通信接口等。

通常,在小公司不寫設(shè)計(jì)文檔很正常,但是隱患很大。反復(fù)增刪功能、調(diào)整方案這都需要付出大量時(shí)間和精力。

只是一兩次小改動(dòng)都還好,如果多次、大改動(dòng)的話,就會(huì)出現(xiàn)互相甩鍋、同事不和的后果。

不要問(wèn)為什么,經(jīng)歷過(guò)的人都懂

嵌入式項(xiàng)目,需要哪些設(shè)計(jì)文檔?

我之前參與開發(fā)的項(xiàng)目,從需求、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、總結(jié)等這幾個(gè)階段下來(lái),設(shè)計(jì)文檔多的時(shí)候有上100個(gè)文檔。

當(dāng)然,這里面是包含不同崗位(軟件、硬件、機(jī)械、測(cè)試等)、不同模塊等細(xì)分的各種文檔。

對(duì)于不同的項(xiàng)目,可能設(shè)計(jì)文檔種類和數(shù)量不同,比如你一個(gè)簡(jiǎn)單的電子手表,可只需要一個(gè)需求文檔、一個(gè)方案設(shè)計(jì)文檔就可以了。

其實(shí),項(xiàng)目越復(fù)雜,設(shè)計(jì)文檔越多。比如京東的倉(cāng)儲(chǔ)物流這一套系統(tǒng),你能想想一下有多少個(gè)設(shè)計(jì)文檔嗎?光是需求階段的文檔肯定都有上百個(gè):需求、評(píng)估、審核等各種文檔。

當(dāng)然,對(duì)于我們普通的項(xiàng)目,需要的設(shè)計(jì)文檔可能幾個(gè) ~ 十幾個(gè)就可以了,

比如:需求文檔、評(píng)估文檔、總方案文檔、模塊方案文檔、通信協(xié)議文檔、測(cè)試用例文檔等。

每一種文檔沒(méi)有固定的格式,只需要結(jié)合你自己實(shí)際項(xiàng)目,把重點(diǎn)描述清楚,能指導(dǎo)開發(fā)人員,方便開發(fā)和設(shè)計(jì)即可。

舉例:xxx項(xiàng)目電源管理方案

下面分享一個(gè)簡(jiǎn)單方案設(shè)計(jì)文檔。

1.封面總體

就像一個(gè)本書的封面,把主要信息羅列出來(lái)。比如:

項(xiàng)目名稱、文檔版本、日期、作者、密級(jí)等。

比如:

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

2.文檔目錄

作為一個(gè)技術(shù)開發(fā)人員,如果你連word的目錄都不知道怎么生成,你應(yīng)該好好反思一下了。

目錄很簡(jiǎn)單,比如:

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

這里想說(shuō)下,目錄是自動(dòng)生成,而不是手動(dòng)編輯的目錄。

我就發(fā)現(xiàn)有人的目錄居然是手動(dòng)編輯的,不知道大家是不也這么“水”?

3.引言

這里引言也可以是“概述”,把整個(gè)方案的主要內(nèi)容進(jìn)行描述,比如這里簡(jiǎn)單列幾點(diǎn):

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

4.框架

框架就是首先給人第一眼就能了解你這個(gè)項(xiàng)目有些什么東西。

比如系統(tǒng)框架、軟、硬件框架等。這里需要用到一些設(shè)計(jì)框架的工具,比如:Visio.

比如:

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

5.硬件設(shè)計(jì)

羅列硬件相關(guān)的設(shè)計(jì)信息,比如硬件供電、狀態(tài)等。

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

6.軟件流程

牽涉到軟件,在方案中必不可少的一點(diǎn),就是軟件流程。

如果你軟件流程都不清楚,在開發(fā)過(guò)程中,肯定會(huì)反反復(fù)復(fù)修改代碼,甚至修改了數(shù)十版不能用。

軟件流程網(wǎng)上有很多例子可參看,比如按鍵檢測(cè)流程:

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

比如電壓、電流檢測(cè)流程:

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

7.系統(tǒng)狀態(tài)

每一個(gè)系統(tǒng)基本都由多個(gè)狀態(tài)(或者模式),比如工作狀態(tài)、空閑狀態(tài)、故障狀態(tài)等。

你要把系統(tǒng)可能遇到的狀態(tài)都列出來(lái),并描述清楚。比如:

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

8.通信協(xié)議、接口設(shè)計(jì)等其他

比如你的項(xiàng)目中會(huì)用到通信,需要把通信協(xié)議整理出來(lái)。

或者簡(jiǎn)單描述通信相關(guān)的內(nèi)容,比如硬件使用了UART、CAN,通信協(xié)議使用CANopen、Modbus等。然后具體協(xié)議指令單獨(dú)一個(gè)文檔。(見:協(xié)議文檔)。

最后,以上內(nèi)容僅供參考,不同項(xiàng)目的情況不同。根據(jù)項(xiàng)目情況把設(shè)計(jì)中需要考慮的重要信息整理出來(lái),并容易理解就可以了。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5092

    文章

    19177

    瀏覽量

    307663

原文標(biāo)題:嵌入式開發(fā)不用寫文檔?

文章出處:【微信號(hào):strongerHuang,微信公眾號(hào):strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    嵌入式系統(tǒng)是什么?嵌入式開發(fā)與傳統(tǒng)單片機(jī)開發(fā)不

    1、嵌入式系統(tǒng)是什么2、嵌入式系統(tǒng)的組成3、嵌入式開發(fā)與傳統(tǒng)單片機(jī)開發(fā)不同4、嵌入式應(yīng)用和就業(yè)方向5、學(xué)習(xí)路線1、
    發(fā)表于 02-23 06:02

    嵌入式開發(fā)圣經(jīng)

    嵌入式系統(tǒng)開發(fā)圣經(jīng):嵌入式開發(fā)圣經(jīng)
    發(fā)表于 03-25 13:08 ?88次下載

    基于ARM的嵌入式開發(fā)

    基于ARM的嵌入式開發(fā):華清遠(yuǎn)見/孫天澤基于ARM的嵌入式開發(fā)內(nèi)容有:ARM簡(jiǎn)介,基于ARM的嵌入式產(chǎn)品,ARM架構(gòu),基于ARM的嵌入式開發(fā)。
    發(fā)表于 10-04 08:49 ?83次下載

    嵌入式開發(fā)

    嵌入式開發(fā)就是指在嵌入式操作系統(tǒng)下進(jìn)行開發(fā)嵌入式Linux是以Linux為基礎(chǔ)的嵌入式作業(yè)系統(tǒng)。這里提供了
    發(fā)表于 12-20 13:21
    <b class='flag-5'>嵌入式開發(fā)</b>

    AG嵌入式開發(fā)板電路_51教程文檔

    描述:AG嵌入式開發(fā)板電路_51教程文檔
    發(fā)表于 12-21 10:00 ?19次下載

    嵌入式開發(fā)板4412平臺(tái)WiFi移植文檔

    嵌入式開發(fā)板4412平臺(tái)WiFi移植文檔
    發(fā)表于 03-04 15:55 ?26次下載

    很全面的嵌入式開發(fā)與學(xué)習(xí)的入門知識(shí)

    就更不用提及,在一個(gè)虛擬平臺(tái)上開發(fā)的優(yōu)點(diǎn)是不用關(guān)心具體的硬件細(xì)節(jié),但這不是一個(gè)嵌入式開發(fā)者的作風(fēng),換一種說(shuō)法,這種開發(fā)不能稱之為
    的頭像 發(fā)表于 02-08 16:55 ?1.7w次閱讀

    學(xué)嵌入式開發(fā)入門_學(xué)嵌入式開發(fā)需要看哪些書籍

    現(xiàn)在嵌入式開發(fā)越來(lái)越吃香,很多人都想要學(xué)習(xí)卻不知道要從何下手。本文分析了學(xué)習(xí)嵌入式軟件開發(fā)需要具備哪些基本知識(shí)和技能,開發(fā)學(xué)習(xí)的基本步驟,并給出了各種參考資料及網(wǎng)站,同時(shí)小編還推薦了學(xué)
    的頭像 發(fā)表于 04-04 10:25 ?2.7w次閱讀

    嵌入式開發(fā)好學(xué)嗎_嵌入式開發(fā)職業(yè)發(fā)展方向是什么

    本文首先來(lái)了解一下嵌入式前景及薪資待遇,其次解答了嵌入式開發(fā)好學(xué)不好學(xué)的問(wèn)題,最后闡述了嵌入式開發(fā)必會(huì)知識(shí)以及嵌入式開發(fā)職業(yè)的四大發(fā)展方向,具體的跟隨小編一起來(lái)了解一下。
    的頭像 發(fā)表于 05-18 16:41 ?9237次閱讀

    嵌入式開發(fā)的產(chǎn)品有哪些_嵌入式開發(fā)的流程

    本文主要闡述了嵌入式開發(fā)的產(chǎn)品,其次介紹了嵌入式開發(fā)的流程。
    發(fā)表于 08-31 15:38 ?1.1w次閱讀

    嵌入式開發(fā)(一):嵌入式開發(fā)新手入門

    本篇文章整理下嵌入式開發(fā)中一些入門的基礎(chǔ)技能,都是根據(jù)以往的工程經(jīng)驗(yàn)整理,適用于之前沒(méi)做過(guò)嵌入式開發(fā)的新手。嵌入式開發(fā)流程一般如下,一般是在PC機(jī)的Windows系統(tǒng)下安裝Ubuntu虛擬機(jī),搭建
    發(fā)表于 10-14 10:58 ?79次下載
    <b class='flag-5'>嵌入式開發(fā)</b>(一):<b class='flag-5'>嵌入式開發(fā)</b>新手入門

    嵌入式開發(fā)資料免費(fèi)分享

    嵌入式開發(fā)資料免費(fèi)分享嵌入式工程師經(jīng)驗(yàn)分享:如何學(xué)習(xí)嵌入式開發(fā)截取文檔部分學(xué)習(xí)嵌入式工程師經(jīng)驗(yàn)分享的資料分享給大家,
    發(fā)表于 10-21 11:07 ?47次下載
    <b class='flag-5'>嵌入式開發(fā)</b>資料免費(fèi)分享

    python做嵌入式開發(fā)_Python和嵌入式的區(qū)別是什么?可以做嵌入式開發(fā)嗎?

    從概念上來(lái)說(shuō),嵌入式和Python的區(qū)別還是比較明顯的,嵌入式是一個(gè)開發(fā)領(lǐng)域,而Python則是一門編程語(yǔ)言。下面就來(lái)和大家說(shuō)一說(shuō)嵌入式和Python這兩個(gè)之間的區(qū)別。
    發(fā)表于 11-02 20:21 ?14次下載
    python做<b class='flag-5'>嵌入式開發(fā)</b>_Python和<b class='flag-5'>嵌入式</b>的區(qū)別是什么?可以做<b class='flag-5'>嵌入式開發(fā)</b>嗎?

    嵌入式開發(fā)培訓(xùn)學(xué)什么?嵌入式開發(fā)板知識(shí)講解

    嵌入式開發(fā)就是指在嵌入式操作系統(tǒng)下進(jìn)行開發(fā),一般常用的系統(tǒng)有WinCE,ucos,vxworks,linux,android等。另外,用c,c++或匯編開發(fā);用高級(jí)處理器,arm7,a
    發(fā)表于 11-02 20:21 ?16次下載
    <b class='flag-5'>嵌入式開發(fā)</b>培訓(xùn)學(xué)什么?<b class='flag-5'>嵌入式開發(fā)</b>板知識(shí)講解

    嵌入式開發(fā) ---必看圖書

    迄今為止最好的嵌入式開發(fā)手冊(cè),必學(xué)精品,國(guó)人根據(jù)自己的開發(fā)經(jīng)驗(yàn)的,填補(bǔ)了嵌入式開發(fā),一直以來(lái)沒(méi)有詳細(xì)的開發(fā)流程的空白,新人入門不在變的困難
    發(fā)表于 11-03 13:06 ?12次下載
    <b class='flag-5'>嵌入式開發(fā)</b> ---必看圖書