It explains the architecture that would be used for
developing a software product. The architecture diagram provides an overview of
an entire system, identifying the main components that would be developed for
the product and their interfaces.
HLD
is the overall system design - covering the system architecture and database
design documents. It describes the relationship between various modules and
functions of the system. Data flow, flow charts, and data structures are
covered under HLD.
The HLD uses possibly
nontechnical to mildly technical terms that should be understandable to the
administrators of the system as it gives overall System Design in terms of
Functional Architecture details and Database design.
In contrast, low-level design further exposes the
logical detailed design of each of these elements for programmers.
Purpose
Preliminary
design
In the preliminary stages of a software
development, 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 fit
together.
High-level
design document
A high-level design document or HLDD adds the
necessary details to the current project description to represent a suitable
model for coding. This document includes a high-level architecture diagram
depicting the structure of the system, such as the database architecture,
application architecture (layers), application flow (navigation), security
architecture and technology architecture.
Design
overview
A high-level design provides an overview of a
system, product, service or process. Such
an overview helps supporting components be compatible with others.
The highest-level design should briefly describe
all platforms, systems, products, services, and processes that it depends on
and include any important changes that need to be made to them.
In addition, there should be brief consideration of
all significant commercial, legal, environmental, security, safety and
technical risks, issues, and assumptions.
Every type of end-user should be identified in the
high-level design and each contributing design should give due consideration to
the customer experience.