# 📘 AI 時代的軟體開發實戰指南

## 從零開始的規格驅動開發 (SDD) 完整教材

<div align="center">

### 🎯 專為非軟體工程師設計的轉職指南

**運用 AI 賦能，快速掌握現代軟體開發技能**

---

*「在 AI 時代，你不需要成為傳統意義的程式設計師，*  
*你需要的是學會如何與 AI 協作，用規格驅動軟體開發」*

---

### 💎 核心理念

**AI 工具會不斷演進**  
從 GitHub Copilot 到 Cursor、Windsurf，從 ChatGPT 到 Claude、Gemini，  
從 Bolt.new 到 Lovable、Google IDX...工具會愈來愈強大。

**但有一件事永遠不變：**  
🌟 **只有人，才能決定「做什麼」**

AI 可以告訴你「怎麼做」(How)，  
但只有你能決定「做什麼」(What) 和「為什麼做」(Why)。

**這本書教你的，正是這些 AI 無法取代的核心能力。**

---

**版本 2.0** | **最後更新：2024**

</div>

---

## 📚 這本電子書適合誰？

### ✅ 你是這些人嗎？

- 🎓 **非資訊背景**，想轉職軟體開發
- 💼 **在職工作者**，想學習 AI 輔助開發提升效率
- 🔄 **跨領域轉職者**，尋找最短學習路徑
- 🤝 **專案管理者**，想更好地與工程師溝通
- 📊 **數據分析師/產品經理**，想具備技術能力
- 🌱 **程式初學者**，被傳統教材嚇退但想再試試

### ❌ 這本書不是什麼

- ❌ 不是傳統的「從 Hello World 開始」的程式教學
- ❌ 不是要把你變成資深工程師
- ❌ 不需要你先有數學或演算法背景
- ❌ 不會讓你花 6 個月學習才能寫第一行程式

### ✅ 這本書是什麼

- ✅ **AI 時代的實戰指南**：學會如何與 AI 協作開發
- ✅ **規格驅動方法**：從「寫規格」開始，讓 AI 幫你寫程式
- ✅ **小白學程式的最佳方式**：把 AI 變成最棒的學習夥伴
- ✅ **最短學習路徑**：8 週掌握核心技能
- ✅ **實戰導向**：每個概念都有可運行的程式範例
- ✅ **跨領域友善**：用你能理解的方式解釋技術概念

### 🌟 為什麼 SDD 是小白學程式的最佳方式？

**完美的學習循環：**
```
你知道目標（要做什麼）
    ↓
寫出規格（清楚描述）
    ↓
AI 提供方法（生成程式碼）
    ↓
從 AI 的程式碼學習（邊做邊學）
    ↓
馬上能用（成就感）
    ↓
持續進步 ✅
```

**三大關鍵優勢：**
1. **你負責「要什麼」，AI 負責「怎麼做」** - 完美分工，小白也能上手
2. **從 AI 的程式碼學習知識點** - 有目標、有情境、學了馬上能用
3. **學了馬上能用，用了就會** - 第 1 週就有作品，成就感驅動學習

---

## 🎯 學習這本書後，你能做什麼？

### 🚀 核心能力

| 能力 | 說明 | 應用場景 |
|-----|------|---------|
| **📝 規格撰寫** | 用 User Story 和 Acceptance Criteria 清楚描述需求 | 與開發團隊溝通、撰寫產品需求 |
| **🧪 測試設計** | 將規格轉換為可執行的測試 | 確保軟體品質、自動化驗證 |
| **💻 程式實作** | 在 AI 協助下實作通過測試的程式碼 | 開發實際功能、解決技術問題 |
| **🏗️ 架構設計** | 設計模組化、可維護的軟體架構 | 規劃大型專案、技術決策 |
| **🤖 AI 協作** | 高效使用 AI 工具加速開發 | 提升開發效率 10 倍以上 |

### 💼 實際應用

完成學習後，你可以：
- ✅ **開發 AI 應用工具**（如內容分析器、智能助手）
- ✅ **整合 AI API**，打造個人化解決方案
- ✅ **設計技術規格**，清楚表達需求
- ✅ **與 AI 協作開發**，提升效率 10 倍以上
- ✅ **建立 AI 應用作品集**，展示實際成果

---

## 📖 本書結構

### 🎓 5 大核心模組（8 週完成）

```
📚 理論 + 💻 實作 + 🤖 AI 賦能 = 🚀 快速上手
```

#### 📘 模組 0：規格驅動思維（Week 1）
**學習重點**：什麼是規格？如何用 AI 輔助撰寫規格？
- User Story 完整教學
- Gherkin 場景撰寫
- AI 規格審查流程

#### 🛠️ 模組 1：開發者工具包（Week 1-2）
**學習重點**：建立開發環境，學會基本工具
- VS Code 編輯器
- Git 版本控制
- Node.js & npm
- Jest 測試框架

#### 🔄 模組 2：SDD 核心循環實戰（Week 3-4）
**學習重點**：完整走過一次開發循環
- TDD 紅綠重構
- 撰寫測試
- AI 協助實作
- 重構優化

