Skip to main content

聊聊需求分析、系統分析、系統設計

跟朋友聊到 軟體設計與開發的流程
log 一些口述的東西


原則:

規格只要有 60 分就可以開工了
細節是討論出來的。


規格是 requirement & system analysis, system design 的產出

需求分析會展開:
0. 依照 需求訪談, 分析需求的種類, 目的, 預期結論

  1. 使用者定義: 哪些角色 (role)
  2. 故事定義: 情境, 故事
  3. 使用者故事定義: role x story, 我稱為 #使用者故事矩陣
  4. 確立目標: 各個時間點的 DAU, 三個月 1k, 半年 100k ... 用以評估架構

系統分析:

  1. 依照需求分析結論, 長出系統架構的選項, 至少要有三個
  2. 找出 三種架構各自的 Pros & Cons
  3. 決策與取捨
  4. 用 psuedo code 溝通

系統設計:

  1. 產出可以給工程師開發的參照, 最理想的例子是 RFC
  2. 依照 #使用者故事矩陣 展開各種 #內外介面, ex: API / Config / Protocol
  3. 依照 #使用者故事矩陣 展開 sequence diagram
  4. 到 2) 就可以開始 PoC 了, 準備跟 TA / Stakeholder Demo
  5. 系統設計最後生出來的東西稱為 #規格 (Spec)

案例:

之前設計底層的技術規格 (類似 RFC)
系統分析與設計大概 30% 的時候
就會寫 Pseudo code
重點是讓真的開發的工程師快速理解抽象概念
(分析與設計是同步進行的)

規格大概 60%,大方向確立
就會讓工程師開始 PoC
然後核心的 User Stories 為主
跟 TA / Stakeholder Demo

沒啥問題後
才開始寫規格的細節
工程師實作過程
也會跟我討論細節
例如有一些砸揍演算法應該用哪一個?
這種東西如果不是核心的規格
就會直接讓工程師去發揮

最後整個規格差不多 80%
實作也都完成核心的 User Stories
基本上已經上線了


原始資料