軟件工程課程設(shè)計(jì)(自動(dòng)售貨機(jī))_第1頁(yè)
軟件工程課程設(shè)計(jì)(自動(dòng)售貨機(jī))_第2頁(yè)
軟件工程課程設(shè)計(jì)(自動(dòng)售貨機(jī))_第3頁(yè)
軟件工程課程設(shè)計(jì)(自動(dòng)售貨機(jī))_第4頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、軟件工程課程設(shè)計(jì)報(bào)告一、問(wèn)題描述(一)關(guān)于自動(dòng)售貨機(jī)自動(dòng)售貨機(jī)像磁卡電話、銀行柜員機(jī)一樣,以方便、新穎、文明、晝夜服務(wù)等特點(diǎn),成為發(fā)達(dá)國(guó)家不可缺少的便民配套設(shè)施。如今的自動(dòng)售貨機(jī)可以為顧客提供多種服務(wù)。顧客可以根據(jù)自己的需要選擇商品并投入錢(qián)幣,售貨機(jī)接收錢(qián)幣,售出商品。(二)自動(dòng)售貨機(jī)的設(shè)計(jì)自動(dòng)售貨機(jī)系統(tǒng)是一種無(wú)人售貨系統(tǒng)。售貨時(shí),顧客把硬幣投入機(jī)器的投幣口中,機(jī)器檢查硬幣的大小、重量、厚度及邊緣類型。有效的硬幣是一元幣、五角幣、一角幣、五分幣和一分幣。 其它貨幣都被認(rèn)為是假幣。機(jī)器拒收假幣,并將其從退幣孔退出。當(dāng)機(jī)器接收了有效的硬幣之后,將之送入硬幣儲(chǔ)藏器。顧客支付的貨幣根據(jù)硬幣的面值進(jìn)行累

2、加。自動(dòng)售貨機(jī)裝有貨物分配器,每個(gè)分配器中包含0 個(gè)或多個(gè)價(jià)格相同的貨物。顧客通過(guò)選擇貨物分配器來(lái)選擇貨物。如果有貨, 且顧客支付的貨幣值不小于該貨物的價(jià)格,貨物將被分配到貨物傳送孔送給顧客,并將找零返回到退幣孔。如果無(wú)貨, 則和顧客支付的貨幣值相等的硬幣將被送到退幣孔。如果顧客支付的貨幣值小于所選貨物的價(jià)格,機(jī)器將等待顧客投進(jìn)更多的貨幣。如果顧客決定不買(mǎi)所選擇的貨物,他投放進(jìn)的硬幣將從退幣孔中退出。二、需求分析(一) UML自動(dòng)售貨機(jī)系統(tǒng)功能需求:自動(dòng)售貨機(jī)系統(tǒng)是一種無(wú)一元等3 個(gè)硬幣投幣口。 顧客確認(rèn)購(gòu)貨后,售貨機(jī)可根據(jù)硬幣的面值進(jìn)行累加。自動(dòng)售貨機(jī)裝有貨物分配器。每個(gè)貨物分配器中包含零個(gè)

3、或多個(gè)價(jià)格相同的貨物。顧客通過(guò)選擇貨物分配器來(lái)選擇貨物。如果貨物分配器中有貨物,而且顧客支付的貨幣值不小于該貨物的價(jià)格, 貨物將被分配到貨物傳送孔送給顧客,并將適當(dāng)?shù)牧沐X(qián)返回到退幣孔。如果分配器是空的, 則和顧客支付的貨幣值相等的硬幣將被送加到退幣孔。如果顧客支付的貨幣值少于所選擇的分配器中的貨物的價(jià)格,機(jī)器將等待顧客投進(jìn)更多的貨幣。如果顧客決定不買(mǎi)所選擇的貨物,將所投硬幣從退幣孔退出。(二) UML自動(dòng)售貨機(jī)系統(tǒng)控制要求:根據(jù)售貨機(jī)自動(dòng)控制系統(tǒng)的流程可以知道自動(dòng)售貨機(jī)的主要系統(tǒng)包括:計(jì)幣系統(tǒng)、 比較系統(tǒng)、選擇系統(tǒng)、飲料供應(yīng)系統(tǒng)、退幣系統(tǒng)和報(bào)警系統(tǒng)。1計(jì)幣系統(tǒng):當(dāng)有顧額色買(mǎi)飲料時(shí),投入的錢(qián)幣經(jīng)

