# 需求分析
項目實戰《付費課程MVP系統》
## 什么是用戶故事?
用戶故事是從用戶的角度來描述用戶渴望得到的功能。一個好的用戶故事包括三個要素:
1. 角色:誰要使用這個功能。
2. 活動:需要完成什么樣的功能。
3. 商業價值:為什么需要這個功能,這個功能帶來什么樣的價值。
用戶故事通常按照如下的格式來表達:
* 英文:As a?, I want to?, so that?.
* 中文:作為一個, 我想要, 以便于
* 舉例:作為一個“網站管理員”,我想要“統計每天有多少人訪問了我的網站”,以便于“我的贊助商了解我的網站會給他們帶來什么收益。”
需要注意的是用戶故事不能夠使用技術語言來描述,要使用用戶可以理解的業務語言來描述
## 場景
cucumber里的步驟定義
~~~
Given /^當前是(.*)/ do |action|
@action= action
end
When /^輸入是(.*)/ do |subject|
@subject = subject
end
Then /^能看到(.*)/ do |greeting|
if greeting != "#{@action}#{@subject}"
raise "期望看到<" + greeting + ">,實際看到<" + "#{@action}#{@subject}>"
end
end
~~~
場景:
1. 假如當前是中文
2. 當輸入是測試
3. 那么能看到中文測試
場景1:
1. 假如當前是入庫
2. 當輸入是選擇某個貨品
3. 那么能完成入庫
場景2:
1. 假如當前是入庫
2. 當輸入是無法選擇任何產品
3. 那么能跳轉到新建產品界面
## 精簡后的需求文檔
我們探索的辦法
* 使用用戶故事描述,需求
* 使用場景來驗證并測試
嚴格執行agile很難,沒有scrum master搞不定
## 具體需求
先實現一個MVP(最小可用原型)
### 查看所有課程
* 作為一個,
* 我想要,
* 以便于
場景1
1. 假如當前沒有課程
2. 當輸入是點擊了查看所有課程連接
3. 那么能看到錯誤提示頁面,提示請稍后再來
### 查看課程詳情
* 作為一個,
* 我想要,
* 以便于
### 參加免費課程
* 作為一個,
* 我想要,
* 以便于
### 參加付費課程
* 作為一個,
* 我想要,
* 以便于
場景1:支付成功
1. 假如當前支付成功
2. 當輸入是錢數>0,并且微信支付成功
3. 那么能看到我的課程里的課程支付信息
場景2:支付失敗
1. 假如當前支付失敗
2. 當輸入錢數《=0,或微信支付失敗
3. 那么能看到錯誤提示頁面,提示請返回重試
### 查看我的個人信息
* 作為一個,
* 我想要,
* 以便于
### 使用微信用戶登錄
* 作為一個,
* 我想要,
* 以便于
### 查看我的課程
* 作為一個,
* 我想要,
* 以便于
### 分享課程詳情
* 作為一個,
* 我想要,
* 以便于
- 前言
- 1 skill
- 1.1 Coding WebIDE
- 1.2 git
- 1.3 extra practice
- 1.4 預習
- 2 nodejs入門
- 2.1 入門
- 2.2 安裝
- 2.3 helloworld
- 2.4 commonJS規范
- 2.5 模塊導出
- 2.6 Nodejs代碼調試
- 2.7 編寫Nodejs模塊
- 2.8 最小化問題
- 2.9 隨堂練習
- 3 異步流程控制
- 3.1 什么時候會用到異步流程控制
- 3.2 簡單做法async模塊
- 3.3 Promise/a+規范
- 3.4 Node.js Promise/a+實現
- 3.5 生成器Generators/yield
- 3.6 Async函數/Await
- 3.7 神奇的co
- 3.8 5種 yieldable
- 3.9 學習重點
- 3.10 隨堂練習
- 4 express和微信開發入門
- 4.1 入門
- 4.2 connect
- 4.3 靜態Http服務器
- 4.4 那些預處理器
- 4.5 路由
- 4.6 視圖與模塊引擎
- 4.7 中間件
- 4.8 更多實踐
- 4.9 微信入門
- 4.10 隨堂練習:完成登錄、注冊功能
- 5 微信實例與H5實踐
- 5.1 微信基礎和sandbox
- 5.2 公眾號菜單和自動回復
- 5.3 微信OAuth用戶授權
- 5.4 微信分享
- 5.5 wechat-api
- 5.6 H5-上篇
- 5.7 H5-下篇
- 5.8 隨堂練習
- 6 weui實戰
- 6.1 使用bower
- 6.2 移動端抽象
- 6.3 優化滑動列表
- 6.4 weui
- 6.5 讓weui和iscroll結婚
- 6.6 優化事件
- 6.7 how-to-write-h5
- 6.8 優化無止境
- 6.9 隨堂練習
- 7 微信支付
- 7.1 吹個牛
- 7.2 支付概述
- 7.3 科普幾個概念
- 7.4 準備
- 7.5 調試
- 7.6 公眾號支付(JSAPI)
- 7.7 對賬單
- 7.8 數據處理
- 7.9 隨堂練習
- 8 項目實戰《付費課程系統MVP》
- 8.1 需求分析
- 8.2 ui/ue
- 8.3 技術棧
- 8.4 模型
- 8.5 靜態api
- 8.6 開發
- 8.7 部署
- 8.8 監控
- 8.9 數據統計
- 8.10 demo
- 9 高級篇
- 9.1 前后端分離實踐?
- 9.2 如何展望未來的大前端
- 9.3 容器和微服務
- 10 答疑問題收集