Skip to content

Repository files navigation

SDLC-DocGen

SDLC-DocGen 是一套支援軟體開發生命週期(SDLC)文件自動化產生的系統。透過階段導向對話與生成式 AI,引導使用者產出符合 ISO/IEEE 標準的技術文件。

功能特色

  • 階段導向流程:需求分析 (SRS) → 系統設計 (SDD) → 測試計畫 → 部署與手冊
  • Multi-Agent 架構:SRSAgent / SDDAgent / CriticAgent / TestAgent / OpsAgent / SimulatedClientAgent 各司其職
  • 標準化輸出:遵循 ISO/IEC/IEEE 29148 (SRS)、1016 (SDD)、829 (Test Plan) 等標準
  • 實驗框架:支援切換 Prompt 策略(Zero-Shot / CoT / Few-Shot)、Persona、生成模式
  • 自動化訪談模擬:內建「模擬客戶」,提供多種非技術背景情境,能與分析師自動對話直到需求完整。
  • 多 Provider 支援:Google AI Studio(Gemma 4)& Groq(LLaMA、Qwen、Compound)

技術架構

層級 技術
UI Streamlit
State Machine 自製 DocumentStateMachine
LLM 抽象層 UnifiedLLMClient(支援 Google / Groq)
知識檢索 Mock RAGEngine(Dict-based,可升級至 ChromaDB)

安裝與執行

1. 建立虛擬環境

python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS/Linux
source .venv/bin/activate

2. 安裝套件

pip install -r requirements.txt

3. 設定環境變數

複製範本並填入您的 API Key:

cp .env.example .env

編輯 .env

LLM_PROVIDER=google          # google 或 groq
LLM_MODEL_NAME=models/gemma-4-26b-a4b-it
GOOGLE_API_KEY=your_key_here # 至 https://aistudio.google.com/apikey 取得
GROQ_API_KEY=your_key_here   # 至 https://console.groq.com/keys 取得(選用)

4. 啟動應用程式

streamlit run app.py

開啟瀏覽器至 http://localhost:8501

專案結構

SDLC-DocGen/
├── app.py                  # 主應用程式(Streamlit)
├── agents/                 # AI 代理
│   ├── srs_agent.py        # 需求分析代理
│   ├── sdd_agent.py        # 系統設計代理
│   ├── critic_agent.py     # 品質審查代理
│   ├── test_agent.py       # 測試計畫代理
│   ├── ops_agent.py        # 部署文件代理
│   ├── uml_agent.py        # UML 圖表代理
│   └── simulated_client_agent.py # 模擬客戶訪談代理
├── core/
│   ├── context_manager.py  # 跨階段上下文管理
│   └── state_machine.py    # SDLC 階段狀態機
├── components/
│   ├── doc_editor.py       # 文件編輯介面
│   └── refinement_chat.py  # 對話修正介面
├── utils/
│   ├── llm_client.py       # 統一 LLM 客戶端
│   ├── prompt_loader.py    # Prompt 模板載入器
│   ├── rag_engine.py       # 知識檢索引擎
│   ├── experiments.py      # 實驗設定管理
│   └── metrics.py          # 文件品質量測
├── prompts/                # 各階段 Prompt 模板
├── docs/                   # 專案相關文件
├── knowledge/              # 執行時資料(不納入版控)
├── .env.example            # 環境變數範本
└── requirements.txt        # 套件相依清單

注意事項

  • API 配額:使用 Google AI Studio 免費方案時,受每分鐘 Token 數(TPM)限制。遇到 429 錯誤時,系統會自動顯示等待提示,請稍候片刻再重試。
  • 知識庫資料knowledge/ 目錄由系統在執行時自動建立,儲存您的專案生成文件,已加入 .gitignore 不納入版控。

About

基於 Multi-Agent 架構的 SDLC 軟體開發生命週期文件自動生成系統。內建「模擬客戶」自動進行需求訪談,並產出符合 ISO/IEEE 標準的規格書 (SRS/SDD)。

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages