Perface程序員
隨着技術的進步,小做坊式的軟件開發年代已通過去。目前的軟件開發能力在不斷提高,用戶對軟件的功能和性能要求也愈來愈高,軟件開發質量受到關注。算法
在軟件開發過程當中,各類數據和代碼的管理須要通過統籌安排和管理,出現了各類軟件開發文檔,用於控制軟件開發過程。框架
軟件開發文檔是與開發階段對應的。ide
通常來講,每一個階段至少產生一種文檔。軟件開發文檔描述了在軟件開發各階段中不一樣的任務。不一樣組織和公司有不一樣的開發文檔和規範,使用不一樣的開發模型產生的文檔內容也不相同。性能
軟件開發文檔指導不一樣階段的相關人員的工做,不一樣階段的設計人員會設計出相應階段的最終文檔。如需求設計文檔指導項目經理作軟件的框架設計,產生概要設計文檔;程序員使用概要設計文檔瞭解軟件某部分的功能,而後作具體的細化設計詳細設計文檔。按照軟件開發的階段,一般會生成如下幾種文檔:單元測試
可行×××執行
測試
軟件項目的可行×××執行須要列舉出須要的技術、人員、資金、時間週期以及法律等方面的因素,最終目的是認證一個軟件項目是否能夠開發。spa
可行×××報告一般由軟件團隊的高層,或者是軟件項目的發起人、投資人等參加。設計
可行×××報告中還應當對於現有的資源給出幾種不一樣的解決方案供討論使用。接口
軟件可行×××報告的結果直接決定了一個軟件項目是否啓動。
項目開發計劃
項目開發計劃的目的是使用文件形式,把開發過程當中各工做的負責人、開發進度以及須要的續費預算、所需的軟件和硬件等都描述出來。
後續的工做根據項目開發文檔安排調配資源。項目開發文檔是整個開發項目的資源描述文檔,在編寫的時候要從開發組織的實際狀況出發,合理安排資源。
軟件需求說明書
軟件需求說明書是軟件開發組織與用戶之間的接口文檔,是整個軟件開發的基礎,軟件需求說明書是軟件供求雙方對軟件功能的一個具體描述文檔,一般由軟件開發組織編寫。
該文檔包括了軟件的開發任務、功能約定、開發週期等,用戶根據軟件開發組織的需求設計提出本身的意見,修改後行造成最終文檔。
需求說明書對軟件開發組織來講很重要,軟件開發的設計和測試工做都是針對需求文檔進行的。
概要設計
概要設計文檔說明了整個程序設計的框架和工做流程,是詳細設計文檔的基礎。
概要設計描述整個系統的處理流程、模塊劃分、接口設計以及出錯處理等內容。
概要設計的好壞決定了軟件的優劣,一般是項目經理設計該文檔,而且通過討論後造成最終文檔。
詳細設計
詳細設計是一個軟件模塊或者流程的具體描述文檔。
詳細設計文檔包括具體程序的功能描述、性能要求、輸入輸出格式、算法、存儲分配等內容。
對於簡單的軟件能夠不作詳細設計,在代碼中作相應詳細的註釋便可。對於大型的軟件,至少要在關鍵流程作詳細設計,而且儘可能保證詳細設計的文檔與代碼的對應關係便於維護管理。
詳細設計文檔通常由程序員編寫。
用戶手冊
前面介紹的幾種文檔都是軟件開發組織使用的,文檔結構規範、內容使用術語較多,便於開發組織內部交流。
用戶手冊編寫的目的是要使用非術語描述軟件系統具備的功能和使用方法。用戶在閱讀使用手冊後能夠了解軟件的功能和用途,而且經過說明書能夠操做軟件。
用戶說明書一般包括軟件的功能、運行環境、操做方法以及示例、常見出錯問題及解答。用戶手冊要保證內容簡潔,易於用戶理解。
其餘文檔
在軟件開發過程當中還會產生一些其餘文檔,常見的有測試計劃、測試報告、開發進度表和項目總結報告等。
其中,測試是比較重要的部分,一個軟件的優劣測試起到很大做用。測試是與開發並進的,包括單元測試、集成測試、功能測試和完整性測試等。測試的目的是發現軟件中的缺陷,幫助改進軟件的健壯性。