In this part, we'll look at how HLD and LLD vary and compare them in a nutshell -
What is HLD?
Designers at HLD, which stands for High-Level Design, concentrate solely on certain models, such as:
Decisive tables, decision trees, flow diagrams, flow charts, and data dictionaries are all examples of these types of tools.
The high-level design developed by the solution architect is utilised to specify the whole application description or architecture.
Architecture and database design are two major components of the HLD.
The macro-level or system design (HLD) is another name for this. High-Level Solutions are created when a company or client need is transformed into a high-level demand.
High-Level Design comes first, then Low-Level Design, in the design process.
What is LLD?
For example, a user interface is referred to as a "Low-Level Design" component (UI).
It is the job of the developer management and the designers to produce the low-level design
Micro-level and intricate design are other terms for this approach. High-Level Solutions may be transformed into detailed solutions via the LLD.
Because all modules are described in great depth in low level design (LLD), all system logic is included in LLD. It delves deep into the details of each module's spec.
After the High-Level Design is completed, the Low-Level Design is developed.
HLD vs LLD
|Stands for||High-Level Design.||Low-Level Design.|
|Definition||It is the overarching design of the system, which implies it represents the overall design of the system.||When used to describe component-level design, it has the same significance as discussing high-level design.|
|Purpose||Provides a clear description of each component's function.||Identifies the component's specific efficient logic.|
|Also, known as||System or macro-level design.||Details or micro-level design.|
|Developed by||Solution Architect||Designer & Developer|
|Sequential Order||It's created first in order.||It is developed after High-level design.|
|Target Audience||Management, program, and solution teams.||Designers, operational teams, and implementers.|
|Conversion||Using the HLD, a low-level problem can be advanced to a high-level solution.||The LLD shifts from a high-level to a complete solution.|
|Probable output||The high-level design is required in order to comprehend the interrelationships between various components of the system.||The creation of configurations and the investigation of inputs requires a low-level design.|
|Input Criteria||As a high-level design input, SRS is used (Software Requirement Specification).||The evaluated HLD is used as an input metric in low-level design (High- Level Design).|
|Output Criteria||Functioning design, database design, and review record are the HLD's output measurements.||The unit test plan and programme specification serve as the low-level design's output basis.|
In this part, we've learned the most important distinction between high-level and low-level designs.
In other words, the high-level design defines the whole report and planning for the specific software product or application. Despite this, the low-level design defines the detailed report for each module.
Design team members, client teams and review teams are all involved in high-level design throughout the Software Development Life Cycle's design phase. Design and operations teams will, on the other hand, create low-level design.
Finally, we can state that the design phase of the SDLC process for each software product requires both HLD and LLD.
About Me 👨💻
I'm Faiz A. Farooqui. Software Engineer from Bengaluru, India. Find out more about me @ faizahmed.in