Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
High-level Design | Introduction to System Design
Software Architecture Fundamentals
course content

Course Content

Software Architecture Fundamentals

Software Architecture Fundamentals

1. Introduction to System Design
2. High Level Design
3. Low Level Design
4. Additional Design Approaches

bookHigh-level Design

High-level design (HLD) is the process of defining the overall structure of a system.

It provides a broad understanding of how different components of the system will work together, focusing on the big picture. In this phase, we don't get into the specific details of how things will be coded, but instead, we create a blueprint that guides the development of the system.

Why is High-Level Design Important?

High-level design helps you see the "forest" before focusing on the "trees."
It gives you the ability to:

  • Understand how the system's parts will interact;
  • Ensure that the system can meet both current and future needs (scalability);
  • Identify potential performance or security challenges early in the process.

Example

Let's apply these concepts to something more concrete: designing an e-commerce platform.

This platform will allow users to browse products, place orders, and make payments. At this stage, we are not worried about the details, like how exactly each function will work, but we want to map out the key components and how they connect.

As you can see, the high-level design does not delve into the specifics of coding or algorithms. Instead, it helps us understand the "big picture" of how different parts of the system interact.

It is also important to note that there are ready-made approaches to high-level design, which include various architectures for building a system. These architectures will be described in more detail in the next section.

What is the primary goal of high-level system design?

What is the primary goal of high-level system design?

Select the correct answer

Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 1. Chapter 3
some-alt