如今,軟體開發越來越複雜,軟體功能也越來越豐富。而幾乎所有成熟的商業軟體,都是靠一個Team Dev齊心協力的血汗結晶。“羅馬不是一天建成的!”,當我們震撼於Microsoft Windows的驚世巨著的同時,也道聽途說了微軟公司軟體工程是如何的完善規範。的確,集數百名員工幾年的共同努力之大成,軟體專案管理的成敗是控制開發成本的關鍵環節。這裡面,少不了貫穿其中的重要步驟----軟體文檔。
軟體文檔可以分為開發文檔和產品文檔兩大類。
開發文檔包括:《功能要求》、《投標方案》、《需求分析》、《技術分析》、《系統分析》、《資料庫文檔》、《功能函數文檔》、《介面文檔》、《編譯手冊》、《QA文檔》、《項目總結》等。
產品文檔包括:《產品簡介》、《產品示範》、《疑問解答》、《功能介紹》、 《技術白皮書》、《評測報告》、《安裝手冊》、《使用手冊》、《維護手冊》、 《使用者報告》、《銷售培訓》等。
一、開發文檔
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.《銷售培訓》--包括項目簡介、產品功能、產品特點、商業優勢、系統運行環境、適用範圍、勘探等。
作者Blog:http://blog.csdn.net/123hui/