系統架構是軟件開發過程中的重要組成部分,也是一個非常綜合和復雜的系統性工程,由很多工作環節組成,架構設計文檔的撰寫就是其中的一個。中培偉業《詳細設計與系統架構最佳實踐》培訓專家曾老師就系統構架設計文檔撰寫應該注意的問題進行了介紹。
曾老師指出,構架工作應該在需求開發完成約80%的時候開始進行,不必等到需求開發全部完成,需要項目經理以具體的判斷來評估此時是否足以開始構建軟件構架。
給出一致的輪廓:系統概述。一個系統構架需要現有概括的描述,開發人員才能從上千個細節甚至數十個模塊或對象類中建立一致的輪廓。
構架的目標應該能夠清楚說明系統概念,構架應盡可能簡化,最好的構架文件應該簡單、簡短,清晰而不雜亂,解決方案自然。
構架應單先定義上層的主要子系統,應該描述各子系統的任務,并提供每個子系統中各模塊或對象類的的初步列表。
構架應該描述不同子系統間相互通信的方式,而一個良好的構架應該將子系統間的通信關系降到最低。
成功構架的一個重要特色,在于標明最可能變更的領域,應當列出程序中最可能變更的部分,說明構架的其他部分如何應變。
復用分析、外購:縮短軟件開發周期、降低成本的有效方案未必是自行開發軟件,可以對現有軟件進行復用或進行外購。應考慮其對構架的影響。
除了系統組織的問題,構架應重點考慮對于細節全面影響的設計決策,深入這些決策領域:外部軟件接口(兼容性、通信方式、傳遞數據結構)、用戶接口(用戶接口和系統層次劃分)、數據庫組織和內容、非數據庫信息、關鍵算法、內存管理(配置策略)、并行性、安全性、可移植性、網絡多人操作、錯誤處理。
要保證需求的可追蹤性,即保證每個需求功能都有相應模塊去實現。
構架不能只依據靜態的系統目標來設計,也應當考慮動態的開發過程,如人力資源的情況,進度要求的情況,開發環境的滿足情況。構架必須支持階段性規劃,應該能夠提供階段性規劃中如何開發與完成的方式。不應該依賴無法獨立運行的子系統構架。將系統各部分的、依賴關系找出來,形成一套開發計劃。