4、過(guò)感應(yīng)器,感應(yīng)器記憶投幣的個(gè)數(shù)關(guān)且傳送到檢測(cè)系統(tǒng)(即電子天平)和計(jì)幣系統(tǒng)。只有當(dāng)電子天平測(cè)量的重量少于誤差值時(shí),允許計(jì)幣系統(tǒng)進(jìn)行疊加錢(qián)幣, 疊加的錢(qián)幣數(shù)據(jù)存放在數(shù)據(jù)寄存器中。如果不正確時(shí),認(rèn)為是假幣。既定出投幣,既定出系統(tǒng),等待新顧客。2比較系統(tǒng):投入完畢后, 系統(tǒng)會(huì)把錢(qián)幣數(shù)據(jù)和可以購(gòu)買(mǎi)飲料的價(jià)格進(jìn)行區(qū)間比較,當(dāng)投入的錢(qián)幣小于 2 元時(shí), 指示燈亮,顯示投入的錢(qián)幣不足。此時(shí)可以再投幣或選擇退幣。當(dāng)投稿的錢(qián)幣在23 元之間時(shí),汔水選擇指示燈長(zhǎng)亮。當(dāng)大于3 元時(shí),汔水和咖啡的指示燈同時(shí)長(zhǎng)亮。此時(shí)可以選擇飲料或選擇退幣。3選擇系統(tǒng):比較電路完成后選擇電路指示燈是長(zhǎng)亮的,當(dāng)按下汽水或咖啡選擇時(shí),相應(yīng)的

5、選擇指示燈由長(zhǎng)亮轉(zhuǎn)為以1 秒為周期閃爍。當(dāng)飲料供應(yīng)完畢時(shí),閃爍同時(shí)停止。4飲料供應(yīng)系統(tǒng):當(dāng)按下選擇按鈕時(shí),相應(yīng)的電磁閥(Y4 或 Y6)和電機(jī)( Y3 或 Y5)同時(shí)啟動(dòng)。在飲料輸出的同時(shí), 減去相應(yīng)的購(gòu)買(mǎi)錢(qián)幣數(shù)。當(dāng)飲料輸出達(dá)到8 秒時(shí), 電磁閥首先關(guān)斷,小電機(jī)繼續(xù)工作 0.5 秒后停機(jī)。此小電機(jī)的作用是:在輸出飲料時(shí),加快輸出。在電磁閥關(guān)斷時(shí),給電磁閥加壓作用,加速電磁閥的關(guān)斷。(注:由于該售貨機(jī)是長(zhǎng)期使用,電磁閥使用過(guò)多時(shí),返回彈力減少, 不能完全關(guān)斷會(huì)出現(xiàn)漏飲料的現(xiàn)象。此時(shí)電機(jī)Y3 和 Y5 延長(zhǎng)工作0.5 秒起到電磁閥加壓的作用,使電磁閥可以完好的關(guān)斷。)5退幣系統(tǒng):當(dāng)顧客購(gòu)?fù)觑嬃虾螅?/p>

6、多余的錢(qián)幣只要按下退幣按鈕。系統(tǒng)就會(huì)把數(shù)據(jù)寄存器D2 內(nèi)的錢(qián)幣數(shù)首先除以10 得到整數(shù)部分, 是1 元錢(qián)需要退回的數(shù)量,存放在D10里。余數(shù)存放在D11里。再用D11 除以5 得到的整數(shù)部分是5 角錢(qián)需要退回的數(shù)量,存放在D12 里。余數(shù)存放在D13里。最后D13 里面的數(shù)值,就是1 角錢(qián)需要退回的數(shù)量。在選擇退幣的同時(shí)啟動(dòng)3 個(gè)退幣電機(jī)。 3 個(gè)感應(yīng)器開(kāi)始計(jì)數(shù),當(dāng)感應(yīng)器記錄的個(gè)數(shù)等于數(shù)據(jù)寄存器退回的幣數(shù)時(shí),退幣電機(jī)停止運(yùn)轉(zhuǎn)。6報(bào)警系統(tǒng):報(bào)警系統(tǒng)如果是非故障報(bào)警,只要通過(guò)網(wǎng)絡(luò)通知送液車(chē)或者送幣車(chē)即可。但是如果是故障報(bào)警則需要通知維修人員到現(xiàn)聲進(jìn)行維修。同時(shí)停止服務(wù),避免造成顧客的損失。(三)業(yè)

