自動售貨機控制系統(tǒng)畢業(yè)設計論文.doc

上傳人:good****022 文檔編號:116535945 上傳時間:2022-07-05 格式:DOC 頁數(shù):41 大小:1.21MB
收藏 版權(quán)申訴 舉報 下載
自動售貨機控制系統(tǒng)畢業(yè)設計論文.doc_第1頁
第1頁 / 共41頁
自動售貨機控制系統(tǒng)畢業(yè)設計論文.doc_第2頁
第2頁 / 共41頁
自動售貨機控制系統(tǒng)畢業(yè)設計論文.doc_第3頁
第3頁 / 共41頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《自動售貨機控制系統(tǒng)畢業(yè)設計論文.doc》由會員分享,可在線閱讀,更多相關(guān)《自動售貨機控制系統(tǒng)畢業(yè)設計論文.doc(41頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、摘 要隨著經(jīng)濟水平的提高,人們開始追求靈活、方便、快捷以及自助式服務,這使得自動售貨機得以迅猛的發(fā)展。自動售貨機吸引了大量的顧客,人們可以利用自動售貨機購買飲料,零食等商品。在發(fā)達國家,自動售貨機已經(jīng)成為零售業(yè)不可分割的一部分,這種前衛(wèi)的消費方式吸引了眾多客戶。并且,針對地球暖化,新型自動售貨機的開發(fā)致力于能源的節(jié)省。本論文涉及到自動化、節(jié)能和計算機軟件的開發(fā),該軟件可以更加方便的應用在自動售貨機中。本文對用Java語言設計自動售貨機進行了系統(tǒng)的研究,利用Java語言實現(xiàn)自動售貨機的硬幣識別,幣值累加,自動售貨,自動找錢功能。該軟件的程序代碼具有靈活性和可擴展性,它可以重復使用,而且當整個系統(tǒng)

2、實施一些新的特點時,對現(xiàn)有代碼的影響較小。關(guān)鍵詞:自動售貨機;Java設計模式;J2SEAbstractWith the improvement of economic level, people began to pursue a flexible, convenient, efficient, and self-service. A kind of machine which is called vending machine emerges and attracts quantities of customers to use it to buy drinks, snacks and s

3、imilar products. In developed countries, the vending machine has become an integral part of the retail industry, this avant-garde way of consumption attracted many customers. And, in view of global warming, new development of vending machine is committed to energy saving. This paper involves the aut

4、omation, energy efficiency and computer software development, which can be more convenient application in the vending machine. This thesishas asystemicstudyof the design of vending machine in the Java language. The system can achieve the functions such as coin recognition,currency accumulate, vendin

5、g machines, automatically change by using Java language. The software program code has the flexibility and extensibility, soit can be repeated use, and when the entire system to implement some new characteristics, there will be less impact on existing code.Key words: Vending Machine; Java Design Pat

6、terns; J2SE目 錄目 錄I第1章 概 述11.1 研究的背景和意義11.2 自動售貨機產(chǎn)業(yè)的現(xiàn)狀11.3 本論文主要研究的內(nèi)容2第2章 Java語言介紹32.1 Java語言的特點32.2 Java的發(fā)展42.3本章小結(jié)7第3章 開發(fā)環(huán)境概述83.1 系統(tǒng)硬件環(huán)境概述83.2 系統(tǒng)軟件環(huán)境概述103.3系統(tǒng)開發(fā)環(huán)境及其開發(fā)工具103.4 本章小結(jié)11第4章 環(huán)境搭建124.1安裝JDK124.2設置環(huán)境變量124.3 本章小結(jié)15第5章 系統(tǒng)軟件設計165.1 總體設計165.2 系統(tǒng)詳細設計與性能分析165.3 系統(tǒng)實現(xiàn)185.4 本章小結(jié)27結(jié) 論28參考文獻29致 謝30附 錄

7、3137第1章 概 述1.1 研究的背景和意義自動售貨機是一種全新的商業(yè)零售形式。20世紀70年代自日本和歐美發(fā)展起來。它又被稱為24小時營業(yè)的微型超市。在日本,70%的罐裝飲料是通過自動售貨機售出的;全球著名飲料商可口可樂公司在全世界就布有50萬臺飲料自動售貨機1。在中國,售貨機從1999年開始進入中國市場。如今,在機場、地鐵、商場、公園等客流量較大的場所也不難發(fā)現(xiàn)自動售貨機的身影。從自動售貨機的發(fā)展趨勢來看,它的出現(xiàn)是由勞動密集型的產(chǎn)業(yè)構(gòu)造向技術(shù)密集型社會轉(zhuǎn)變的產(chǎn)物。大量生產(chǎn)、大量消費以及消費模式和銷售環(huán)境的變化要求出現(xiàn)新的流通渠道;而相對的超市、百貨購物中心等新的流通渠道的產(chǎn)生,人工費用

8、也不短上升;再加上場地的局限性以及購物的便利性等因素的制約,無人自動售貨機作為一種必須的機器便應運而生了。自動售貨機可以充分補充人力資源的不足,適應消費環(huán)境和消費模式的變化,24小時無人售貨的系統(tǒng)可以更省力,運營時需要的資本少、面積小,有吸引人們購買好奇心的自身性能,可以很好地解決人工費用上升的問題等各項優(yōu)點。自動售貨機解放了人力,方便了生活,創(chuàng)造了效益,方便廣大的市民。實踐和直覺告訴我們,自動售貨機在中國的橫空出世,必將為國內(nèi)的食品、香煙、飲料等諸多行業(yè)帶來新的契機,中國的現(xiàn)代文明又將以自動售貨機的應用和普及開創(chuàng)一個新的時代。所以設計自動售貨機是非常必要的。1.2 自動售貨機產(chǎn)業(yè)的現(xiàn)狀首先,

9、我們來看一下發(fā)達國家的現(xiàn)狀。日本:各種自動售貨機保有量超過600萬臺,平均20人一臺,世界普及率第一。1990 年通過自動售貨機實現(xiàn)的銷售額已達到5兆日元(約3000億人民幣)。美國:總的機器保有量大致和日本相當,2000年通過自動售貨機實現(xiàn)的銷售額達到250億美元,其中OCS(Office Coffee Service)的銷售額排第六位。 韓國: 自動售貨機的使用歷史要遠短于其它發(fā)達國家,僅有25年,據(jù)2001年的統(tǒng)計,總保有量已超過80萬臺。在2001年韓國生產(chǎn)的自動售貨機中OCS占32.7%,排第一位,咖啡自動售貨機占18.1%,排第三位,僅次于18.6% 的充電自動售貨機。瓶罐飲料自動

10、售貨機和復合型自動售貨機(同機銷售瓶罐飲料和熱咖啡)都僅占8.6%,并列第四位。下面,我們來看一下我國的現(xiàn)狀2。自動售貨機在我國的安放和使用,也已經(jīng)有10多年的時間,但一直沒有全面普及。中國自1993年開始從日、韓等國引進自動售貨機并投放中國市場。1995年第一臺國產(chǎn)自動售貨機在北京誕生。1999年國產(chǎn)自動售貨機形成規(guī)模生產(chǎn)并批量投放市場。相對于日本、美國等發(fā)達國家,中國目前市場運營的自動售貨機數(shù)量還很少。至2000年初,中國自動售貨機研發(fā)、制造和運營的企業(yè)有10多家,天津南開戈德集團規(guī)模最大。在自動售貨機運營商方面,主要是由制造企業(yè)的關(guān)聯(lián)或下屬企業(yè)運營,如戈德集團的戈德移動商務公司、澳珂瑪集

11、團的澳鴻自動商務公司等,中國目前還沒有產(chǎn)生獨立的運營商。自動售貨機這種全新的零售方式已逐漸被國人所接受和信賴。隨著我國商品市場的不斷繁榮和城市現(xiàn)代化程度的不斷提高,自動售貨機也已悄然步入了我國的大中城市。自動售貨機在北京、上海、大連、沈陽、西安開始出現(xiàn),成為不少年輕人時髦的購物選擇。在國家相關(guān)政府部門的大力支持下,中國的自動售貨機產(chǎn)業(yè)以超常規(guī)的速度迅猛發(fā)展,并帶動了一批新的服務業(yè)、物流運輸配送業(yè)的快速發(fā)展,豐富了中國的商業(yè)產(chǎn)業(yè)結(jié)構(gòu),開創(chuàng)了一個全新的自動銷售和自助服務的時代3。1.3 本論文主要研究的內(nèi)容本論文主要研究用Java語言進行自動售貨機控制系統(tǒng)軟件部分的設計,即自動售貨機的主控制系統(tǒng)。

12、可以實現(xiàn)硬幣識別,幣值累加,自動售貨,自動找零的功能。該設計提高了自動售貨機的可靠性和執(zhí)行效率,且系統(tǒng)維護容易,維修簡單,有一定的市場推廣價值。本論文的主要研究工作如下:第1章 ,概述。簡要介紹了本次畢業(yè)設計的背景,闡述了自動售貨機的產(chǎn)業(yè)現(xiàn)狀,介紹研究本課題的目的、意義和內(nèi)容。第2章 ,Java語言介紹。主要介紹了Java語言的特點及其發(fā)展歷程。第三章,系統(tǒng)環(huán)境概述。介紹了本設計的硬件系統(tǒng)環(huán)境及其軟件系統(tǒng)環(huán)境。 第四章,環(huán)境搭建的介紹。主要講解如何運行Java程序。第五章,利用Java語言進行詳細設計。包括總體結(jié)構(gòu)設計與性能分析,主要操作的流程圖,具體詳細設計以及功能實現(xiàn)。并介紹了本設計的兩個

13、創(chuàng)新點。最后是總結(jié),對本次的研究工作作出總結(jié),闡明研究出的一些規(guī)律,說明了本次工作的重難點。第2章 Java語言介紹2.1 Java語言的特點Java是1995年6月有Sun公司引進到這個世界的革命性的編程語言,它被美國的著名雜志PC Magazine評為1995年十大優(yōu)秀科技產(chǎn)品。之所以稱Java為革命性編程語言,是因為傳統(tǒng)的軟件往往與具體的實現(xiàn)環(huán)境有關(guān),一旦環(huán)境有所變化就需要對軟件進行一番改動,耗時費力,而Java編寫的軟件能在執(zhí)行碼上兼容。這樣,只要計算機提供了Java解釋器,Java編寫的軟件就能在其上運行4。自從1946年世界上第一臺電子計算機問世以來,計算模式的發(fā)展經(jīng)歷了三個階段:

14、集中計算模式、分散計算模式和網(wǎng)絡計算模式。Internet的出現(xiàn),為在網(wǎng)絡計算模式下的科學計算和信息處理提供了良好平臺。然而,要充分利用網(wǎng)絡計算模式的功能與效益,平臺的運行環(huán)境是個制約因素,而Java語言和Java技術(shù)則是解決這一問題的最佳途徑。Java語言具有以下特點:1、Java語言是簡單的。Java語言的語法與C語言和C+語言很接近,使得大多數(shù)程序員很容易學習和使用Java。另一方面,Java丟棄了C+中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強制類型轉(zhuǎn)換。特別地,Java語言不使用指針,并提供了自動的廢料收集,使得程序員不必為內(nèi)存管理而擔憂。2、Java

15、語言是一個面向?qū)ο蟮?。Java語言提供類、接口和繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實現(xiàn)機制。Java語言全面支持動態(tài)綁定,而C+語言只對虛函數(shù)使用動態(tài)綁定??傊琂ava語言是一個純的面向?qū)ο蟪绦蛟O計語言。3、Java語言是分布式的。Java語言支持Internet應用的開發(fā),在基本的Java應用編程接口中有一個網(wǎng)絡應用編程接口,它提供了用于網(wǎng)絡應用編程的類庫,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI機制也是開發(fā)分布式應用的重要手段。4、Java語言是健壯的。Java的強類型機制

