# Sa

> 系統分析 (SA) 方法論，專注於技術架構、資料流建模及 API 設計。

- Skill: `tai-ch0802/sa-2` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add tai-ch0802/sa-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tai-ch0802/sa-2/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: Tai-ch0802 (https://skillmd.com/u/tai-ch0802)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/tai-ch0802/sa-2

---


# 系統分析 (SA) 技能

此技能專注於系統分析與設計，目標是將 PRD 中的業務需求轉化為可執行的技術方案。SA 是連接「做什麼」(PRD) 與「怎麼做」(程式碼) 的橋樑。

## SA 核心職責

1.  **架構設計**：定義高層級系統結構、模組劃分與職責。
2.  **資料建模**：設計資料庫綱要、資料結構與儲存策略。
3.  **介面設計**：定義 API 規格、函式簽章與互動協議。
4.  **流程邏輯**：透過圖表（流程圖、時序圖）釐清複雜的業務邏輯。
5.  **測試策略**：**[關鍵]** 分析變更對現有測試的影響，並定義測試計畫。

## SA 產出物

*   **系統設計文件 (SDD)**：系統設計規格書。參考 `references/system_design_doc.md`。
*   **API 規格**：API 規格文件（Swagger/OpenAPI 或 Markdown）。
*   **資料庫綱要**：ER 模型或 JSON Schema 定義。

## 如何使用此技能

當使用者需要技術評估或設計時（例如：「請幫我規劃這個功能的資料結構」）：

1.  **分析**：審閱 PRD，確認所有功能需求的技術可行性。
2.  **建模**：
    *   **資料**：設計 JSON 物件或資料庫表格。
    *   **流程**：繪製 Mermaid 時序圖。
3.  **驗證測試**：
    *   搜尋所有與被變更模組相關的測試檔案 (grep/find)。
    *   分析測試程式碼是否依賴即將變更的內部實作或 DOM 結構。
    *   在 SA 文件中明確列出*必須修改的測試檔案*和*必須保留的 DOM 結構*。
4.  **設計**：填寫 `system_design_doc.md` 模板。
5.  **審核**：請使用者確認技術方案符合專案架構標準。

## 常用工具

*   **Mermaid**：用於繪製流程圖、時序圖、類別圖和狀態圖。參考 `references/diagram_guide.md`。
*   **TypeScript / JSDoc**：用於精確定義資料類型和介面。

## 檢查清單

*   [ ] 是否已考慮邊界情況？
*   [ ] 資料結構是否具備擴展性？
*   [ ] 是否符合現有的程式碼風格和架構模式？
*   [ ] 是否已評估效能影響？
*   [ ] **[必要]** 是否已識別所有受影響的測試案例，並有計畫隨程式碼變更同步更新測試？

