High-level design or HLD refers
to the overall system, a design that consists description of the system
architecture and design and is a generic system design that includes:
- System
architecture
- Database
design
- Brief
description of systems, services, platforms, and relationships among
modules.
What is
High-Level Design Document?
HLD document consists of data flows,
flowcharts, and data structures to help developers in understanding
and implement how the current system is being designed intentionally to
function.
This document is responsible for:
- explaining
the connections between system components and operations which depict the
logic, and
- architecture
design needed (for the system’s functionality and flow) for each and every
module of the system
as per the functional requirements. It is so
because customer business requirements are transformed into solutions that we
state as high-level designing as part of consulting work or architecture
design, security, and networks.
HLD does not include physical
requirements, port details, VLAN, and many other details.
Scope of High-Level Design Document
The High-Level Design documentation presents the
structure of the system as the application/database architecture, application
flow, and technology architecture. High-Level Design documentation may use some
non-technical terms, unlike low-level design which should be strictly technical
jargon.
Note: Making the
HLD is the responsibility of solution architects. After creating
HLD, now expert experienced designers move towards LLD in accordance with the
HLD’s criteria. LLD will provide details about how software entities will work
whereas HLD focuses only on what software entities to place in an organization
for efficient operation.
Here below constraints are expected from solution
architects while designing HLD:
- Gathering
both functional and non-functional requirements
- Costing
Limitations (It becomes an important pillar once the system for the
organization scales up)
- Strong
bounds over the degree of consistency, availability, scalability, and
performance of a system.
No comments:
Post a Comment