SSDLC 專案範本指南
簡介
本指南提供安全軟體開發生命週期 (Secure Software Development Life Cycle, SSDLC) 的完整範本體系,旨在協助團隊透過 AI 輔助完成專案的各個階段開發任務。
SSDLC 階段概覽
1. 需求分析階段 (Requirements Analysis)
目標: 收集、分析並定義專案需求,建立安全需求規範
工作項目
- 業務需求收集
- 功能需求分析
- 非功能需求定義
- 安全需求識別
- 使用者故事撰寫
- 風險評估
技術細節和業務需求
- 需求追溯矩陣
- 安全威脅模型分析
- 合規性要求檢查
- 效能基準定義
2. 設計開發階段 (Design & Development)
目標: 進行系統架構設計和安全編碼實作
工作項目
- 系統架構設計
- 安全架構設計
- 資料庫設計
- API 設計
- 編碼實作
- 程式碼審查
技術細節和業務需求
- 設計模式應用
- 安全編碼標準
- 程式碼品質標準
- 版本控制策略
3. 測試驗收階段 (Testing & Validation)
目標: 執行全面測試並進行安全驗證
工作項目
- 單元測試
- 整合測試
- 系統測試
- 效能測試
- 安全測試
- 使用者驗收測試
技術細節和業務需求
- 測試策略制定
- 自動化測試框架
- 安全測試工具
- 測試覆蓋率要求
4. 部署運維階段 (Deployment & Operations)
目標: 安全部署系統並建立持續監控機制
工作項目
- 部署規劃
- 環境配置
- 監控設置
- 日誌管理
- 備份策略
- 災難復原
技術細節和業務需求
- CI/CD 流程
- 容器化部署
- 監控指標定義
- 安全事件響應
使用指南
如何使用這些範本
- 選擇適當的階段: 根據專案當前狀態選擇對應的 SSDLC 階段
- 使用範本 Prompt: 複製對應階段的 prompt 範本並填入專案特定資訊
- 執行 AI 輔助: 將完整的 prompt 提供給 AI 以獲得相應的輸出
- 審查和調整: 檢查 AI 輸出並根據專案需求進行調整
- 文檔記錄: 將結果文檔化並納入專案管理系統
Prompt 撰寫原則
- 明確性: 清楚描述期望的輸出格式和內容
- 完整性: 包含所有必要的上下文資訊
- 可操作性: 提供具體的執行步驟和指導
- 一致性: 保持格式和術語的一致性
- 可測試性: 確保輸出結果可以被驗證和測試
目錄結構
.github/prompts/
├── SSDLC_專案範本指南.md # 本文檔
├── 需求分析/
│ ├── 業務需求收集範本.md
│ ├── 功能需求分析範本.md
│ ├── 安全需求識別範本.md
│ └── 使用者故事撰寫範本.md
├── 設計開發/
│ ├── 系統架構設計範本.md
│ ├── 安全架構設計範本.md
│ ├── API設計範本.md
│ └── 程式碼審查範本.md
├── 測試驗收/
│ ├── 測試策略制定範本.md
│ ├── 自動化測試範本.md
│ ├── 安全測試範本.md
│ └── 效能測試範本.md
└── 部署運維/
├── 部署規劃範本.md
├── 監控設置範本.md
├── CI_CD流程範本.md
└── 災難復原範本.md快速開始
- 根據專案需求選擇對應的 SSDLC 階段
- 進入相應的目錄查看可用的範本
- 複製範本內容並根據專案實際情況填寫
- 將完整的 prompt 提供給 AI 以獲得輸出
- 檢查和調整輸出結果以符合專案需求
注意事項
- 各階段範本可能需要根據特定專案類型進行調整
- 安全考量應該貫穿整個開發生命週期
- 建議定期更新範本以反映最佳實務的變化
- 團隊成員應該熟悉相關範本的使用方法
聯絡資訊
如有問題或建議,請聯絡專案管理團隊。