7、務(wù)流程圖錢(qián)幣記錄儀對(duì)錢(qián)幣進(jìn)行識(shí)別前端接受顧客投的幣判斷退出錢(qián)幣發(fā)送信息到分配器判斷沒(méi)有貨物時(shí)發(fā)送信發(fā)送貨物息到前端(四)數(shù)據(jù)流程圖錢(qián)幣分配器反錢(qián)幣錢(qián)幣記錄儀對(duì)與貨物價(jià)格進(jìn)貨物發(fā)放錢(qián)幣進(jìn)行計(jì)算行比較取走零錢(qián)與購(gòu)買(mǎi)的貨物三、各種 UML圖型及其分析(一)用例圖1. 顧客的用例圖chooseSodainputCoinCustomer2. 自動(dòng)售貨機(jī)的用例圖RegisterDispenserFrontSodaMachine(二)類圖(三)序列圖1. 理想狀態(tài)(不找零錢(qián))的序列圖:Front:Register:Dispenser: Customer1: inputCoin()2: accept()3:

8、getCustomerInput()4: checkForSoda()5: returnSodaFree()6: displayPrompt()7: chooseSoda()8: sendChooseToDis()9: checkAvailability()10: releaseSoda()11: releaseSoda()2. 沒(méi)有貨物的序列圖:Front:Register:Dispenser: Customer1: inputCoin()2: accept()3: getCustomerInput()4: checkForSoda()5: returnSodaFree()6: displa

9、yPrompt()7: chooseSoda()8: sendChooseToDis()9: checkAvailability()10: releaseSoda()11: displayPrompt()12: sendReturnCoin()13: returnCoinToFront()14: returnCoin()3. 需找零錢(qián)的序列圖:Front:Register:Dispenser: Customer1: inputCoin()2: accept()3: getCustomerInput()4: checkForSoda()5: returnSodaFree()6: displayP

10、rompt()7: chooseSoda()8: sendChooseToDis()9: checkAvailability()10: releaseSoda()11: sendSodaPrice()12: checkForChange()13: releaseChange()14: receiveSoda()15: receiveChange()4. 沒(méi)有零錢(qián)找給顧客:Front:Register:Dispenser: Customer1: inputCoin()2: accept()3: getCustomerInput()4: checkForSoda()5: returnSodaFre

11、e()6: displayPrompt()7: chooseSoda()8: sendChooseToDis()9: checkAvailability()10: releaseSoda()11: sendSodaPrice()12: checkForCharge()13: returnNoCharge()14: returnCoinToFront()15: displayPrompt()16: returnSodaToDispenser()17: returnCoin()5. 完整的序列圖:Front:Register:Dispenser: Customer1: inputCoin()2:

12、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: sendReturnCoin()18

13、: 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: receiveSoda()35:

14、 End()(四)協(xié)作圖1. 理想狀態(tài)的協(xié)作圖3: getCustomerInput()9: checkAvailability()4: checkForSoda():Register:Dispenser8: sendChooseToDis()2: accept()5: returnSodaFree()10: releaseSoda()1: inputCoin()7: chooseSoda():Front6: displayPrompt(): Customer 11: releaseSoda()2. 沒(méi)有貨物的協(xié)作圖1: inputCoin()7: chooseSoda():Front6: d

15、isplayPrompt(): Customer11: displayPrompt()14: returnCoin()13: returnCoinToFront()8: sendChooseToDis()2: accept()5: returnSodaFree()12: sendReturnCoin()10: releaseSoda()3: getCustomerInput()9: checkAvailability()4: checkForSoda():Registe:Dispensrer3. 需找零錢(qián)的協(xié)作圖1: inputCoin()7: chooseSoda():Front6: dis

16、playPrompt(): 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. 沒(méi)有零錢(qián)找給顧客的協(xié)作圖1: inputCoin()7: choose

17、Soda():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: checkAvailability()4: checkForSoda():Registe

18、r:Dispenser11: sendSodaPrice()5. 完整的協(xié)作圖29: End()33: End()35: End(): Customer1: inputCoin()12: chooseSoda():Front7: displayPrompt()8: returnCoin()11: displayPrompt()16: displayPrompt()19: returnCoin()26: displayPrompt()28: returnCoin()13: sendChooseToDispenser()31: receiveSoda()32: receiveCharge()27: returnSodaToDispenser()34: receiveSoda()10: returnSodaFree()5: returnNoCharge()15: returnUnavailability()21: releaseSoda()6: returnCoinToFront()18: returnCoinToFront()14: checkAvailability()24: returnNo

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論