



版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、軟件工程飲料自動售貨機系統軟件工程課程大作業飲料自動售貨機系統姓名:學號:班級專業:二零一一年十一月二十九日飲料自動售貨機系統一、飲料自動售貨機描述1.1 關于飲料自動售貨機自動售貨機像磁卡電話、銀行柜員機一樣,以方便、新穎、文明、晝夜服務等特點,成為發達國家不可缺少的便民配套設施。 如今的自動售貨機可以為顧客提供多種服務。 顧客可以根據自己的需要選擇商品并投入錢幣,售貨機接收錢幣,售出商品。1.2 飲料自動售貨機的設計該設計模擬自動售貨機的工作原理和方式,完成出售商品、接收錢幣、找零錢等功能。與系1飲料自動售貨機系統統交涉的人有兩類:送貨員和顧客。 送貨員在每周固定時間查看售貨機中的飲料數量
2、和錢幣數量情況,并根據計劃適當添加飲料、 錢幣或取走適當的錢幣。同時送貨員也可以根據需要增加飲料的種類或修改飲料的價格。 顧客根據需要選擇飲料,投入錢幣,并等待售貨機的響應。售貨機(所設計的系統)所做的響應:如果售貨機中沒有該種飲料, 則退回顧客所投錢幣, 交易失敗。否則,如果售貨機中有該種飲料,則判斷顧客所投錢幣是否足夠, 如果不夠,則提示顧客交易失敗,并退回錢幣。 如果顧客所投的錢幣剛好夠(不需要找零錢),則售出飲料,交易結束。如果需要找零錢, 則判斷是否有適當的零錢可以找,如果有,則售出飲料,找出零錢,交易結束。否則,退回錢幣,交易失敗。 當然,實際生活中的售貨機可能有更加強大的功能和更
3、完善的處理,這里只模擬一個售貨機系統, 所以只實現其核心原理,并練習和提高分析問題能力和編程能力。2飲料自動售貨機系統二、需求分析2.1 飲料自動售貨機系統功能需求:自動售貨機系統是一種無一元等 3 個硬幣投幣口。顧客確認購貨后, 售貨機可根據硬幣的面值進行累加。自動售貨機裝有貨物分配器。 每個貨物分配器中包含零個或多個價格相同的貨物。 顧客通過選擇貨物分配器來選擇貨物。 如果貨物分配器中有貨物,而且顧客支付的貨幣值不小于該貨物的價格,貨物將被分配到貨物傳送孔送給顧客, 并將適當的零錢返回到退幣孔。如果分配器是空的,則和顧客支付的貨幣值相等的硬幣將被送加到退幣孔。如果顧客支付的貨幣值少于所選擇
4、的分配器中的貨物的價格, 機器將等待顧客投進更多的貨幣。如果顧客決定不買所選擇的貨物, 將所投硬幣從退幣孔退出。2.2 飲料自動售貨機系統控制要求:根據售貨機自動控制系統的流程可以知道自動售貨機的主要系統包括: 計幣系統、比較系統、選擇系統、飲料供應系統、退幣系統和報警系統。3飲料自動售貨機系統1計幣系統:當有顧額色買飲料時,投入的錢幣經過感應器,感應器記憶投幣的個數關且傳送到檢測系統(即電子天平) 和計幣系統。 只有當電子天平測量的重量少于誤差值時, 允許計幣系統進行疊加錢幣,疊加的錢幣數據存放在數據寄存器中。 如果不正確時,認為是假幣。既定出投幣,既定出系統,等待新顧客。2比較系統:投入完
5、畢后,系統會把錢幣數據和可以購買飲料的價格進行區間比較, 當投入的錢幣小于 2 元時,指示燈亮,顯示投入的錢幣不足。此時可以再投幣或選擇退幣。 當投稿的錢幣在 23 元之間時,汔水選擇指示燈長亮。當大于 3 元時,汔水和咖啡的指示燈同時長亮。 此時可以選擇飲料或選擇退幣。3選擇系統:比較電路完成后選擇電路指示燈是長亮的, 當按下汽水或咖啡選擇時, 相應的選擇指示燈由長4飲料自動售貨機系統亮轉為以 1 秒為周期閃爍。當飲料供應完畢時,閃爍同時停止。4飲料供應系統:當按下選擇按鈕時, 相應的電磁閥 (Y4 或 Y6)和電機( Y3 或 Y5)同時啟動。在飲料輸出的同時,減去相應的購買錢幣數。當飲料
6、輸出達到 8 秒時,電磁閥首先關斷, 小電機繼續工作 0.5 秒后停機。此小電機的作用是:在輸出飲料時,加快輸出。在電磁閥關斷時,給電磁閥加壓作用,加速電磁閥的關斷。 (注:由于該售貨機是長期使用,電磁閥使用過多時,返回彈力減少,不能完全關斷會出現漏飲料的現象。此時電機 Y3 和 Y5 延長工作 0.5 秒起到電磁閥加壓的作用,使電磁閥可以完好的關斷。)5退幣系統:當顧客購完飲料后, 多余的錢幣只要按下退幣按鈕。系統就會把數據寄存器 D2內的錢幣數首先除以 10 得到整數部分,是 1 元錢需要退回的數量,存放在 D10里。余數存放在 D11里。再用D11除以 5 得到的整數部分是 5 角錢需要
7、退回的數量,存放在 D12里。余數存放在 D13里。最后5飲料自動售貨機系統D13里面的數值,就是 1 角錢需要退回的數量。在選擇退幣的同時啟動 3 個退幣電機。 3 個感應器開始計數,當感應器記錄的個數等于數據寄存器退回的幣數時,退幣電機停止運轉。6報警系統:報警系統如果是非故障報警, 只要通過網絡通知送液車或者送幣車即可。 但是如果是故障報警則需要通知維修人員到現聲進行維修。 同時停止服務,避免造成顧客的損失。6飲料自動售貨機系統2.3 業務流程圖錢幣記錄儀對錢幣前端接受顧客投的進行識別幣判斷退出錢幣發送信息到分配器判斷沒有貨物時發送信發送貨物息到前端7飲料自動售貨機系統2.4 數據流程圖
8、錢幣分配器反錢幣錢幣記錄儀對與貨物價格進貨物發放錢幣進行計算行比較取走零錢與購買的貨物8飲料自動售貨機系統三、各種 UML圖型及其分析3.1 用例圖1. 顧客的用例圖chooseSodainputCoinCustomer2. 自動售貨機的用例圖RegisterDispenserFrontSodaMachine9飲料自動售貨機系統3.2 類圖10飲料自動售貨機系統3.3 序列圖1. 理想狀態(不找零錢)的序列圖:Front:Register:Dispenser: Customer1: inputCoin()2: accept()3: getCustomerInput()4: checkForSo
9、da()5: returnSodaFree()6: displayPrompt()7: chooseSoda()8: sendChooseToDis()9: checkAvailability()10: releaseSoda()11: releaseSoda()11飲料自動售貨機系統2. 沒有貨物的序列圖:Front:Register:Dispenser: Customer1: inputCoin()2: accept()3: getCustomerInput()4: checkForSoda()5: returnSodaFree()6: displayPrompt()7: chooseSo
10、da()8: sendChooseToDis()9: checkAvailability()10: releaseSoda()11: displayPrompt()12: sendReturnCoin()13: returnCoinToFront()14: returnCoin()12飲料自動售貨機系統3. 需找零錢的序列圖:Front:Register:Dispenser: Customer1: inputCoin()2: accept()3: getCustomerInput()4: checkForSoda()5: returnSodaFree()6: displayPrompt()7:
11、 chooseSoda()8: sendChooseToDis()9: checkAvailability()10: releaseSoda()11: sendSodaPrice()12: checkForChange()13: releaseChange()14: receiveSoda()15: receiveChange()13飲料自動售貨機系統4. 沒有零錢找給顧客:Front:Register:Dispenser: Customer1: inputCoin()2: accept()3: getCustomerInput()4: checkForSoda()5: returnSodaF
12、ree()6: displayPrompt()7: chooseSoda()8: sendChooseToDis()9: checkAvailability()10: releaseSoda()11: sendSodaPrice()12: checkForCharge()13: returnNoCharge()14: returnCoinToFront()15: displayPrompt()16: returnSodaToDispenser()17: returnCoin()14飲料自動售貨機系統5. 完整的序列圖:Front:Register:Dispenser: Customer1: i
13、nputCoin()2: accept()3: getCustomerInput()4: checkForSoda()5: returnNoCharge()6: returnCoinToFront()7: displayPrompt()8: returnCoin()9: End()10: returnSodaFree()11: displayPrompt()12: chooseSoda()13: sendChooseToDispenser()14: checkAvailability()15: returnUnavailability()16: displayPrompt()17: sendR
14、eturnCoin()18: returnCoinToFront()19: returnCoin()20: End()21: releaseSoda()22: sendSodaFrice()23: checkForCharge()24: returnNoCharge()25: returnCoinToFront()26: displayPrompt()27: returnSodaToDispenser()28: returnCoin()29: End()30: releaseCharge()31: receiveSoda()32: receiveCharge()33: End()34: rec
15、eiveSoda()35: End()15飲料自動售貨機系統3.4 協作圖1. 理想狀態的協作圖3: getCustomerInput()9: checkAvailability()4: checkForSoda():Registe:Dispensrer8: sendChooseToDis()2: accept()5: returnSodaFree()10: releaseSoda()1: inputCoin()7: chooseSoda():Front6: displayPrompt(): Customer 11: releaseSoda()2. 沒有貨物的協作圖1: inputCoin()
16、7: chooseSoda():Front6: displayPrompt(): Customer11: displayPrompt()14: returnCoin()13: returnCoinToFront()8: sendChooseToDis()2: accept()5: returnSodaFree()12: sendReturnCoin()10: releaseSoda()3: getCustomerInput()9: checkAvailability()4: checkForSoda():Registe:Dispensrer16飲料自動售貨機系統3. 需找零錢的協作圖1: in
17、putCoin()7: chooseSoda():Front6: displayPrompt(): Customer14: receiveSoda()15: receiveChange()13: releaseChange()8: sendChooseToDis()2: accept()5: returnSodaFree()10: releaseSoda()3: getCustomerInput()12: checkForChange()9: checkAvailability():Registe4: checkForSoda():Dispensrer11: sendSodaPrice()4.
18、 沒有零錢找給顧客的協作圖1: inputCoin()7: chooseSoda():Front: Customer6: displayPrompt()15: displayPrompt()17: returnCoin()13: returnNoCharge()8: sendChooseToDis()14: returnCoinToFront()16: returnSodaToDispenser()2: accept()5: returnSodaFree()3: getCustomerInput()10: releaseSoda()12: checkForCharge()9: checkAva
19、ilability()4: checkForSoda():Registe:Dispensrer11: sendSodaPrice()17飲料自動售貨機系統5. 完整的協作圖29: End()33: End()35: End()1: inputCoin()12: chooseSoda():Front: Customer7: displayPrompt()8: returnCoin()11: displayPrompt()16: displayPrompt()19: returnCoin()26: displayPrompt()28: returnCoin()13: sendChooseToDis
20、penser()31: receiveSoda()32: receiveCharge()27: returnSodaToDispenser()34: receiveSoda()10: returnSodaFree()5: returnNoCharge()15: returnUnavailability()21: releaseSoda()6: returnCoinToFront()18: returnCoinToFront()14: checkAvailability()24: returnNoCharge()25: returnCoinToFront()30: releaseCharge()2: accept():Dispens17: sendReturnCoi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 吵架協議書紅包范本
- 品牌生產合同協議
- 品類達人合同協議
- 快遞員帶貨合同協議
- 商業房產證合同協議
- 員工勞動協議書范本
- 商場改衣坊合同協議
- 民宿投資入股合同協議
- 商場員工聘用合同協議
- 2025年管理信息系統應用軟件工程合同
- 2024無人機測評規范
- 術中停電應急預案
- 【高分復習筆記】許莉婭《個案工作》(第2版)筆記和課后習題詳解
- 國有資產投資管理公司組建方案(3篇)
- 大學生心理健康教育(石家莊工程職業學院)知到智慧樹答案
- GB/T 22517.5-2024體育場地使用要求及檢驗方法第5部分:足球場地
- 幼兒園的社會交往能力
- 部隊道路交通安全法
- 農業昆蟲學-形考測試一-國開(ZJ)-參考資料
- 2024-2030年電線電纜產業發展分析及發展趨勢與投資前景預測報告
- 化工廠拆除施工方案
評論
0/150
提交評論