16、、異常處理、廢料的自動收集等是Java程序健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機制使得Java更具健壯性。5、Java語言是安全的。Java通常被用在網(wǎng)絡環(huán)境中,為此,Java提供了一個安全機制以防惡意代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對通過網(wǎng)絡下載的類具有一個安全防范機制,如分配不同的名字空間以防替代本地的同名類、字節(jié)代碼檢查,并提供安全管理機制讓Java應用設置安全哨兵。 6、Java語言是體系結(jié)構(gòu)中立的。Java程序在Java平臺上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式,然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運行。這種途徑適合于異

17、構(gòu)的網(wǎng)絡環(huán)境和軟件的分發(fā)。7、Java語言是可移植的。這種可移植性來源于體系結(jié)構(gòu)中立性,另外,Java還嚴格規(guī)定了各個基本數(shù)據(jù)類型的長度。Java系統(tǒng)本身也具有很強的可移植性,Java編譯器是用Java實現(xiàn)的,Java的運行環(huán)境是用ANSIC實現(xiàn)的。8、Java語言是解釋型的。如前所述,Java程序在Java平臺上被編譯為字節(jié)碼格式,然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運行。在運行時,Java平臺中的Java解釋器對這些字節(jié)碼進行解釋執(zhí)行,執(zhí)行過程中需要的類在聯(lián)接階段被載入到運行環(huán)境中。9、Java是高性能的。與那些解釋型的高級腳本語言相比,Java的確是高性能的。事實上,Java的運行

