在ATM系統開發即將結束時候,我們開始了Pizza銷售系統的開發- -!
還是先看下需求:
Pizza銷售系統功能需求
該系統是Pizza零售店(Pizza Hut)的銷售系統,主要功能為銷售處理(包括顧客上門銷售和送貨上門銷售),庫存更新,及當天結算功能。
登陸
系統需要有確認使用者功能,只有輸入正確的使用者名稱/密碼,驗證後才可以進入系統介面。
銷售處理:
據客戶要求輸入購買的Pizza及數量
(Pizza Name)標準Pizza餅基本類型為Supreme, Hawaii, Meat Lover, Seafood
(Base Type)Pizza餅又分為Thick Pan, Thin Pan, Special(暫不要求實現)
Pizza餅尺寸為5,6,7,8寸
Topping(以上標準Pizza上加的附加料)為Pineapple, Mushroom, Gallic
據客戶饑餓程度的要求,烤制過程分為Fast,Normal,Slow (F-3分鐘,N-5分鐘,S-10分鐘)
系統自動計算並顯示總價格
Supreme, Hawaii, Meat Lover-30元,Seafood-40元(注意:簡化起見,不考慮Pizza尺寸)
每加一個Topping,3元
烤制費用計算:Fast烤制加2元,Normal無費用,Slow減2元
每一次銷售,需計算繳納的稅額,稅額為每次銷售額的10%,記錄到資料庫,該資訊將來會作為納稅依據。(稅是不是高了點!?)
每一次銷售需要更新資料庫中標準Pizza餅的存貨量(假設標準Pizza是提前做好的,並記錄到了庫存資料庫),列印收據,並記錄此次銷售(到資料庫)。
當Pizza購買確認以後,該次銷售資訊需顯示在螢幕上,包括:總額,Pizza資訊(名稱、數量、類型、大小、Topping)。該次銷售的資訊需記錄到資料庫中,包括:該銷售每個Pizza的資訊(名稱,類型,大小,Topping)。
當Pizza購買確認以後,Pizza烤制資訊(注意:包括該客戶的所有Pizza)(提示:每個Pizza資訊包括1.Pizza名稱,2.類型(厚、薄),3.大小 4. Topping, 5.開始時間, 即點擊Make Pizza按鈕確認的時間),應被加到顯示的烤制序列表介面中,店內烤制人員查看該介面烤制相應的Pizza,該客戶的烤制任務完成後確認該烤制任務完成(點擊該任務右邊的“完成“按鈕),從烤制序列表介面中刪除該Pizza烤制任務,並記錄該任務的資訊到資料庫中,資訊包括烤制開始時間和完成時間。
烤制序列表介面列出的Pizza烤制任務以時間排序(較早輸入的任務在前面),從輸入計算開始,超過15分鐘的任務,顏色變為為紅色(警世),沒有超過的為正常色-綠色。
銷售處理-送貨上門銷售:
顧客可打電話訂Pizza餅,店員通過電話記錄:顧客姓名,電話,Pizza送到的地址。在Pizza做好後送到該地址並收費。
送貨上門的Pizza在資料庫記錄中需有標識,以區分顧客親自來銷售的Pizza。送Pizza員工的工資按每送一趟5元計算(因此收取費用為Pizza金額+5元)
烤制序列表介面列出的Pizza烤制任務完成後,如果該任務是送貨上門的,系統需提示輸入送貨員工ID,以計算該員工送該趟任務的工資。(在資料庫中需有相關的表,記錄:員工ID,銷售ID)。
送貨上門介面:
送貨上門的Pizza在烤制完成後及輸入送貨員工ID後,該送貨任務應該被加到該介面中,所有任務按照時間為序。送貨員工在開始送貨時,應點擊“開始“按鈕,表示該員工開始去送貨。當送貨完成返回後,點擊該任務右邊的“完成”按鈕,表示”我送貨回來了”,該任務從列表中消失,同時該任務資訊記錄到資料庫(包括,銷售ID,員工ID,開始送貨時間,送貨回來時間,該趟任務工資)。
如果送貨時間超過30分鐘,工資(5元)應降為3元,超過60分鐘為0元,一天沒回來,開除!(不要實現哦)
計算送貨員工工資:
庫存更新:(暫只實現添加功能)
Pizza(未烤制的Pizza)批量做好後,添加到庫存中(資料庫)。
Pizza資訊(類型,大小,數量)手工寫到一個文字檔中,格式為<Pizza Type>,<Base Type>,<Size>,<Quantity>
例如:
Seafood,1,7,200 Superme,1,6,250 Superme,2,7,160 Meat Lover,1,5,200 …… |
結算
例如:
Total Sales:¥5420
Pizza NameBase TypeQuantity
Supreme1256
Supreme2135
Hawaii1278
Hawaii297
……