High Level Design (HLD) is a general system design and includes the description of the System architecture and design. Brief explanation on components like platforms, systems, services and processes is also considered part of HLD. Data flows, flowcharts, data structures are included in HLD documents so that developers/implementers can understand how the system is expected to work with regards to the features and the design. It describes the relation between various components and functions of the system. It defines the actual logic for each and every module of the system, design Architecture to understand the flow of the system with function and database design. As part of consultancy work or Architecture design, customer business requirement is converted into High Level Solution – In network and security setups, it may include security Zones, Traffic flows and high level connectivity across various entities.
Related – HLD vs LLD
Components of High Level Design
In order to describe a bird’s eye view of the overall solution, High level design should include two key components –
- Functionalities and properties/attributes of components
- Interactions and relations between various components.
Purpose of High Level Design (HLD)
The purpose of this High Level Design (HLD) Document is to add the necessary detail description to represent a suitable model. This document is designed to help in operational requirement and can be used as a reference manual for how the modules interact. Basically, HLD is a technical representation of functional requirements and flow of information across assets or components.
During the preliminary stages of a development, the need of the project is to identify those parts of the project that might be at risk or time consuming. HLD provides a brief description of how the various sub-systems and components of the system fit together.
Scope of HLD
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.
Characteristics of HLD
- HLD presents all of the design aspects (taken from business requirements and expected outcome) and defines them in form of a diagram.
- It describe the user interface being implemented and description of hardware and software interfaces.
- It describe the performance requirements and flow of user’s daily process.
- HLD includes design features and the architecture of the project.
- Port numbering, VLAN, physical specifications etc are not part of High Level Design.
Requirement of/from HLD
HLD briefly describes about the platforms/products/services/processes, flow of traffic that it depends on and includes any important changes that need to be made to them. HLD is the input for creating the LLD (Low Level Design) since the key communication items are displayed in HLD which are then converted to detailed communication in LLD, showing connectivity and physical level. HLD requires contribution from a number of experts, representing many distinct professional disciplines like SME, Design Architectures. Every type of end-user should be classified and identified in the HLD and each contributing design should give due consideration to the customer experience. Another important aspect is that HLD and LLD are source of reference in Operations stage also, after the project has been successfully implemented and now in BAU stage. Hence, design phase is of utmost importance.
During which phase of project is HLD created?
After the requirements of project have been understood and an overview of overall solution/system components communication needs to be carved out, this is where High Level Design is created. HLD will be the input for LLD or detailed design creation. The information available in HLD is the guiding principle which Low Level design needs to demonstrate in detail. HLD is required during –
Preliminary design—In the preliminary stages, the need is to size the project and to identify those parts of the project that might be risky or time consuming.
Design overview—As the project proceeds, the need is to provide an overview of how the various sub-systems and components of the system combines together in a frame.
Who is responsible for making HLD?
Solution architects are responsible for making the HLD. They build HLD and then Subject Matter experts or designers work to create LLD inline to the guidelines of HLD. LLD will encompass information related to understanding the traffic flow, creating network topology, IP addresses/VLANs and naming convention of device in an organization for smooth troubleshooting and to run operation.
HLD showcases a holistic overview of an entire solution, product, system, platform service, service or platform. High-level design (HLD) is architectural approach that will diagrammatically represent the architectural design in brief overview of the entire system.