High Level Design Là Gì

Photo by Austin Distel on UnsplashBackgroundIn the software development process, in this case, significant scope project development. That has many teams involved, & sometimes there is some missing links between the thành viên for understanding the feature. The absent link cause by there is no base understanding for each team. That is why documentation is needed khổng lồ standardize the development process. A High-Level Design can be a way lớn get all team understanding of how the overall solution that will be implemented.

Bạn đang xem: High level design là gì

High-Level design can provide a framework or guidance for across the team the get a better understanding of the feature. This documentation can drive sầu the detailed kiến thiết khổng lồ follow the overall solution. To create a High-Level Design there are many approaches khổng lồ start with. The simple way khổng lồ vì chưng it is khổng lồ create a diagram to represent the solution. The document will not contain a full explanation, like what framework to be used. But more lượt thích a general flow on how the process would be and what technical solution that we needed khổng lồ complete the requirement.

The Solution

Gather RequirementThe first thing khổng lồ bởi is lớn get the full requirement from the business team. Regardless they already make the User Story (List of requirement in a story size by user perspective), we also need khổng lồ get a better understanding of the requirement. To get a solid base of understanding requires a discussion of the requirement with the Product Owner, which in that session, we can run through the requirement one by one.

We usually will look at the story, và the UI design (if already there) briefly take a look at:

Business rulesFront EndData flowAPI standpointDatabaseExternal system integration

In the session, we can roughly discuss all the points và our perspectives from the technical team to lớn the business team. Then there might be a change in their requirement và thiết kế based on how the session going because we don’t want any funny requirement that in the kết thúc cannot be implemented in our application.

Get High-Level FlowAfter getting clear about the requirement & high-cấp độ flow, it is time to lớn create a high-level thiết kế. First, We make a (System) diagram khổng lồ design our solution. In our project, because we use Microservices architecture, we will define the use case as a service. We will create a relationship between service to create a general understanding of the service that will be used.

Second, we will create a diagram between the screen flow. In this diagram, we can get an overview of the general flow. We also put all the possible API (Application Programming interface), data flow, and external system integration. To create this diagram, we need to align the requirement và the thiết kế screen. Don’t forget to include all the decisions & ngắn gọn xúc tích between each flow. For High-Level Design, we only create a positive flow, or usually, we hotline this happy flow. Because first, we want to know the goal of the process.

System Diagram



System Diagram

In creating the System Diagram, we’ll have to see deeper from the technical standpoint. These days, we use separate Micro Services for each feature. It will be based on how the technical team doing the work. So for this case you have sầu khổng lồ underst& already when we will need to lớn create a new Microservice và when it is not. This understanding will be variant on how the organization work and you as the one to develop the solution. There will be a lengthy discussion across the team before and after creating the solution. But the main point here is to get the answer first on how we will complete the requirement.

Xem thêm: Thông Tin Tiểu Sử Diễn Viên Tiến Luật Bao Nhiêu Tuổi, Thông Tin Tiểu Sử Diễn Viên Tiến Luật

Can we use existing Micro Services to handle the requirement?How many new Micro Services that we need?Is there any external system that needs to be integrated?

Based on this question we need to lớn come up with the answer by the system diagram. We can draw it like this, in this case, is a sản phẩm điện thoại application, by connecting it to the require Micro Services & what external system that we need.

High-Level Design



High-Level Design

After creating the System Diagram, we can continue work on the High-Level Design. In this diagram, it will be much better if the UI/UX already finish their kiến thiết. So we can recreate their flow with plus the technical solution that we come up with. To doing so, start with the positive sầu flow, where is the entry point, draw the process until when the flow is ended. Add the decision và xúc tích for each screen. After that add the solution, what API that we need to call, what Microservice that we use, what data we need to pass for each screen. We will use this naming convention for the API. But it will be based on how the technical team will write it.


API Naming

The next step is lớn add the external system that we needed for each API. If you already know the system name you can put there specifically, either way, you can put the function first like “Payment Gateway” etc.

Later after you finish the positive sầu flow, we can kiến thiết the negative flow. Practically we need lớn see all the possible handling for the flow. Like when the API Hotline is failed, business error, external system down, or cannot be reached. All that can be added here in the High-Level Solution, or we can keep it later for the Detailed Design. At least, we can identify first how the handling would be looked lượt thích.


By doing this organization now will have sầu base documentation on how the feature will be. We can present our solution upfront to lớn explain how the feature work & what we need to lớn implement. The technical team can get a bigger picture of the feature & start thinking of the implementation. From a business team standpoint, they can get a functional diagram that explains how the requirement will be built. When we can get all team to lớn understvà the big picture we can collect the feedbaông chồng faster on how complex the feature will be and of course how long it will take. This documentation & process will remove the missing liên kết and can get all the team on board with the same goal; collaboration from each team require to produce a chất lượng and faster implementation.

Xem thêm: Cấu Trúc Của Chủ Từ Trong Tiếng Anh Là Gì, Chủ Ngữ Và Động Từ Trong Tiếng Anh (Tổng Hợp)

Although creating a High-Level Design is not a one-time process, you need to lớn iterate the process over and over again through many cases và scenarquả táo. Because you want this as a foundation of the feature or application, you want to lớn build. Get experience by discussing with many functions of the team. Even you can use High-Level Design to lớn communicate with management on how the solution will be. In the over, all member from the business team or technical team can go baông chồng khổng lồ this to lớn see the solution, how the feature work, what vị we need, and what the goals of the feature or application.