如今,軟件開(kāi)發(fā)越來(lái)越復(fù)雜,軟件功能也越來(lái)越豐富。而幾乎所有成熟的商業(yè)軟件,都是靠一個(gè)開(kāi)發(fā)團(tuán)隊(duì)齊心協(xié)力的血汗結(jié)晶。“羅馬不是一天建成的!”,當(dāng)我們震撼于Microsoft Windows的驚世巨著的同時(shí),也道聽(tīng)途說(shuō)了微軟公司軟件工程是如何的完善規(guī)范。的確,集數(shù)百名員工幾年的共同努力之大成,軟件項(xiàng)目管理的成敗是控制開(kāi)發(fā)成本的關(guān)鍵環(huán)節(jié)。這里面,少不了貫穿其中的重要步驟----軟件文檔。
軟件文檔可以分為開(kāi)發(fā)文檔和產(chǎn)品文檔兩大類(lèi)。
開(kāi)發(fā)文檔包括:《功能要求》、《投標(biāo)方案》、《需求分析》、《技術(shù)分析》、《系統(tǒng)分析》、《數(shù)據(jù)庫(kù)文檔》、《功能函數(shù)文檔》、《界面文檔》、《編譯手冊(cè)》、《QA文檔》、《項(xiàng)目總結(jié)》等。
產(chǎn)品文檔包括:《產(chǎn)品簡(jiǎn)介》、《產(chǎn)品演示》、《疑問(wèn)解答》、《功能介紹》、 《技術(shù)白皮書(shū)》、《評(píng)測(cè)報(bào)告》、《安裝手冊(cè)》、《使用手冊(cè)》、《維護(hù)手冊(cè)》、 《用戶(hù)報(bào)告》、《銷(xiāo)售培訓(xùn)》等。
一、開(kāi)發(fā)文檔
1. 《功能要求》--來(lái)源于客戶(hù)要求和市場(chǎng)調(diào)查,是軟件開(kāi)發(fā)中早期的一個(gè)環(huán)節(jié)??蛻?hù)提出一個(gè)模糊的功能概念,或者要求解決一個(gè)實(shí)際問(wèn)題,或者參照同類(lèi)軟件的一個(gè)功能。有軟件經(jīng)驗(yàn)的客戶(hù)還會(huì)提供比較詳細(xì)的技術(shù)規(guī)范書(shū),把他們的要求全部列表書(shū)寫(xiě)在文檔中,必要時(shí)加以圖表解說(shuō)。這份文檔是需求分析的基礎(chǔ)。
2. 《投標(biāo)方案》--根據(jù)用戶(hù)的功能要求,經(jīng)過(guò)與招標(biāo)方溝通和確認(rèn),技術(shù)人員開(kāi)始書(shū)寫(xiě)《投標(biāo)方案》,方案書(shū)一般包括以下幾個(gè)重要的章節(jié):
前言--項(xiàng)目背景、公司背景和業(yè)務(wù)、技術(shù)人員結(jié)構(gòu)、公司的成功案例介紹等。
需求分析--項(xiàng)目要求、軟件結(jié)構(gòu)、功能列表、功能描述、注意事項(xiàng)等。
技術(shù)方案--總體要求和指導(dǎo)思想、技術(shù)解決方案、軟件開(kāi)發(fā)平臺(tái)、網(wǎng)絡(luò)結(jié)構(gòu)體系等。
項(xiàng)目管理--描述公司的軟件開(kāi)發(fā)流程、工程實(shí)施服務(wù)、組織和人員分工、開(kāi)發(fā)進(jìn)度控制、軟件質(zhì)量保證、項(xiàng)目驗(yàn)收和人員培訓(xùn)、軟件資料文檔等。
技術(shù)支持--公司的技術(shù)支持和服務(wù)介紹、服務(wù)宗旨和目標(biāo)、服務(wù)級(jí)別和響應(yīng)時(shí)間、技術(shù)服務(wù)區(qū)域、技術(shù)服務(wù)期限、授權(quán)用戶(hù)聯(lián)系人等。
系統(tǒng)報(bào)價(jià)--軟、硬件平臺(tái)報(bào)價(jià)列表、軟件開(kāi)發(fā)費(fèi)用、系統(tǒng)維護(hù)費(fèi)用等。
項(xiàng)目進(jìn)度--整個(gè)項(xiàng)目的進(jìn)度計(jì)劃,包括簽署合同、項(xiàng)目啟動(dòng)、需求分析、系統(tǒng)分析、程序開(kāi)發(fā)、測(cè)試維護(hù)、系統(tǒng)集成、用戶(hù)驗(yàn)收、用戶(hù)培訓(xùn)等步驟的時(shí)間規(guī)劃。
3. 《需求分析》--包括產(chǎn)品概述、主要概念、操作流程、功能列表和解說(shuō)、注意事項(xiàng)、系統(tǒng)環(huán)境等。以《功能要求》為基礎(chǔ),進(jìn)行詳細(xì)的功能分析(包括客戶(hù)提出的要求和根據(jù)開(kāi)發(fā)經(jīng)驗(yàn)建議的功能),列出本產(chǎn)品是什么,有什么特殊的概念,包括那些功能分類(lèi),需要具備什么功能,該功能的操作如何,實(shí)現(xiàn)的時(shí)候該注意什么細(xì)節(jié),客戶(hù)有什么要求,系統(tǒng)運(yùn)行環(huán)境的要求等。這里的功能描述跟以后的使用手冊(cè)是一致的。
4. 《技術(shù)分析》--包括技術(shù)選型、技術(shù)比較、開(kāi)發(fā)人員、關(guān)鍵技術(shù)問(wèn)題的解決、技術(shù)風(fēng)險(xiǎn)、技術(shù)升級(jí)方向、技術(shù)方案評(píng)價(jià),競(jìng)爭(zhēng)對(duì)手技術(shù)分析等。以《需求分析》為基礎(chǔ),進(jìn)行詳細(xì)的技術(shù)分析(產(chǎn)品的性能和實(shí)現(xiàn)方法),列出本項(xiàng)目需要使用什么技術(shù)方案,為什么,有哪些技術(shù)問(wèn)題要解決 ,估計(jì)開(kāi)發(fā)期間會(huì)碰到什么困難,技術(shù)方案以后如何升級(jí),對(duì)本項(xiàng)目的技術(shù)有什么評(píng)價(jià)等。
5. 《系統(tǒng)分析》--包括功能實(shí)現(xiàn)、模塊組成、功能流程圖、函數(shù)接口、數(shù)據(jù)字典、軟件開(kāi)發(fā)需要考慮的各種問(wèn)題等。以《需求分析》為基礎(chǔ),進(jìn)行詳細(xì)的系統(tǒng)分析(產(chǎn)品的開(kāi)發(fā)和實(shí)現(xiàn)方法),估計(jì)開(kāi)發(fā)期間需要把什么問(wèn)題說(shuō)明白,程序員根據(jù)《系統(tǒng)分析》,開(kāi)始在項(xiàng)目主管的帶領(lǐng)下進(jìn)行編碼。
6. 《數(shù)據(jù)庫(kù)文檔》--包括數(shù)據(jù)庫(kù)名稱(chēng)、表名、字段名、字段類(lèi)型、字段說(shuō)明、備注、字段數(shù)值計(jì)算公式等。以《系統(tǒng)分析》為基礎(chǔ),進(jìn)行詳細(xì)的數(shù)據(jù)庫(kù)設(shè)計(jì)。必要時(shí)可以用圖表解說(shuō),特別是關(guān)系數(shù)據(jù)庫(kù)。
7. 《功能函數(shù)文檔》--包括變量名、變量初植、功能,函數(shù)名,參數(shù),如何調(diào)用、備注、注意事項(xiàng)等。以《系統(tǒng)分析》為基礎(chǔ),進(jìn)行詳細(xì)的說(shuō)明,列出哪個(gè)功能涉及多少個(gè)函數(shù),以便以后程序員修改、接手和擴(kuò)展。
8. 《界面文檔》--包括軟件外觀、界面素材、編輯工具、文件名、菜單、按鈕和其它界面部件的要求,這里與軟件完成后的運(yùn)行界面是一致的。
9. 《編譯手冊(cè)》--包括服務(wù)器編譯環(huán)境、操作系統(tǒng)、編譯工具、GNU的C++編譯器版本信息、目錄說(shuō)明、程序生成、源程序文件列表、Makefile配置及其相關(guān)程序的對(duì)應(yīng)關(guān)系列表??蛻?hù)端的編譯過(guò)程、編譯結(jié)果、編譯示例、編譯環(huán)境、操作系統(tǒng)、編譯工具、源文件列表和制作安裝程序的過(guò)程。
10. 《QA文檔》--包括產(chǎn)品簡(jiǎn)介、產(chǎn)品原理、產(chǎn)品功能列表、功能描述、功能流程、執(zhí)行結(jié)果、數(shù)據(jù)庫(kù)結(jié)構(gòu)、測(cè)試要求等,提供給軟件測(cè)試人員使用。
11. 《項(xiàng)目總結(jié)》--包括項(xiàng)目簡(jiǎn)介、項(xiàng)目參與人員和開(kāi)發(fā)時(shí)間、項(xiàng)目風(fēng)險(xiǎn)管理過(guò)程、項(xiàng)目功能列表、項(xiàng)目結(jié)構(gòu)特點(diǎn)、技術(shù)特點(diǎn)、對(duì)項(xiàng)目的升級(jí)建議、對(duì)以后的項(xiàng)目的建議、人員素質(zhì)情況等。
二、產(chǎn)品文檔
1. 《產(chǎn)品簡(jiǎn)介》--包括公司背景、產(chǎn)品概念、適用范圍、產(chǎn)品功能、功能特點(diǎn)、運(yùn)行要求和公司聯(lián)系地址。
2. 《產(chǎn)品演示》--包括公司簡(jiǎn)介、產(chǎn)品背景、產(chǎn)品描述、產(chǎn)品特點(diǎn)、產(chǎn)品作用、適用范圍、使用分析、功能模塊、解決問(wèn)題、合作伙伴、成功案例等。一般用Powerpoint或者VCD錄制軟件實(shí)現(xiàn)。
3. 《疑問(wèn)解答》--列出用戶(hù)關(guān)心的問(wèn)題和處理方法。用于解答軟件的操作功能和解決用戶(hù)的疑難問(wèn)題。
4. 《功能介紹》--以《需求分析》為書(shū)寫(xiě)基礎(chǔ),包括軟件介紹、軟件結(jié)構(gòu)、功能列表、功能描述和公司聯(lián)系地址。
5. 《技術(shù)白皮書(shū)》--以《技術(shù)分析》為書(shū)寫(xiě)基礎(chǔ),包括功能實(shí)現(xiàn)、技術(shù)選型、關(guān)鍵技術(shù)問(wèn)題的解決、技術(shù)方案特點(diǎn)、技術(shù)升級(jí)方向等。
6. 《評(píng)測(cè)報(bào)告》--第三方權(quán)威評(píng)測(cè)報(bào)告。包括評(píng)測(cè)目的、評(píng)測(cè)范圍、評(píng)測(cè)環(huán)境、評(píng)測(cè)內(nèi)容、實(shí)測(cè)數(shù)據(jù)、性能表現(xiàn)、結(jié)果分析和評(píng)測(cè)總結(jié)等。
7. 《安裝手冊(cè)》--包括系統(tǒng)環(huán)境、運(yùn)行平臺(tái)、產(chǎn)品安裝過(guò)程、初始環(huán)境設(shè)置、安裝記錄等。
8. 《使用手冊(cè)》--包括產(chǎn)品簡(jiǎn)介、功能列表、功能描述和解釋、功能操作、客戶(hù)服務(wù)和聯(lián)系方式等。
9. 《維護(hù)手冊(cè)》--包括產(chǎn)品簡(jiǎn)介、系統(tǒng)須知、初始環(huán)境設(shè)置、系統(tǒng)配置、數(shù)據(jù)管理和備份、技術(shù)問(wèn)題解答和聯(lián)系方式等。
10. 《用戶(hù)報(bào)告》--包括產(chǎn)品簡(jiǎn)介、購(gòu)買(mǎi)時(shí)間、使用目的、使用時(shí)間、使用地點(diǎn)、實(shí)施過(guò)程、出現(xiàn)問(wèn)題和解決、產(chǎn)品總結(jié)和建議等。
11.《銷(xiāo)售培訓(xùn)》--包括項(xiàng)目簡(jiǎn)介、產(chǎn)品功能、產(chǎn)品特點(diǎn)、商業(yè)優(yōu)勢(shì)、系統(tǒng)運(yùn)行環(huán)境、適用范圍、目標(biāo)客戶(hù)等。
軟件文檔可以分為開(kāi)發(fā)文檔和產(chǎn)品文檔兩大類(lèi)。
開(kāi)發(fā)文檔包括:《功能要求》、《投標(biāo)方案》、《需求分析》、《技術(shù)分析》、《系統(tǒng)分析》、《數(shù)據(jù)庫(kù)文檔》、《功能函數(shù)文檔》、《界面文檔》、《編譯手冊(cè)》、《QA文檔》、《項(xiàng)目總結(jié)》等。
產(chǎn)品文檔包括:《產(chǎn)品簡(jiǎn)介》、《產(chǎn)品演示》、《疑問(wèn)解答》、《功能介紹》、 《技術(shù)白皮書(shū)》、《評(píng)測(cè)報(bào)告》、《安裝手冊(cè)》、《使用手冊(cè)》、《維護(hù)手冊(cè)》、 《用戶(hù)報(bào)告》、《銷(xiāo)售培訓(xùn)》等。
一、開(kāi)發(fā)文檔
1. 《功能要求》--來(lái)源于客戶(hù)要求和市場(chǎng)調(diào)查,是軟件開(kāi)發(fā)中早期的一個(gè)環(huán)節(jié)??蛻?hù)提出一個(gè)模糊的功能概念,或者要求解決一個(gè)實(shí)際問(wèn)題,或者參照同類(lèi)軟件的一個(gè)功能。有軟件經(jīng)驗(yàn)的客戶(hù)還會(huì)提供比較詳細(xì)的技術(shù)規(guī)范書(shū),把他們的要求全部列表書(shū)寫(xiě)在文檔中,必要時(shí)加以圖表解說(shuō)。這份文檔是需求分析的基礎(chǔ)。
2. 《投標(biāo)方案》--根據(jù)用戶(hù)的功能要求,經(jīng)過(guò)與招標(biāo)方溝通和確認(rèn),技術(shù)人員開(kāi)始書(shū)寫(xiě)《投標(biāo)方案》,方案書(shū)一般包括以下幾個(gè)重要的章節(jié):
前言--項(xiàng)目背景、公司背景和業(yè)務(wù)、技術(shù)人員結(jié)構(gòu)、公司的成功案例介紹等。
需求分析--項(xiàng)目要求、軟件結(jié)構(gòu)、功能列表、功能描述、注意事項(xiàng)等。
技術(shù)方案--總體要求和指導(dǎo)思想、技術(shù)解決方案、軟件開(kāi)發(fā)平臺(tái)、網(wǎng)絡(luò)結(jié)構(gòu)體系等。
項(xiàng)目管理--描述公司的軟件開(kāi)發(fā)流程、工程實(shí)施服務(wù)、組織和人員分工、開(kāi)發(fā)進(jìn)度控制、軟件質(zhì)量保證、項(xiàng)目驗(yàn)收和人員培訓(xùn)、軟件資料文檔等。
技術(shù)支持--公司的技術(shù)支持和服務(wù)介紹、服務(wù)宗旨和目標(biāo)、服務(wù)級(jí)別和響應(yīng)時(shí)間、技術(shù)服務(wù)區(qū)域、技術(shù)服務(wù)期限、授權(quán)用戶(hù)聯(lián)系人等。
系統(tǒng)報(bào)價(jià)--軟、硬件平臺(tái)報(bào)價(jià)列表、軟件開(kāi)發(fā)費(fèi)用、系統(tǒng)維護(hù)費(fèi)用等。
項(xiàng)目進(jìn)度--整個(gè)項(xiàng)目的進(jìn)度計(jì)劃,包括簽署合同、項(xiàng)目啟動(dòng)、需求分析、系統(tǒng)分析、程序開(kāi)發(fā)、測(cè)試維護(hù)、系統(tǒng)集成、用戶(hù)驗(yàn)收、用戶(hù)培訓(xùn)等步驟的時(shí)間規(guī)劃。
3. 《需求分析》--包括產(chǎn)品概述、主要概念、操作流程、功能列表和解說(shuō)、注意事項(xiàng)、系統(tǒng)環(huán)境等。以《功能要求》為基礎(chǔ),進(jìn)行詳細(xì)的功能分析(包括客戶(hù)提出的要求和根據(jù)開(kāi)發(fā)經(jīng)驗(yàn)建議的功能),列出本產(chǎn)品是什么,有什么特殊的概念,包括那些功能分類(lèi),需要具備什么功能,該功能的操作如何,實(shí)現(xiàn)的時(shí)候該注意什么細(xì)節(jié),客戶(hù)有什么要求,系統(tǒng)運(yùn)行環(huán)境的要求等。這里的功能描述跟以后的使用手冊(cè)是一致的。
4. 《技術(shù)分析》--包括技術(shù)選型、技術(shù)比較、開(kāi)發(fā)人員、關(guān)鍵技術(shù)問(wèn)題的解決、技術(shù)風(fēng)險(xiǎn)、技術(shù)升級(jí)方向、技術(shù)方案評(píng)價(jià),競(jìng)爭(zhēng)對(duì)手技術(shù)分析等。以《需求分析》為基礎(chǔ),進(jìn)行詳細(xì)的技術(shù)分析(產(chǎn)品的性能和實(shí)現(xiàn)方法),列出本項(xiàng)目需要使用什么技術(shù)方案,為什么,有哪些技術(shù)問(wèn)題要解決 ,估計(jì)開(kāi)發(fā)期間會(huì)碰到什么困難,技術(shù)方案以后如何升級(jí),對(duì)本項(xiàng)目的技術(shù)有什么評(píng)價(jià)等。
5. 《系統(tǒng)分析》--包括功能實(shí)現(xiàn)、模塊組成、功能流程圖、函數(shù)接口、數(shù)據(jù)字典、軟件開(kāi)發(fā)需要考慮的各種問(wèn)題等。以《需求分析》為基礎(chǔ),進(jìn)行詳細(xì)的系統(tǒng)分析(產(chǎn)品的開(kāi)發(fā)和實(shí)現(xiàn)方法),估計(jì)開(kāi)發(fā)期間需要把什么問(wèn)題說(shuō)明白,程序員根據(jù)《系統(tǒng)分析》,開(kāi)始在項(xiàng)目主管的帶領(lǐng)下進(jìn)行編碼。
6. 《數(shù)據(jù)庫(kù)文檔》--包括數(shù)據(jù)庫(kù)名稱(chēng)、表名、字段名、字段類(lèi)型、字段說(shuō)明、備注、字段數(shù)值計(jì)算公式等。以《系統(tǒng)分析》為基礎(chǔ),進(jìn)行詳細(xì)的數(shù)據(jù)庫(kù)設(shè)計(jì)。必要時(shí)可以用圖表解說(shuō),特別是關(guān)系數(shù)據(jù)庫(kù)。
7. 《功能函數(shù)文檔》--包括變量名、變量初植、功能,函數(shù)名,參數(shù),如何調(diào)用、備注、注意事項(xiàng)等。以《系統(tǒng)分析》為基礎(chǔ),進(jìn)行詳細(xì)的說(shuō)明,列出哪個(gè)功能涉及多少個(gè)函數(shù),以便以后程序員修改、接手和擴(kuò)展。
8. 《界面文檔》--包括軟件外觀、界面素材、編輯工具、文件名、菜單、按鈕和其它界面部件的要求,這里與軟件完成后的運(yùn)行界面是一致的。
9. 《編譯手冊(cè)》--包括服務(wù)器編譯環(huán)境、操作系統(tǒng)、編譯工具、GNU的C++編譯器版本信息、目錄說(shuō)明、程序生成、源程序文件列表、Makefile配置及其相關(guān)程序的對(duì)應(yīng)關(guān)系列表??蛻?hù)端的編譯過(guò)程、編譯結(jié)果、編譯示例、編譯環(huán)境、操作系統(tǒng)、編譯工具、源文件列表和制作安裝程序的過(guò)程。
10. 《QA文檔》--包括產(chǎn)品簡(jiǎn)介、產(chǎn)品原理、產(chǎn)品功能列表、功能描述、功能流程、執(zhí)行結(jié)果、數(shù)據(jù)庫(kù)結(jié)構(gòu)、測(cè)試要求等,提供給軟件測(cè)試人員使用。
11. 《項(xiàng)目總結(jié)》--包括項(xiàng)目簡(jiǎn)介、項(xiàng)目參與人員和開(kāi)發(fā)時(shí)間、項(xiàng)目風(fēng)險(xiǎn)管理過(guò)程、項(xiàng)目功能列表、項(xiàng)目結(jié)構(gòu)特點(diǎn)、技術(shù)特點(diǎn)、對(duì)項(xiàng)目的升級(jí)建議、對(duì)以后的項(xiàng)目的建議、人員素質(zhì)情況等。
二、產(chǎn)品文檔
1. 《產(chǎn)品簡(jiǎn)介》--包括公司背景、產(chǎn)品概念、適用范圍、產(chǎn)品功能、功能特點(diǎn)、運(yùn)行要求和公司聯(lián)系地址。
2. 《產(chǎn)品演示》--包括公司簡(jiǎn)介、產(chǎn)品背景、產(chǎn)品描述、產(chǎn)品特點(diǎn)、產(chǎn)品作用、適用范圍、使用分析、功能模塊、解決問(wèn)題、合作伙伴、成功案例等。一般用Powerpoint或者VCD錄制軟件實(shí)現(xiàn)。
3. 《疑問(wèn)解答》--列出用戶(hù)關(guān)心的問(wèn)題和處理方法。用于解答軟件的操作功能和解決用戶(hù)的疑難問(wèn)題。
4. 《功能介紹》--以《需求分析》為書(shū)寫(xiě)基礎(chǔ),包括軟件介紹、軟件結(jié)構(gòu)、功能列表、功能描述和公司聯(lián)系地址。
5. 《技術(shù)白皮書(shū)》--以《技術(shù)分析》為書(shū)寫(xiě)基礎(chǔ),包括功能實(shí)現(xiàn)、技術(shù)選型、關(guān)鍵技術(shù)問(wèn)題的解決、技術(shù)方案特點(diǎn)、技術(shù)升級(jí)方向等。
6. 《評(píng)測(cè)報(bào)告》--第三方權(quán)威評(píng)測(cè)報(bào)告。包括評(píng)測(cè)目的、評(píng)測(cè)范圍、評(píng)測(cè)環(huán)境、評(píng)測(cè)內(nèi)容、實(shí)測(cè)數(shù)據(jù)、性能表現(xiàn)、結(jié)果分析和評(píng)測(cè)總結(jié)等。
7. 《安裝手冊(cè)》--包括系統(tǒng)環(huán)境、運(yùn)行平臺(tái)、產(chǎn)品安裝過(guò)程、初始環(huán)境設(shè)置、安裝記錄等。
8. 《使用手冊(cè)》--包括產(chǎn)品簡(jiǎn)介、功能列表、功能描述和解釋、功能操作、客戶(hù)服務(wù)和聯(lián)系方式等。
9. 《維護(hù)手冊(cè)》--包括產(chǎn)品簡(jiǎn)介、系統(tǒng)須知、初始環(huán)境設(shè)置、系統(tǒng)配置、數(shù)據(jù)管理和備份、技術(shù)問(wèn)題解答和聯(lián)系方式等。
10. 《用戶(hù)報(bào)告》--包括產(chǎn)品簡(jiǎn)介、購(gòu)買(mǎi)時(shí)間、使用目的、使用時(shí)間、使用地點(diǎn)、實(shí)施過(guò)程、出現(xiàn)問(wèn)題和解決、產(chǎn)品總結(jié)和建議等。
11.《銷(xiāo)售培訓(xùn)》--包括項(xiàng)目簡(jiǎn)介、產(chǎn)品功能、產(chǎn)品特點(diǎn)、商業(yè)優(yōu)勢(shì)、系統(tǒng)運(yùn)行環(huán)境、適用范圍、目標(biāo)客戶(hù)等。