18、速度隨著JIT(Just-In-Time)編譯器技術(shù)的發(fā)展越來越接近于C+。 10、Java語言是多線程的。在Java中,線程是一種特殊的對象,它必須由Thread類或其子類來創(chuàng)建。通常有兩種方法來創(chuàng)建線程:其一,使用型構(gòu)為Thread(Runnable)的構(gòu)造子將一個實現(xiàn)了Runnable接口的對象包裝成一個線程,其二,從Thread類派生出子類并重寫run方法,使用該子類創(chuàng)建的對象,即為線程。Thread類已經(jīng)實現(xiàn)了Runnable接口,因此,任何線程均有它的run方法,而run方法中包含了線程要運行的代碼。線程的活動由一組方法來控制。Java語言支持多個線程的同時執(zhí)行,并提供多線程之間的

19、同步機制。11、Java語言是動態(tài)的。Java語言的設計目標之一是適應于動態(tài)變化的環(huán)境。Java程序需要的類能夠動態(tài)地被載入到運行環(huán)境,也可以通過網(wǎng)絡來載入所需要的類。這也有利于軟件的升級。另外,Java中的類有一個運行時刻的表示,能進行運行時刻的類型檢查5。 2.2 Java的發(fā)展Java自正式問世以來已經(jīng)歷了數(shù)年的歷程,其發(fā)展極快。一年一度在美國舊金山召開的世界Java One語言開發(fā)者大會(Java One Developer Conference)盛況空前正說明了這一點。四年中每年的Java One大會,既是了解Java最新技術(shù)動態(tài)、應用成果和下一步發(fā)展趨勢的最好場所,又是推動下一年J

20、ava快速發(fā)展的重要動力。首屆Java One大會于1996年召開,各屆簡況如下: 1996年5月29-31日,第一屆,出席會議者6500余人,來自工業(yè)界的超過一半。有人評價說:“這是近年計算機界最光輝的一次盛會”。工業(yè)界相當看好Java語言,認為它的使用將會引起一場軟件革命:從軟件的設計風格、設計方法、設計目標到設計過程,都會產(chǎn)生徹底的變革,“甚至會改變此星球的生活方式”。1997年,第二屆,出席會議者10000人。Java的追隨者不斷增加,應用開發(fā)迅速起步。1998年3月24-27日,第三屆,出席會議者14000余人,注冊門票售價1195美元,否則1395美元,即使如此,仍有不少人不惜工本

21、,擠入會場。本次會議除了軟件巨頭微軟未參加會議外,幾乎所有的計算機公司都參加了。展廳內(nèi)設300多個展臺,先后舉行了90場專題討論會,每場參加的人數(shù)從千人至五六千人不等。會議的主題是:通過Java的培訓來帶動Java軟件的開發(fā)和技術(shù)研究,從而發(fā)展生產(chǎn)力,獲取高額利潤,提高生活質(zhì)量,推動信息產(chǎn)業(yè)的進步。會議展出的內(nèi)容大致如下:Java開發(fā)工具軟件,如:JMF、JDK、Symantec Visual Cafe、Java Dynamic Management Kit、JFC、JNDI、Java Studio等; 企業(yè)信息管理解決方案軟件,如:EJB; 基于Java技術(shù)的信息家電,如:機頂盒、Java電

22、話等; 個人信息綜合服務、社會信息綜合查詢亭; 電子商務軟件、智能卡、Java Card API 等; 網(wǎng)絡計算環(huán)境下的Java服務器軟件、遠程方法調(diào)用、基于Java技術(shù)的移動計算設備; JMS用于出版、票據(jù)訂閱的軟件; JOS、基于Java技術(shù)的NC和Java Station。 隨著Internet的飛速發(fā)展,企業(yè)計算模式正摒棄C/S結(jié)構(gòu)而采用Web-Browser結(jié)構(gòu),此即瘦客戶端/胖服務器、大容量數(shù)據(jù)庫的3層或N層體系結(jié)構(gòu)。由于Java的特點,使得它在開發(fā)服務器端的應用程序方面有著得天獨厚的優(yōu)勢,面向服務器端的J2EE為當今逐漸流行的N層體系結(jié)構(gòu)提供了一個標準的Java計算平臺:界面一致

23、、工具簡易、豐富、Web頁面互聯(lián)便捷,從而能大大加速和簡化各種應用系統(tǒng)的開發(fā)。Java語言的出現(xiàn)和發(fā)展,得到了IT業(yè)界的青睞,它像一面大旗,凝聚了世界眾多的廠商與Sun公司一道,結(jié)成了對抗微軟壟斷的聯(lián)盟。許多知名廠商紛紛購買Java許可證,目前已有90多萬個軟件開發(fā)商加入了Java陣營,1億個Java最終用戶,幾千種Java應用軟件產(chǎn)品,1500余種Java書籍。IBM公司提出“高舉Java大旗,全力以赴”的口號,它在全世界的11個國家有28個實驗室,集聚了2500余名技術(shù)人員,全天侯24小時進行全方位開發(fā);芯片巨人Intel提出“抓住時機,占領(lǐng)Java陣地”決心使Intel芯片系統(tǒng)成為開發(fā)J

24、ava應用運行的最佳平臺;Novell則宣稱“Java是Novell的未來,未來是服務器端Java的市場”;作為Java發(fā)明者的Sun公司,堅持“保衛(wèi)Java大旗,發(fā)展Java之路”的方針,從而占領(lǐng)市場。此外,HP、Oracle、Apple、Sybase、Netscape、Informix、3Com、Motorola等公司均是Sun的堅強同盟。 在中國,Java的開發(fā)可以說是“人才濟濟,成果累累”。如清華大學王克宏教授帶領(lǐng)的課題組面向全國,自96年開始舉辦了多期Java培訓班和講座,開設了數(shù)期本科生、研究生Java課程,出版了“Java系列叢書”10余冊,承擔了國家“九五”攻關(guān)項目“基于Jav

25、a技術(shù)的交互式遠程教學系統(tǒng)”,并與日本就Java開發(fā)進行了國際合作,成績斐然;東大阿派下屬的寶鋼東軟軟件技術(shù)研究中心是國內(nèi)是首屈一指的Java研發(fā)骨干企業(yè),該中心從95年起就開始了Java的研發(fā),目前,已掌握了Personal Java的核心移植技術(shù),并成功地將JVM移植到汽車導航平臺。此外,他們還開發(fā)出支持Jini協(xié)議的即插即用網(wǎng)絡打印機軟件,以及一套Jini信息家電網(wǎng)絡的可視化演示環(huán)境,完成了基于JavaBeans的組件化軟件開發(fā)及運行支持環(huán)境等多項成果;在臺灣,22家知名計算機公司成立了“Java聯(lián)盟”,并在臺北建立了“Java開發(fā)中心”,新竹建立了“Java語言實驗室”;在香港,舉行了

26、全島Java杯比賽,掀起了學習Java的熱潮。Java的浪潮洶涌澎湃,席卷全球。Java發(fā)展至今日,已不僅僅是一種編程語言,實際上已形成了一門技術(shù)。其內(nèi)容包括:1、Java軟件包Java語言及其編程技術(shù)、JavaOS、Java開發(fā)環(huán)境與工具、Java語言的各種軟件包、數(shù)據(jù)庫接口JDBC等。2、Java虛擬機及其規(guī)范3、Java嵌入技術(shù)1999年8月2日,Sun公司宣布名為MAJC的專門為Java語言設計的的芯片優(yōu)化研制成功,欲與Intel試比高低。該芯片在設計時采用了模塊式高性能計算引擎,實質(zhì)為一種芯片級并行處理機,能以更有效的方式分解計算任務,特別適合處理多媒體數(shù)據(jù)。Sun公司希望通過MAJ

27、C芯片的發(fā)布催生出一個基于Java語言的微處理器家族,與Intel公司競爭。設想中的Java處理器將應用在從低價消費電子產(chǎn)品到高端因特網(wǎng)服務器領(lǐng)域。4、Java計算基于Java技術(shù)的企業(yè)Internet/Intranet信息系統(tǒng)以及其他應用系統(tǒng)。5、Jini技術(shù)1999年初正式發(fā)布后,立刻得到業(yè)界的廣泛支持。Jini的出現(xiàn)為Java網(wǎng)絡連接提供了公共標準,使得任何Java設備都可以連入網(wǎng)絡中被自動識別,并可充分利用網(wǎng)絡上已有的各種資源。它把網(wǎng)絡上的各類設備(包括消費類電子設備如移動電話、PDA、DTV、HPC、NC、游戲機、電冰箱、智能卡等等)和各種軟件組合成一個單一、動態(tài)的分布式系統(tǒng),使網(wǎng)絡

28、更易于操縱、易于管理,具有更高的可配置性。Jini將使網(wǎng)絡具有自發(fā)性,它的出現(xiàn)大大擴展了“計算”和“計算機”的含義,極大地簡化了網(wǎng)絡操作,對家庭用戶來說,使用網(wǎng)上設備即插即用,就像使用電話一樣方便。Java和Jini不僅可以不依賴于Windows為代表的操作系統(tǒng),而且引導著信息產(chǎn)業(yè)的潮流,使Sun公司能在未來的、非PC類電子產(chǎn)品的數(shù)字化市場中強占制高點。6、Jiro平臺異質(zhì)網(wǎng)絡環(huán)境中安裝的存儲系統(tǒng)的多樣性和分布性,給存儲管理帶來了巨大的挑戰(zhàn)。用戶和開發(fā)人員都希望能有一種技術(shù),能更好地促進企業(yè)存儲管理方案的開發(fā)。而Jiro平臺正是解決此問題的革命性方案。Jiro平臺實現(xiàn)了Java和Jini技術(shù),

