Liz's Blog

不管寫網頁了 先來鍵盤User Story吧

| Comments

先前上Rails EC的時候,有教User Story,我覺得很有助於整理規劃網站想法。User Story簡單來說,就是從用戶角度,描述在什麼場景下,需要做的。透過User Story變成待辦事項,也能夠依據事情的輕重緩急來做優先順序。

寫User Story的五個原則,可以由SMART來檢視:

  1. Specific:具體性。
  2. Measurable:測試性。最好是在特定場景具備可測試性,也就是對於結果是可預期的。像是User-friendly則是太過於模糊,又不知道預期結果是什麼,就不適合。
  3. Achievable:單次Iteration的可完成性。單次不能完成,就該切Story。
  4. Relevant:關聯性。透過問為什麼的方式,找出商業價值。若不具備商業價值,又需要花費大量金額,那為什麼要做呢?
  5. Timeboxed:知道什麼時候該放棄。

以下是透過當時課程教的商務網站下去寫User Story,粗體字是我後來在做Cook For Yourself模型衍伸出來的(尚在施工中),括號內的英文是我用來提醒自己做MVC的提示。

Cook For Yourself的(Github)、網站。目的是想解除單身男女下廚的困境,一站突破單身男女覺得孤單、不安心、浪費、控制熱量的解決方案。

1.瀏覽網站的人,可分成管理者(Admin)及一般使用者(User)。
- Devise rubygem (安裝會員管理系統)。
- 可在console建立使用者,並可設定使用者權限(is_admin)。

2.管理者(Admin)可在後台,上架商品。
- 後台限定只有登入的會員,並且是管理者(Admin)才能進入。
- 管理者(Admin)可在後台(admin/products),上架商品,內容包含標題(title)、描述(description)、數量(quantity)、價錢(price)。
- carrierwave & Mini_magick rubygem(安裝圖片上傳)。
- 管理者(Admin)可在後台(admin/products),上架商品,內容包含圖片(photo)。
- 管理員(Admin)可在後台修改商品內容及刪除商品。
- 管理員(Admin)可在後台新增、修改巢狀內容,包含食材(Ingredient)、操作步驟(Direction)。
- 管理員(Admin)可在後台新增及修改上傳的Youtube影片。
- 管理員(Admin)可在後台設定產品分類(Category)。
- 管理員(Admin)可在後台新增食材的產銷履歷(Ingredient_resume),包含食材名稱(ingredient.name)、追溯號碼(ingredient.number)、作業日期(ingredient.date)、作業種類(ingredient.workingtype)、作業內容(ingredient.work)、備註(ingredient.supplement)。
- 管理員(Admin)可在正式環境下,將照片上傳至AWS S3。

3.一般使用者(User)可在前台瀏覽商品。
- 一般使用者(User)可在前台瀏覽全部商品(products#index)的標題(title)、價錢(price)、圖片(photo)。
- 一般使用者(User)可在前台瀏覽單一商品(product#show)的標題(title)、描述(description)、數量(quantity)、價錢(price)、圖片(photo)。
- 一般使用者(User)不能購買數量為零的商品,會出現已賣完的訊息。
- 一般使用者(User)可在前台(products#index)看到不同分類下的產品。
- 一般使用者(User)可在前台(product#show)瀏覽產品中的評價(Rating)及留言(Review)。
- 一般使用者(User)可在前台瀏覽單一商品(product#show)的食材(Ingredient)、操作步驟(Direction)及Youtube影片。
- 一般使用者(User)可點選特定食材(Ingredient)後,可以看到食材的產銷履歷(Ingredient_resume),包含食材名稱(ingredient.name)、追溯號碼(ingredient.number)、作業日期(ingredient.date)、作業種類(ingredient.workingtype)、作業內容(ingredient.work)、備註(ingredient.supplement)。

4.管理者(Admin)可在後台,管理使用者權限。
- 管理者(Admin)可在後台(admin/users#index)看到所有使用者資料(User Lists)。
- 管理者(Admin)可在後台(admin/users#index)將使用者轉成管理員或是一般使用者。

5.一般使用者(User)可在前台(products#show)購買商品。
- 一般使用者(User)可在前台(products#show)按下購物鍵(Buy),並且物品會出現在購物車(Cart)內。
- 一般使用者(User)點選購物車(Cart)後,會看到目前的購物車資訊,包含產品標題(title)、數量(quantity)、單價(price)、總價(Total)。
- 一般使用者(User)可以在目前的購物車資訊頁,手動清空購物車。
- 一般使用者(User)可以在目前的購物車資訊頁,手動刪除某些物品。
- 一般使用者(User)可以在目前的購物車資訊頁,不能手動更新超過庫存的數量。
- 一般使用者(User)點選確認購買後,會出現訂單(order_infos),訂單上半部出現訂購資訊(order_items),包含產品標題(title)、數量(quantity)、單價(price)、總價(Total)。
- 一般使用者(User)點選確認購買後,會出現訂單(order_infos),訂單下半部需要填寫寄送資訊,包含寄件人(illing_name)、寄件地址(billing_address)、收件人(shipping_name)及收件地址(shipping_address)資訊,並且不可出現空白。
- 一般使用者(User)在填寫完寄送資訊後,可以看到完整訂單資訊(order_infos),包含完整訂購資訊(order_items)及寄送資訊。
- 一般使用者(User)在完成訂單時,要把購物車的商品數量存進去。
- 一般使用者(User)在完成訂單時,購物車應該被清空。
- 一般使用者(User)在完整訂單資訊頁(order_infos),出現以信用卡付款或以ATM付款的按鈕。
- 一般使用者(User)可以使用信用卡付款。
- 一般使用者(User)可以使用ATM付款。
- 一般使用者(User)在完整訂單資訊頁(order_infos)按下結帳鈕後,跳到一般使用者(User)過去訂單頁(account/orders#index),包含訂單號及生成時間。

6.管理者(Admin)可在後台(Admin/orders)看到訂單目前的狀態。
- 管理者(Admin)可在後台(Admin/orders#index)看到所有訂單資訊,包含訂單號、生成時間、訂購者、訂單狀態(已下單、已付款、出貨中、已到貨、取消訂單、退貨)。
- 管理者(Admin)可在後台(Admin/orders#show)看到單筆訂單資訊,包含產品標題(title)、數量(quantity)、單價(price)、總價(Total)、寄送資訊。
- 管理者(Admin)除了可在後台(Admin/orders#show)看到單筆訂單資訊,並可更改訂單狀態(取消、已出貨、出貨中、退貨)。

7.一般使用者(User)完成訂單後,會收到訂單確認信。
- 測試:一般使用者(User)完成訂單後,會收到訂單確認信,內容包含訂單連結、產品標題(title)、數量(quantity)、單價(price)、總價(Total)、寄送資訊。
- 正式環境:一般使用者(User)完成訂單後,會收到訂單確認信,內容包含訂單連結、產品標題(title)、數量(quantity)、單價(price)、總價(Total)、寄送資訊。

8.一般使用者(User)可以直接利用Facebook登入。

9.套用模板,裝飾網站外觀。
- 調整Landing Page內容及套版調整。
- 調整前台(product#index)版型。
- 調整前台(product#show)版型。
- 上傳八條內容到heroku上,作為展示用。

Comments

comments powered by Disqus