軟體開發過程中,除代碼之外,必不可少的文檔你認為有哪些?
12-27
也可用是某些方面的文檔內容。
以我幾次接手別人工作的經驗看,最有用的文檔是:
- 使用手冊。要了解軟體,首先要會用。好的使用手冊應該包含快速入門指南和詳細的參考。最好是開發人員寫得。
- 概念設計文檔。比較大的軟體往往有自己的核心概念模型。它是如何對現實工作進行抽象的?最重要的數據結構是什麼?還有整體模塊的劃分,系統的層次等架構性的東西。
- 代碼。有篇著名的文章Code as Design[1]指明了真正的詳細設計是包含在代碼中的。這裡的Design其實是個名詞,並不是說用寫代碼來做設計,而是說只有讀代碼才能看到真正的詳細設計。除了工作代碼,注釋和單元測試代碼對理解軟體也很重要。注釋最重要的是說明一些非常規的,不易理解的東西。單元測試對理解某個函數介面的用處特別有用。
最沒用的文檔是詳細設計文檔,基本上每個項目中的這種文檔都過時了,即是配合變更管理系統,查看起來依然很困難。
需要哪些文檔是一方面,另外每個文檔應該包含什麼內容也很重要,不過那是另一個問題了。
參考:[1] Code as Design http://www.developerdotstar.com/mag/articles/reeves_design_main.html
盡量使用成熟穩定的庫,必要的文檔用來保證團隊溝通順暢。最重要的是保證代碼質量,代碼是最好的文檔。
1、每個複雜問題的解決方法的邏輯說明,比如流程圖
2、資料庫結構說明,表和欄位的意義等
3、這個系統的架構,採用啥結構 框架等都需要一定的文檔介紹1.項目需求描述文件;2.資料庫結構說明;3.軟體架構描述與關鍵流程說明;4.系統操作手冊;5.軟體升級記錄;另外:軟體代碼本身的也要有合理的注釋。
需求文檔,關鍵模塊文檔以及有利於開發的輔助文檔
最重要還是代碼及代碼內的注釋,不然不管有什麼其他文檔都很難看懂所以代碼;需求文檔或者產品說明有助於了解設計的目的
1、需求設計文檔
2、頁面流(工作流)文檔
3、架構設計文檔
4、資料庫設計文檔
需求文檔、資料庫設計文檔、升級記錄。
之所以提出這個問題,是因為做軟體開發過程中,經常會遇到需要快速開發,那麼如何能儘可能少的維護一些代碼之外的東西,又能保證需求、架構之類的能夠很好的描述、記錄
對於小型的軟體而言,產品說明必不可少吧。
對於中大型的軟體項目,需求分析、軟體測試這些過程中所產生的文檔也是必須的。
推薦閱讀:
※軟體開發和測試工作似乎被分等級了,請教各位,在你們眼中,測試工作的地位如何?
※公司想把技術研發部的開發機都換成虛擬桌面連接到公司的伺服器上,這事靠譜嗎?
※中國IT行業的「好工程師」應該是什麼樣的?有哪些客觀標準可供自我評估?
※開發一個網站需要什麼會哪些技術?
※軟體版本號命名的依據有哪些?