軟件開發中的高級系統設計與低級系統設計
?軟件開發周期經歷許多過程,高級系統設計(High-Level System Design:HLSD)和低級系統設計(Low-Level System Design:LLSD)只是兩個部分。
軟件開發生命周期 (SDLC:Software Development Life Cycle) 經歷多個階段,如規劃、需求評估、分析、設計、執行、文檔、測試等。每個階段進一步分為具有適當定義的目標和結果的任務。
分析和設計是確定構建軟件產品的實際架構、工作模型和執行過程的階段。
這些階段的兩個關鍵步驟是高級系統設計和低級系統設計。

什么是高級系統設計?
高級設計 (HLD:High-Level Design) 提供軟件開發過程的全面概述,以及系統架構、應用程序、數據庫管理以及系統和導航的完整流程圖。它是一個藍圖,整合了開發軟件的各個步驟和模塊、它們的目標、可變組件、結果、架構和時間表。HLD 將商業計劃轉化為軟件產品或服務。
軟件開發中的 HLD 示例包括系統架構文檔、應用程序開發流程圖等。
什么是低級系統設計?
低級設計 (LLD:Low-Level Design) 在單個級別處理 HLD 中各種組件、模塊和步驟的規劃、編碼和執行。HLD 中的每個模塊都有一個獨特的 LLD 文檔,該文檔提供了有關如何對模塊進行編碼、執行、質量測試以及如何集成到更大程序中的全面詳細信息。LLD 通過將 HLD 組件解構為工作解決方案來提供可操作的計劃。
軟件開發中的 LLD 示例包括購物車集成、安全測試、用戶界面設計等。
HLD和LLD之間的區別
HLD 和 LLD 還具有不同的功能和用途,例如高級編程語言和低級編程語言。
宏觀與微觀架構和設計
HLD 是一種宏觀設計,提供軟件開發過程的鳥瞰圖。它包括圖表、流程圖、導航細節和其他將構成開發過程關鍵的技術要求。
除了流程圖、圖表、導航信息和技術要求外,LLD 還提供有關 HLD 的每個組件的逐步執行的全面信息。它處理微觀層面的軟件開發。
HLD 的每個組件都有一個唯一的 LLD 文檔。
發展年表
HLD 先于 LLD 階段。一旦 HLD 到位并獲準執行,就可以開始對各個 LLD 的工作。
HLD 在規劃和需求階段得到處理后開始,并且沒有其他依賴關系。
另一方面,LLD 需要以特定的順序執行。一些模塊必須等待執行,直到其他模塊完成。
LLD 屬于 SDLC 的設計階段,而 HLD 屬于 SDLC 的分析階段。
目的
HLD 的目的是列出各種模塊的功能方面以及最終結果。
LLD 的目的是詳細說明 HLD 中每個模塊的邏輯和執行。
利益相關者
解決方案架構師負責創建 HLD 文檔。它可以有內部和外部的利益相關者,例如負責了解軟件指標的審查團隊、設計團隊、客戶和經理。
LLD 由公司或供應商團隊中的軟件開發人員、Web 管理員、安全工程師等處理。LLD 通常僅限于內部利益相關者。
目標聽眾
HLD 文檔的目標受眾是經理、客戶和軟件開發團隊。
從事該項目的軟件工程師、編碼人員、測試人員和開發人員是 LLD 文檔的目標受眾。
預期結果
HLD 的結果是準備好交付給最終用戶的軟件產品或服務。
LLD 的結果是完成 HLD 的單個模塊,例如編碼或測試階段。
了解軟件設計文檔
除了技術要求和其他實現細節之外,軟件設計文檔還概述了開發軟件產品或服務的結構、功能和邏輯方面。無論設計是處理宏觀層面還是微觀層面的執行,程序員和其他利益相關者都應該知道和理解軟件開發過程的范圍和各個步驟。



























