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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

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

strongerHuang ? 來源:strongerHuang ? 2023-04-18 09:36 ? 次閱讀

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

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

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

俗話說,不會寫文檔的工程師不是好的工程師!

如果你只會寫代碼,而從不寫文檔,你可能只適合中午寫代碼,因為早晚會“出事”。

不寫文檔有什么后果?

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

領導:這個功能不好、再添加一個功能、把這個功能去掉等。

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

硬件:添加功能只能重新畫板、沒有考慮要預留通信接口等。

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

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

不要問為什么,經(jīng)歷過的人都懂

嵌入式項目,需要哪些設計文檔?

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

當然,這里面是包含不同崗位(軟件、硬件、機械、測試等)、不同模塊等細分的各種文檔。

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

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

當然,對于我們普通的項目,需要的設計文檔可能幾個 ~ 十幾個就可以了,

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

每一種文檔沒有固定的格式,只需要結(jié)合你自己實際項目,把重點描述清楚,能指導開發(fā)人員,方便開發(fā)和設計即可。

舉例:xxx項目電源管理方案

下面分享一個簡單方案設計文檔。

1.封面總體

就像一個本書的封面,把主要信息羅列出來。比如:

項目名稱、文檔版本、日期、作者、密級等。

比如:

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

2.文檔目錄

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

目錄很簡單,比如:

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

這里想說下,目錄是自動生成,而不是手動編輯的目錄。

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

3.引言

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

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

4.框架

框架就是首先給人第一眼就能了解你這個項目有些什么東西。

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

比如:

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

5.硬件設計

羅列硬件相關的設計信息,比如硬件供電、狀態(tài)等。

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

6.軟件流程

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

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

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

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

比如電壓、電流檢測流程:

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

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

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

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

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

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

比如你的項目中會用到通信,需要把通信協(xié)議整理出來。

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

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

審核編輯 :李倩

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

    關注

    5060

    文章

    18976

    瀏覽量

    302217

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

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

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

    1、嵌入式系統(tǒng)是什么2、嵌入式系統(tǒng)的組成3、嵌入式開發(fā)與傳統(tǒng)單片機開發(fā)不同4、嵌入式應用和就業(yè)方向5、學習路線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ā):華清遠見/孫天澤基于ARM的嵌入式開發(fā)內(nèi)容有:ARM簡介,基于ARM的嵌入式產(chǎn)品,ARM架構(gòu),基于ARM的嵌入式開發(fā)
    發(fā)表于 10-04 08:49 ?83次下載

    嵌入式開發(fā)

    嵌入式開發(fā)就是指在嵌入式操作系統(tǒng)下進行開發(fā),嵌入式Linux是以Linux為基礎的嵌入式作業(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平臺WiFi移植文檔

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

    很全面的嵌入式開發(fā)與學習的入門知識

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

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

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

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

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

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

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

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

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

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

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

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

    從概念上來說,嵌入式和Python的區(qū)別還是比較明顯的,嵌入式是一個開發(fā)領域,而Python則是一門編程語言。下面就來和大家說一說嵌入式和Python這兩個之間的區(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ā)培訓學什么?嵌入式開發(fā)板知識講解

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

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

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