軟件開發文檔的分類
1. 《功能要求》 -- 來源於客戶要求和市場調查,是軟件開發中最早期的壹個環節。客戶提出壹個模糊的功能概念,或者要求解決壹個實際問題,或者參照同類軟件的壹個功能。有軟件經驗的客戶還會提供比較詳細的技術規範書,把他們的要求全部列表書寫在文檔中,必要時加以圖表解說。這份文檔是需求分析的基礎。
2. 《投標方案》 -- 根據用戶的功能要求,經過與招標方溝通和確認,技術人員開始書寫《投標方案》,方案書壹般包括以下幾個重要的章節: 前言 -- 項目背景、公司背景和業務、技術人員結構、公司的成功案例介紹等。 需求分析 -- 項目要求、軟件結構、功能列表、功能描述、註意事項等。 技術方案 -- 總體要求和指導思想、技術解決方案、軟件開發平臺、網絡結構體系等。 項目管理 -- 描述公司的軟件開發流程、工程實施服務、組織和人員分工、開發進度控制、軟件質量保證、項目驗收和人員培訓、軟件資料文檔等。 技術支持 -- 公司的技術支持和服務介紹、服務宗旨和目標、服務級別和響應時間、技術服務區域、技術服務期限、授權用戶聯系人等。 系統報價 -- 軟、硬件平臺報價列表、軟件開發費用、系統維護費用等。 項目進度 -- 整個項目的進度計劃,包括簽署合同、項目啟動、需求分析、系統分析、程序開發、測試維護、系統集成、用戶驗收、用戶培訓等步驟的時間規劃。
3. 《需求分析》 -- 包括產品概述、主要概念、操作流程、功能列表和解說、註意事項、系統環境等。以《功能要求》為基礎,進行詳細的功能分析 ( 包括客戶提出的要求和根據開發經驗建議的功能 ) ,列出本產品是什麽,有什麽特殊的概念,包括哪些功能分類,需要具備什麽功能,該功能的操作如何,實現的時候該註意什麽細節,客戶有什麽要求,系統運行環境的要求等。這裏的功能描述跟以後的使用手冊是壹致的。
4. 《技術分析》 -- 包括技術選型、技術比較、開發人員、關鍵技術問題的解決、技術風險、技術升級方向、技術方案評價,競爭對手技術分析等。以《需求分析》為基礎,進行詳細的技術分析 ( 產品的性能和實現方法 ) ,列出本項目需要使用什麽技術方案,為什麽,有哪些技術問題要解決 ,估計開發期間會碰到什麽困難,技術方案以後如何升級,對本項目的技術有什麽評價等。
5. 《系統分析》 -- 包括功能實現、模塊組成、功能流程圖、函數接口、數據字典、軟件開發需要考慮的各種問題等。以《需求分析》為基礎,進行詳細的系統分析 ( 產品的開發和實現方法 ) ,估計開發期間需要把什麽問題說明白,程序員根據《系統分析》,開始在項目主管的帶領下進行編碼。
6. 《數據庫文檔》 -- 包括數據庫名稱、表名、字段名、字段類型、字段說明、備註、字段數值計算公式等。以《系統分析》為基礎,進行詳細的數據庫設計。必要時可以用圖表解說,特別是關系數據庫。
7. 《功能函數文檔》 -- 包括變量名、變量初值、功能,函數名,參數,如何調用、備註、註意事項等。以《系統分析》為基礎,進行詳細的說明,列出哪個功能涉及多少個函數,以便以後程序員修改、接手和擴展。
8. 《界面文檔》 -- 包括軟件外觀、界面素材、編輯工具、文件名、菜單、按鈕和其它界面部件的要求,這裏與軟件完成後的運行界面是壹致的。
9. 《編譯手冊》 -- 包括服務器編譯環境、操作系統、編譯工具、 GNU 的 C++ 編譯器版本信息、目錄說明、程序生成、源程序文件列表、 Makefile 配置及其相關程序的對應關系列表。客戶端的編譯過程、編譯結果、編譯示例、編譯環境、操作系統、編譯工具、源文件列表和制作安裝程序的過程。
10. 《 QA 文檔》 -- 包括產品簡介、產品原理、產品功能列表、功能描述、功能流程、執行結果、數據庫結構、測試要求等,提供給軟件測試人員使用。
11. 《項目總結》 -- 包括項目簡介、項目參與人員和開發時間、項目風險管理過程、項目功能列表、項目結構特點、技術特點、對項目的升級建議、對以後的項目的建議、人員素質情況等。 1. 《產品簡介》 -- 包括公司背景、產品概念、適用範圍、產品功能、功能特點、運行要求和公司聯系地址。
2. 《產品演示》 -- 包括公司簡介、產品背景、產品描述、產品特點、產品作用、適用範圍、使用分析、功能模塊、解決問題、合作夥伴、成功案例等。壹般用 Power point 或者 VCD 錄制軟件實現。
3. 《疑問解答》 -- 列出用戶關心的問題和處理方法。用於解答軟件的操作功能和解決用戶的疑難問題。
4. 《功能介紹》 -- 以《需求分析》為書寫基礎,包括軟件介紹、軟件結構、功能列表、功能描述和公司聯系地址。
5. 《技術白皮書》 -- 以《技術分析》為書寫基礎,包括功能實現、技術選型、關鍵技術問題的解決、技術方案特點、技術升級方向等。
6. 《評測報告》 -- 第三方權威評測報告。包括評測目的、評測範圍、評測環境、評測內容、實測數據、性能表現、結果分析和評測總結等。
7. 《安裝手冊》 -- 包括系統環境、運行平臺、產品安裝過程、初始環境設置、安裝記錄等。
8. 《使用手冊》 -- 包括產品簡介、功能列表、功能描述和解釋、功能操作、客戶服務和聯系方式等。
9. 《維護手冊》 -- 包括產品簡介、系統須知、初始環境設置、系統配置、數據管理和備份、技術問題解答和聯系方式等。
10. 《用戶報告》 -- 包括產品簡介、購買時間、使用目的、使用時間、使用地點、實施過程、出現問題和解決、產品總結和建議等。
11. 《銷售培訓》 -- 包括項目簡介、產品功能、產品特點、商業優勢、系統運行環境、適用範圍、目標客戶等。 第壹、需求分析文檔
用戶需求分析文檔是指在和客戶進行溝通時,把用戶所要求的信息記錄下來,根據用戶的要求進行需求分析,規劃出我們要開發的軟件所要實現哪些功能。
第二、概要設計文檔
概要設計:顧名思義,就是對我們所要開發的軟件進行壹個整體的概括,把這個軟件所包含的功能模塊作壹個設計,以後我們在開發的時候就有目標,有方向了。
第三、系統設計文檔
系統設計,就是對概要的壹個詳細的實施,就是分析我們所要開發軟件各大功能模塊中所包含的小模塊,把這些小模塊都壹壹列舉出來,然後再對軟件開發人員進行有條理的進行開發任務的分配。
第四、詳細設計文檔
詳細設計文檔,主要是把我們每個小模塊,小功能的業務邏輯處理用文字的方式表達出來,讓程序員在編碼的時候有壹個依據和參照;同時,在進行詳細文檔設計的時候,有的軟件公司也會根據不同的項目作出相應的《軟件開發代碼規範》性文檔。以保障我們所做工作的統壹性。
第五、軟件測試文檔
當我們參照軟件詳細設計文檔編碼完成後,接著就會根據我們所實現的功能,進行軟件測試文檔的編寫;大多測試文檔有兩類,壹類是軟件單體測試文檔,壹類是軟件結合測試文檔;顧名思義,單體測試:就是對軟件中每個小的方法,壹個獨立的方法進行測試的文檔;結合測試:就是把多個功能模塊組合到壹起進行測試,主要是為了檢測每個功能模塊之前的交互性和功能的結合實現性。
第六、軟件完成後的總結匯報型文檔
不管所開發軟件的規模大小,在壹個軟件開發結束後,我們都會把開發過中的問題和項目開發總結壹起記錄下來,以防以後在開發過程中再有類似問題出現,提高我們的開發效率。
根據軟件開發公司的規模、標準和客戶的需求不同,開發文檔的種類和數量也不同,我在這裏和大家討論的軟件開發相關文檔都是最基礎的;在軟件行業有壹句話:壹個軟件能否順利的完成並且功能是否完善,重要是看這個軟件有多少文檔,軟件開發文檔是壹個軟件的支柱,如果妳的開發文檔漏洞百出,那麽妳所開發出來的軟件也不可能會好;開發文檔的好壞可以直接影響到所開發出來軟件的成功與否。