


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、軟件工程課程大作業(yè)飲料自動售貨機系統(tǒng)姓名: 學(xué)號:班級 專業(yè):二零一一年十一月二十九日目錄一、飲料自動售貨機描述 21.1關(guān)于飲料自動售貨機 21.2飲料自動售貨機的設(shè)計 2二、需求分析32.1飲料自動售貨機系統(tǒng)功能需求: 32.2 飲料自動售貨機系統(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五、參考文獻 21亠、飲料自動售貨機描述1.1關(guān)于飲料自動售貨機自動售貨機像磁卡電話、銀行柜員機一樣,以方便、新穎、文明、晝夜服務(wù)等特點,成為發(fā)達國家不可缺少的便民配套
2、設(shè)施。如今的自動售貨機可以為顧客提供多種服務(wù)。顧客可以根據(jù)自己的需要選擇商品并投入錢幣,售貨機接收錢幣,售出商品。1.2飲料自動售貨機的設(shè)計該設(shè)計模擬自動售貨機的工作原理和方式,完成出售商品、接收錢幣、找零錢等功能。與系統(tǒng)交涉的人有兩類:送貨員和顧客。送貨員在每周固定時間查看售貨機中的飲料數(shù)量和錢幣數(shù)量情況,并根據(jù)計劃適當添加飲料、 錢幣或取走適當?shù)腻X幣。 同時送貨員也可以根據(jù) 需要增加飲料的種類或修改飲料的價格。顧客根據(jù)需要選擇飲料,投入錢幣,并等待售貨機的響應(yīng)。售貨機(所設(shè)計的系統(tǒng))所做的響應(yīng):如果售貨機中沒有該種飲料,則退回顧客 所投錢幣,交易失敗。否則,如果售貨機中有該種飲料,則判斷顧
3、客所投錢幣是否足夠,如 果不夠,則提示顧客交易失敗,并退回錢幣。如果顧客所投的錢幣剛好夠(不需要找零錢),則售出飲料,交易結(jié)束。如果需要找零錢,則判斷是否有適當?shù)牧沐X可以找,如果有,則售 出飲料,找出零錢,交易結(jié)束。否則,退回錢幣,交易失敗。當然,實際生活中的售貨機可能有更加強大的功能和更完善的處理,這里只模擬一個售貨機系統(tǒng), 所以只實現(xiàn)其核心原理,并練習(xí)和提高分析問題能力和編程能力。二、需求分析2.1飲料自動售貨機系統(tǒng)功能需求:自動售貨機系統(tǒng)是一種無一元等 3個硬幣投幣口。顧客確認購貨后,售貨機可根據(jù)硬幣 的面值進行累加。自動售貨機裝有貨物分配器。 每個貨物分配器中包含零個或多個價格相同的貨
4、物。顧客通過選擇貨物分配器來選擇貨物。如果貨物分配器中有貨物,而且顧客支付的貨幣值不小于該貨 物的價格,貨物將被分配到貨物傳送孔送給顧客,并將適當?shù)牧沐X返回到退幣孔。如果分配器是空的,則和顧客支付的貨幣值相等的硬幣將被送加到退幣孔。如果顧客支付的貨幣值少于所選擇的分配器中的貨物的價格,機器將等待顧客投進更多的貨幣。如果顧客決定不買所選擇的貨物,將所投硬幣從退幣孔退出。2.2飲料自動售貨機系統(tǒng)控制要求:根據(jù)售貨機自動控制系統(tǒng)的流程可以知道自動售貨機的主要系統(tǒng)包括:計幣系統(tǒng)、比較系統(tǒng)、選擇系統(tǒng)、飲料供應(yīng)系統(tǒng)、退幣系統(tǒng)和報警系統(tǒng)。1 .計幣系統(tǒng):當有顧額色買飲料時,投入的錢幣經(jīng)過感應(yīng)器,感應(yīng)器記憶投
5、幣的個數(shù)關(guān)且傳送到檢測 系統(tǒng)(即電子天平)和計幣系統(tǒng)。只有當電子天平測量的重量少于誤差值時,允許計幣系統(tǒng) 進行疊加錢幣,疊加的錢幣數(shù)據(jù)存放在數(shù)據(jù)寄存器中。如果不正確時,認為是假幣。既定出投幣,既定出系統(tǒng),等待新顧客。2. 比較系統(tǒng):投入完畢后,系統(tǒng)會把錢幣數(shù)據(jù)和可以購買飲料的價格進行區(qū)間比較,當投入的錢幣小于2元時,指示燈亮,顯示投入的錢幣不足。 此時可以再投幣或選擇退幣。當投稿的錢幣在23元之間時,汔水選擇指示燈長亮。當大于3元時,汔水和咖啡的指示燈同時長亮。此時可以選擇飲料或選擇退幣。3. 選擇系統(tǒng):比較電路完成后選擇電路指示燈是長亮的,當按下汽水或咖啡選擇時,相應(yīng)的選擇指示燈由長亮轉(zhuǎn)為以
6、1秒為周期閃爍。當飲料供應(yīng)完畢時,閃爍同時停止。4. 飲料供應(yīng)系統(tǒng):當按下選擇按鈕時,相應(yīng)的電磁閥(Y4或Y6)和電機(Y3或Y5)同時啟動。在飲料輸出的同時,減去相應(yīng)的購買錢幣數(shù)。當飲料輸出達到8秒時,電磁閥首先關(guān)斷,小電機繼續(xù)工作0.5秒后停機。此小電機的作用是:在輸出飲料時,加快輸出。在電磁閥關(guān)斷時,給電 磁閥加壓作用,加速電磁閥的關(guān)斷。(注:由于該售貨機是長期使用,電磁閥使用過多時, 返回彈力減少,不能完全關(guān)斷會出現(xiàn)漏飲料的現(xiàn)象。此時電機Y3和Y5延長工作0.5秒起到電磁閥加壓的作用,使電磁閥可以完好的關(guān)斷。)5. 退幣系統(tǒng):當顧客購?fù)觑嬃虾螅嘤嗟腻X幣只要按下退幣按鈕。系統(tǒng)就會把數(shù)據(jù)
7、寄存器D2內(nèi)的錢幣數(shù)首先除以10得到整數(shù)部分,是1元錢需要退回的數(shù)量, 存放在D10里。余數(shù)存放在D11 里。再用D11除以5得到的整數(shù)部分是 5角錢需要退回的數(shù)量, 存放在D12里。余數(shù)存放在 D13里。最后D13里面的數(shù)值,就是1角錢需要退回的數(shù)量。在選擇退幣的同時啟動3個退幣電機。3個感應(yīng)器開始計數(shù),當感應(yīng)器記錄的個數(shù)等于數(shù)據(jù)寄存器退回的幣數(shù)時,退幣電 機停止運轉(zhuǎn)。6. 報警系統(tǒng):報警系統(tǒng)如果是非故障報警,只要通過網(wǎng)絡(luò)通知送液車或者送幣車即可。但是如果是故障報警則需要通知維修人員到現(xiàn)聲進行維修。同時停止服務(wù),避免造成顧客的損失。2.3業(yè)務(wù)流程圖錢幣記錄儀對錢幣S rr. z 、I Erd
8、前端接受顧客投的 幣進行識別11rr退出錢幣發(fā)送信息到分配器11T發(fā)送貨物沒有貨物時發(fā)送信息到前端2.4數(shù)據(jù)流程圖三、各種UML圖型及其分析3.1用例圖1. 顧客的用例圖in putCo inchooseSodaCustomer2. 自動售貨機的用例圖SodaMach ineDispe nser3.2類圖3.3序列圖1. 理想狀態(tài)(不找零錢)的序列圖:Front:Register:Dispe nser:Customer1: i nputCoi n() >2: accept()3: getCustomerI nput()< 丨4: checkForSoda()5: returnSod
9、aFree()6: displayPrompt(Av7: chooseSoda()8: sen dChooseToDis()9: checkAvailability()10: releaseSoda()1: releaseSoda(2. 沒有貨物的序列圖(1:Front:Register:Dispe nser:Customer1: i nputCoi n()'>JL2: accept() nl3: getCustomerI nput() V i 4: checkForSoda() > 5: returnSodaFree():displayPrompt(7: chooseSo
10、da()8: sen dChooseToDis()9: checkAvailability()10: releaseSoda()11: displayPrompt()12:sen dReturnCoin()13etur nCoin ToFro nt()14: returnCoi n()*-S.3. 需找零錢的序列圖:Front:Dispe nser:Customer1: in putCoi n() >2: accept。3: getCustomerI nput()C I4: checkForSoda()5: retur nSbdaFree():displayPrompt()7: choo
11、seSoda()8: sen dChooseToDis()9: checkAvailability()10: releaseSoda()12: che11: sen dSodaPrice()ckForChan ge()< >3:releaseCha nge()F4: receiveSoda()15:receiveCha nge()4. 沒有零錢找給顧客:Front:Register:Dispe nser:Customer1: i nputCoi n()2: accept()3: getCustomerI nput()V i4: checkForSoda()5: returnSoda
12、Free():displayPrompt()7: chooseSoda()8: sen dChooseToDis()9: checkAvailability()10: releaseSoda()1? sen dSodaPrice()12: checkForCharge()13:retur nN oCharge(15: displayPrompt(17: returnCoi n()etur nCoin ToFro<t()16: returnSodaToDispe nser()5.完整的序列圖:Customer:Front:Register:Dispenser1: i nputCoi n()
13、2: accept。3: getCustomerInput()4: checkForSoda()5:retu rnN oCharge()displayPrompt()8: returnCoi n()9: En d()11 displayPrompt()chooseSoda()1216:displayPrompt()19: returnCoi n()20: En d()26:displayPrompt()28: returnCoi n()29: En d()31: receiveSoda()eceiveCharge()33: En d():receiveSoda()35: En d()6: re
14、tir nCoi nToFro nt()10: retur nSodaFee()13: sen dChooseToDispen14: checkAvailability()15: retu rnUn availabiiity()17: se ndReturnCoi n()18: retirnCoi nToFro nt()21: releaseSoda()23: checkF22: sen dSodaFrice()orCharge()24: returnNoCharge()25: retu rnCoinToFront()27: retu rn SodaToDispenser()30: relea
15、seCharge()3.4協(xié)作圖1.理想狀態(tài)的協(xié)作圖3: getCustomerl nput()9: checkAvailability()A2: accept()8: sen dChooseToDis()1: i nputCoi n()7: chooseSoda()>5: retur nSodaFree()10: releaseSoda():Front6: displayPrompt():Customer 11: releaseSoda()2.沒有貨物的協(xié)作圖1: inputCoin()7: chooseSoda()>:Customer6: displayPrompt()11:
16、displayPrompt()14: returnCoin()13: returnCoinToFront()/2: accept()12: sendReturnCoin()8: sendChooseToDis()5: returnSodaFree()10: releaseSoda()9: checkAvailability()A3: getCustomerInput()>:Registe4: checkForSoda()>3. 需找零錢的協(xié)作圖7: chooseSoda()>1: inputCoin():Customer6: displayPrompt()14: receiv
17、eSoda()15: receiveChange()13: releaseChange()2: accept()3: getCustomerlnput() /12: checkForChange()8: sendChooseToDis()5: returnSodaFree()10: releaseSoda()9: checkAvailability()4: checkForSoda():Registe1一:Dispenser11: sendSodaPrice()4. 沒有零錢找給顧客的協(xié)作圖7: chooseSoda()>:Customer1: inputCoin()6: display
18、Prompt()15: displayPrompt()17: returnCoin()13: returnNoCharge()14: returnCoinToFront()2: accept()3: getCustomerlnput()12: checkForCharge()>8: sendChooseToDis()16: returnSodaToDispenser()5: returnSodaFree()10: releaseSoda()9: checkAvailability()11: sendSodaPrice()5.完整的協(xié)作圖29: End()33: End()35: End(
19、)十:Customer1: inputCoin()12: chooseSoda()>:Front3: getCustomerlnput()23: checkForCharge()7: displayPrompt()8: returnCoin()11: displayPrompt()16: displayPrompt()19: returnCoin()26: displayPrompt()28: returnCoin()31: receiveSoda()32: receiveCharge()34: receiveSoda()5: returnNoCharge()6: returnCoinToFront()18: returnCoinToFront()24: returnNoCharge()25: returnCoinToFront()30: releaseCharge()2: accept()17: sendReturnCoin()
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度商鋪房屋租賃與文化藝術(shù)展覽合作合同
- 二零二五年度私人房產(chǎn)全款買賣合同(帶儲藏室)
- 長春2025年度勞動合同糾紛律師全程跟蹤服務(wù)合同
- 二零二五年度門面轉(zhuǎn)讓及后續(xù)商業(yè)運營支持合同
- 酒店客房意外傷害2025年度免責(zé)協(xié)議:安全無憂住宿
- 2025年度英語輔導(dǎo)班協(xié)議書退費及語言能力強化合同
- 2025年度舞蹈師資引進與培訓(xùn)合同
- 二零二五年度不同意補充協(xié)議簽訂的違約責(zé)任及賠償標準合同
- 二零二五年度企業(yè)戰(zhàn)略風(fēng)險評估委托合同
- 二零二五年度企業(yè)員工宿舍租賃及物業(yè)管理合同
- GB 30254-2024高壓三相籠型異步電動機能效限定值及能效等級
- 醫(yī)學(xué)課件胸腔穿刺術(shù)3
- 重大事故隱患判定標準與相關(guān)事故案例培訓(xùn)課件
- 車間現(xiàn)場管理培訓(xùn)
- 部編版《道德與法治》六年級下冊第6課《探訪古代文明》精美課件(第1課時)
- (正式版)CB∕T 4548-2024 船舶行業(yè)企業(yè)相關(guān)方安全管理要求
- 全過程工程咨詢管理服務(wù)方案
- 20S515 鋼筋混凝土及磚砌排水檢查井
- 防火封堵施工施工工藝
- 古詩惠崇春江晚景課件市公開課一等獎省賽課微課金獎?wù)n件
- 多囊腎的教學(xué)查房
評論
0/150
提交評論