Thiết kế hệ thống cấp cao và cấp thấp trong phát triển phần mềm

Thiết kế hệ thống cấp cao và cấp thấp trong phát triển phần mềm

Chia sẻ kiến thức 15/08/2022

Cùng FUNiX tìm hiểu về thiết kế hệ thống cấp cao (HLD) và thiết kế hệ thống cấp thấp (LLD) trong chu trình phát triển phần mềm.

Vòng đời phát triển phần mềm (Software Development Life Cycle, viết tắt là SDLC) bao gồm nhiều giai đoạn khác nhau như lập kế hoạch, đánh giá yêu cầu, phân tích, thiết kế, thực thi, lập tài liệu, thử nghiệm, v.v. Mỗi giai đoạn được chia thành các nhiệm vụ với các mục tiêu và kết quả được xác định.

Phân tích và Thiết kế là các giai đoạn trong đó kiến ​​trúc thực tế, mô hình làm việc và quy trình thực thi của việc xây dựng một sản phẩm phần mềm được đặt ra.

Hai bước quan trọng trong các giai đoạn này là Thiết kế Hệ thống Cấp cao và Thiết kế Hệ thống Cấp thấp.

1. Thiết kế hệ thống cấp cao là gì?

Thiết kế cấp cao (High-Level Design, viết tắt là HLD) cung cấp một cái nhìn tổng quan toàn diện về quá trình phát triển phần mềm cùng với kiến ​​trúc hệ thống, ứng dụng, quản lý cơ sở dữ liệu và lưu đồ (flowchart) hoàn chỉnh của hệ thống và điều hướng. Đây là một kế hoạch chi tiết hợp nhất các bước và mô-đun khác nhau, mục tiêu của chúng, các thành phần có thể thay đổi, kết quả, kiến ​​trúc và dòng thời gian để phát triển phần mềm. HLD chuyển kế hoạch kinh doanh thành sản phẩm hoặc dịch vụ phần mềm.

Ví dụ về HLD trong phát triển phần mềm bao gồm tài liệu kiến ​​trúc hệ thống, sơ đồ phát triển ứng dụng, v.v.

2. Thiết kế hệ thống cấp thấp là gì?

Thiết kế cấp thấp (Low-Level Design, viết tắt là LLD) bao gồm việc lập kế hoạch, viết code và thực thi các thành phần, mô-đun và các bước khác nhau trong HLD. Mỗi mô-đun trong HLD có một tài liệu LLD duy nhất cung cấp thông tin chi tiết toàn diện về cách mô-đun sẽ được code, thực thi, kiểm tra chất lượng và tích hợp vào chương trình lớn hơn. LLD cung cấp các kế hoạch có thể hành động bằng cách giải cấu trúc các thành phần của HLD thành các giải pháp hoạt động.

Ví dụ về LLD trong phát triển phần mềm bao gồm tích hợp giỏ hàng, kiểm tra bảo mật, thiết kế giao diện người dùng, v.v.

>>> Đọc bài viết: 5 Điểm đáng chú ý tại khóa học lập trình trực tuyến FPT – FUNiX

3. Sự khác biệt giữa HLD và LLD

Cũng như ngôn ngữ lập trình cấp cao và ngôn ngữ lập trình cấp thấp.HLD và LLD cũng phục vụ các chức năng và mục đích khác nhau. 

3.1 Kiến trúc và thiết kế vĩ mô so với vi mô

HLD là một thiết kế cấp vĩ mô cung cấp cái nhìn toàn cảnh về quá trình phát triển phần mềm. Nó bao gồm sơ đồ, lưu đồ, chi tiết điều hướng và các yêu cầu kỹ thuật khác của quá trình phát triển.

Ngoài lưu đồ, sơ đồ, thông tin điều hướng và các yêu cầu kỹ thuật, LLD cũng bao gồm thông tin toàn diện về việc thực hiện từng bước của từng thành phần của HLD. Nó liên quan đến phát triển phần mềm ở cấp vi mô.

Mọi thành phần của HLD đều có một tài liệu LLD duy nhất.

3.2 Thứ tự

HLD có trước giai đoạn LLD. HLD bắt đầu sau giai đoạn lập kế hoạch và yêu cầu. Khi HLD đã được phê duyệt để thực thi, công việc trên các LLD riêng lẻ có thể bắt đầu.

LLD cần phải được thực hiện theo một thứ tự nhất định. Một số mô-đun phải chờ cho đến khi những mô-đun khác được hoàn thành.

LLD thuộc giai đoạn Thiết kế, trong khi HLD thuộc giai đoạn Phân tích của Vòng đời phát triển phần mềm, 

3.3 Mục đích

  • Mục đích của HLD là liệt kê các khía cạnh chức năng của các mô-đun khác nhau cùng với kết quả cuối cùng.
  • Mục đích của LLD là trình bày chi tiết logic và quá trình thực thi của từng mô-đun trong HLD.

3.4 Các bên liên quan

Kiến trúc sư giải pháp chịu trách nhiệm tạo một tài liệu HLD. Nó có thể xác định các bên liên quan bên trong và bên ngoài như nhóm đánh giá, nhóm thiết kế, khách hàng và người quản lý.

LLD được xử lý bởi các nhà phát triển phần mềm, quản trị viên web, kỹ sư bảo mật, v.v., những người thuộc công ty hoặc nhà cung cấp. LLD thường chỉ liên quan đến các team nội bộ.

3.5 Đối tượng mục tiêu

Các tài liệu HLD có đối tượng mục tiêu là các nhà quản lý, khách hàng và nhóm phát triển phần mềm.

Các kỹ sư phần mềm, người viết code, người kiểm tra và nhà phát triển làm việc trong dự án là đối tượng mục tiêu của các tài liệu LLD.

3.6 Kết quả dự kiến

  • Kết quả của một HLD là một sản phẩm hoặc dịch vụ phần mềm sẵn sàng để chuyển đến người dùng cuối.
  • Kết quả của một LLD là việc hoàn thành một mô-đun duy nhất của HLD, giống như các giai đoạn code hoặc thử nghiệm.

>>> Xem thêm: Review khóa học trực tuyến FUNiX FPT đang được nhiều bạn trẻ lựa chọn

4. Hiểu về tài liệu thiết kế phần mềm

Các tài liệu thiết kế phần mềm phác thảo các khía cạnh cấu trúc, chức năng và logic của việc phát triển một sản phẩm hoặc dịch vụ phần mềm ngoài các yêu cầu kỹ thuật và các chi tiết triển khai khác. Cho dù thiết kế đề cập đến việc thực thi cấp vĩ mô hay vi mô, các lập trình viên và các bên liên quan khác cần biết và hiểu về phạm vi cũng như các bước khác nhau của quy trình phát triển phần mềm.

>>>  Tìm hiểu ngay các khóa học lập trình của FUNiX tại:

>>> Xem thêm nhiều hơn bài viết tại đây:

 

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/high-level-system-design-vs-low-level-system-design/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
Chat với FUNiX GPT ×

yêu cầu gọi lại

error: Content is protected !!