For people who have been involved in software projects, they will constantly hear the terms, HighLevel Design (HLD) and Low Level Design (LLD). So what are the differences between these 2 designstages and when are they respectively used ?High – level Design gives the overall System Design in terms of Functional Architecture and Databasedesign. It designs the over all architecture of the entire system from main module to all sub module.This is very useful for the developers to understand the flow of the system. In this phase designteam, review team (testers) and customers plays a major role. For this the entry criteria are therequirement document that is SRS. And the exit criteria will be HLD, projects standards, thefunctional design documents, and the database design document. Further, High level deign gives theoverview of the development of product. In other words how the program is going to be divided intofunctions, modules, subdivision etc.Low – Level Design (LLD): During the detailed phase, the view of the application developed duringthe high level design is broken down into modules and programs. Logic design is done for everyprogram and then documented as program specifications. For every program, a unit test plan iscreated. The entry criteria for this will be the HLD document. And the exit criteria will the programspecification and unit test plan (LLD).The Low Level Design Document gives the design of the actual program code which is designedbased on the High Level Design Document. It defines Internal logic of corresponding submoduledesigners are preparing and mapping individual LLDs to Every module. A good Low Level DesignDocument developed will make the program very easy to be developed by developers because ifproper analysis is made and the Low Level Design Document is prepared then the code can bedeveloped by developers directly from Low Level Design Document with minimal effort of debuggingand testing.High Level Design (HLD) is the overall system design - covering the system architecture anddatabase design. It describes the relation between various modules and functions of thesystem. data flow, flow charts and data structures are covered under HLD.Low Level Design (LLD) is like detailing the HLD. It defines the actual logic for each andevery component of the system. Class diagrams with all the methods and relation betweenclasses comes under LLD. Programs specs are covered under LLD.