Understanding HLD & LLD

ยท

3 min read

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

BasisHLDLLD
Stands forHigh-Level Design.Low-Level Design.
DefinitionIt 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.
PurposeProvides a clear description of each component's function.Identifies the component's specific efficient logic.
Also, known asSystem or macro-level design.Details or micro-level design.
Developed bySolution ArchitectDesigner & Developer
Sequential OrderIt's created first in order.It is developed after High-level design.
Target AudienceManagement, program, and solution teams.Designers, operational teams, and implementers.
ConversionUsing 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 outputThe 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 CriteriaAs 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 CriteriaFunctioning 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.

Conclusion

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

Did you find this article valuable?

Support Faiz's Blog by becoming a sponsor. Any amount is appreciated!

ย