29、它是一個便于用戶管理異質(zhì)網(wǎng)絡上由各種服務器、存儲和設備組成的混合環(huán)境的開放式存儲管理平臺。它對操作系統(tǒng)是中立的。Jiro為跨異質(zhì)存儲局域網(wǎng)(SAN)的管理服務和設備提供了一個開放平臺,允許服務器、存儲和聯(lián)網(wǎng)設備在異質(zhì)網(wǎng)絡環(huán)境中無縫地協(xié)同工作。Jiro平臺為開發(fā)者帶來的好處有:允許開發(fā)者利用各種實現(xiàn)管理存儲網(wǎng)絡的目標功能創(chuàng)建應用;提供了一個可以在各種應用、服務和設備之間交互操作的組件模型;允許設備易被增加、刪除;允許應用或服務被自動更新。 1999年7月,Sun發(fā)布了正式的Jiro規(guī)范草案,供公眾討論、修改。目前,Jiro平臺的團體成員已超過25家,支持Jiro平臺的廠商超過300家。有眼光的廠

30、商紛紛加入到這些組行列,從而加快了Jiro的發(fā)展6。2.3本章小結(jié)本章介紹了Java語言。從Java語言的特點及其Java語言的發(fā)展歷程進行介紹。第3章 開發(fā)環(huán)境概述3.1 系統(tǒng)硬件環(huán)境概述自動售貨機是集光、機、電一體化的獨立機構(gòu),它只需要顧客投幣和按鍵購物選擇即可自動售貨及退錢找零,其工作程序如下圖所示:顧客投幣選擇商品取出商品取出余幣機器自動計數(shù)機器送出選定商品 機器將余幣送出 圖3-1 自動售貨機工作時序圖自動售貨機的工作原理是:首先,從投幣口送入貨幣,然后通過傳感器采集數(shù)據(jù)、識別器判斷貨幣的真?zhèn)尾⑴袆e面值。然后,識別器把信息數(shù)據(jù)傳送給通信模塊。通信模塊與售貨機的主控制系統(tǒng)通信,主控系統(tǒng)

31、顯示面值,啟動售貨機的面板鍵,顯示出哪個貨道有貨,哪個貨道已經(jīng)售完,并等待顧客選擇商品。顧客選擇商品后,售貨機自動把商品送出,等待顧客取走。在交易過程中,如果金額足夠多,顧客可以將找回的零錢取回,完成交易;如果款額不足,則不能進行交易。下面結(jié)合圖3-2對本自動售貨機做進一步描述:如圖3-2示,這種具備商品信息和健康建議功能的自動售貨機包括機身1、商品收容室2、貨物傳送裝置、中央處理器,機身1上有商品取出口3、貨幣投入口4,商品收容器、貨物傳送裝置、中央處理器均設置在機身內(nèi),從貨幣投入口4投入貨幣后,如需找零,剩余的貨幣從退幣口5退出,購買的商品從商品取出口3傳送出來;機身1上還設置有商品健康信

32、息觸摸顯示器6,商品健康信息觸摸顯示器6連接中央處理器,中央處理器連接商品健康信息存儲器。商品健康信息觸摸顯示器6設置在貨幣投入口4的上面。圖3-2 自動售貨機圖3-3是自動售貨機的硬件原理圖,如圖所示,人們在通過觸摸的方式操作商品健康信息觸摸顯示器6后,商品健康信息觸摸顯示器6會將此信息傳送給中央處理器,中央處理器從商品健康信息存儲器中查找到相關(guān)信息后,從商品健康信息觸摸顯示器6顯示出來,供人們查閱。 主控制系統(tǒng)DTU/DEI 接口MDB接口擴展存儲器實時時鐘人機模塊電機陣列驅(qū)動接口信號檢測串行通信 并行總線 I/O口貨幣識別器制冷控制板觸摸顯示器貨物傳送裝置圖3-3 硬件原理圖 綜上所述,

33、自動售貨機控制系統(tǒng)可以分為三部分組成,即自動售貨機的主控制系統(tǒng)、通訊系統(tǒng)、硬幣及紙幣識別系統(tǒng)。其中主控制系統(tǒng)是本設計的研究重點。下面將著重介紹。3.2 系統(tǒng)軟件環(huán)境概述本設計是利用Java語言設計的,下面將分別介紹本系統(tǒng)的運行平臺及運行環(huán)境。目前Java運行平臺主要分為下列3個版本。1、 J2SE:稱為Java標準版或Java標準平臺。J2SE提供了標準的SDK開發(fā)平臺(以前稱為JDK開發(fā)平臺)。利用該平臺可以開發(fā)Java桌面應用程序和低端的服務器應用程序,也可以開發(fā)Java Applet程序。2、 J2EE:稱為Java企業(yè)版或Java企業(yè)平臺。使用J2EE可以構(gòu)建企業(yè)級的服務器應用程序,J

34、2EE平臺包含了J2SE平臺,并增加了附加類庫,以便支持目錄管理、交易管理和企業(yè)級消息處理等功能。3、 J2ME:稱為Java微型版或Java小型平臺。J2ME是一種很小的Java運行環(huán)境,用于嵌入式的消費產(chǎn)品中,如移動電話、掌上電腦或其它無線設備等。本系統(tǒng)的運行平臺是J2SE。同時,本系統(tǒng)的運行環(huán)境是Java7。Java7具有以下特性:首先,Java7采用了模塊的劃分方式來提速,一些不是必須的模塊并沒有下載和安裝,因此在使用全新的Java7的虛擬機的時候會發(fā)現(xiàn)真的很快,當虛擬機需要用到某些功能的時候,再下載和啟用相應的模塊,這樣使得最初需要下載的虛擬機大小得到了有效的控制。同時對啟動速度也有

35、了很大的改善。其次是多語言支持,Java7的虛擬機對多種動態(tài)程序語言增加了支持,比如:Rubby、Python等等。對這些動態(tài)語言的支持極大地擴展了Java虛擬機的能力。第三是開發(fā)者的開發(fā)效率得到了改善,Java7通過多種特性來增強開發(fā)效率。通過注解增強程序的靜態(tài)檢查。提供了一些新的API用于文件系統(tǒng)的訪問、異步的輸入輸出操作、Socket通道的配置與綁定、多點數(shù)據(jù)包的傳送等等。最后是執(zhí)行效率的提高,Java7壓縮了64位的對象指針,通過對對象指針由64位壓縮到與32位指針相匹配的技術(shù)使得內(nèi)存和內(nèi)存帶塊的消耗得到了很大的降低因而提高了執(zhí)行效率。此外還提供了新的垃圾回收機制(G1)來降低垃圾回收

