Sa

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

Tai-ch0802 Updated

File contents

系統分析 (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:用於精確定義資料類型和介面。

檢查清單

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

Tai-ch0802/skills-bundle/tree/main/i18n/zh-TW/sa commit 169ac3e1c9

Frequently asked questions

npx skillmds@latest add tai-ch0802/sa-2