天天看點

軟體開發文檔介紹

軟體開發文檔

是軟體開發使用和維護過程中的必備資料。它能提高軟體開發的效率,保證軟體的品質,而且在軟體的使用過程中有

指導

幫助

解惑

的作用,尤其在維護工作中,文檔是不可或缺的資料。

軟體開發文

檔可以分為

開發文檔

産品文檔

兩大類。

開發文檔

包括:《功能要求》、《投标方案》、《需求分析》、《技術分析》、《系統分析》、《資料庫文檔》、《功能函數文檔》、《界面文檔》、《編譯手冊》、《 QA 文檔》、《項目總結》等。

産品文檔

包括:《産品簡介》、《産品示範》、《疑問解答》、《功能介紹》、 《技術白皮書》、《評測報告》。使用者文檔《安裝手冊》、《使用手冊》、《維護手冊》、 《使用者報告》、《銷售教育訓練》等。

開發文檔

  • 《功能要求》

    -- 來源于客戶要求和市場調查,是軟體開發中最早期的一個環節。客戶提出一個模糊的功能概念,或者要求解決一個實際問題,或者參照同類軟體的一個功能。有軟體經驗的客戶還會提供比較詳細的技術規範書,把他們的要求全部清單書寫在文檔中,必要時加以圖表解說。這份文檔是需求分析的基礎。
  • 《投标方案》

    -- 根據使用者的功能要求,經過與招标方溝通和确認,技術人員開始書寫《投标方案》,方案書一般包括以下幾個重要的章節: 前言 -- 項目背景、公司背景和業務、技術人員結構、公司的成功案例介紹等。 需求分析 -- 項目要求、軟體結構、功能清單、功能描述、注意事項等。 技術方案 -- 總體要求和指導思想、技術解決方案、軟體開發平台、網絡結構體系等。 項目管理 -- 描述公司的軟體開發流程、工程實施服務、組織和人員分工、開發進度控制、軟體品質保證、項目驗收和人員教育訓練、軟體資料文檔等。 技術支援 -- 公司的技術支援和服務介紹、服務宗旨和目标、服務級别和響應時間、技術服務區域、技術服務期限、授權使用者聯系人等。 系統報價 -- 軟、硬體平台報價清單、軟體開發費用、系統維護費用等。 項目進度 -- 整個項目的進度計劃,包括簽署合同、項目啟動、需求分析、系統分析、程式開發、測試維護、系統內建、使用者驗收、使用者教育訓練等步驟的時間規劃。
  • 《需求分析》

    -- 包括産品概述、主要概念、操作流程、功能清單和解說、注意事項、系統環境等。以《功能要求》為基礎,進行詳細的功能分析 ( 包括客戶提出的要求和根據開發經驗建議的功能 ) ,列出本産品是什麼,有什麼特殊的概念,包括哪些功能分類,需要具備什麼功能,該功能的操作如何,實作的時候該注意什麼細節,客戶有什麼要求,系統運作環境的要求等。這裡的功能描述跟以後的使用手冊是一緻的。
  • 《技術分析》

    -- 包括技術選型、技術比較、開發人員、關鍵技術問題的解決、技術風險、技術更新方向、技術方案評價,競争對手技術分析等。以《需求分析》為基礎,進行詳細的技術分析 ( 産品的性能和實作方法 ) ,列出本項目需要使用什麼技術方案,為什麼,有哪些技術問題要解決 ,估計開發期間會碰到什麼困難,技術方案以後如何更新,對本項目的技術有什麼評價等。
  • 《系統分析》

    -- 包括功能實作、子產品組成、功能流程圖、函數接口、資料字典、軟體開發需要考慮的各種問題等。以《需求分析》為基礎,進行詳細的系統分析 ( 産品的開發和實作方法 ) ,估計開發期間需要把什麼問題說明白,程式員根據《系統分析》,開始在項目主管的帶領下進行編碼。
  • 《資料庫文檔》

    -- 包括資料庫名稱、表名、字段名、字段類型、字段說明、備注、字段數值計算公式等。以《系統分析》為基礎,進行詳細的資料庫設計。必要時可以用圖表解說,特别是關系資料庫。
  • 《功能函數文檔》

    -- 包括變量名、變量初植、功能,函數名,參數,如何調用、備注、注意事項等。以《系統分析》為基礎,進行詳細的說明,列出哪個功能涉及多少個函數,以便以後程式員修改、接手和擴充。
  • 《界面文檔》

    -- 包括軟體外觀、界面素材、編輯工具、檔案名、菜單、按鈕和其它界面部件的要求,這裡與軟體完成後的運作界面是一緻的。
  • 《編譯手冊》

    -- 包括伺服器編譯環境、作業系統、編譯工具、 GNU 的 C++ 編譯器版本資訊、目錄說明、程式生成、源程式檔案清單、 Makefile 配置及其相關程式的對應關系清單。用戶端的編譯過程、編譯結果、編譯示例、編譯環境、作業系統、編譯工具、源檔案清單和制作安裝程式的過程。
  • 《 QA 文檔》

    -- 包括産品簡介、産品原理、産品功能清單、功能描述、功能流程、執行結果、資料庫結構、測試要求等,提供給軟體測試人員使用。
  • 《項目總結》

    -- 包括項目簡介、項目參與人員和開發時間、項目風險管理過程、項目功能清單、項目結構特點、技術特點、對項目的更新建議、對以後的項目的建議、人員素質情況等。