36、的負載和增強垃圾回收的效果。G1垃圾回收機制擁有更低的暫停率和更好的可預測性。3.3系統(tǒng)開發(fā)環(huán)境及其開發(fā)工具開發(fā)環(huán)境:JDK 開發(fā)工具:Myeclipse3.4 本章小結(jié)本章主要介紹了本次設計的主要系統(tǒng)環(huán)境,其中包括硬件系統(tǒng)和軟件系統(tǒng)。著重介紹了本系統(tǒng)的運行環(huán)境及運行平臺,同時還介紹了Java語言的開發(fā)平臺以及相關(guān)的開發(fā)工具的介紹。第4章 環(huán)境搭建4.1安裝JDK1、打開“http/ 系統(tǒng)屬性2、選擇“高級”選項,如圖4-2所示,并單擊“環(huán)境變量”按鈕,彈出“環(huán)境變量”對話框,如圖4-3所示。圖4-2“高級”界面圖4-3 “環(huán)境變量”對話框3、在“系統(tǒng)變量”對話框里找到變量名“Path”,并選

37、出,再單擊“編輯”按鈕進入“編輯系統(tǒng)變量”對話框,如圖4-4所示。圖4-4 “編輯系統(tǒng)變量”對話框4、在所有的變量值前面輸入“C:Program FilesJavajdk1.7.0_21”,注意有分號,路徑根據(jù)情況進行設置。5、在“系統(tǒng)變量”對話框里點擊“新建”按鈕,彈出“新建系統(tǒng)變量”對話框,如圖4-5所示。圖4-5 “新建系統(tǒng)變量”對話框6、設置變量名為“CLASSPATH”,變量值為“.;%JAVA_HOME%lib;%JAVA_HOME%libtools.jar”,路徑根據(jù)情況進行設置,如圖4-6所示。圖4-6 填入新值配置完成后,需要測試是否配置正確。下面給出了詳細的測試步驟,按照這

38、個步驟操作可以很輕松地完成測試。1、單擊“開始”按鈕,在彈出的開始菜單中再單擊“運行”菜單項,將出“運行”對話框。在“運行”對話框里輸入“cmd”,并單擊“確定”按鈕,如圖4-7所示。圖4-7 “運行”對話框2、在命令提示符窗口里輸入“javac”和“java”,觀察是否出現(xiàn)javac或java的用法提示,如圖4-8所示。圖4-8 配置正確的環(huán)境變量信息4.3 本章小結(jié)本章詳細的介紹了Java運行環(huán)境的安裝過程,包括安裝JDK以及如何設置環(huán)境變量。正確的設置環(huán)境變量是整個程序能否運行的關(guān)鍵。第5章 系統(tǒng)軟件設計5.1總體設計只要的使用者有兩類人,一類是顧客,另一類是管理員。如下圖所示,在顧客操

39、作模式下,顧客可以利用前觸屏,投幣口,以及分配渠道三個部分通過內(nèi)部網(wǎng)連接到控制系統(tǒng),控制端通過內(nèi)部網(wǎng)將商品信息以及幣值總而發(fā)送到信息數(shù)據(jù)庫。在管理員模式中,管理員利用內(nèi)部顯示屏以及內(nèi)部鍵盤和鼠標通過內(nèi)部網(wǎng)連接控制端,以此輸入信息等8,9。顧客前觸摸屏投幣口分配通道管理員內(nèi)部顯示屏內(nèi)部鍵盤和鼠標控制系統(tǒng)信息數(shù)據(jù)庫圖5-1 總體設計框圖5.2 系統(tǒng)詳細設計與性能分析1. 獲取庫存當顧客選擇一個商品時,該商品信息會通過機器控制模塊發(fā)送到商品識別模塊,從而獲取商品的庫存信息。如果庫存充足,機器控制模塊會給操作模塊發(fā)送一個消息,并將界面改成付款界面。流程圖如圖5-2所示。操作模塊機器控制模塊商品識別模塊

40、所選商品所選商品反饋庫存更改界面 圖5-2庫存獲取流程圖 2. 密碼驗證 操作 模塊 機器控制 模塊模塊 管理員 賬戶模塊 輸入 密碼 傳送 密碼 反饋 信息 更改 模式圖5-3 密碼驗證流程圖 如圖5-3所示,管理員進入操作模式時,需要輸入密碼。操作模塊將輸入的密碼發(fā)送到機器控制模塊,再傳送到管理員賬戶模塊。通過核對密碼,將信息反饋到機器控制模塊,機器控制模塊判斷輸入的密碼是否正確。在機器可以判斷輸入的密碼是否正確之前,機器的內(nèi)部需要存儲一個密碼。因此,一旦輸入的密碼錯誤,系統(tǒng)將會提示警告信息,并阻止接下來的操作,更改到服務模式下10。3. 記錄更改設置如圖5-4所示,管理員可以通過操作模式

41、進行更改,如添加新的商品、更改庫存、更改商品價格等。更改的信息將傳送到機器控制模塊,將更改的信息發(fā)送到機器中。機器收到更改信息后,生成信息的具體的實體值,并將信息發(fā)送到存儲模塊,進行存儲記錄。 操作模塊 機器控制模塊 存儲模塊 更改 存儲圖5-4 信息更改流程圖4. 數(shù)據(jù)存儲 如圖5-5所示,如果系統(tǒng)中出現(xiàn)修改,將會出現(xiàn)提示窗口。如果確定修改,系統(tǒng)將重新存儲數(shù)據(jù)。機器控制模塊對信息生成新的文件,并存儲數(shù)據(jù),最終發(fā)送到文件系統(tǒng)中,生成新的文件。如果數(shù)據(jù)錯誤,將重新復位。機器控制模塊文件系統(tǒng)復位設置新的數(shù)值存儲圖5-5 數(shù)值存儲流程圖 5. 硬幣計數(shù)變化如圖5-6所示,如果管理員利用操作模塊對硬幣

