---
# System prepended metadata

title: 2023-05-21 - 開發必學的需求分析法
tags: [Rails Develoepr Foundation, 開發必學的需求分析法]

---

---
tags:
 - Rails Develoepr Foundation
 - 開發必學的需求分析法
---
# 2023-05-21 - 開發必學的需求分析法 

![](https://hackmd.io/_uploads/Syrwo4PS3.png)
https://reurl.cc/n7QQLX

## 事前準備

本次課程實作的部分會以 Pair Programming 的形式進行，只需要確認可以正常使用 FigJam 即可。

### 工具

上課過程會使用以下工具

| 名稱              | 說明                             |
|------------------|---------------------------------|
| FigJam           | 需求分析練習，請確認瀏覽器可以正常開啟 |

## 課後問卷

麻煩大家協助填寫改善課程品質，以及了解大家對哪些類型的內容更有興趣

https://www.surveycake.com/s/YlA32

## 講師資訊

課程內容無法涵蓋的部分，可以追蹤網誌、YouTube 會以小單元或者系列連載的方式分享出來。

| 網站 | 介紹 |
|-----------------|------|
| [個人網誌](https://blog.aotoki.me) | 系列文章連載、主題式討論
| [Facebook 粉絲專頁](https://fb.me/aotoki.me) | 主題式討論
| [YouTube 頻道](https://www.youtube.com/channel/UCcABbJfCL0DfNh3wDk_-7lg) | 技術講解
| [Discord 社群](https://discord.com/invite/t2Kd6PNvvA) | 技術討論，上課的問題也可以在此發問
| [訂閱電子報](https://mailchi.mp/aotoki/rails-developer-foundation) | 即時收到網誌通知

## 實作練習

### General

為了對應市場需求，我們現在需要使用最新的生成式 AI 設計一套線上客服，提供使用者解決旅遊訂房的問題。


### Scope

- ~~他是生成式 AI~~
- 已經有現成的訂房系統
- ~~能夠回答的問題類型：
    - ~~訂購須知
    - ~~房型與價格
    - ~~變更及取消
- 解決重複性問題
  - 還有沒有房間
  - 可不可以增加床位
- 台灣為主的客戶，不用提供不同語言
- ~~涉及訂單取消或變更的問題，只需要提供連結，不需要直接更動訂單內容

- 這是一個 Line 的客服
- ~~目前僅能提供Line Chat，使用者提供預計入住日期、人數、預算，回應使用者目前符合房間清單連結，若當天客滿則直接回應訊息
- ~~目前僅能提供Line Chat，使用者提供當時的預訂的訂房單號，需要退訂，提供退訂的連結

### Assumptions

~~- 已經有現成的訂房系統~~
- 不一定是即時的
- 和訂房相關無關的問題，一率回答我不知道嗎？
- 對於無法由機器人處理的問題，需要有專人介入解決，並且系統需要能夠將這些問題轉介給人工客服
- ~~可能是一個line的客服~~
- 當線上客服無法提供使用者需要的資訊時，像是訂房需求皆無符合，需要給予什麼樣的回應？關聯式回應，給予相近條件的房型？還是閉鎖式回應無符合房型即可？
- 需不需要先條列式列出幾項的常見問題

### Key Examples


- 使用者 A 可以透過輸入問題「我想知道下週五的雙人房價格」來獲取相對應的訂房資訊。
    - 蒼時在 LINE 發送「我想知道下週五的雙人房價格」並且得到「下週五有一間雙人房，價格為 $3000 元」
- 使用者 B 若在訂房過程中遇到問題，例如「我無法在結帳時使用我的信用卡」，我們的線上客服應能提供相關解決方案。
- 如果使 C 想修改訂單，他們可以提問像是「我想將我的訂單日期從下週五改到下週六」，我們的系統將協助進行修改。
- 使用者 D 詢問線上客服，在端午節有兩大兩小有沒有適合的房型 AI客服會回答目前端午節已有的房型推薦，並且回傳訂房資訊頁面。
- 使用者 E 詢問我要取消訂房，AI 客服應該提供退「取消訂房」連結
- 使用者 F 向線上客服詢問，旅宿附近的景點時，列出距離方圓一公里的景點
- 小明預計 2023/5/21(日) 入住，人數有4人，目前預算有 3,500 元，提供剩餘房間清單連結
- 小明想要退訂房間，訂單編號是 x123456，提供退房連結


```ruby=
it '....' do
   res = ai.input('我想知道下週五的雙人房價格') 
   expect(res).to eq('下週五有一間雙人房，價格為 $3000 元) # ???
end
```

https://cucumber.io/
```gherkin=
# 蒼時在 LINE 發送「我想知道下週五的雙人房價格」並且得到「下週五有一間雙人房，價格為 $3000 元」

#language:zh-TW
功能: 可以得到訂房價格資訊
  場景: 蒼時在 LINE 發送訊息
    假設 今天是 2023-05-21
    並且 2023-05-26 有一間空房，價格為 3000 元
    當 輸入 "我想知道下週五的雙人房價格"
    那麼 得到 "下週五有一間雙人房，價格為 $3000 元"
```


https://www.figma.com/file/pHW4x9Zj2qocfDpoP5ayd0/2023-05-21---%E9%96%8B%E7%99%BC%E5%BF%85%E5%AD%B8%E7%9A%84%E9%9C%80%E6%B1%82%E5%88%86%E6%9E%90%E6%B3%95?type=whiteboard&node-id=0%3A1&t=vtpXmjvmOQpWBaLm-1

## 共筆區域

> 歡迎在這裡撰寫筆記跟其他同學協力紀錄
> [name=蒼時弦や]

