5.3軟件需求分析
參見需求管理關於軟件需求分析的章節,此處再也不贅述。程序員
5.4軟件整體設計
整體設計,又稱爲系統設計,其包括架構設計,是軟件系統的頂層設計,是軟件開發不可逾越的階段。
整體設計最能體現分析人員的水平,不只須要良好的綜合能力,從整體上把握需求,還須要較寬廣的知識面,對流行的架構、插件和組件技術、數據庫等能熟知優劣,從而設計出符合軟件需求的設計方案。
知足軟件需求的設計方案確定不止一種,但我認爲好的設計方案應知足:數據庫
- 知足目前已知的需求;
- 具備良好的擴展靈活性;
- 符合技術發展趨勢。
5.4.1軟件整體設計節點關鍵信息
責任人:開發項目經理。架構
執行人:系統分析員、高級程序員或架構師。運維
關鍵行爲:分析和溝通。數據庫設計
- 分析:對軟件需求進行分析,完整把握需求;
- 整體設計:結合團隊的技術棧,知足需求集合,有前瞻性;
- 必要時,開發原型來驗證設計思想。
輸入:性能
- 產品需求規格書;
- 軟件需求規格書(SRS);
- 數據字典(DD);
- UI&UE交互設計原型(若是有);
- 用戶故事集合;
- 其它需求資料。
輸出:測試
- 軟件產品整體設計文檔;
- 系統結構設計(架構設計);
- 子系統/功能模塊設計;
- 接口設計;
- UI&UE設計;
- 數據庫設計;
- 通訊協議設計(若有需求)。
職責要求:插件
- 完整地分析軟件需求;
- 整體設計;
- 儘可能基於目前已知需求的最大集合,提升設計方案的擴展靈活性;
- 把握成熟技術與新技術之間的平衡;
- 對性能需求和質量屬性有敏感性,系統架構能適應非功能需求;
- 關鍵技術,必要時,開發原型來驗證設計思想;
- 提請軟件整體設計評審:
- 系統設計人員:主講人,負責講解和答覆各類質詢和疑問;
- 產品經理:評估產品需求是否被設計的系統完整地知足;包括後期的需求的知足性;非功能需求的支持狀況;
- 項目經理:瞭解有哪些子系統,是否須要跨部門協做;
- 開發項目經理及高級技術人員:關注技術方案的可行性、靈活性;非功能需求的支持狀況;
- 開發技術人員:瞭解軟件的設計思路,便於開發實現;
- 測試技術人員:瞭解軟件的設計思路,以及其對測試的影響;
- 運維人員:評審軟件部署方案的可行性。