Depot是《Agile Web Development with Rails》中的一個購物車應用。
該書中用多次迭代的方法,逐步實現購物車應用,使很多人走上了rails開發的道路。
遺憾的是Django世界中好像沒有類似的指引,也許是因為pythoner 不需要具體的例子。
但是如果通過這樣一個例子能夠讓更多的人加入pythoner的隊伍,也是一大幸事。
?
本文首先回顧一下depot的需求,在后續內容中將會按照《Agile Web Development with Rails》中的迭代進度,逐步用Django實現depot購物車應用。
在原例子的基礎上,還會增加一些新的內容,以適應企業級應用的開發。
同時,會盡量展示敏捷開發的特性。
?
原書中,初始階段的需求整理如下:
?
角色
?? ?????? 買方,賣方。
用例
????????? 買方:瀏覽產品,創建訂單
????????? 賣方:管理產品,處理訂單,管理發貨
界面設計
??? 買方界面包括:
????????? 目錄頁:可以選擇一個產品,選中產品會打開購物車頁,同時該產品被加入購物車
????????? 購物車頁:顯示所有已選擇的產品,可以返回分類頁,也可以進入支付頁進行支付
????????? 訂單頁:填寫一些要素信息,確認支付后顯示收據頁
????????? 收據頁:通知買方訂單已被接收
???? 買方界面流程如下圖所示:
??? 賣方界面包括:
????????? 登錄頁:賣方要登錄后才能使用系統,登錄后通過菜單選擇其要使用的功能
????????? 菜單頁:選擇維護產品或者查看訂單
????????? 創建產品頁:用于加入新的產品
????????? 產品信息頁:顯示已經加入的產品,可以進行修改或者刪除
????????? 訂單頁:顯示訂單信息,可以忽略或者處理
???? 賣方界面流程如下圖所示:
領域模型
從界面設計中可以很容易得出初步的模型,如下圖:
以上,就是開始階段所能得到的“需求”。盡管其中還有一些不確定的因素,但是敏捷方法認為應該盡快開始開發,這些不確定的因素會在后續的迭代過程中逐步明確。
接下來,就可以開始第一輪迭代開發了。