What HLD and LLD
The main difference between High-Level Design(HLD) and Low-Level Design(LLD) lies in their scope, level of abstraction, and purpose within the software development process:
-
Abstraction Level:
- HLD is high-level and conceptual, focusing on the overall system architecture and major components.
- LLD is low-level and implementation-specific, detailing the internal workings of each component
-
Scope & Focus
- HLD defines the overall structure, major modules, their interactions, and the flow of data between them. It addresses the w*hat* and why of the system.
- LLD specifies the internal design of individual modules, including algorithms, data structures, logic, and interfaces. It addresses the ‘how’ implementation.
-
Purpose:
- HLD serves as a blueprint for system architects, project managers, and stakeholders to understand and validate the system’s architecture before development begins
- LLD provides developers with precise instructions for coding and implementing each module, minimizing ambiguity and ensuring consistency
-
Deliverables:
- HLD may include: system context diagrams, module decomposition, data flow diagrams, and use case diagrams
- LLD may include: class diagram, sequence diagrams, activity diagrams, pseudo-code, detailed API specification , and database schemas.
-
Timing in SDLC:
- HLD is created early, during the analysis and design phase
- LLD follows HLD and is developed during the design and implementation phases
-
Audience:
- HLD is intended for a broad audience, including stakeholders and architects
- LLD is primarily for developers and QA teams.
Summary Table:
Aspect | High-Level Design(HLD) | Low-Level Design(LLD) |
---|---|---|
Abstraction Level | High, conceptual | Low, techincal/Implementaiton |
Scope | System architecture,modules | Internal Logic, algorithms, details |
Focus | What & Why | How |
Purpose | Blueprint for system structure | Blueprint for coding |
Deliverables | Diagrams, module overviews | class diagrams, pseudocode, APIs |
Timing | Early SDLC | After HLD, before coding |
Audicence | Stakeholders, architects | Developers, QA |
In essence, HLD provides the vision, while LLD gives the detailed blueprint for execution
Top comments (0)