基本設計 và 詳細設計 khác nhau thế nào?
So sánh 基本設計 và 詳細設計 trong dự án Nhật, giải thích góc nhìn nghiệp vụ, kỹ thuật, tài liệu, review và cách developer nên đọc.
Nội dung được JLPTVN biên tập cho người học tiếng Nhật tại Việt Nam. Với lịch thi, đăng ký và địa điểm thi, hãy kiểm tra thêm nguồn chính thức được dẫn trong bài trước khi quyết định.
Introduction
Trong dự án Nhật, bạn sẽ thường thấy hai tài liệu: 基本設計 và 詳細設計. Nếu dịch nhanh, 基本設計 là basic design, 詳細設計 là detailed design. Nhưng với developer, chỉ dịch như vậy chưa đủ. Bạn cần biết tài liệu nào trả lời câu hỏi "hệ thống làm gì" và tài liệu nào trả lời "developer làm như thế nào".
Bài này giải thích sự khác nhau giữa 基本設計 và 詳細設計 bằng ví dụ dễ hiểu. Đây là kiến thức nền cho người muốn đọc 仕様書, trao đổi với BrSE, nhận task từ công ty Nhật hoặc tiến tới vai trò thiết kế.
Nếu bạn đang học N4, hãy tập nhớ từ vựng trước: 画面, 項目, 入力, 出力, 処理, 条件, エラー, 権限, API, テーブル. Đây là các từ xuất hiện nhiều trong tài liệu thiết kế.
Main concept
基本設計 là thiết kế cơ bản, thường mô tả hệ thống từ góc nhìn người dùng, nghiệp vụ và chức năng lớn. Nó trả lời các câu hỏi như: màn hình có những mục nào, user làm flow gì, dữ liệu nào hiển thị, chức năng này dùng để làm gì, có rule nghiệp vụ nào quan trọng, quyền nào được thao tác.
詳細設計 là thiết kế chi tiết, thường gần với developer hơn. Nó mô tả logic xử lý, API, DB, validation, condition, error handling, batch, class, function hoặc cách liên kết giữa các module. Nó trả lời câu hỏi: code cần xử lý thế nào để đáp ứng 基本設計.
Ví dụ với chức năng login. 基本設計 có thể ghi: user nhập email và password, nếu đúng thì vào dashboard, nếu sai thì hiển thị message lỗi. 詳細設計 sẽ ghi API endpoint nào, request gồm field nào, password hash ra sao, status code nào, số lần login sai có lock account không, log lỗi như thế nào.
Trong công ty Nhật, tách hai loại thiết kế giúp các bên review đúng góc nhìn. Khách hàng hoặc business có thể review 基本設計. Developer và tech lead review 詳細設計. Nếu lẫn hai thứ, tài liệu có thể quá kỹ thuật với khách hàng nhưng lại thiếu chi tiết với developer.
Common misunderstanding
1. "基本設計 nghĩa là đơn giản, không quan trọng"
Không đúng. 基本設計 là nền tảng. Nếu basic design sai, detailed design và code dù tốt vẫn làm sai mục tiêu.
2. "詳細設計 chỉ cần copy code logic ra tài liệu"
詳細設計 không phải là viết lại code bằng văn bản. Nó cần mô tả logic đủ rõ trước khi code hoặc để người khác hiểu cách xử lý.
3. "Developer chỉ đọc 詳細設計"
Developer nên đọc cả 基本設計. Nếu chỉ đọc chi tiết kỹ thuật mà không hiểu flow user, bạn dễ bỏ sót case nghiệp vụ.
4. "Một dự án Agile thì không cần thiết kế"
Agile không có nghĩa là không cần thiết kế. Chỉ là mức độ và cách cập nhật tài liệu có thể nhẹ hơn. Với khách hàng Nhật, tài liệu vẫn thường cần để xác nhận.
Real project example
Team làm chức năng đổi mật khẩu. 基本設計 ghi user cần nhập mật khẩu hiện tại, mật khẩu mới và xác nhận mật khẩu mới. 詳細設計 ban đầu chỉ kiểm tra độ dài mật khẩu, nhưng không ghi rule "mật khẩu mới không được giống mật khẩu cũ".
Reviewer: "基本設計には、現在のパスワードと同じ場合はエラーとあります。詳細設計に反映されていますか。"
Developer: "詳細設計に記載がありませんでした。バリデーション条件に追加します。"
Reviewer: "お願いします。エラーメッセージも確認してください。"
Developer: "承知しました。詳細設計に条件とエラーメッセージを追記します。"
Ở đây, reviewer so sánh 基本設計 với 詳細設計. Đây là cách review rất thường gặp: tài liệu chi tiết phải phản ánh đúng yêu cầu ở tài liệu cơ bản.
Useful Japanese phrases
| 日本語 | かな | Nghĩa tiếng Việt | Dùng khi nào | 丁寧度 |
|---|---|---|---|---|
| 基本設計を確認しました。 | きほんせっけいをかくにんしました | Tôi đã kiểm tra basic design. | Sau khi đọc tài liệu | Lịch sự |
| 詳細設計に反映します。 | しょうさいせっけいにはんえいします | Tôi sẽ phản ánh vào detailed design. | Khi update tài liệu chi tiết | Lịch sự |
| この条件は詳細設計に記載されていますか。 | このじょうけんはしょうさいせっけいにきさいされていますか | Điều kiện này có ghi trong detailed design không? | Khi review | Rất lịch sự |
| 画面項目を確認したいです。 | がめんこうもくをかくにんしたいです | Tôi muốn xác nhận các mục trên màn hình. | Khi đọc UI design | Lịch sự |
| バリデーション条件を追加します。 | ばりでーしょんじょうけんをついかします | Tôi sẽ thêm điều kiện validation. | Khi sửa detailed design | Lịch sự |
| エラーメッセージを確認します。 | えらーめっせーじをかくにんします | Tôi sẽ xác nhận message lỗi. | Khi thiết kế validation | Lịch sự |
| API仕様を確認します。 | えーぴーあいしようをかくにんします | Tôi sẽ kiểm tra API spec. | Khi làm backend/frontend | Lịch sự |
| テーブル設計を見直します。 | てーぶるせっけいをみなおします | Tôi sẽ xem lại thiết kế table. | Khi DB chưa phù hợp | Lịch sự |
| 処理フローを整理します。 | しょりふろーをせいりします | Tôi sẽ整理 flow xử lý. | Khi logic phức tạp | Lịch sự |
| 設計間の差分を確認します。 | せっけいかんのさぶんをかくにんします | Tôi sẽ kiểm tra chênh lệch giữa các tài liệu thiết kế. | Khi basic và detail lệch nhau | Lịch sự |
Vocabulary
| 日本語 | かな | Nghĩa | 使用例 |
|---|---|---|---|
| 基本設計 | きほんせっけい | thiết kế cơ bản | 基本設計をレビューします。 |
| 詳細設計 | しょうさいせっけい | thiết kế chi tiết | 詳細設計を作成します。 |
| 画面項目 | がめんこうもく | item trên màn hình | 画面項目を確認します。 |
| 入力 | にゅうりょく | input | 入力チェックを追加します。 |
| 出力 | しゅつりょく | output | 出力内容を確認します。 |
| 処理 | しょり | xử lý | 処理を修正します。 |
| 条件 | じょうけん | điều kiện | 条件を追加します。 |
| 分岐 | ぶんき | branching | 分岐を整理します。 |
| 権限 | けんげん | quyền | 権限を確認します。 |
| API仕様 | えーぴーあいしよう | API spec | API仕様を読みます。 |
| テーブル設計 | てーぶるせっけい | DB table design | テーブル設計を見直します。 |
| 差分 | さぶん | khác biệt | 差分を確認します。 |
Mini quiz
Câu 1
基本設計 thường trả lời câu hỏi nào?
- A. User cần hệ thống làm gì
- B. Editor dùng theme gì
- C. Developer ăn trưa ở đâu
- D. Tên branch local
Đáp án: A. 基本設計 gần với chức năng và nghiệp vụ từ góc nhìn user.
Câu 2
詳細設計 thường chứa nội dung nào?
- A. Logic xử lý, API, DB, validation
- B. Lịch du lịch
- C. Nội quy văn phòng
- D. Quảng cáo sản phẩm
Đáp án: A. 詳細設計 đi sâu vào cách hệ thống xử lý.
Câu 3
Developer nên đọc tài liệu nào?
- A. Chỉ 詳細設計
- B. Chỉ 基本設計
- C. Cả hai nếu có liên quan đến task
- D. Không cần đọc tài liệu
Đáp án: C. Đọc cả hai giúp hiểu mục tiêu và cách implement.
Next action
Nếu bạn chưa chắc mình đủ nền tảng để đọc tài liệu Nhật, hãy làm bài chẩn đoán. Sau đó học theo vòng học 15 phút, luyện từ vựng, ngữ pháp N4 và mẫu câu spec. Để kiểm tra kiến thức IT Japanese, làm bài luyện IT. Muốn học đều trong 14 ngày, dùng checklist.
Đọc tiếp: vì sao công ty Nhật cần tài liệu thiết kế, 仕様書 là gì, và review trong dự án Nhật.
FAQ
Dự án nào cũng có cả 基本設計 và 詳細設計 không?
Không. Một số dự án nhỏ hoặc Agile có thể gộp tài liệu. Nhưng trong dự án Nhật lớn, hai khái niệm này rất thường gặp.
基本設計 có phải do khách hàng viết không?
Tùy dự án. Có khi vendor hoặc SIer viết rồi khách hàng review. BrSE có thể tham gia giải thích và xác nhận.
詳細設計 có cần viết trước khi code không?
Trong nhiều dự án Nhật, có. Nhưng mức độ chi tiết phụ thuộc quy trình team. Dù không viết dài, logic quan trọng vẫn nên được ghi rõ.
Nếu 基本設計 và 詳細設計 khác nhau thì làm gì?
Không tự chọn một bên. Hãy báo lại và xác nhận. Câu hữu ích là "設計間の差分を確認したいです。"
Học tiếp sau bài này
Chuyển từ bài viết sang lộ trình học 15 phút
Nếu bạn chưa rõ nên học N5, N4 hay tiếng Nhật IT trước, hãy làm bài kiểm tra ngắn. Nếu đã sẵn sàng, làm một bài luyện N5 ngắn rồi lưu lỗi sai vào vòng ôn tập.