本標准原則上適用於所有類型的軟件產品的開發過程和管理過程。
使用者可根據實際情況對本標准進行適當剪裁(可剪裁所需的文檔類型,也可對規范的內容作適當裁剪)。
軟件文檔從使用的角度大致可分為軟件的用戶需要的用戶文檔和開發方在開發過程中使用的內部文檔(開發文檔)兩類。供方應提供的文檔的類型和規模,由軟件的需方和供方在合同中規定。
縮略語
縮略 | 中文全稱 | 英文全稱 |
---|---|---|
CASE | 計算機輔助軟件工程 | Computer Assistant Software Engineering |
COM | 計算機操作手冊 | Computer Operation Manual |
CPM | 計算機編程手冊 | Computer Programming Manual |
CSCI | 計算機軟件配置項 | Computer Software Configuration Item |
DBDD | 數據庫(頂層)設計說明 | Database Design Description |
DID | 資料條目說明 | Data Item Description |
DPMR | 開發進度月報 | Development Plan Month Report |
DRD | 數據需求說明 | Data requirement Description |
FAR | 可行性分析報告 | Feasibility analysis Report |
HWCI | 硬件配置項 | Hardware Configuration Item |
IDD | 接口設計說明 | Interface Design Description |
IRS | 接口(軟件)需求規格說明 | Interface Requirement Specification |
IV&V | 獨立驗證和確認 | Independent verification and validation |
OCD | 運行概念說明 | Operation Conception Description |
PDSR | 項目開發總結報告 | Project Development summary Report |
SCCB | 軟件配置控制委員會 | Software Configuration Control Board |
SCM | 軟件配置管理 | Software Configuration Manager |
SCMP | 軟件配置管理計划 | Software Configuration Manager Plan |
SDD | 軟件(結構)設計說明 | Software Design Description |
SDF | 軟件開發文件 | Software Development File |
SFDD | 軟件開發文檔 | Software Development Document |
SDL | 軟件開發庫 | Software Development Library |
SDP | 軟件開發計划 | Software Development Plan |
SIP | 軟件安裝計划 | Software Installation Plan |
SPS | 軟件產品規格說明 | Software Product Specification |
SQA | 軟件質量保證 | Software Quality Assure |
SQAP | 軟件質量保證計划 | Software Quality Assure Plan |
SRS | 軟件需求規格說明 | Software Requirement Specification |
SSDD | 系統/子系統設計(結構設計)說明 | System Subsystem Design Description |
SSS | 系統/子系統需求規格說明 | System Subsystem Requirement Specification |
STD | 軟件測試說明 | Software Testing Descrition |
STP | 軟件測試計划 | Software Testing Plan |
STR | 軟件測試報告 | Software Testing Report |
STrP | 軟件移交計划 | Software Transfer Plan |
SUM | 軟件用戶手冊 | Software User Manual |
SVD | 軟件版本說明 | Software Version Description |
SW | 軟件 | Software |
文檔過程
有兩種主要類型的標准:
- 產品標准:它規定產品的特征和功能需求。
- 過程標准:它規定開發產品的過程。
應用程序和計算機軟件的復雜性日益增加,使得給使用計算機的用戶提供完整的、正確的和易懂的文檔的需要更加迫切。
文檔常常是關心在軟件已經實現后做些什么。然而,為了質量,軟件文檔編制應作為整個軟件生產過程的一部分。
文檔過程的活動應按下圖中的順序執行:
其中,有兩個陰影框。在一個陰影框中的所有活動應在下一個陰影框中的活動開始之前完成。在陰影框中的活動可以並行執行。虛線指示可能的重復。
文檔編制要求
軟件生存周期與各種文檔的編制
在軟件的生存周期中,一般地說,應該產生以下一些基本文檔:
- a)可行性分析(研究)報告
- b)軟件(或項目)開發計划
- c)軟件需求規格說明
- d)接口需求規格說明
- e)系統/子系統設計(結構設計)說明
- f)軟件(結構)設計說明
- g)接口設計說明
- h)數據庫(頂層)設計說明
- i)(軟件)用戶手冊
- j)操作手冊
- k)測試計划
- 1)測試報告
- m)軟件配置管理計划
- n)軟件質量保證計划
- o)開發進度月報
- p)項目開發總結報告
- q)軟件產品規格說明
- r)軟件版本說明等
對於使用文檔的人員而言,他們所關心的文件的種類隨他們所承擔的工作而異:
管理人員 | 開發人員 | 維護人員 | 用 戶 |
---|---|---|---|
可行性分析(研究)報告 項目開發計划 軟件配置管理計划 軟件質量保證計划 開發進度月報 項目開發總結報告 |
可行性分析(研究)報告 項目開發計划 軟件需求規格說明 接口需求規格說明 軟件(結構)設計說明 接口設計說明書 數據庫(頂層)設計說明 測試計划 測試報告 |
軟件需求規格說明 接口需求規格說明 軟件(結構)設計說明 測試報告 |
軟件產品規格說明 軟件版本說明 用戶手冊 操作手 |
這些文檔從使用的角度可分為用戶文檔和開發文檔兩大類。其中,用戶文檔必須交給用戶。用戶應該得到的文檔的種類和規模由供應者與用戶之間簽訂的合同規定。
如前所述,軟件,從出現一個構思之日起,經過軟件開發成功投入使用,直到最后決定停止使用並被另一項軟件代替之時止,被認為是該軟件的一個生存周期,一般地說這個軟件生存周期可以分成以下 6 個階段:
-
a)可行性與計划研究階段
在可行性分析(研究)與計划階段內,要確定該軟件的開發目標和總的要求,要進行可行性分析、投資——收益分析、制訂開發計划,並完成可行性分析報告、開發計划等文檔。 -
b)需求分析階段
在需求分析階段內,由系統分析人員對被設計的系統進行系統分析,確定對該軟件的各項功能、性能需求和設計約束,確定對文檔編制的要求,作為本階段工作的結果,一般地說軟件需求規格說明(也稱為:軟件需求說明、軟件規格說明)、數據要求說明和初步的用戶手冊應該編寫出來。 -
c)設計階段
在設計階段內,系統設計人員和程序設計人員應該在反復理解軟件需求的基礎上,提出多個設計,分析每個設計能履行的功能並進行相互比較,最后確定一個設計,包括該軟件的結構、模塊(或 CSCI)的划分、功能的分配,以及處理流程。
在被設計系統比較復雜的情況下,設計階段應分解成概要設計階段和詳細設計階段兩個步驟。在一般情況下,應完成的文檔包括:結構設計說明、詳細設計說明和測試計划初稿。 -
d)實現階段
在實現階段內,要完成源程序的編碼、編譯(或匯編)和排錯調試得到無語法錯的程序清單,要開始編寫進度日報、周報和月報(是否要有日報或周報,取決於項目的重要性和規模),並且要完成用戶手冊、操作手冊等面向用戶的文檔的編寫工作,還要完成測試計划的編制。 -
e)測試階段
在測試階段,該程序將被全面地測試,已編制的文檔將被檢查審閱。一般要完成測試分析報告。作為開發工作的結束,所生產的程序、文檔以及開發工作本身將逐項被評價,最后寫出項目開發總結報告。
注:在整個開發過程中(即前五個階段中),開發集體要按月編寫開發進度月報。
- f)運行與維護階段
在運行和維護階段,軟件將在運行使用中不斷地被維護,根據新提出的需求進行必要而且可能的擴充和刪改、更新和升級。
文檔編制中的考慮因素
文檔的讀者
每一種文檔都具有特定的讀者。這些讀者包括個人或小組、軟件開發單位的成員或社會上的公眾、從事軟件工作的技術人員、管理人員或領導干部。他們期待着使用這些文檔的內容來進行工作,例如設計、編寫程序、測試、使用、維護或進行計划管理。因此這些文檔的作者必須了解自己的讀者。這些文檔的編寫必須注意適應自己的特定讀者的水平、特點和要求。
重復性
本標准中列出的文檔編制規范的內容要求中,顯然存在某些重復。較明顯的重復有兩類。引言是每一種文檔都要包含的內容,以向讀者提供總的梗概。第二類明顯的重復是各種文檔中的說明部分,如對功能性能的說明;對輸入、輸出的描述;系統中包含的設備等。
這是為了方便每種文檔各自的讀者,每種文檔應該自成體系盡量避免讀一種文檔時又不得不去參考另一種文檔。當然,在每一種文檔里,有關引言、說明等同其他文檔相重復的部分,在行文上、在所用的術語上、在詳細的程度上,還是應該有一些差別以適應各種文檔的不同讀者的需要。
靈活性
鑒於軟件開發是具有創造性的腦力勞動,也鑒於不同軟件在規模上和復雜程度上差別極大,在文檔編制工作中允許一定的靈活性。這種靈活性如下所述。
-
a)應編制的文檔種類
一般情況下,一項軟件的開發過程中,應產生如上所述的各種文檔,然而針對一項具體的軟件開發項目,有時不必編制這么多的文檔,可以把幾種文檔合並成一種。
一般地說,當項目的規模、復雜性和失敗風險增大時,文檔編制的范圍,管理手續和詳細程度將隨之增加,反之,則可適當減少。 -
b)文檔的詳細程度
從同一份提綱起草的文件的篇幅大小往往不同,可以少到幾頁,也可以長達幾百頁。此詳細程度取決於任務的規模、復雜性和項目負責人對該軟件的開發過程及運行環境所需要的詳細程度的判斷。 -
c)文檔的擴展
當被開發系統的規模非常大(例如源碼超過一百萬行)時,一種文檔可以分成幾卷編寫,可以按其中每一個系統分別編制,也可以按內容划分成多卷,例如:
項目開發計划可能包括:質量保證計划,配置管理計划,用戶培訓計划,安裝實施計划;
系統設計說明可分寫成:系統設計說明,子系統設計說明;
程序設計說明可分寫成:程序設計說明,接口設計說明,版本說明;
操作手冊可分寫成:操作手冊,安裝實施過程;
測試計划可分寫成:測試計划,測試設計說明,測試規程,測試用例;
測試分析報告可分寫成:綜合測試報告,驗收測試報告;
項目開發總結報告亦可分寫成項目開發總結報告和資源環境統計。 -
d)章、條的擴張與縮並
在軟件文檔中,一般宜使用本標准提供的章、條標題。但所有的條都可以擴展,可以進一步細分,以適應實際需要。反之如果章條中的有些細節並非必需,也可以根據實際情況縮並。此時章條的編號應相應地變更。 -
e)程序設計的表現形式
本標准對於程序的設計表現形式並未作出規定或限制,可以使用流程圖的形式,判定表的形式,也可以使用其他表現形式,如程序設計語言(PDL)、問題分析圖(PALb)等。 -
f)文檔的表現形式
本標准對於文檔的表現形式亦未作出規定或限制。可以使用自然語言,也可以使用形式化語言。也可以使用各種圖、表。 -
g)文檔的其他種類
當本標准中規定的文檔種類尚不能滿足某些應用部門的特殊需要時,他們可以建立一些特殊的文檔種類要求,例如軟件質量保證計划、軟件配置管理計划等,這些要求可以包含在本單位的文件編制實施規定中。
附錄:文檔鏈接
GB8567-2006《計算機軟件文檔編制規范》 - 道客巴巴
附錄2 GB T-8567-2006計算機軟件文檔編制案例 - 道客巴巴