Files
sys-analysis-design/.claude/skills/ba-2-analysis/examples.md
Leonard-ThindPad-P50 c81f249920 init git
2026-09-08 10:26:21 +07:00

6.1 KiB
Raw Blame History

Ví dụ minh hoạ — ba-2-analysis

Tách khỏi SKILL.md để quy trình không lẫn ví dụ của một ngành cụ thể.


Bước 2 · Cây phân rã ba tầng

Không nhảy cóc từ RQ xuống US.

Bán lẻ — đối soát POS

flowchart LR
    RQ["RQ-007 Phát hiện chênh lệch<br/>trong ngày phát sinh"] --> E02["EPIC-02 Đối soát POS"]
    E02 --> F05["FEAT-05 Nhập dữ liệu POS"]
    E02 --> F06["FEAT-06 So khớp và xử lý"]
    F05 --> U11(["US-011 Tải lên file POS hằng ngày"])
    F05 --> U12(["US-012 Xem kết quả nhập và lỗi từng dòng"])
    F06 --> U13(["US-013 Xem danh sách chênh lệch"])
    F06 --> U14(["US-014 Ghi chú và đóng một chênh lệch"])

Y tế — đặt lịch khám

flowchart LR
    RQ["RQ-003 Biết ngay slot<br/>còn trống hay không"] --> E01["EPIC-01 Đặt lịch trực tuyến"]
    E01 --> F01["FEAT-01 Tra cứu slot"]
    E01 --> F02["FEAT-02 Giữ chỗ và xác nhận"]
    F01 --> U01(["US-001 Xem slot trống theo chuyên khoa và ngày"])
    F01 --> U02(["US-002 Lọc slot theo bác sĩ"])
    F02 --> U03(["US-003 Giữ slot tạm 10 phút khi đang điền"])
    F02 --> U04(["US-004 Xác nhận đặt lịch, nhận mã hẹn"])

Use case của cùng module y tế — hình mang vào buổi duyệt G2

flowchart LR
    BN(["👤 Bệnh nhân"])
    DD(["👤 Điều dưỡng tiếp nhận"])

    subgraph HT["Phạm vi US-001 … US-004"]
        UC01(["US-001 Xem slot trống"])
        UC02(["US-002 Lọc theo bác sĩ"])
        UC03(["US-003 Giữ slot tạm"])
        UC04(["US-004 Xác nhận đặt lịch"])
    end

    BHYT[["Hệ thống BHYT — ngoài phạm vi"]]

    BN --- UC01
    BN --- UC02
    BN --- UC03
    BN --- UC04
    DD --- UC01
    DD --- UC04
    UC04 --- BHYT

Cùng một phạm vi, hai góc nhìn: cây phân rã cho BA truy vết RQ → US; use case cho PO thấy ai làm được gì trong một hình.

🔴 US-003 là US mà chỉ có AS-IS mới lộ ra: quan sát thấy hai bệnh nhân cùng chọn một slot rồi một người bị gọi lại báo huỷ. Không quan sát thì không ai nghĩ tới việc giữ chỗ tạm.


Bước 2 · Tách US quá lớn — bốn cách, theo thứ tự

Cách Ví dụ
1. Theo luồng nghiệp vụ "Quản lý cửa hàng" → tạo · sửa · xoá · xem = bốn US
2. Theo quy tắc "Đặt lịch" → luồng thường / luồng bệnh nhân BHYT (cần tra cứu thẻ)
3. Theo dữ liệu "Nạp dữ liệu" → nguồn POS trước, nguồn ERP sau
4. Theo vai trò "Xử lý chênh lệch" → người ghi chú / người phê duyệt đóng

❌ Không tách theo tầng kỹ thuật. "US làm API" + "US làm giao diện" không giao được mẩu giá trị nào chạy được đầu-cuối — và không ai nghiệm thu được từng cái riêng.


Bước 3 · Nguồn của rule quyết định độ cứng

Rule Domain Nguồn Được đề xuất bỏ không
"Hồ sơ bệnh án lưu tối thiểu 10 năm" Y tế 🔴 Quy định pháp luật Không — chỉ tuân thủ, ghi rõ điều khoản
"Chênh lệch > 10 triệu cần trưởng phòng duyệt" Bán lẻ 🟠 Chính sách công ty Có, qua cấp ký chính sách
"Mã cửa hàng phải viết hoa" Bán lẻ 🟢 Thói quen nội bộ Có — và nên hỏi, thường không ai nhớ vì sao có

Hỏi nguồn của mọi rule. Ba loại này có độ cứng hoàn toàn khác nhau, và gộp chúng lại làm mất khả năng đàm phán ở đúng chỗ đáng đàm phán.


Bước 3 · Công thức tính toán — chỗ hay sai

BR-045 | Chênh lệch đối soát
         Công thức: tổng POS − tổng hệ thống
         Đơn vị: VND
         🔴 Thứ tự: làm tròn TỪNG DÒNG tới đơn vị rồi mới cộng
            (khác với cộng rồi làm tròn — lệch tới vài nghìn đồng/ngày)
         Múi giờ: giao dịch tính theo ngày làm việc của cửa hàng (UTC+7),
                  KHÔNG theo timestamp UTC của bản ghi
         Ví dụ: 1.234.567 − 1.234.000 = 567

Ba thứ phải ghi rõ ở mọi công thức, ở mọi domain: thứ tự phép tính · làm tròn ở bước nào · múi giờ / đơn vị.


Bước 4 · Ma trận phân quyền — hỏi câu phủ định

Ma trận toàn ✅ nghĩa là chưa phân tích. Hỏi "vai trò nào KHÔNG được làm việc này?"

Hành động Nhân viên Trưởng nhóm Kế toán Admin
Xem danh sách 🔶 chỉ cửa hàng phụ trách ✅ ✅ ✅
Duyệt chênh lệch ❌ 🔶 không tự duyệt bản ghi mình tạo (SoD-01) ❌ ❌
Xuất dữ liệu 🔶 cần nhập lý do ✅ ✅ ✅

Chú ý ô Admin ở dòng "Duyệt": ❌. Admin có mọi quyền kỹ thuật nhưng không có thẩm quyền nghiệp vụ — đây là chỗ ma trận hay bị điền sai theo quán tính.

Ô 🔶 bắt buộc ghi điều kiện ngay trong ô. 🔶 trống là ô chưa phân tích xong.


Bước 5 · Dữ liệu cũ — ba lựa chọn, phải chọn một

Domain Tình huống Lựa chọn Chi phí kèm theo
Bán lẻ Thêm cột "loại cửa hàng", 12.000 bản ghi cũ null Migrate — điền THƯỜNG Script + đối chiếu count sau khi chạy
Y tế Đổi quy tắc mã hồ sơ từ 2026 Song song — hồ sơ cũ giữ mã cũ Quy tắc phân biệt phải hiển thị được cho điều dưỡng
Logistics Thêm trường "nhiệt độ" cho lô hàng lạnh Giữ nguyên — lô cũ không có Chấp nhận báo cáo trước 2026 không có cột này; phải báo người đọc báo cáo

"Sẽ xử lý sau" không phải câu trả lời. Chưa đủ thông tin để chọn ⇒ OQ có người và có hạn.