整理了一下軟件項目過程和文檔,如下:
一、開發過程和文檔
軟件開發一般包含如下階段:

需求分析、概要設計、詳細設計的區別如下:
1.需求分析——產生軟件功能規格說明書,需要確定用戶對軟件的需求,要作到明確、無歧義,不涉及具體實現方法。用戶能看得明白,開發人員也可據此進行下面的工作(概要設計)。
2.概要設計——產生軟件概要設計說明書,說明系統模塊划分、選擇的技術路線等,整體說明軟件的實現思路,並且指出關鍵技術難點等。
3.詳細設計-——產生軟件詳細設計說明書,對概要設計的進一步細化,一般由各部分的擔當人員依據概要設計分別完成,然后再集成,是具體的實現細節。理論上要求可以照此編碼。
1.1 需求分析
需求分析階段的任務是:在可行性分析的基礎上,進一步了解、確定用戶需求,准確地回答“系統必須做什么”的問題,涉及到軟件系統的目標、軟件系統提供的服務、軟件系統的約束和軟件系統運行的環境,輸出需求規格說明書。
1.2 系統設計
按照自頂向下、逐層分解的設計方法,需依次完成總體架構設計、概要設計和詳細設計。軟件設計包括概要設計和詳細設計。概要設計與詳細設計是總分的關系,概要設計文檔相當於機械設計中的裝配圖,而詳細設計文檔相當於機械設計中的零件圖。
1.2.1 總體架構設計
總體架構設計是將系統作為整體的設計,對應系統需求。它包含軟件設計、設備選型、網絡、安全、性能等,側重於描述產品的形態,方便技術人員(市場、客戶)了解這個產品的功能。如系統是網絡軟件,可以描述產品及其他子系統在網絡中的部署方式、交互方式等。
1.2.2 概要設計
概要設計就是分析軟件系統的基本處理流程和組織結構;然后將系統依照功能(任務)的划分為不同模塊,確定模塊間調用關系和接口。
軟件設計包括軟件的運行(處理流程)設計、結構設計(划分功能模塊,確定模塊間的層次結構、調用關系和接口)、用戶界面設計、數據庫設計(存儲什么數據,數據庫選型、數據結構和關系)。常用的描述方式有:軟件結構圖、用例圖、分層數據流圖、數據字典以及相應的文字說明。
概要設計重點在功能描述,應該讓讀者大致了解系統作完后大體的結構和操作模式,為軟件的詳細設計提供基礎。
(轉)概要設計內容如下:

1.2.3 詳細設計
詳細設計根據概要設計划分的模塊任務和對外接口,設計出模塊的算法、流程、狀態轉換等內容。
詳細設計包括實現各模塊的用戶界面設計、算法設計、數據結構設計的細化(是一份完善的數據結構文檔,包括類型、命名、精度、字段說明、表說明等內容的數據字典)等。常用的描述方式有:模塊的流程圖、狀態圖、局部變量及相應的文字說明等。
詳細設計則的重點在描述系統的實現方式,說明實現具體模塊所涉及到的主要算法、數據結構、類的層次結構及調用關系、具體的方法函數和sql語句等。應當足夠詳細地說明各個層次中的每個模塊(子程序)的設計考慮,以便根據詳細設計進行編碼和測試。
如果發現有結構調整(如分解出子模塊等)的必要,必須返回到概要設計階段,將調整反應到概要設計文檔中。
(轉)詳細設計內容如下:

