




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、軟件工程課程大作業(yè)' 1921 *飲料自動售貨機(jī)系統(tǒng)姓名:學(xué)號:班級專業(yè):二零一一年十一月二十九日飲料自動售貨機(jī)系統(tǒng)目錄一、飲料自動售貨機(jī)描述 21.1 關(guān)于飲料自動售貨機(jī) 21.2 飲料自動售貨機(jī)的設(shè)計 2二、需求分析32.1 飲料自動售貨機(jī)系統(tǒng)功能需求: 32.2 飲料自動售貨機(jī)系統(tǒng)控制要求: 32.3 業(yè)務(wù)流程圖52.4 數(shù)據(jù)流程圖6三、各種UML圖型及其分析 73.1 用例圖73.2 類圖83.3 序列圖93.4 協(xié)作圖143.5 狀態(tài)圖173.6 活動圖19四、結(jié)論21五、參考文獻(xiàn)2125A'飲料自動售貨機(jī)描述1.1 關(guān)于飲料自動售貨機(jī)自動售貨機(jī)像磁卡電話、銀行柜員機(jī)
2、一樣,以方便、新穎、文明、晝夜服務(wù)等特點,成為發(fā)達(dá)國家不可缺少的便民配套設(shè)施。如今的自動售貨機(jī)可以為顧客提供多種服務(wù)。顧客可以根據(jù)自己的需要選擇商品并投入錢幣,售貨機(jī)接收錢幣,售出商品。1.2 飲料自動售貨機(jī)的設(shè)計該設(shè)計模擬自動售貨機(jī)的工作原理和方式,完成出售商品、接收錢幣、找零錢等功能。 與系統(tǒng)交涉的人有兩類:送貨員和顧客。送貨員在每周固定時間查看售貨機(jī)中的飲料數(shù)量和錢幣數(shù)量情況,并根據(jù)計劃適當(dāng)添加飲料、 錢幣或取走適當(dāng)?shù)腻X幣。 同時送貨員也可以根據(jù) 需要增加飲料的種類或修改飲料的價格。顧客根據(jù)需要選擇飲料,投入錢幣,并等待售貨機(jī)的響應(yīng)。售貨機(jī)(所設(shè)計的系統(tǒng))所做的響應(yīng):如果售貨機(jī)中沒有該種
3、飲料,則退回顧客 所投錢幣,交易失敗。否則,如果售貨機(jī)中有該種飲料,則判斷顧客所投錢幣是否足夠,如果不夠,則提示顧客交易失敗,并退回錢幣。如果顧客所投的錢幣剛好夠(不需要找零錢),則售出飲料,交易結(jié)束。如果需要找零錢,則判斷是否有適當(dāng)?shù)牧沐X可以找,如果有,則售 出飲料,找出零錢,交易結(jié)束。否則,退回錢幣,交易失敗。當(dāng)然,實際生活中的售貨機(jī)可能有更加強(qiáng)大的功能和更完善的處理,這里只模擬一個售貨機(jī)系統(tǒng),所以只實現(xiàn)其核心原理,并練習(xí)和提高分析問題能力和編程能力。二、需求分析2.1 飲料自動售貨機(jī)系統(tǒng)功能需求:自動售貨機(jī)系統(tǒng)是一種無一元等 3個硬幣投幣口。顧客確認(rèn)購貨后,售貨機(jī)可根據(jù)硬幣 的面值進(jìn)行累
4、加。自動售貨機(jī)裝有貨物分配器。每個貨物分配器中包含零個或多個價格相同的貨物。顧客通過選擇貨物分配器來選擇貨物。如果貨物分配器中有貨物,而且顧客支付的貨幣值不小于該貨 物的價格,貨物將被分配到貨物傳送孔送給顧客,并將適當(dāng)?shù)牧沐X返回到退幣孔。如果分配器是空的,則和顧客支付的貨幣值相等的硬幣將被送加到退幣孔。如果顧客支付的貨幣值少于所選擇的分配器中的貨物的價格,機(jī)器將等待顧客投進(jìn)更多的貨幣。如果顧客決定不買所選擇的貨物,將所投硬幣從退幣孔退出。2.2 飲料自動售貨機(jī)系統(tǒng)控制要求:根據(jù)售貨機(jī)自動控制系統(tǒng)的流程可以知道自動售貨機(jī)的主要系統(tǒng)包括:計幣系統(tǒng)、比較系統(tǒng)、選擇系統(tǒng)、飲料供應(yīng)系統(tǒng)、退幣系統(tǒng)和報警系
5、統(tǒng)。1 .計幣系統(tǒng):當(dāng)有顧額色買飲料時,投入的錢幣經(jīng)過感應(yīng)器,感應(yīng)器記憶投幣的個數(shù)關(guān)且傳送到檢測 系統(tǒng)(即電子天平)和計幣系統(tǒng)。只有當(dāng)電子天平測量的重量少于誤差值時,允許計幣系統(tǒng) 進(jìn)行疊加錢幣,疊加的錢幣數(shù)據(jù)存放在數(shù)據(jù)寄存器中。如果不正確時,認(rèn)為是假幣。既定出投幣,既定出系統(tǒng),等待新顧客。2 .比較系統(tǒng):投入完畢后,系統(tǒng)會把錢幣數(shù)據(jù)和可以購買飲料的價格進(jìn)行區(qū)間比較,當(dāng)投入的錢幣小于2元時,指示燈亮,顯示投入的錢幣不足。此時可以再投幣或選擇退幣。當(dāng)投稿的錢幣在23元之間時,溝水選擇指示燈長亮。當(dāng)大于 3元時,溝水和咖啡的指示燈同時長亮。此時 可以選擇飲料或選擇退幣。3 .選擇系統(tǒng):比較電路完成后
6、選擇電路指示燈是長亮的,當(dāng)按下汽水或咖啡選擇時,相應(yīng)的選擇指示燈由長亮轉(zhuǎn)為以1秒為周期閃爍。當(dāng)飲料供應(yīng)完畢時,閃爍同時停止。4 .飲料供應(yīng)系統(tǒng):當(dāng)按下選擇按鈕時,相應(yīng)的電磁閥(Y4或Y6)和電機(jī)(Y3或Y5)同時啟動。在飲料輸出的同時,減去相應(yīng)的購買錢幣數(shù)。 當(dāng)飲料輸出達(dá)到 8秒時,電磁閥首先關(guān)斷,小電機(jī)繼續(xù) 工作0.5秒后停機(jī)。此小電機(jī)的作用是:在輸出飲料時,加快輸出。在電磁閥關(guān)斷時,給電 磁閥加壓作用,加速電磁閥的關(guān)斷。(注:由于該售貨機(jī)是長期使用,電磁閥使用過多時, 返回彈力減少,不能完全關(guān)斷會出現(xiàn)漏飲料的現(xiàn)象。此時電機(jī)Y3和Y5延長工作0.5秒起到電磁閥加壓的作用,使電磁閥可以完好的關(guān)
7、斷。)5 .退幣系統(tǒng):當(dāng)顧客購?fù)觑嬃虾?,多余的錢幣只要按下退幣按鈕。系統(tǒng)就會把數(shù)據(jù)寄存器D2內(nèi)的錢幣數(shù)首先除以10得到整數(shù)部分,是1元錢需要退回的數(shù)量, 存放在D10里。余數(shù)存放在D11 里。再用D11除以5得到的整數(shù)部分是 5角錢需要退回的數(shù)量, 存放在D12里。余數(shù)存放在 D13里。最后D13里面的數(shù)值,就是1角錢需要退回的數(shù)量。在選擇退幣的同時啟動3個退幣電機(jī)。3個感應(yīng)器開始計數(shù),當(dāng)感應(yīng)器記錄的個數(shù)等于數(shù)據(jù)寄存器退回的幣數(shù)時,退幣電 機(jī)停止運轉(zhuǎn)。6 .報警系統(tǒng):報警系統(tǒng)如果是非故障報警,只要通過網(wǎng)絡(luò)通知送液車或者送幣車即可。但是如果是故障報警則需要通知維修人員到現(xiàn)聲進(jìn)行維修。同時停止服務(wù)
8、,避免造成顧客的損失。2.3業(yè)務(wù)流程圖錢幣記錄儀對錢幣進(jìn)行識別前端接受顧客投的幣退出錢幣發(fā)送信息到分配器發(fā)送貨物沒有貨物時發(fā)送信息到前端2.4數(shù)據(jù)流程圖三、各種UML圖型及其分析3.1用例圖1.顧客的用例圖inputCoinchooseSodaCustomer2.自動售貨機(jī)的用例圖SodaMachineDispenser3.2類圖3.3序列圖1.理想狀態(tài)(不找零錢)的序列圖:Customer:Front1: inputCoin():displayPrompt(7: chooseSoda()1: releaseSoda(:Register2: accept。3: getCustomerInput
9、():Dispenser5: returnSodaFree()A8: sendChooseToDis()、4: checkForSoda()10: releaseSoda()9: checkAvailability()2 .沒有貨物的序列圖:Front:Register:Dispenser:Customer1: inputCoin()a2: accept()其3: getC5: returnJ;stomerInput()J4: checkForSoda()>SodaFree()6: displayPrompt() _7: chooseSoda()8: sendChooseToDis()1
10、0: rele -9: cheaseSoda()ckAvailability() w11:displayPrompt( 121314: returnCoin():sendReturnCoin =returnCoinToFrorrI()廿()3 .需找零錢的序列圖:Front:Dispenser:Customer1: inputCoin()2: accept()3: getCi.stomerInput()v14: checkForSoda()5: returnS七OdaFree()6:displayPrompt()f7: chooseSoda()n8: sendCho)oseToDis()9:
11、che(ckAvailability()10: releaseSoda()11: sendSodaPrice()12: checxForChange()113:releaseChange()u14:receiveSoda()r15:receiveChange()h-L:Front4 .沒有零錢找給顧客1: inputCoin()2: accept。161r:displayPrompt()餐一 一3: getC5: return;stomerInput()_114: checkForSoda() SodaFree()8: sendChooseToDis()17: chooseSoda()10:
12、rele9: cheaseSoda()ckAvailability()1312: che:returnNoCharge V11: sendSodaPrice()ckForCharge()1()似)aToDispenser()145: displayPrompt()returnCoinToFror 二16: returnSodL ",>117: returnCoin():Customer:Register:Dispenser5 .完整的序列圖:Front:Register:Dispenser:Customer1: inputCoin()2: accept。15:6: rdispl
13、ayPrompt().,一二reet3: getCustoturnNoCharge()n”erInput()A-4: checkForSoda()二urnCoinToFront()U J8: returnCoin() 9: End(),1110: returnSodaFee()displayPrompt()-y13: sendChooseToDispenser()面lability。162: chooseSoda()displayPrompt()s式15: returnUnavailab14: checkAviiity()endReturnCoin()JJ"17:18: r19: r
14、eturnCoin()rnCoinToFront()21: releaseSo -aa()260: End()22: sendSodaFrice()23: checkFeturnNoCharge()orCharge()24: r25: rdisplayPrompt()式rnCoinToFront()27: returnSodaToDispe江ser()LJ-28: returnCoin()releaseCharge()-LJ9: End()|):30eceiveCharge()S3: End() v14: receiveSoda()!5: End()r31: receiveSoda()3:3.
15、4協(xié)作圖1.理想狀態(tài)的協(xié)作圖3: getCustomerInput()9: checkAvailability()1: inputCoin()7: chooseSoda()>6: displayPrompt() :Customer 11: releaseSoda()2.沒有貨物的協(xié)作圖:CustomerA2: accept()1: inputCoin()7: chooseSoda():Front8: sendChooseToDis()5: returnSodaFree()10: releaseSoda()6: displayPrompt()11: displayPrompt()14: r
16、eturnCoin()13: returnCoinToFront().2: accept()12: sendReturnCoin()8: sendChooseToDis()5: returnSodaFree()10: releaseSoda()3: getCustomerInput()>:Registe r4: checkForSoda()>9: checkAvailability()>:Dispenser3.需找零錢的協(xié)作圖1: inputCoin():Customer7: chooseSoda()>(6: displayPrompt()14: receiveSoda
17、()15: receiveChange()3: getCustomerInput()12: checkForChange():Registe13: releaseChange()2: accept。8: sendChooseToDis() A5: returnSodaFree()10: releaseSoda()9: checkAvailability()4.沒有零錢找給顧客的協(xié)作圖1: inputCoin()7: chooseSoda()i.):Customer3: getCustomerInput()12: checkForCharge()矣4: checkForSoda()>11:
18、 sendSodaPrice()6: displayPrompt()15: displayPrompt()17: returnCoin()13: returnNoCharge()14: returnCoinToFront()2: accept():Dispenser8: sendChooseToDis()16: returnSodaToDispenser() z5: returnSodaFree()10: releaseSoda()9: checkAvailability()11: sendSodaPrice()5.完整的協(xié)作圖29: End()33: End()35: End()1: inputCoin()十:Customer12: chooseSoda()>7: displayPrompt()8: returnCoin()11: displayPrompt()16: displayPrompt()19: returnCoin()26: displayPrompt()28: returnCoin()31: receiveSoda()32: receiveCharge()34: receiveSoda()5: returnN
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電力項目合同管理與控制措施
- 2025至2030年水性氨基酸丙烯酸烘烤樹脂項目投資價值分析報告
- 2025至2030年幕墻伸縮支撐臂項目投資價值分析報告
- 2025年玫瑰香腸項目可行性研究報告
- 2025年光數(shù)據(jù)傳輸機(jī)項目可行性研究報告
- 度電影市場合同范本:票房分賬發(fā)行條款
- 新規(guī)出臺:勞動合同期限與合同解除條款解析
- 戰(zhàn)略合作:工廠食堂餐飲服務(wù)合同
- 成都商品房買賣合同范本
- 個人房產(chǎn)借款合同標(biāo)準(zhǔn)格式
- 涼山州 2024 年教師綜合業(yè)務(wù)素質(zhì)測試試卷初中物理
- 石英砂生產(chǎn)流程培訓(xùn)
- 工地團(tuán)隊勞務(wù)合同范例
- GB/T 5267.5-2024緊固件表面處理第5部分:熱擴(kuò)散滲鋅層
- 組織行為學(xué)測試試題庫與答案
- 2024年北京海淀區(qū)初一(上)期中語文試題(含答案)
- 初二美術(shù)教學(xué)課件模板
- 裝配式疊合板安裝施工方案
- 2024年江蘇常州機(jī)電職業(yè)技術(shù)學(xué)院招聘44人歷年高頻難、易錯點500題模擬試題附帶答案詳解
- 人音版音樂五年級下冊《歡樂的村寨》單元作業(yè)設(shè)計
- 煙草專賣法知識考試題庫500題(含答案)
評論
0/150
提交評論