類型: C#學習筆記
目的: 開發收銀軟體前的
Brainstorming參考資料: 想像
交易的流程一台收銀機軟體需要些什麼功能? 先讓我回到今早在商店買的那瓶飲料開始, 想像著一台收銀機要做些什麼.
(1) 首先我把飲料拿到櫃台, 對方拿了掃瞄器, 對準了飲料內的條碼掃瞄, 嗶的一聲.
- 將掃瞄到的飲料條碼input到收銀系統軟體.
- 收銀系統軟體由取得的條碼, 分析(或從資料庫中)找出產品名稱及價格.
(2) 接著我在銀幕上看到了飲料的品名, 數量和價格.
(3) 服務人員告知我金額, 接著我付了費用, 等著找零. 服務人員將收到的金額輸入收銀系統.
(4) 接著聽到噹的一聲, 錢櫃打開了, 收銀人員看著顯示器上顯示需要找零的金額, 並從錢櫃拿出零錢.
- 收銀軟體計算收取的金額減去飲料的金額, 並將結果output到顯示器.
- 收銀軟體在交易確認之後, Output開啓錢櫃.
(5) 最後收銀人員將發票及找零交給了我, 我從發票上確認了和找零後, 離開.
- 收銀系統將交易的內容, 包括品名, 數量, 單價, 總金額output到印表機列印.
收銀軟體需要做些什麼
(1) 要能夠輸入欲購商品, 上述例子是用掃瞄器, 掃瞄條碼, 目前沒有掃瞄器, 只能用按鍵輸入.
(2) 也許販售商品變更, 或者增加新的販售商品,
- 可能需要寫資料庫, 可以儲存商品資訊, 在庫數量, 價格. (或其它暫存的方式)
- 需要有個額外的介面供收銀人員變更或新增項目, 數量, 價格. . .等.
(3) 要計算販賣總金額, 並顯示於顯示器.
- 需要1個按鍵 (像是Enter一樣的功能)
- 先將資料丟到Message視窗, 取代顯示器 (目前沒有顯示器)
(4) 收取金額找零, 需要輸入收取的金額, 可以輸入金額的介面(0~9 + Enter)
(5) 將找零的金額丟到Message視窗, 同(3)作法.
(6) 需要了解如何開啓錢櫃.
(7) 將發票要列印的資料送到印表機列列印.
後記
就過去幾次的開發經驗告訴我, 目前要開發的這個簡易收銀軟體, 在開始做的當下也許會像上述那樣的描述製作. 幾經過測試之後, 就會一步步更新, 才會慢慢成熟.
很多的問題, 都在過程中產生, 思考問題, 進而解決問題, 使寫軟體越來越上手.
總而言之, 這第一步踏出去之後, 才會知道接著來的是什麼挑戰.