Functional requirement mô tả hành vi user cần; non-functional requirement nêu chất lượng và ràng buộc như latency, accessibility, security, capacity và recovery.
Functional requirement mô tả hành vi user cần; non-functional requirement nêu chất lượng và ràng buộc như latency, accessibility, security, capacity và recovery.
| Câu hỏi | Câu trả lời thực tế |
|---|---|
| Dùng khi nào? | Trong một tình huống thực tế nhỏ, hãy vẽ các thành phần, theo dõi một request hoặc quyết định từ đầu đến cuối và đánh dấu bằng chứng tạo ra ở từng bước. |
| Cần làm gì? | Viết lại yêu cầu login mơ hồ thành ba behavior example và bốn quality constraint đo được, mỗi mục có owner và cách verify. |
| Biết là đúng bằng cách nào? | Người khác có thể làm lại từ ghi chú của bạn và mỗi nhận định quan trọng đều có output, số đo, kết quả truy vấn hoặc artifact để review. |
| Lỗi hay gặp? | Lỗi phổ biến là chọn công cụ hoặc pattern trước khi nêu rõ bài toán, ràng buộc và cách đo thành công. |
flowchart LR
A[Câu hỏi] --> B[Yêu cầu chức năng và phi chức năng]
B --> C[Ví dụ nhỏ]
C --> D[Bằng chứng]
Điểm quan trọng của sơ đồ là không dừng ở định nghĩa: hãy nối khái niệm với một ví dụ nhỏ và bằng chứng có thể quan sát.
Trong một tình huống thực tế nhỏ, hãy vẽ các thành phần, theo dõi một request hoặc quyết định từ đầu đến cuối và đánh dấu bằng chứng tạo ra ở từng bước.
Trước khi làm, hãy viết dấu hiệu thành công. Sau đó chỉ thay đổi một yếu tố, quan sát kết quả và ghi lại assumption. Với Yêu cầu chức năng và phi chức năng, cách này giúp tách điều bạn biết khỏi điều bạn chỉ đang đoán.
Mục tiêu: Viết lại yêu cầu login mơ hồ thành ba behavior example và bốn quality constraint đo được, mỗi mục có owner và cách verify.
Kết quả mong đợi: Người khác có thể làm lại từ ghi chú của bạn và mỗi nhận định quan trọng đều có output, số đo, kết quả truy vấn hoặc artifact để review.
Lỗi phổ biến là chọn công cụ hoặc pattern trước khi nêu rõ bài toán, ràng buộc và cách đo thành công.
Khi kết quả khác dự đoán, đừng đổi nhiều thứ cùng lúc. Kiểm tra input, version, environment, quyền truy cập và log trước; sau đó lặp lại từ ví dụ nhỏ nhất.
Mở resource hoặc repository đi kèm ở cuối trang khi bạn cần implementation đầy đủ. Hãy kiểm tra version hiện hành trước khi dùng command trong dự án thật.
Học thiết kế hệ thống như một chuỗi quyết định, dùng nền tảng học tập nhỏ làm ví dụ xuyên suốt.
High-level design giải thích boundary, data flow, dependency và tradeoff lớn; low-level design mô tả component, interface, data model, algorithm và cách xử lý failure.
Capacity estimate chuyển giả định sản phẩm thành request/giây, concurrency, dung lượng lưu trữ và network throughput. Khoảng giá trị cùng peak factor thực tế hơn con số chính xác giả tạo.