Design Documentation Overview

An overview of High-Level Design in software engineering.

High-Level Design (HLD)

High-Level Design (HLD) provides a macro view of the system's architecture and serves as the foundation for both Low-Level Design and implementation.

Key Elements of HLD:

  • System Architecture: Describes the structure of the application, including layers and components.
  • Module Breakdown: Defines the main modules and their responsibilities.
  • Data Flow Diagrams: Visualizes how data moves across the system.
  • Technology Stack: Specifies the tools and frameworks.
  • API Specifications: High-level API requirements for component communication.
------------------------------------------------------------------------------------------------------------------------------- Low level Design Design Documentation Overview

Design Documentation Overview

An overview of Low-Level Design in software engineering.

Low-Level Design (LLD)

Low-Level Design (LLD) provides in-depth details of each component, focusing on the internal logic and implementation of the modules defined in HLD.

Key Elements of LLD:

  • Class Diagrams: Detailed view of each class, including attributes and relationships.
  • Function and Method Design: Specifications for methods and their logic.
  • Database Design: Defines table structures, indexes, and relationships.
  • Sequence Diagrams: Shows interactions between objects for use cases.
  • Error Handling and Edge Cases: Explains how errors and edge cases are managed.