#### 🏗️ 模組 3：軟體架構入門（Week 5-6）
**學習重點**：如何設計可維護的軟體
- 模組化設計
- 關注點分離
- API 設計
- 系統架構

#### 🤖 模組 4：進階 AI 協作（Week 7-8）
**學習重點**：成為 AI 協作專家
- System Prompt 設計
- IDE 整合開發
- Code Review
- 持續優化

### 💻 3 個 AI 時代實戰專案

#### 🎨 專案 1：風格特徵提取器（基礎範例）
- 從文字內容提取個人風格特徵
- 生成 JSON 格式的風格報告
- 適合非工程師的資料處理入門
- 可用於個人內容分析

#### 📰 專案 2：新聞轉教案生成器（進階應用）
- 整合 AI API 進行內容轉換
- 多受眾適配（企業/成人/年長者）
- 規格驅動的內容生成
- 實際可用的教學工具

#### 📚 專案 3：個人知識庫管理器（綜合實作）
- 完整的 CRUD 操作
- 標籤分類與搜尋功能
- 資料持久化設計
- 解決資訊過載痛點

---

## 🗺️ 三種學習路徑

### 🚀 快速通道（4 週，每週 10 小時）
**適合**：有一點程式基礎，想快速上手
- 重點閱讀理論部分
- 完成風格特徵提取器
- 體驗 AI API 整合
- 建立第一個實用工具

### 🎯 標準路徑（8 週，每週 6 小時）
**適合**：零基礎，想穩紮穩打（推薦）
- 完整學習所有模組
- 實作風格特徵提取器
- 完成新聞轉教案生成器
- 建立個人知識庫系統

### 🏆 進階路徑（12 週，每週 8 小時）
**適合**：想要精通，準備轉職
- 掌握所有進階技巧
- 完成三個專案並擴充功能
- 整合多個 AI 服務
- 建立個人 AI 應用作品集

---

## 🤖 本書的核心理念：AI 賦能學習

### 傳統學習 vs AI 賦能學習

| 對比項目 | 傳統學習 | AI 賦能學習 |
|---------|---------|-----------|
| **起點** | 必須從基礎開始 | 可以直接從應用開始 |
| **學習方式** | 線性學習，一步步來 | 問題導向，需要時學習 |
| **知識盲點** | 自己苦讀或找人問 | AI 即時解答 |
| **練習方式** | 照著書本範例打 | AI 生成客製化練習 |
| **遇到困難** | 可能卡關放棄 | AI 引導突破 |
| **學習時間** | 6-12 個月 | 2-3 個月 |

### 🎯 關鍵字驅動學習法

**核心概念**：不需要記住所有知識，只需要：
1. 知道**關鍵字**
2. 會用關鍵字**向 AI 提問**
3. 理解 AI 的**回答並應用**

**範例**：
```
不知道什麼是 "依賴注入"？
→ 向 AI 提問："請用簡單的例子解釋什麼是依賴注入 (Dependency Injection)"
→ 5 分鐘內理解核心概念
→ 繼續學習，不用花一週研讀教科書
```

### 🤖 AI 是你的超級助教

**AI 能幫你做什麼？**
- ✅ **解釋概念**：用你能理解的方式
- ✅ **生成範例**：客製化的程式碼範例
- ✅ **檢查錯誤**：告訴你哪裡寫錯了
- ✅ **提供建議**：給你改進的方向
- ✅ **填補知識**：補充你缺少的背景知識

**本書的每個模組都提供**：
- 📝 核心關鍵字列表
- 🤖 AI 學習 Prompt 範本
- 💡 常見問題的 AI 解答方式
- 🆘 卡關時的 AI 求助指南

---

## 📚 如何使用這本電子書

### 🎯 三步驟開始學習

#### Step 1：選擇你的學習路徑
- 閱讀 [📖 學習路線圖](./學習路線圖.md)
- 評估你的時間和目標
- 選擇適合的學習路徑

#### Step 2：建立學習環境
- 跟著 [🛠️ 模組 1](./模組內容/模組1_開發者工具包.md) 設定環境
- 安裝必要的開發工具
- 確認環境可以運作

#### Step 3：開始第一個模組
- 從 [📘 模組 0](./模組內容/模組0_規格驅動思維.md) 開始
- 完成每個練習
- 記錄學習筆記

### 💡 學習建議

#### ✅ 建議做的事
- 📝 **動手寫**：每個範例都自己打一遍
- 🤔 **理解為主**：不需要死記，理解概念即可
- 🤖 **善用 AI**：遇到不懂就問 AI
- 📊 **追蹤進度**：使用檢核表記錄
- 👥 **參與討論**：與其他學習者交流

#### ❌ 避免的陷阱
- ❌ **完美主義**：不要追求一次就懂所有東西
- ❌ **只看不練**：看懂不等於會做
- ❌ **跳過基礎**：模組 0-1 很重要
- ❌ **孤軍奮戰**：善用社群和 AI 資源
- ❌ **太快放棄**：困難是暫時的

### 🆘 遇到困難怎麼辦？

