# Week 3
## Functional Requirements
- 地圖
- 地圖:提供室外地圖
- 興趣點
- 介紹:提供景點、餐廳、住宿等地點的詳細資訊
- 評分與留言:使用者可為地點評分、撰寫評論
- AI 歸納:透過 AI 分析熱門評論、整理重點資訊與提供參考連結
- 建模與查看:支援建模與互動,讓使用者能更直觀地瀏覽興趣點
- AI 導遊
- 景點尋找:根據使用者興趣與位置,推薦適合的旅遊景點
- 景點導覽:提供文字或語音導覽,提升遊覽體驗
- AR 導覽:透過擴增實境技術,讓使用者在現場獲取互動式資訊
- VR 導覽:支援虛擬實境體驗,讓使用者不出門也能探索世界
- AI 行程規劃
- 景點規劃:根據旅遊時間、興趣與評價,自動生成最佳行程
- 路線規劃:整合交通資訊,推薦最有效率的移動方式與行程順序
- 額外功能
- 日記
- 旅遊日記:使用者可透過圖文記錄旅程,並由 AI 幫助整理亮點
- 願望清單
- 景點清單:收藏想造訪的景點,方便未來規劃旅行
- 商品清單:記錄想購買的紀念品或特色商品,避免錯過當地好物
- 翻譯
- 即時對話翻譯:支援多語言語音翻譯,幫助旅途中與當地人溝通
- 即時掃描翻譯:透過相機拍攝,快速翻譯標誌、菜單與文件內容
## Nonfunctional Requirements
### User Interface and Human Factors
#### What type of user will be using the system?
- 主要使用者為旅遊愛好者、自由行旅客、背包客以及各種需要行程規劃的使用者。
#### Will more than one type of user be using the system?
- 是,包含一般旅客與餐廳/景點業主等。
#### What training will be required for each type of user?
- 會有簡潔的教學,力求直觀與方便操作,同時保留一定程度的美觀。
- 根據使用者的身分,透過動畫效果,來互動式地指引使用者操作功能。
- 旅遊者:提供地圖、興趣點、導遊與行程規畫等功能教學。
- 業主:上傳/更新店家資訊與後台數據等功能教學。
#### Is it important that the system is easy to learn?
- 是,要給予使用者良好的使用體驗,需確保 UI/UX 友善,讓大家都能快速上手。
#### Should users be protected from making errors?
- 是,若系統發現使用者不正確使用就有相應的應對機制。
#### What input/output devices are available?
- 手機、平板、電腦、VR 設備、AR 設備。
- 於 Hardware Considerations 對裝置具體細節有進一步說明。
### Documentation
#### What kind of documentation is required?
- 系統需求文件、系統設計文件、系統測試文件。
- 使用者指南、隱私政策與服務條款。
#### What audience is to be addressed by each document?
- 旅客(使用者指南)、業主(使用者指南)、開發者(系統類文件)。
### Hardware Considerations
#### What hardware is the proposed system to be used on?
##### 輸入裝置
- 手機、平板:觸控螢幕。
- 電腦:鍵盤、滑鼠。
- VR 設備:體感控制器(搖桿、手勢)。
- AR 眼鏡:配套控制器(搖桿、手勢)。
##### 輸出裝置
- 電腦、平板、手機:螢幕,顯示文字、圖片、影片等內容,並提供操作介面進行互動。
- VR:螢幕,顯示建模之場景等內容,並結合體感控制器進行互動。
- AR:螢幕,在使用者視野中疊加數位內容,並結合配套控制器進行互動。
- 喇叭、耳機:在導遊等功能支援語音時播放。
##### VR / AR 規格詳情
- VR
- HTC Vive:建議至少 2 基站追蹤器、可支援 6DoF 動作捕捉。
- Meta Quest:內建 Inside-Out 追蹤、6DoF 控制器。
- AR
- Microsoft HoloLens:內建深度攝影機、空間繪製與手勢控制。
- Magic Leap:空間定位、手勢控制器。
- 建議確保使用者端具有足夠效能以順暢運行複雜 3D 場景或即時擴增實境。
- Apple Vision Pro:M2 晶片
- 8 核心 CPU 、10 核心 GPU、16 核心神經網路引擎、16GB 統一記憶體
#### What are the characteristics of the target hardware, including memory size and auxiliary storage space?
- 伺服器建議 RAM 為 128GB 以上。
- 伺服器儲存空間需要 100TB 以上。
### Performance Characteristics
#### Are there speed, throughput, response time constraints on the system?
- 系統在 1000 位使用者內需要1秒內回應使用者。
- 整個系統可以乘載 10000 人以下的使用者同時使用。
- 加強後端伺服器架構,否則依賴單一伺服器會導致負載過高。
#### Are there size or capacity constraints on the data to be processed by the system?
- 興趣點
- 純文本的資訊不超過 100 MB
- 圖片的資訊不超過 1 GB
- 建模無資料量限制
### Error Handling and Extreme Conditions
#### How should the system respond to input errors?
- 提供清楚的錯誤提示,例如語音輸入錯誤時,允許重試或手動輸入。
- 當系統當掉時,啟用備用伺服器來應付。
- 網路塞車,使用排隊來限制人數進入系統。
#### How should the system respond to extreme conditions?
- 無網路時:提供部分離線地圖與翻譯功能。
- 裝置效能低:啟用低效能模式,減少動畫與即時運算負擔。
- GPS 訊號弱:提供 AI 預測定位與使用者手動選擇位置的選項。
---
### System Interfacing
#### Is input coming from systems outside the proposed system?
- 一般 API:地圖、興趣點、天氣、交通、商品、翻譯
- AI API:LLM
#### Is output going to systems outside the proposed system?
- 一般 API:地圖、興趣點、天氣、交通、商品、翻譯
- AI API:LLM
#### Are there restrictions on the format or medium that must be used for input or output?
- 都以 JSON 作為資料格式
### Quality Issues
#### What are the requirements for reliability?
- 伺服器有 90% 以上的可用性,每天允許的最大停機時間不超過 30 分鐘。
- 備用伺服器確保即使發生故障,系統仍能正常運作。
#### Must the system trap faults?
- 捕捉錯誤並提供適當的錯誤處理機制。
#### What is the time for restarting the system after a failure?
- 當系統出現故障,系統需在 10 分鐘內自動重新啟動,並使用備援機制確保最小的服務中斷。
#### Is there an acceptable downtime per 24-hour period?
- 每天允許的最大停機時間不超過 30 分鐘,系統會透過後備機制將停機時間降至最低。
#### Is it important that the system be portable?
- 是,系統需多種設備,因此具備跨平台兼容性,確保使用者能在不同裝置上獲得一致的體驗。
### System Modifications.
#### What parts of the system are likely to be modified?
- AI 類功能、第三方API
- 地圖、興趣點、行程規劃、日記、願望清單
#### What sorts of modifications are expected?
- UI、UX
- 安全性
- 資料
### Physical Environment.
#### Where will the target equipment operate?
- 伺服器應運行於穩定的環境中,並至少配置兩台伺服器互為備援,以應對突發狀況。
- Amazon Web Services (東京)
#### Is the target equipment in one or several locations?
- 伺服器應分布於多個地點,以降低火災、停電等意外事故的影響。
#### Will the environmental conditions be ordinary?
- 機房需維持適當的溫度與濕度,並配備空調等環境調節設備。
### Security Issues
#### Must access to data or the system be controlled?
- 劃分使用者、業者及開發者權限。
- 所有使用者個人資訊都要有相關文件去規範個資的產生、保管、留存及銷毀。
- 後端商業資料應嚴格區分開發人員能取得資料的權限。
- 保證使用者個資無法被開發人員取得。
#### Is physical security an issue?
- 是,需要管理實體機房、工作區域的資訊安全。
- 機房需設有多層次的物理防衛機制,如:實時監控、門禁。
- 防止資料被物理機制破壞:火災控管、濕度控管、防震、防突波電流。
### Resources and Management Issues
#### How often will the system be backed up?
- 系統資料必須每小時進行自動備份。
- 分散式系統能夠將資料同時儲存在多部伺服器上。
- 備份儲存時間
- 短期備份:2 個月、備份所有資料。
- 中期備份:6 個月、備份重要資料。
- 長期備份:1 年、備份關鍵資料。
#### Who will be responsible for the back up?
- 系統本身會進行自動備份。
- 系統管理員為主要負責人,系統管理員需檢查是否有備份到。
#### Who is responsible for system installation?
- 系統管理員。
- 使用者。
#### Who will be responsible for system maintenance?
- 從開發團隊挑選並額外增加人員成立維運團隊。