産品文檔

  • 《産品簡介》

    -- 包括公司背景、産品概念、适用範圍、産品功能、功能特點、運作要求和公司聯系位址。
  • 《産品示範》

    -- 包括公司簡介、産品背景、産品描述、産品特點、産品作用、适用範圍、使用分析、功能子產品、解決問題、合作夥伴、成功案例等。一般用 Power point 或者 VCD 錄制軟體實作。
  • 《疑問解答》

    -- 列出使用者關心的問題和處理方法。用于解答軟體的操作功能和解決使用者的疑難問題。
  • 《功能介紹》

    -- 以《需求分析》為書寫基礎,包括軟體介紹、軟體結構、功能清單、功能描述和公司聯系位址。
  • 《技術白皮書》

    -- 以《技術分析》為書寫基礎,包括功能實作、技術選型、關鍵技術問題的解決、技術方案特點、技術更新方向等。
  • 《評測報告》

    -- 第三方權威評測報告。包括評測目的、評測範圍、評測環境、評測内容、實測資料、性能表現、結果分析和評測總結等。
  • 《安裝手冊》

    -- 包括系統環境、運作平台、産品安裝過程、初始環境設定、安裝記錄等。
  • 《使用手冊》

    -- 包括産品簡介、功能清單、功能描述和解釋、功能操作、客戶服務和聯系方式等。
  • 《維護手冊》

    -- 包括産品簡介、系統須知、初始環境設定、系統配置、資料管理和備份、技術問題解答和聯系方式等。
  • 《使用者報告》

    -- 包括産品簡介、購買時間、使用目的、使用時間、使用地點、實施過程、出現問題和解決、産品總結和建議等。
  • 《銷售教育訓練》

    -- 包括項目簡介、産品功能、産品特點、商業優勢、系統運作環境、适用範圍、目标客戶等。

軟體開發文檔

第一、需求分析文檔

  • 什麼是使用者需求分析文檔呢?也就是在和客戶進行溝通時,把使用者所要求的資訊記錄下來,根據使用者的要求進行需求分析,規劃出我們要開發的軟體所要實作哪些功能。

第二、概要設計文檔

  • 概要設計:顧名思義,就是對我們所要開發的軟體進行一個整體的概括,把這個軟體所包含的功能子產品作一個設計,以後我們在開發的時候就有目标,有方向了。

第三、系統設計文檔

  • 系統設計:就是對概要的一個詳細的實施,就是分析我們所要開發軟體各大功能子產品中所包含的小子產品,把這些小子產品都一一列舉出來,然後再對軟體開發人員進行有條理的進行開發任務的配置設定。

第四、詳細設計文檔

  • 詳細設計文檔:主要是把我們每個小子產品,小功能的業務邏輯處理用文字的方式表達出來,讓程式員在編碼的時候有一個依據和參照;同時,在進行詳細文檔設計的時候,有的軟體公司也會根據不同的項目作出相應的《軟體開發代碼規範》性文檔。以保障我們所做工作的統一性。

第五、軟體測試文檔

  • 當我們參照軟體詳細設計文檔編碼完成後,接着就會根據我們所實作的功能,進行軟體測試文檔的編寫;大多測試文檔有兩類,一類是軟體單體測試文檔,一類是軟體結合測試文檔;顧名思義,單體測試:就是對軟體中每個小的方法,一個獨立的方法進行測試的文檔;結合測試:就是把多個功能子產品組合到一起進行測試,主要是為了檢測每個功能子產品之前的互動性和功能的結合實作性。

第六、軟體完成後的總結彙報型文檔

  • 不管所開發軟體的規模大小,在一個軟體開發結束後,我們都會把開發過中的問題和項目開發總結一起記錄下來,以防以後在開發過程中再有類似問題出現,提高我們的開發效率。
根據軟體開發公司的規模、标準和客戶的需求不同,開發文檔的種類和數量也不同,我在這裡和大家讨論的軟體開發相關文檔都是最基礎的。在軟體行業有一句話:

一個軟體能否順利的完成并且功能是否完善,重要是看這個軟體有多少文檔

。軟體開發文檔是一個軟體的支柱,如果你的開發文檔漏洞百出,那麼你所開發出來的軟體也不可能會好;開發文檔的好壞可以直接影響到所開發出來軟體的成功與否。

我的GitHub位址:

https://github.com/heizemingjun

我的部落格園位址:

http://www.cnblogs.com/chenmingjun

我的螞蟻筆記部落格位址:

http://blog.leanote.com/chenmingjun

Copyright ©2018 黑澤明軍

【轉載文章務必保留出處和署名,謝謝!】