高層設計 (HLD) 與低層設計 (LLD) 的區別
系統設計包括高層設計和低層設計。這有助於建立一個平穩執行且無錯誤的專案。高層設計和低層設計是系統設計的兩個主要特徵。讓我們瞭解高層設計和低層設計之間的區別。
高層設計
高層設計包括對系統架構的描述。系統設計包括以下內容:
- 資料庫設計
- 系統架構
- 系統描述,包括平臺、關係和服務
高層設計會建立一個包含所有根據需求所需的設計方面的圖表。該圖表包含以下特徵:
- 該圖表包含軟體介面、使用者介面和硬體的詳細資訊
- 高層設計也稱為宏觀設計
- 解決方案架構師負責建立高層設計圖
高層設計中使用的模型
高層設計中使用的模型包括:
- 流程圖
- 決策表
- 決策樹
- 流程圖
- 資料字典
高層設計的簡潔分解
高層設計可以分為以下幾個部分:
- 需求分析 - 利益相關者和終端使用者參與瞭解功能性和非功能性設計。
- 系統架構 - 定義系統元件及其之間的互動。它還包括處理資料流以實現功能。
- 元件設計 - 詳細說明每個模組的結構,包括資料處理機制和行為的階段。
- 資料設計 - 它包括資料結構、資料庫和資料流,以便正確分配記憶體和高效儲存。
- 介面設計 - 它包括系統安全,包括加密、授權和身份驗證。
- 效能設計 - 它包括可擴充套件性、響應時間和資源最佳化策略。
- 錯誤處理 - 這是一個制定計劃來報告各種錯誤及其報告的方面。
- 技術選擇 - 這是選擇所需語言和技術的階段。
- 文件 - 編寫詳細的文件,其中包含高層設計的各個方面。
低層設計
低層設計是軟體開發的一部分。此設計包括系統、元件及其詳細資訊以及它們之間的通訊。低層設計的特徵如下:
- 此處描述每個系統元件的邏輯,可以將其劃分為模組。
- 它也稱為微觀設計
- 設計師和開發人員建立低層設計
- 藉助低層設計,可以將高層設計轉換為藍圖
低層設計的簡潔分解
低層設計可以分為以下幾個部分:
- 高層設計細化 - 將高層設計分解成更小的方面,以便於實現。
- 模組設計 - 將高層設計中的模組劃分為函式、方法、類和資料結構。
- 演算法細節 - 這是確定每個模組的邏輯和演算法的階段。
- 資料結構設計 - 建立可以輕鬆在任何模組中儲存和修改的詳細資料結構。
- 資料庫設計 - 此處包含資料庫的要求,包括表、查詢和其他資料庫方面。
- 程式碼邏輯 - 建立編碼指南,包括變數、常量、函式等。
- 介面實現 - 從高層設計中獲取介面規範並將其包含在程式碼中。
- 資源分配 - 這是考慮記憶體分配和處理的階段。
- 安全實現 - 確定安全機制,例如加密、身份驗證、授權等。
- 測試 - 制定專案的單元測試策略。
- 文件 - 必須編寫詳細的程式碼文件。
高層設計與低層設計的區別
高層設計和低層設計之間存在許多差異,可以在下表中找到:
高層設計 | 低層設計 |
---|---|
高層設計是整個系統的設計。 | 低層設計處理元件級設計。 |
它被稱為宏觀設計。 | 它被稱為微觀設計。 |
它包含對整個應用程式架構的描述。 | 它包含每個元件和模組的詳細資訊。 |
高層設計中描述了每個模組的簡要功能。 | 低層設計包含模組功能邏輯的詳細資訊。 |
解決方案架構師負責建立高層系統設計。 | 設計師和開發人員負責建立低層系統設計。 |
審查團隊、設計團隊和客戶是高層設計的一部分。 | 設計團隊、運營團隊和實施者是低層設計的一部分。 |
軟體需求規範是高層設計的輸入標準。 | 低層設計中對輸入標準進行了審查。 |
業務需求可以轉換為高層解決方案。 | 高層解決方案可以轉換為詳細的解決方案。 |
輸出標準包括資料庫設計、審查記錄和功能設計。 | 輸出標準包括程式規範和單元測試計劃。 |
高層設計側重於系統元件和互動。 | 低層設計處理不同模組的實現。 |
高層設計處理主要的系統模組及其之間的互動。 | 低層設計包括將模組分解為資料結構和函式的過程。 |
高層設計處理整體流程和使用者互動。 | 低層設計處理使用者介面。 |
未來的系統更改可在高層設計中進行調整。 | 計劃擴充套件模組,而無需進行任何重大更改。 |
結論
高層設計和低層設計是系統設計的一部分。高層設計包括系統架構,包括資料庫設計、平臺描述、關係、服務等。低層設計包括軟體開發中包含的方面。它們都是系統設計的重要組成部分,並且存在許多差異。
高層設計與低層設計常見問題解答
1. 哪種設計包含整個系統的所有方面?
高層設計包含整個系統的所有方面。
2. 高層設計和低層設計的其他名稱是什麼?
高層設計稱為宏觀設計,低層設計稱為微觀設計。
3. 誰負責建立高層設計和低層設計?
解決方案架構師建立高層設計,而設計師和開發人員建立低層設計。
4. 在哪種設計中包含資料庫設計?
高層設計中包含資料庫設計。
5. 哪種設計處理模組的實現?
低層設計處理模組的實現。
廣告