每個模組都提供：
- 📋 **常見問題 FAQ**
- 🤖 **AI 輔助解決方案**
- 🔍 **錯誤訊息速查**
- 💬 **社群討論區連結**

專門章節：[🆘 學習卡關怎麼辦](./學習支援/學習卡關怎麼辦.md)

---

## 🎁 本書特色

### 💎 獨特優勢

1. **🎯 非工程師友善**
   - 零基礎可以開始
   - 每個專有名詞都有解釋
   - 豐富的類比和比喻

2. **🤖 AI 賦能學習**
   - 關鍵字驅動學習法
   - AI Prompt 範本
   - 即時知識填補

3. **📊 實戰導向**
   - 2 個完整專案
   - 可運行的程式碼
   - 真實開發場景

4. **🗺️ 清晰路徑**
   - 8 週學習計劃
   - 5 個等級檢核
   - 明確的里程碑

5. **📚 完整支援**
   - 詳細的使用說明
   - 豐富的學習資源
   - 社群討論支援

---

## 📖 章節導航

### 📚 開始之前（必讀）
- [📖 前言：AI 時代的軟體開發新典範](./01_前言_AI時代的軟體開發新典範.md)
- [💌 給跨領域學習者的信](./02_給跨領域學習者的信.md)
- [🎯 如何使用這本電子書](./03_如何使用這本電子書.md)
- [🤖 AI 賦能學習指南](./04_AI賦能學習指南.md)

### 📚 核心模組
- [📘 模組 0：規格驅動思維](./模組內容/模組0_規格驅動思維.md)
- [🛠️ 模組 1：開發者工具包](./模組內容/模組1_開發者工具包.md)
- [🔄 模組 2：SDD 核心循環實戰](./模組內容/模組2_SDD核心循環實戰.md)
- [🏗️ 模組 3：軟體架構入門](./模組內容/模組3_軟體架構入門.md)
- [🤖 模組 4：進階 AI 協作](./模組內容/模組4_進階AI協作.md)

### 💻 實戰專案
- [📂 實戰專案導讀](./實戰專案/實戰專案導讀.md)
- [🎨 專案 1：風格特徵提取器](./sdd-practice-project/style-analyzer/)
- [📰 專案 2：新聞轉教案生成器](./sdd-practice-project/news-to-lesson/)
- [📚 專案 3：個人知識庫管理器](./sdd-practice-project/knowledge-base/)

### 🗺️ 學習資源
- [🗺️ 學習路線圖](./學習路線圖.md)
- [🚀 快速開始指南](./學習資源/快速開始指南.md)
- [📚 關鍵字速查表](./學習資源/關鍵字速查表.md)
- [🤖 AI 學習 Prompt 大全](./學習資源/AI學習Prompt大全.md)

### 🆘 學習支援
- [❓ 常見問題 FAQ](./學習支援/常見問題FAQ.md)
- [🆘 學習卡關怎麼辦](./學習支援/學習卡關怎麼辦.md)
- [🐛 錯誤訊息速查](./學習支援/錯誤訊息速查.md)
- [👥 社群與資源](./學習支援/社群與資源.md)

### 📋 附錄
- [📖 術語表](./附錄/術語表.md)
- [📚 參考資料](./附錄/參考資料.md)
- [📝 學習紀錄模板](./附錄/學習紀錄模板.md)

---

## 🎓 作者的話

這本電子書的誕生，源自於我看到太多非軟體背景的朋友，想要學習程式開發卻被傳統教材嚇退。

**AI 時代改變了一切。**

你不再需要花 6 個月學習語法和演算法才能寫第一行程式。你可以：
1. 先理解「要做什麼」（規格）
2. 讓 AI 幫你「怎麼做」（程式碼）
3. 你負責「確保正確」（測試）

這就是**規格驅動開發 (SDD)** 的威力。

希望這本書能幫助你：
- 🎯 找到最短的學習路徑
- 🤖 善用 AI 加速學習
- 💪 建立學習的信心
- 🚀 實現轉職的夢想

**讓我們一起開始這趟旅程！** 🚀

Joseph Chang 2025

---

## 📞 回饋與支援

### 📧 聯絡方式
- Email: jjaimark1@gmail.com
- GitHub: https://github.com/589411/SDD-learning-guide
- Discord 社群: 

### 🤝 如何貢獻
- 報告錯誤或建議
- 分享學習心得
- 貢獻範例程式碼
- 協助其他學習者

### ⭐ 給予支持
如果這本電子書對你有幫助，請：
- ⭐ 給我們一個 Star
- 📢 分享給需要的朋友
- 💬 留下你的學習心得

---

## 📄 授權

本教材採用 **MIT License**，可自由使用於個人學習和教學用途。

---

<div align="center">

**準備好開始了嗎？**

### 👉 [開始閱讀前言](./01_前言_AI時代的軟體開發新典範.md)

或

### 👉 [直接進入學習路線圖](./學習路線圖.md)

---

*願你在 AI 時代，找到屬於自己的開發之路* 🌟

**版本 3.0** | **最後更新：2025-10-17**

</div>
