聊聊需求分析、系統分析、系統設計
跟朋友聊到 軟體設計與開發的流程
log 一些口述的東西
原則:
規格只要有 60 分就可以開工了
細節是討論出來的。
規格是 requirement & system analysis, system design 的產出
需求分析會展開:
0. 依照 需求訪談, 分析需求的種類, 目的, 預期結論
- 使用者定義: 哪些角色 (role)
- 故事定義: 情境, 故事
- 使用者故事定義: role x story, 我稱為 #使用者故事矩陣
- 確立目標: 各個時間點的 DAU, 三個月 1k, 半年 100k ... 用以評估架構
系統分析:
- 依照需求分析結論, 長出系統架構的選項, 至少要有三個
- 找出 三種架構各自的 Pros & Cons
- 決策與取捨
- 用 psuedo code 溝通
系統設計:
- 產出可以給工程師開發的參照, 最理想的例子是 RFC
- 依照 #使用者故事矩陣 展開各種 #內外介面, ex: API / Config / Protocol
- 依照 #使用者故事矩陣 展開 sequence diagram
- 到 2) 就可以開始 PoC 了, 準備跟 TA / Stakeholder Demo
- 系統設計最後生出來的東西稱為 #規格 (Spec)
案例:
之前設計底層的技術規格 (類似 RFC)
系統分析與設計大概 30% 的時候
就會寫 Pseudo code
重點是讓真的開發的工程師快速理解抽象概念
(分析與設計是同步進行的)
規格大概 60%,大方向確立
就會讓工程師開始 PoC
然後核心的 User Stories 為主
跟 TA / Stakeholder Demo
沒啥問題後
才開始寫規格的細節
工程師實作過程
也會跟我討論細節
例如有一些砸揍演算法應該用哪一個?
這種東西如果不是核心的規格
就會直接讓工程師去發揮
最後整個規格差不多 80%
實作也都完成核心的 User Stories
基本上已經上線了
原始資料
- 發表時間:2023/02/07
- 原文連結