HLD Theory

Design is the second stage in Software Development Life Cycle. The design stage includes two substages :
  • HLD - High Level Design
  • DLD - Detailed Level design
A High-Level Design is diagramatic representation of a solution, platform, system, product, service, or process.It is important in mulit-project development and provides an overview to make sure that each supporting component design will be compatible with its neighbouring designs and with the big picture.The highest level solution design should briefly describe all platforms, systems, products,services and processes that it depends upon and include any important changes that need to be made to them. A document that contains HLD will usually include a high-level architecture diagram depicting the components, interfaces and networks that need to be further specified or developed.
The purpose of this High Level Design (HLD) Document is to add the necessary detail to the current project description to represent a suitable model for coding. This document is also intended to help detect contradictions prior to coding, and can be used as a reference manual for how the modules interact at a high level.The HLD documentation presents the structure of the system, such as the database architecture, application architecture (layers), application flow (Navigation), and technology architecture. The HLD uses non-technical to mildly-technical terms which should be understandable to the administrators of the system.
The HLD will present all of the design aspects and define them in detail. It also describe the user interface beging implemented, the hardware and software interface and the performance requirements. It includes design features and the architecture of the project and describe the non-functional attributes like security, reliability, maintainability, portability, reusability, application compatibility, resource utilization and service ability. HLD also provide answers to more complex questions, such as nonfunctional requirements. These requirements include system audit and control, extensibility, resilence, vertical and horizontal scalability, multisite issues, and integration of third-party tools.
Following steps can be followed in preparation of HLD:
  • First step is to ascertain the components and then represent them, SRS is used as the base document for HLD.
  • Identify the constituents (attributes and methods) of each class.
  • Write a description of each constituent of identified classes, no matter how trivial each constituent seems to be. This is called the data dictionary.
  • Establish the relationship between the classes.
Some guidlines to design HLD are :
  • It should be a diagram or set of diagrams with as few notes as possible.
  • Start simple and at as high a level as possible.
  • Contain all the key objects that must be secured and represent them generically.
  • Contain all the key security relationships between objects.
  • Serve to generate all security test cases and a starting point from which to generate the DLD.

Post a Comment

Previous Post Next Post