系統分析 (SA) 技能
此技能專注於系統分析與設計,目標是將 PRD 中的業務需求轉化為可執行的技術方案。SA 是連接「做什麼」(PRD) 與「怎麼做」(程式碼) 的橋樑。
SA 核心職責
- 架構設計:定義高層級系統結構、模組劃分與職責。
- 資料建模:設計資料庫綱要、資料結構與儲存策略。
- 介面設計:定義 API 規格、函式簽章與互動協議。
- 流程邏輯:透過圖表(流程圖、時序圖)釐清複雜的業務邏輯。
- 測試策略:[關鍵] 分析變更對現有測試的影響,並定義測試計畫。
SA 產出物
- 系統設計文件 (SDD):系統設計規格書。參考
references/system_design_doc.md。 - API 規格:API 規格文件(Swagger/OpenAPI 或 Markdown)。
- 資料庫綱要:ER 模型或 JSON Schema 定義。
如何使用此技能
當使用者需要技術評估或設計時(例如:「請幫我規劃這個功能的資料結構」):
- 分析:審閱 PRD,確認所有功能需求的技術可行性。
- 建模:
- 資料:設計 JSON 物件或資料庫表格。
- 流程:繪製 Mermaid 時序圖。
- 驗證測試:
- 搜尋所有與被變更模組相關的測試檔案 (grep/find)。
- 分析測試程式碼是否依賴即將變更的內部實作或 DOM 結構。
- 在 SA 文件中明確列出必須修改的測試檔案和必須保留的 DOM 結構。
- 設計:填寫
system_design_doc.md模板。 - 審核:請使用者確認技術方案符合專案架構標準。
常用工具
- Mermaid:用於繪製流程圖、時序圖、類別圖和狀態圖。參考
references/diagram_guide.md。 - TypeScript / JSDoc:用於精確定義資料類型和介面。
檢查清單
- 是否已考慮邊界情況?
- 資料結構是否具備擴展性?
- 是否符合現有的程式碼風格和架構模式?
- 是否已評估效能影響?
- [必要] 是否已識別所有受影響的測試案例,並有計畫隨程式碼變更同步更新測試?