42、的庫存,以及各類硬幣的現(xiàn)有值進行更改,機器控制模塊將信息發(fā)送到硬幣模塊,硬幣模塊根據(jù)更改信息進行整合,然后把當前庫存顯示出來。操作模塊機器控制模塊硬幣模塊傳遞參數(shù)參數(shù)圖5-6 計數(shù)變化流程圖 5.3 系統(tǒng)實現(xiàn)5.3.1顧客購買操作實現(xiàn) 當打開該軟件時,進入購物模式,出現(xiàn)如圖5-7所示界面。在這一界面我們能夠看到商品提示的購買建議。圖5-7 用戶購買界面購買界面中出現(xiàn)五種商品,并且有每種商品對應的名稱及價格,還有當?shù)夭僮鲿r間。以下以購買可口可樂為例。點擊可口可樂下面的“購買”按鈕,出現(xiàn)圖5-8界面。該界面會出現(xiàn)提示信息,提示顧客選擇的商品是“可樂”。顧客通過“+1”“+5”“+10”選擇購買可樂

43、的數(shù)量。選擇完畢后,點擊“確認”。若想刪除之前的選擇,點擊“刪除”,若想返回上一頁重新選擇,點擊“返回”。圖5-8 購買可樂(1)以選擇一瓶為例,選擇完畢后,出現(xiàn)圖5-9界面。提示用戶選擇了一瓶可樂,總金額3元。點擊“付款”投入貨幣。圖5-9 購買可樂(2)然后開始投幣,如圖5-10所示。該系統(tǒng)可以接受的硬幣為0.5元、1元、2元、5元以及10元和20元。如果先投入1元,系統(tǒng)提示還需繼續(xù)投入2元。圖5-10 可樂購買(3)如果再投入2元,則出現(xiàn)圖5-11界面。圖5-11 可樂購買(4) 當投入的金額大于等于商品要求金額,則可繼續(xù)進行購買,點擊“確認”。出現(xiàn)如圖5-12界面。這一界面,用于信息確

44、認,顯示顧客購買的商品及商品數(shù)量,投入的硬幣總額以及需要退還的零錢。如果想取消購買,則點擊“取消”。圖5-12 可樂購買(5)確認信息無誤后,點擊“確認”,出現(xiàn)5-13界面。該界面用于提示顧客應該獲得的零錢多少。圖5-13 可樂購買(6) 點擊“完成”,完成交易。出現(xiàn)5-14界面。如果顧客需要打印發(fā)票,則可以點擊“打印發(fā)票”進行發(fā)票打印;如不需要則可以點擊“退出”。圖5-14 可樂購買(7)5.3.2管理員操作實現(xiàn)如果想進入到管理員模式,則可以點擊圖5-7中的“更換模式”進行更改操作模式11,12。點擊后,出現(xiàn)如圖5-15界面。該界面提示管理員需要輸入密碼,才可以進行操作。該程序設置的初始密碼

45、為“1234”。圖5-15 管理員輸入密碼輸入密碼后,進入操作員操作模式,如圖5-16。在這一界面中,我們可以看到出售的產(chǎn)品以及商品的庫存。初始設置每種飲品的庫存為20瓶,由于之前的演示中,多次購買了可樂,所以可樂的當前庫存為15瓶。同時,在這一界面中,我們可以看到管理員可以進行如下操作:增加一款新商品、雇主復位、設置現(xiàn)金水平、更改密碼、設置庫存水平、更改價格。接下來,我們對各個功能進行一一演示。圖5-16管理員操作(1)當管理員需要增加新的商品時,點擊“增加一款新產(chǎn)品”。出現(xiàn)如圖5-17界面。管理員可以填寫商品的名稱、價格以及庫存。點擊“保存修改”,完成商品添加。圖5-17管理員操作(2)點

46、擊“雇主重置”,出現(xiàn)5-18提示界面。如果確認復位,點擊“是”,否則點擊“否”。圖5-18管理員操作(3)想要更改售貨機中現(xiàn)金時,點擊“設置現(xiàn)金水平”,出現(xiàn)5-19界面。該界面顯示了當前售貨機中各類硬幣的數(shù)量13。圖5-19管理員操作(4)如果管理員想要更改密碼,點擊“更改密碼”,出現(xiàn)如圖5-20所示界面。管理需要先輸入原密碼,然后才能更改密碼。圖5-20 管理員操作(5)如果想要設置庫存,則點擊“設置庫存水平”,出現(xiàn)5-21界面。圖5-21 管理員操作(6)點擊“更改價格”,出現(xiàn)5-22界面,管理員可以進行商品價格的更改。圖5-22 管理員操作(7)在管理員操作這一部分,管理員可以通過我編寫

47、的程序,看到哪種商品銷量最好。這是本設計的另一個創(chuàng)新點。如圖5-23所示。指出了哪種商品銷量最好。由于之前我們演示,都以可樂為例,所以可樂的銷量最好。圖5-23 購買情況統(tǒng)計文檔5.4 本章小結(jié)本章主要介紹本次畢業(yè)設計的總體思路,以及其功能的實現(xiàn)過程。其中包括系統(tǒng)的總體設計、系統(tǒng)的詳細設計、系統(tǒng)實現(xiàn)與性能分析等。本章詳細介紹了本設計中的兩大核心部分:管理員操作模式設計和顧客操作模式設計。通過圖片以及文字,清晰的展示了兩種模式的操作過程。并且介紹了本設計的創(chuàng)新之處。結(jié) 論計算機的出現(xiàn),使科技文明的發(fā)展跨入到了一個新的時代,計算機軟件的應用,使人們的工作效率成倍提高。人們從復雜、繁重的工作中解脫出

48、來,擁有了更加舒適、快捷、方便的工作方式和更多的自由時間。本次畢業(yè)設計的多功能自動售貨機控制系統(tǒng)方便快捷,操作簡單,大大提高了運行速度,節(jié)省了運行時間。本次畢業(yè)設計完成了自動售貨機的硬幣識別、幣值累加、自動售貨、自動找零的功能。通過編寫這個程序,使我將學習的Java語言融會貫通,提高了我使用編寫程序的能力。同時作為Java語言的初學者,我還有很多技術(shù)方面的知識掌握的不夠全面,這個程序的功能也不是十分的完善,因此我將在今后繼續(xù)學習,提高Java語言的編程能力,不斷地完善自動售貨機的程序,為操作者提供更加方便的使用體驗。本次設計的自動售貨機控制系統(tǒng)可以實現(xiàn)購買統(tǒng)計分析,并且能夠?qū)徺I者提出合理化的

49、購買建議。并且已經(jīng)獲得了相關(guān)的專利。參考文獻1 李代萬,李金平,孫亮亮.人民幣識別器與自動售貨機通信的設計與實現(xiàn)J.北方交通大學學報,2002,26(6):80-82.2 許瀚文,王仲嫻,李梓豪.淺談國內(nèi)自動售貨機的發(fā)展J.中國科技博覽, 2012(22):267.3 余世明,晁岳磊,繆仁將.自動售貨機研究現(xiàn)狀及展望J.中國工程科學.2008(07).4 李衛(wèi)華. Java語言課程雙語教學探索J.廣東工業(yè)大學學報,2008, (3):15-22.5 張紅旭.淺談Java的發(fā)展及特點M.硅谷出版社,2010.6 王子君,范學峰,張志浩.Java編碼問題研究與應用J.計算機工程,2003,(3):

50、 18-23.7 D.Alur,J.Crupi,D.Malks.Best Practices and Design StrategiesJ.Core J2EE Patterns, 2008,9(1):23-30.8 L.W.M.Verhoef. Decision making of vending machine usersJ.Applied Ergonomics, 1988,19(2):103-109.9 張建龍.自動售貨機節(jié)能設計與實現(xiàn)J.機電工程2010(4).10 鄭大宇,張立惠,秦芳.網(wǎng)絡自動售貨機數(shù)據(jù)庫系統(tǒng)的設計J.哈爾濱商業(yè)大學學報(自然科學版),2003,(05):20-25.

51、11 T.Mori.Fatigue Damage Monitoring Sensor Using Crack Propagation in Stainless Steel Sheet.China-Japan Joint Seminar on Steel and Composite Bridges.2007.12 曹利紅,葉楊.自動售貨機的實時監(jiān)控設計與實現(xiàn)J.北京工商大學學報(自然科學版),2007(02).13 J.Anderru.Vandalism of vending machines: Factorsthat attract professionals and amateursJ. J

52、ournal of Criminal Justice,2003,(15):35-40.致 謝在本次畢業(yè)設計設計中,我深切體會到無論理論知識再好,都需要用實踐去檢驗,實踐是理論運用的最好的檢驗工具。本次設計是對我四年所學知識的一次綜合性檢測和考驗,無論是動手能力還是理論知識運用能力都得到了提高,同時加深了我對網(wǎng)絡資源的認識,大大提高了查閱資料的能力和效率。感謝我的指導教師,本論文是在她的悉心指導下完成的。趙老師淵博的知識,嚴謹?shù)闹螌W態(tài)度和孜孜不倦的工作熱情給我留下了非常深刻的印象。趙老師思維敏銳、經(jīng)驗豐富,激勵我在今后的工作和學習中積極上進。這份深厚的師生情誼,必將成為難忘的回憶。與此同時,在本

53、次畢業(yè)設計中過程中,得到了許多同學的幫助,借鑒了他們的一些經(jīng)驗,并且從他們身上學到了很多東西,尤其在相互的討論和學習中,增加了周圍學習的氣氛,在這樣的氛圍中學習和工作,使我感到非常慶幸。在此對他們表示感謝。附 錄附錄1 售貨機購買實現(xiàn)的程序代碼:/package desktopapplication2;/*This class is to control the all activities of customer interface and his action. * author Huang Ying */public class VMC_Control Stock stockinfo=n

54、ew Stock(); Cash coinsinfo=new Cash(); CustomerTransaction cusinfo= new CustomerTransaction(); /* This method is to get the products name from the Stock class. * */ public String getstockname() return stockinfo.productName; /* This method is to get the products price from the Stock class. * */ publi

55、c double getstockprice() return stockinfo.Price; /* This method is to get the products stock level of each products from the Stock class. * */ public int getstock() return stockinfo.Stock; /* This method is to get the coins level from the Cash class. * */ public int getcoinsinfo() return coinsinfo.c

56、ashLevel; /* This method is to convert the price into pound or penny. *param money The double number to storage the money. * return money the double number which is converted. */ public double money(double money) if(money1.0) return money*100; return money; /* This method is to decorate the pound or

57、 the penny. *param price The double array to storage the price. * return p The string array to storage the decorated stocks price. */ public String decpri(double price) String p=new String5; for(int i=0;i5;i+) if(pricei1.0) pricei=pricei*100; pi=String.valueOf(int)pricei)+p; else pi=u00a3+String.val

58、ueOf(pricei); return p; /* This method is to count the change of each coins. *param clicknum The int array to how many of each coins the customer inserts. */ public void calculateCoins(int clicknum) for(int i=0;i6;i+) coinsinfo.cashLeveli=coinsinfo.cashLeveli+clicknumi; /* This method is to compute

59、the changes . *param money2 The double number to storage the has-paid money. */ public int computeChange(double money2,double m) java.text.NumberFormatformate= java.text.NumberFormat.getNumberInstance(); formate.setMaximumFractionDigits(2); int coinsnum=coinsinfo.cashLevel; int change=Integer.valueOf(formate.format(100*(money2-m);/change to be returned int changetype=new int6; changetype5 = change/200; change= change-change/200*200; changetype4 = change/100;

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!