版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘 要</b></p><p> 隨著經(jīng)濟(jì)水平的提高,人們開始追求靈活、方便、快捷以及自助式服務(wù),這使得自動(dòng)售貨機(jī)得以迅猛的發(fā)展。自動(dòng)售貨機(jī)吸引了大量的顧客,人們可以利用自動(dòng)售貨機(jī)購買飲料,零食等商品。在發(fā)達(dá)國家,自動(dòng)售貨機(jī)已經(jīng)成為零售業(yè)不可分割的一部分,這種前衛(wèi)的消費(fèi)方式吸引了眾多客戶。并且,針對地球暖化,新型自動(dòng)售貨機(jī)的開發(fā)致力于能源的節(jié)省。本論文涉及到自
2、動(dòng)化、節(jié)能和計(jì)算機(jī)軟件的開發(fā),該軟件可以更加方便的應(yīng)用在自動(dòng)售貨機(jī)中。</p><p> 本文對用Java語言設(shè)計(jì)自動(dòng)售貨機(jī)進(jìn)行了系統(tǒng)的研究,利用Java語言實(shí)現(xiàn)自動(dòng)售貨機(jī)的硬幣識(shí)別,幣值累加,自動(dòng)售貨,自動(dòng)找錢功能。該軟件的程序代碼具有靈活性和可擴(kuò)展性,它可以重復(fù)使用,而且當(dāng)整個(gè)系統(tǒng)實(shí)施一些新的特點(diǎn)時(shí),對現(xiàn)有代碼的影響較小。</p><p> 關(guān)鍵詞:自動(dòng)售貨機(jī);Java設(shè)計(jì)模式;J
3、2SE</p><p><b> Abstract</b></p><p> With the improvement of economic level, people began to pursue a flexible, convenient, efficient, and self-service. A kind of machine which is c
4、alled vending machine emerges and attracts quantities of customers to use it to buy drinks, snacks and similar products. In developed countries, the vending machine has become an integral part of the retail industry, thi
5、s avant-garde way of consumption attracted many customers. And, in view of global warming, new development of vending machine is committ</p><p> This thesis has a systemic study of the d
6、esign of vending machine in the Java language. The system can achieve the functions such as coin recognition, currency accumulate, vending machines, automatically change by using Java language. The software program
7、code has the flexibility and extensibility, so it can be repeated use, and when the entire system to implement some new characteristics, there will be less impact on existing code.</p><p> Key words: V
8、ending Machine; Java Design Patterns; J2SE</p><p><b> 目 錄</b></p><p><b> 目 錄I</b></p><p><b> 第1章 概 述1</b></p><p> 1.1 研究的背景和意義
9、1</p><p> 1.2 自動(dòng)售貨機(jī)產(chǎn)業(yè)的現(xiàn)狀1</p><p> 1.3 本論文主要研究的內(nèi)容2</p><p> 第2章 Java語言介紹3</p><p> 2.1 Java語言的特點(diǎn)3</p><p> 2.2 Java的發(fā)展4</p><p><b>
10、; 2.3本章小結(jié)7</b></p><p> 第3章 開發(fā)環(huán)境概述8</p><p> 3.1 系統(tǒng)硬件環(huán)境概述8</p><p> 3.2 系統(tǒng)軟件環(huán)境概述10</p><p> 3.3系統(tǒng)開發(fā)環(huán)境及其開發(fā)工具10</p><p> 3.4 本章小結(jié)11</p>&
11、lt;p> 第4章 環(huán)境搭建12</p><p> 4.1安裝JDK12</p><p> 4.2設(shè)置環(huán)境變量12</p><p> 4.3 本章小結(jié)15</p><p> 第5章 系統(tǒng)軟件設(shè)計(jì)16</p><p> 5.1 總體設(shè)計(jì)16</p><p> 5.2
12、 系統(tǒng)詳細(xì)設(shè)計(jì)與性能分析16</p><p> 5.3 系統(tǒng)實(shí)現(xiàn)18</p><p> 5.4 本章小結(jié)27</p><p><b> 結(jié) 論28</b></p><p><b> 參考文獻(xiàn)29</b></p><p><b> 致 謝30&l
13、t;/b></p><p><b> 附 錄31</b></p><p><b> 第1章 概 述</b></p><p> 1.1 研究的背景和意義</p><p> 自動(dòng)售貨機(jī)是一種全新的商業(yè)零售形式。20世紀(jì)70年代自日本和歐美發(fā)展起來。它又被稱為24小時(shí)營業(yè)的微型超市。
14、在日本,70%的罐裝飲料是通過自動(dòng)售貨機(jī)售出的;全球著名飲料商可口可樂公司在全世界就布有50萬臺(tái)飲料自動(dòng)售貨機(jī)[1]。</p><p> 在中國,售貨機(jī)從1999年開始進(jìn)入中國市場。如今,在機(jī)場、地鐵、商場、公園等客流量較大的場所也不難發(fā)現(xiàn)自動(dòng)售貨機(jī)的身影。從自動(dòng)售貨機(jī)的發(fā)展趨勢來看,它的出現(xiàn)是由勞動(dòng)密集型的產(chǎn)業(yè)構(gòu)造向技術(shù)密集型社會(huì)轉(zhuǎn)變的產(chǎn)物。大量生產(chǎn)、大量消費(fèi)以及消費(fèi)模式和銷售環(huán)境的變化要求出現(xiàn)新的流通渠道;
15、而相對的超市、百貨購物中心等新的流通渠道的產(chǎn)生,人工費(fèi)用也不短上升;再加上場地的局限性以及購物的便利性等因素的制約,無人自動(dòng)售貨機(jī)作為一種必須的機(jī)器便應(yīng)運(yùn)而生了。</p><p> 自動(dòng)售貨機(jī)可以充分補(bǔ)充人力資源的不足,適應(yīng)消費(fèi)環(huán)境和消費(fèi)模式的變化,24小時(shí)無人售貨的系統(tǒng)可以更省力,運(yùn)營時(shí)需要的資本少、面積小,有吸引人們購買好奇心的自身性能,可以很好地解決人工費(fèi)用上升的問題等各項(xiàng)優(yōu)點(diǎn)。自動(dòng)售貨機(jī)解放了人力,方便
16、了生活,創(chuàng)造了效益,方便廣大的市民。實(shí)踐和直覺告訴我們,自動(dòng)售貨機(jī)在中國的橫空出世,必將為國內(nèi)的食品、香煙、飲料等諸多行業(yè)帶來新的契機(jī),中國的現(xiàn)代文明又將以自動(dòng)售貨機(jī)的應(yīng)用和普及開創(chuàng)一個(gè)新的時(shí)代。所以設(shè)計(jì)自動(dòng)售貨機(jī)是非常必要的。</p><p> 1.2 自動(dòng)售貨機(jī)產(chǎn)業(yè)的現(xiàn)狀</p><p> 首先,我們來看一下發(fā)達(dá)國家的現(xiàn)狀。</p><p> 日本:各種自
17、動(dòng)售貨機(jī)保有量超過600萬臺(tái),平均20人一臺(tái),世界普及率第一。1990 年通過自動(dòng)售貨機(jī)實(shí)現(xiàn)的銷售額已達(dá)到5兆日元(約3000億人民幣)。</p><p> 美國:總的機(jī)器保有量大致和日本相當(dāng),2000年通過自動(dòng)售貨機(jī)實(shí)現(xiàn)的銷售額達(dá)到250億美元,其中OCS(Office Coffee Service)的銷售額排第六位。 </p><p> 韓國: 自動(dòng)售貨機(jī)的使用歷史要遠(yuǎn)短于其它發(fā)達(dá)
18、國家,僅有25年,據(jù)2001年的統(tǒng)計(jì),總保有量已超過80萬臺(tái)。在2001年韓國生產(chǎn)的自動(dòng)售貨機(jī)中OCS占32.7%,排第一位,咖啡自動(dòng)售貨機(jī)占18.1%,排第三位,僅次于18.6% 的充電自動(dòng)售貨機(jī)。瓶罐飲料自動(dòng)售貨機(jī)和復(fù)合型自動(dòng)售貨機(jī)(同機(jī)銷售瓶罐飲料和熱咖啡)都僅占8.6%,并列第四位。</p><p> 下面,我們來看一下我國的現(xiàn)狀[2]。</p><p> 自動(dòng)售貨機(jī)在我國的安
19、放和使用,也已經(jīng)有10多年的時(shí)間,但一直沒有全面普及。中國自1993年開始從日、韓等國引進(jìn)自動(dòng)售貨機(jī)并投放中國市場。1995年第一臺(tái)國產(chǎn)自動(dòng)售貨機(jī)在北京誕生。1999年國產(chǎn)自動(dòng)售貨機(jī)形成規(guī)模生產(chǎn)并批量投放市場。相對于日本、美國等發(fā)達(dá)國家,中國目前市場運(yùn)營的自動(dòng)售貨機(jī)數(shù)量還很少。至2000年初,中國自動(dòng)售貨機(jī)研發(fā)、制造和運(yùn)營的企業(yè)有10多家,天津南開戈德集團(tuán)規(guī)模最大。在自動(dòng)售貨機(jī)運(yùn)營商方面,主要是由制造企業(yè)的關(guān)聯(lián)或下屬企業(yè)運(yùn)營,如戈德集團(tuán)
20、的戈德移動(dòng)商務(wù)公司、澳珂瑪集團(tuán)的澳鴻自動(dòng)商務(wù)公司等,中國目前還沒有產(chǎn)生獨(dú)立的運(yùn)營商。自動(dòng)售貨機(jī)這種全新的零售方式已逐漸被國人所接受和信賴。隨著我國商品市場的不斷繁榮和城市現(xiàn)代化程度的不斷提高,自動(dòng)售貨機(jī)也已悄然步入了我國的大中城市。自動(dòng)售貨機(jī)在北京、上海、大連、沈陽、西安開始出現(xiàn),成為不少年輕人時(shí)髦的購物選擇。在國家相關(guān)政府部門的大力支持下,中國的自動(dòng)售貨機(jī)產(chǎn)業(yè)以超常規(guī)的速度迅猛發(fā)展,并帶動(dòng)了一批新的服務(wù)業(yè)、物流運(yùn)輸配送業(yè)的快速發(fā)展,豐
21、富了中國的商業(yè)產(chǎn)業(yè)結(jié)構(gòu),開創(chuàng)了一個(gè)全新的自動(dòng)銷售和自助服務(wù)的時(shí)代[3]。</p><p> 1.3 本論文主要研究的內(nèi)容</p><p> 本論文主要研究用Java語言進(jìn)行自動(dòng)售貨機(jī)控制系統(tǒng)軟件部分的設(shè)計(jì),即自動(dòng)售貨機(jī)的主控制系統(tǒng)。可以實(shí)現(xiàn)硬幣識(shí)別,幣值累加,自動(dòng)售貨,自動(dòng)找零的功能。該設(shè)計(jì)提高了自動(dòng)售貨機(jī)的可靠性和執(zhí)行效率,且系統(tǒng)維護(hù)容易,維修簡單,有一定的市場推廣價(jià)值。</p
22、><p> 本論文的主要研究工作如下:</p><p> ,概述。簡要介紹了本次畢業(yè)設(shè)計(jì)的背景,闡述了自動(dòng)售貨機(jī)的產(chǎn)業(yè)現(xiàn)狀,介紹研究本課題的目的、意義和內(nèi)容。</p><p> ,Java語言介紹。主要介紹了Java語言的特點(diǎn)及其發(fā)展歷程。</p><p> 第三章,系統(tǒng)環(huán)境概述。介紹了本設(shè)計(jì)的硬件系統(tǒng)環(huán)境及其軟件系統(tǒng)環(huán)境。 第四
23、章,環(huán)境搭建的介紹。主要講解如何運(yùn)行Java程序。</p><p> 第五章,利用Java語言進(jìn)行詳細(xì)設(shè)計(jì)。包括總體結(jié)構(gòu)設(shè)計(jì)與性能分析,主要操作的流程圖,具體詳細(xì)設(shè)計(jì)以及功能實(shí)現(xiàn)。并介紹了本設(shè)計(jì)的兩個(gè)創(chuàng)新點(diǎn)。</p><p> 最后是總結(jié),對本次的研究工作作出總結(jié),闡明研究出的一些規(guī)律,說明了本次工作的重難點(diǎn)。</p><p> 第2章 Java語言介紹<
24、;/p><p> 2.1 Java語言的特點(diǎn)</p><p> Java是1995年6月有Sun公司引進(jìn)到這個(gè)世界的革命性的編程語言,它被美國的著名雜志《PC Magazine》評(píng)為1995年十大優(yōu)秀科技產(chǎn)品。之所以稱Java為革命性編程語言,是因?yàn)閭鹘y(tǒng)的軟件往往與具體的實(shí)現(xiàn)環(huán)境有關(guān),一旦環(huán)境有所變化就需要對軟件進(jìn)行一番改動(dòng),耗時(shí)費(fèi)力,而Java編寫的軟件能在執(zhí)行碼上兼容。這樣,只要計(jì)算機(jī)
25、提供了Java解釋器,Java編寫的軟件就能在其上運(yùn)行[4]。自從1946年世界上第一臺(tái)電子計(jì)算機(jī)問世以來,計(jì)算模式的發(fā)展經(jīng)歷了三個(gè)階段:集中計(jì)算模式、分散計(jì)算模式和網(wǎng)絡(luò)計(jì)算模式。Internet的出現(xiàn),為在網(wǎng)絡(luò)計(jì)算模式下的科學(xué)計(jì)算和信息處理提供了良好平臺(tái)。然而,要充分利用網(wǎng)絡(luò)計(jì)算模式的功能與效益,平臺(tái)的運(yùn)行環(huán)境是個(gè)制約因素,而Java語言和Java技術(shù)則是解決這一問題的最佳途徑。</p><p> Java語
26、言具有以下特點(diǎn):</p><p> 1、Java語言是簡單的。Java語言的語法與C語言和C++語言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用Java。另一方面,Java丟棄了C++中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動(dòng)的強(qiáng)制類型轉(zhuǎn)換。特別地,Java語言不使用指針,并提供了自動(dòng)的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂。</p><p> 2、Java
27、語言是一個(gè)面向?qū)ο蟮摹ava語言提供類、接口和繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實(shí)現(xiàn)機(jī)制。Java語言全面支持動(dòng)態(tài)綁定,而C++語言只對虛函數(shù)使用動(dòng)態(tài)綁定。總之,Java語言是一個(gè)純的面向?qū)ο蟪绦蛟O(shè)計(jì)語言。</p><p> 3、Java語言是分布式的。Java語言支持Internet應(yīng)用的開發(fā),在基本的Java應(yīng)用編程接口中有一個(gè)網(wǎng)絡(luò)應(yīng)用編程接口,它
28、提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI機(jī)制也是開發(fā)分布式應(yīng)用的重要手段。</p><p> 4、Java語言是健壯的。Java的強(qiáng)類型機(jī)制、異常處理、廢料的自動(dòng)收集等是Java程序健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機(jī)制使得Java更具健壯性。</p><p>
29、5、Java語言是安全的。Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一個(gè)安全機(jī)制以防惡意代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對通過網(wǎng)絡(luò)下載的類具有一個(gè)安全防范機(jī)制,如分配不同的名字空間以防替代本地的同名類、字節(jié)代碼檢查,并提供安全管理機(jī)制讓Java應(yīng)用設(shè)置安全哨兵。 </p><p> 6、Java語言是體系結(jié)構(gòu)中立的。Java程序在Java平臺(tái)上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式
30、,然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。</p><p> 7、Java語言是可移植的。這種可移植性來源于體系結(jié)構(gòu)中立性,另外,Java還嚴(yán)格規(guī)定了各個(gè)基本數(shù)據(jù)類型的長度。Java系統(tǒng)本身也具有很強(qiáng)的可移植性,Java編譯器是用Java實(shí)現(xiàn)的,Java的運(yùn)行環(huán)境是用ANSIC實(shí)現(xiàn)的。</p><p> 8、Java語言是解釋型的。如前
31、所述,Java程序在Java平臺(tái)上被編譯為字節(jié)碼格式,然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行。在運(yùn)行時(shí),Java平臺(tái)中的Java解釋器對這些字節(jié)碼進(jìn)行解釋執(zhí)行,執(zhí)行過程中需要的類在聯(lián)接階段被載入到運(yùn)行環(huán)境中。</p><p> 9、Java是高性能的。與那些解釋型的高級(jí)腳本語言相比,Java的確是高性能的。事實(shí)上,Java的運(yùn)行速度隨著JIT(Just-In-Time)編譯器技術(shù)的發(fā)展越來越接近于C++
32、。 </p><p> 10、Java語言是多線程的。在Java中,線程是一種特殊的對象,它必須由Thread類或其子類來創(chuàng)建。通常有兩種方法來創(chuàng)建線程:其一,使用型構(gòu)為Thread(Runnable)的構(gòu)造子將一個(gè)實(shí)現(xiàn)了Runnable接口的對象包裝成一個(gè)線程,其二,從Thread類派生出子類并重寫run方法,使用該子類創(chuàng)建的對象,即為線程。Thread類已經(jīng)實(shí)現(xiàn)了Runnable接口,因此,任何線程均有它的
33、run方法,而run方法中包含了線程要運(yùn)行的代碼。線程的活動(dòng)由一組方法來控制。Java語言支持多個(gè)線程的同時(shí)執(zhí)行,并提供多線程之間的同步機(jī)制。</p><p> 11、Java語言是動(dòng)態(tài)的。Java語言的設(shè)計(jì)目標(biāo)之一是適應(yīng)于動(dòng)態(tài)變化的環(huán)境。Java程序需要的類能夠動(dòng)態(tài)地被載入到運(yùn)行環(huán)境,也可以通過網(wǎng)絡(luò)來載入所需要的類。這也有利于軟件的升級(jí)。另外,Java中的類有一個(gè)運(yùn)行時(shí)刻的表示,能進(jìn)行運(yùn)行時(shí)刻的類型檢查[5]
34、。 </p><p> 2.2 Java的發(fā)展</p><p> Java自正式問世以來已經(jīng)歷了數(shù)年的歷程,其發(fā)展極快。一年一度在美國舊金山召開的世界Java One語言開發(fā)者大會(huì)(Java One Developer Conference)盛況空前正說明了這一點(diǎn)。四年中每年的Java One大會(huì),既是了解Java最新技術(shù)動(dòng)態(tài)、應(yīng)用成果和下一步發(fā)展趨勢的最好場所,又是推動(dòng)下一年Ja
35、va快速發(fā)展的重要?jiǎng)恿ΑJ讓肑ava One大會(huì)于1996年召開,各屆簡況如下: </p><p> 1996年5月29-31日,第一屆,出席會(huì)議者6500余人,來自工業(yè)界的超過一半。有人評(píng)價(jià)說:“這是近年計(jì)算機(jī)界最光輝的一次盛會(huì)”。工業(yè)界相當(dāng)看好Java語言,認(rèn)為它的使用將會(huì)引起一場軟件革命:從軟件的設(shè)計(jì)風(fēng)格、設(shè)計(jì)方法、設(shè)計(jì)目標(biāo)到設(shè)計(jì)過程,都會(huì)產(chǎn)生徹底的變革,“甚至?xí)淖兇诵乔虻纳罘绞健薄?lt;/p>
36、;<p> 1997年,第二屆,出席會(huì)議者10000人。Java的追隨者不斷增加,應(yīng)用開發(fā)迅速起步。</p><p> 1998年3月24-27日,第三屆,出席會(huì)議者14000余人,注冊門票售價(jià)1195美元,否則1395美元,即使如此,仍有不少人不惜工本,擠入會(huì)場。本次會(huì)議除了軟件巨頭微軟未參加會(huì)議外,幾乎所有的計(jì)算機(jī)公司都參加了。展廳內(nèi)設(shè)300多個(gè)展臺(tái),先后舉行了90場專題討論會(huì),每場參加的人
37、數(shù)從千人至五六千人不等。會(huì)議的主題是:通過Java的培訓(xùn)來帶動(dòng)Java軟件的開發(fā)和技術(shù)研究,從而發(fā)展生產(chǎn)力,獲取高額利潤,提高生活質(zhì)量,推動(dòng)信息產(chǎn)業(yè)的進(jìn)步。會(huì)議展出的內(nèi)容大致如下:</p><p> Java開發(fā)工具軟件,如:JMF、JDK、Symantec Visual Cafe、Java Dynamic Management Kit、JFC、JNDI、Java Studio等; </p>&l
38、t;p> 企業(yè)信息管理解決方案軟件,如:EJB; </p><p> 基于Java技術(shù)的信息家電,如:機(jī)頂盒、Java電話等; </p><p> 個(gè)人信息綜合服務(wù)、社會(huì)信息綜合查詢亭; </p><p> 電子商務(wù)軟件、智能卡、Java Card API 等; </p><p> 網(wǎng)絡(luò)計(jì)算環(huán)境下的Java服務(wù)器軟件、遠(yuǎn)程方法
39、調(diào)用、基于Java技術(shù)的移動(dòng)計(jì)算設(shè)備; </p><p> JMS用于出版、票據(jù)訂閱的軟件; </p><p> JOS、基于Java技術(shù)的NC和Java Station。 </p><p> 隨著Internet的飛速發(fā)展,企業(yè)計(jì)算模式正摒棄C/S結(jié)構(gòu)而采用Web-Browser結(jié)構(gòu),此即瘦客戶端/胖服務(wù)器、大容量數(shù)據(jù)庫的3層或N層體系結(jié)構(gòu)。由于Java的特
40、點(diǎn),使得它在開發(fā)服務(wù)器端的應(yīng)用程序方面有著得天獨(dú)厚的優(yōu)勢,面向服務(wù)器端的J2EE為當(dāng)今逐漸流行的N層體系結(jié)構(gòu)提供了一個(gè)標(biāo)準(zhǔn)的Java計(jì)算平臺(tái):界面一致、工具簡易、豐富、Web頁面互聯(lián)便捷,從而能大大加速和簡化各種應(yīng)用系統(tǒng)的開發(fā)。</p><p> Java語言的出現(xiàn)和發(fā)展,得到了IT業(yè)界的青睞,它像一面大旗,凝聚了世界眾多的廠商與Sun公司一道,結(jié)成了對抗微軟壟斷的聯(lián)盟。許多知名廠商紛紛購買Java許可證,目前
41、已有90多萬個(gè)軟件開發(fā)商加入了Java陣營,1億個(gè)Java最終用戶,幾千種Java應(yīng)用軟件產(chǎn)品,1500余種Java書籍。</p><p> IBM公司提出“高舉Java大旗,全力以赴”的口號(hào),它在全世界的11個(gè)國家有28個(gè)實(shí)驗(yàn)室,集聚了2500余名技術(shù)人員,全天侯24小時(shí)進(jìn)行全方位開發(fā);芯片巨人Intel提出“抓住時(shí)機(jī),占領(lǐng)Java陣地”決心使Intel芯片系統(tǒng)成為開發(fā)Java應(yīng)用運(yùn)行的最佳平臺(tái);Novell
42、則宣稱“Java是Novell的未來,未來是服務(wù)器端Java的市場”;作為Java發(fā)明者的Sun公司,堅(jiān)持“保衛(wèi)Java大旗,發(fā)展Java之路”的方針,從而占領(lǐng)市場。此外,HP、Oracle、Apple、Sybase、Netscape、Informix、3Com、Motorola等公司均是Sun的堅(jiān)強(qiáng)同盟。 </p><p> 在中國,Java的開發(fā)可以說是“人才濟(jì)濟(jì),成果累累”。如清華大學(xué)王克宏教授帶領(lǐng)的課題
43、組面向全國,自96年開始舉辦了多期Java培訓(xùn)班和講座,開設(shè)了數(shù)期本科生、研究生Java課程,出版了“Java系列叢書”10余冊,承擔(dān)了國家“九五”攻關(guān)項(xiàng)目“基于Java技術(shù)的交互式遠(yuǎn)程教學(xué)系統(tǒng)”,并與日本就Java開發(fā)進(jìn)行了國際合作,成績斐然;東大阿派下屬的寶鋼東軟軟件技術(shù)研究中心是國內(nèi)是首屈一指的Java研發(fā)骨干企業(yè),該中心從95年起就開始了Java的研發(fā),目前,已掌握了Personal Java的核心移植技術(shù),并成功地將JVM移植
44、到汽車導(dǎo)航平臺(tái)。此外,他們還開發(fā)出支持Jini協(xié)議的即插即用網(wǎng)絡(luò)打印機(jī)軟件,以及一套Jini信息家電網(wǎng)絡(luò)的可視化演示環(huán)境,完成了基于JavaBeans的組件化軟件開發(fā)及運(yùn)行支持環(huán)境等多項(xiàng)成果;在臺(tái)灣,22家知名計(jì)算機(jī)公司成立了“Java聯(lián)盟”,并在臺(tái)北建立了“Java開發(fā)中心”,新竹建立了“Java語言實(shí)驗(yàn)室”;在香港,舉行了全島Java杯比賽,掀起了學(xué)習(xí)Java的熱潮。Java的浪潮洶涌澎湃,席卷全球。</p><
45、p> Java發(fā)展至今日,已不僅僅是一種編程語言,實(shí)際上已形成了一門技術(shù)。其內(nèi)容包括:</p><p><b> 1、Java軟件包</b></p><p> Java語言及其編程技術(shù)、JavaOS、Java開發(fā)環(huán)境與工具、Java語言的各種軟件包、數(shù)據(jù)庫接口JDBC等。</p><p> 2、Java虛擬機(jī)及其規(guī)范</p&
46、gt;<p> 3、Java嵌入技術(shù)</p><p> 1999年8月2日,Sun公司宣布名為MAJC的專門為Java語言設(shè)計(jì)的的芯片優(yōu)化研制成功,欲與Intel試比高低。該芯片在設(shè)計(jì)時(shí)采用了模塊式高性能計(jì)算引擎,實(shí)質(zhì)為一種芯片級(jí)并行處理機(jī),能以更有效的方式分解計(jì)算任務(wù),特別適合處理多媒體數(shù)據(jù)。Sun公司希望通過MAJC芯片的發(fā)布催生出一個(gè)基于Java語言的微處理器家族,與Intel公司競爭。設(shè)
47、想中的Java處理器將應(yīng)用在從低價(jià)消費(fèi)電子產(chǎn)品到高端因特網(wǎng)服務(wù)器領(lǐng)域。</p><p><b> 4、Java計(jì)算</b></p><p> 基于Java技術(shù)的企業(yè)Internet/Intranet信息系統(tǒng)以及其他應(yīng)用系統(tǒng)。</p><p><b> 5、Jini技術(shù)</b></p><p>
48、 1999年初正式發(fā)布后,立刻得到業(yè)界的廣泛支持。Jini的出現(xiàn)為Java網(wǎng)絡(luò)連接提供了公共標(biāo)準(zhǔn),使得任何Java設(shè)備都可以連入網(wǎng)絡(luò)中被自動(dòng)識(shí)別,并可充分利用網(wǎng)絡(luò)上已有的各種資源。它把網(wǎng)絡(luò)上的各類設(shè)備(包括消費(fèi)類電子設(shè)備如移動(dòng)電話、PDA、DTV、HPC、NC、游戲機(jī)、電冰箱、智能卡等等)和各種軟件組合成一個(gè)單一、動(dòng)態(tài)的分布式系統(tǒng),使網(wǎng)絡(luò)更易于操縱、易于管理,具有更高的可配置性。Jini將使網(wǎng)絡(luò)具有自發(fā)性,它的出現(xiàn)大大擴(kuò)展了“計(jì)算”和
49、“計(jì)算機(jī)”的含義,極大地簡化了網(wǎng)絡(luò)操作,對家庭用戶來說,使用網(wǎng)上設(shè)備即插即用,就像使用電話一樣方便。Java和Jini不僅可以不依賴于Windows為代表的操作系統(tǒng),而且引導(dǎo)著信息產(chǎn)業(yè)的潮流,使Sun公司能在未來的、非PC類電子產(chǎn)品的數(shù)字化市場中強(qiáng)占制高點(diǎn)。</p><p><b> 6、Jiro平臺(tái)</b></p><p> 異質(zhì)網(wǎng)絡(luò)環(huán)境中安裝的存儲(chǔ)系統(tǒng)的多樣性
50、和分布性,給存儲(chǔ)管理帶來了巨大的挑戰(zhàn)。用戶和開發(fā)人員都希望能有一種技術(shù),能更好地促進(jìn)企業(yè)存儲(chǔ)管理方案的開發(fā)。而Jiro平臺(tái)正是解決此問題的革命性方案。Jiro平臺(tái)實(shí)現(xiàn)了Java和Jini技術(shù),它是一個(gè)便于用戶管理異質(zhì)網(wǎng)絡(luò)上由各種服務(wù)器、存儲(chǔ)和設(shè)備組成的混合環(huán)境的開放式存儲(chǔ)管理平臺(tái)。它對操作系統(tǒng)是中立的。Jiro為跨異質(zhì)存儲(chǔ)局域網(wǎng)(SAN)的管理服務(wù)和設(shè)備提供了一個(gè)開放平臺(tái),允許服務(wù)器、存儲(chǔ)和聯(lián)網(wǎng)設(shè)備在異質(zhì)網(wǎng)絡(luò)環(huán)境中無縫地協(xié)同工作。Jir
51、o平臺(tái)為開發(fā)者帶來的好處有:允許開發(fā)者利用各種實(shí)現(xiàn)管理存儲(chǔ)網(wǎng)絡(luò)的目標(biāo)功能創(chuàng)建應(yīng)用;提供了一個(gè)可以在各種應(yīng)用、服務(wù)和設(shè)備之間交互操作的組件模型;允許設(shè)備易被增加、刪除;允許應(yīng)用或服務(wù)被自動(dòng)更新。 </p><p> 1999年7月,Sun發(fā)布了正式的Jiro規(guī)范草案,供公眾討論、修改。目前,Jiro平臺(tái)的團(tuán)體成員已超過25家,支持Jiro平臺(tái)的廠商超過300家。有眼光的廠商紛紛加入到這些組行列,從而加快了Jiro
52、的發(fā)展[6]。</p><p><b> 2.3本章小結(jié)</b></p><p> 本章介紹了Java語言。從Java語言的特點(diǎn)及其Java語言的發(fā)展歷程進(jìn)行介紹。</p><p> 第3章 開發(fā)環(huán)境概述</p><p> 3.1 系統(tǒng)硬件環(huán)境概述</p><p> 自動(dòng)售貨機(jī)是集光、機(jī)
53、、電一體化的獨(dú)立機(jī)構(gòu),它只需要顧客投幣和按鍵購物選擇即可自動(dòng)售貨及退錢找零,其工作程序如下圖所示:</p><p> 圖3-1 自動(dòng)售貨機(jī)工作時(shí)序圖</p><p> 自動(dòng)售貨機(jī)的工作原理是:首先,從投幣口送入貨幣,然后通過傳感器采集數(shù)據(jù)、識(shí)別器判斷貨幣的真?zhèn)尾⑴袆e面值。然后,識(shí)別器把信息數(shù)據(jù)傳送給通信模塊。通信模塊與售貨機(jī)的主控制系統(tǒng)通信,主控系統(tǒng)顯示面值,啟動(dòng)售貨機(jī)的面板鍵,顯示出
54、哪個(gè)貨道有貨,哪個(gè)貨道已經(jīng)售完,并等待顧客選擇商品。顧客選擇商品后,售貨機(jī)自動(dòng)把商品送出,等待顧客取走。在交易過程中,如果金額足夠多,顧客可以將找回的零錢取回,完成交易;如果款額不足,則不能進(jìn)行交易。</p><p> 下面結(jié)合圖3-2對本自動(dòng)售貨機(jī)做進(jìn)一步描述:</p><p> 如圖3-2示,這種具備商品信息和健康建議功能的自動(dòng)售貨機(jī)包括機(jī)身1、商品收容室2、貨物傳送裝置、中央處理
55、器,機(jī)身1上有商品取出口3、貨幣投入口4,商品收容器、貨物傳送裝置、中央處理器均設(shè)置在機(jī)身內(nèi),從貨幣投入口4投入貨幣后,如需找零,剩余的貨幣從退幣口5退出,購買的商品從商品取出口3傳送出來;機(jī)身1上還設(shè)置有商品健康信息觸摸顯示器6,商品健康信息觸摸顯示器6連接中央處理器,中央處理器連接商品健康信息存儲(chǔ)器。商品健康信息觸摸顯示器6設(shè)置在貨幣投入口4的上面。</p><p> 圖3-2 自動(dòng)售貨機(jī)</p>
56、;<p> 圖3-3是自動(dòng)售貨機(jī)的硬件原理圖,如圖所示,人們在通過觸摸的方式操作商品健康信息觸摸顯示器6后,商品健康信息觸摸顯示器6會(huì)將此信息傳送給中央處理器,中央處理器從商品健康信息存儲(chǔ)器中查找到相關(guān)信息后,從商品健康信息觸摸顯示器6顯示出來,供人們查閱。</p><p> 圖3-3 硬件原理圖</p><p> 綜上所述,自動(dòng)售貨機(jī)控制系統(tǒng)可以分為三部分組成,即自動(dòng)
57、售貨機(jī)的主控制系統(tǒng)、通訊系統(tǒng)、硬幣及紙幣識(shí)別系統(tǒng)。其中主控制系統(tǒng)是本設(shè)計(jì)的研究重點(diǎn)。下面將著重介紹。</p><p> 3.2 系統(tǒng)軟件環(huán)境概述</p><p> 本設(shè)計(jì)是利用Java語言設(shè)計(jì)的,下面將分別介紹本系統(tǒng)的運(yùn)行平臺(tái)及運(yùn)行環(huán)境。</p><p> 目前Java運(yùn)行平臺(tái)主要分為下列3個(gè)版本。</p><p> J2SE:稱為J
58、ava標(biāo)準(zhǔn)版或Java標(biāo)準(zhǔn)平臺(tái)。J2SE提供了標(biāo)準(zhǔn)的SDK開發(fā)平臺(tái)(以前稱為JDK開發(fā)平臺(tái))。利用該平臺(tái)可以開發(fā)Java桌面應(yīng)用程序和低端的服務(wù)器應(yīng)用程序,也可以開發(fā)Java Applet程序。</p><p> J2EE:稱為Java企業(yè)版或Java企業(yè)平臺(tái)。使用J2EE可以構(gòu)建企業(yè)級(jí)的服務(wù)器應(yīng)用程序,J2EE平臺(tái)包含了J2SE平臺(tái),并增加了附加類庫,以便支持目錄管理、交易管理和企業(yè)級(jí)消息處理等功能。<
59、/p><p> J2ME:稱為Java微型版或Java小型平臺(tái)。J2ME是一種很小的Java運(yùn)行環(huán)境,用于嵌入式的消費(fèi)產(chǎn)品中,如移動(dòng)電話、掌上電腦或其它無線設(shè)備等。</p><p> 本系統(tǒng)的運(yùn)行平臺(tái)是J2SE。</p><p> 同時(shí),本系統(tǒng)的運(yùn)行環(huán)境是Java7。Java7具有以下特性:</p><p> 首先,Java7采用了模塊的
60、劃分方式來提速,一些不是必須的模塊并沒有下載和安裝,因此在使用全新的Java7的虛擬機(jī)的時(shí)候會(huì)發(fā)現(xiàn)真的很快,當(dāng)虛擬機(jī)需要用到某些功能的時(shí)候,再下載和啟用相應(yīng)的模塊,這樣使得最初需要下載的虛擬機(jī)大小得到了有效的控制。同時(shí)對啟動(dòng)速度也有了很大的改善。</p><p> 其次是多語言支持,Java7的虛擬機(jī)對多種動(dòng)態(tài)程序語言增加了支持,比如:Rubby、Python等等。對這些動(dòng)態(tài)語言的支持極大地?cái)U(kuò)展了Java虛擬機(jī)
61、的能力。</p><p> 第三是開發(fā)者的開發(fā)效率得到了改善,Java7通過多種特性來增強(qiáng)開發(fā)效率。通過注解增強(qiáng)程序的靜態(tài)檢查。提供了一些新的API用于文件系統(tǒng)的訪問、異步的輸入輸出操作、Socket通道的配置與綁定、多點(diǎn)數(shù)據(jù)包的傳送等等。</p><p> 最后是執(zhí)行效率的提高,Java7壓縮了64位的對象指針,通過對對象指針由64位壓縮到與32位指針相匹配的技術(shù)使得內(nèi)存和內(nèi)存帶塊的
62、消耗得到了很大的降低因而提高了執(zhí)行效率。此外還提供了新的垃圾回收機(jī)制(G1)來降低垃圾回收的負(fù)載和增強(qiáng)垃圾回收的效果。G1垃圾回收機(jī)制擁有更低的暫停率和更好的可預(yù)測性。</p><p> 3.3系統(tǒng)開發(fā)環(huán)境及其開發(fā)工具</p><p><b> 開發(fā)環(huán)境:JDK </b></p><p> 開發(fā)工具:Myeclipse</p>
63、<p><b> 3.4 本章小結(jié)</b></p><p> 本章主要介紹了本次設(shè)計(jì)的主要系統(tǒng)環(huán)境,其中包括硬件系統(tǒng)和軟件系統(tǒng)。著重介紹了本系統(tǒng)的運(yùn)行環(huán)境及運(yùn)行平臺(tái),同時(shí)還介紹了Java語言的開發(fā)平臺(tái)以及相關(guān)的開發(fā)工具的介紹。</p><p><b> 第4章 環(huán)境搭建</b></p><p><
64、b> 4.1安裝JDK</b></p><p> 1、打開“http//java.sun.com/”網(wǎng)頁,根據(jù)本地計(jì)算機(jī)的操作系統(tǒng),選擇并下載適合此系統(tǒng)的JDK版本。</p><p> 2、找到安裝程序后,雙擊jdk-7u21-windows-i586.exe,運(yùn)行安裝程序進(jìn)行安裝。</p><p> 3、等程序初始化完成后,選擇接受許可證
65、協(xié)議,繼續(xù)安裝。</p><p> 4、選擇要安裝的組件,點(diǎn)擊“下一步”按鈕繼續(xù)安裝,一般選擇默認(rèn)組件直接進(jìn)入下一步。</p><p> 5、等待程序安裝完成后,顯示安裝完成界面,至此JDK安裝完成[7]。</p><p><b> 4.2設(shè)置環(huán)境變量</b></p><p> 1、在桌面右鍵點(diǎn)擊“我的電腦”圖標(biāo)
66、,在出現(xiàn)的菜單中選擇“屬性”選項(xiàng),出現(xiàn)的界面如圖4-1所示。</p><p><b> 圖4-1 系統(tǒng)屬性</b></p><p> 2、選擇“高級(jí)”選項(xiàng),如圖4-2所示,并單擊“環(huán)境變量”按鈕,彈出“環(huán)境變量”對話框,如圖4-3所示。</p><p> 圖4-2“高級(jí)”界面</p><p> 圖4-3 “環(huán)境變
67、量”對話框</p><p> 3、在“系統(tǒng)變量”對話框里找到變量名“Path”,并選出,再單擊“編輯”按鈕進(jìn)入“編輯系統(tǒng)變量”對話框,如圖4-4所示。</p><p> 圖4-4 “編輯系統(tǒng)變量”對話框</p><p> 4、在所有的變量值前面輸入“C:\Program Files\Java\jdk1.7.0_21”,注意有分號(hào),路徑根據(jù)情況進(jìn)行設(shè)置。<
68、/p><p> 5、在“系統(tǒng)變量”對話框里點(diǎn)擊“新建”按鈕,彈出“新建系統(tǒng)變量”對話框,如圖4-5所示。</p><p> 圖4-5 “新建系統(tǒng)變量”對話框</p><p> 6、設(shè)置變量名為“CLASSPATH”,變量值為</p><p> “.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar”,路徑
69、根據(jù)情況進(jìn)行設(shè)置,如圖4-6所示。</p><p><b> 圖4-6 填入新值</b></p><p> 配置完成后,需要測試是否配置正確。下面給出了詳細(xì)的測試步驟,按照這個(gè)步驟操作可以很輕松地完成測試。</p><p> 1、單擊“開始”按鈕,在彈出的開始菜單中再單擊“運(yùn)行”菜單項(xiàng),將出“運(yùn)行”對話框。在“運(yùn)行”對話框里輸入“cmd”
70、,并單擊“確定”按鈕,如圖4-7所示。</p><p> 圖4-7 “運(yùn)行”對話框</p><p> 2、在命令提示符窗口里輸入“javac”和“java”,觀察是否出現(xiàn)javac或java的用法提示,如圖4-8所示。</p><p> 圖4-8 配置正確的環(huán)境變量信息</p><p><b> 4.3 本章小結(jié)</b
71、></p><p> 本章詳細(xì)的介紹了Java運(yùn)行環(huán)境的安裝過程,包括安裝JDK以及如何設(shè)置環(huán)境變量。正確的設(shè)置環(huán)境變量是整個(gè)程序能否運(yùn)行的關(guān)鍵。</p><p> 第5章 系統(tǒng)軟件設(shè)計(jì)</p><p><b> 5.1總體設(shè)計(jì)</b></p><p> 只要的使用者有兩類人,一類是顧客,另一類是管理員。如
72、下圖所示,在顧客操作模式下,顧客可以利用前觸屏,投幣口,以及分配渠道三個(gè)部分通過內(nèi)部網(wǎng)連接到控制系統(tǒng),控制端通過內(nèi)部網(wǎng)將商品信息以及幣值總而發(fā)送到信息數(shù)據(jù)庫。在管理員模式中,管理員利用內(nèi)部顯示屏以及內(nèi)部鍵盤和鼠標(biāo)通過內(nèi)部網(wǎng)連接控制端,以此輸入信息等[8,9]。</p><p> 圖5-1 總體設(shè)計(jì)框圖</p><p> 5.2 系統(tǒng)詳細(xì)設(shè)計(jì)與性能分析</p><p&
73、gt;<b> 獲取庫存</b></p><p> 當(dāng)顧客選擇一個(gè)商品時(shí),該商品信息會(huì)通過機(jī)器控制模塊發(fā)送到商品識(shí)別模塊,從而獲取商品的庫存信息。如果庫存充足,機(jī)器控制模塊會(huì)給操作模塊發(fā)送一個(gè)消息,并將界面改成付款界面。流程圖如圖5-2所示。</p><p> 圖5-2庫存獲取流程圖</p><p><b> 密碼驗(yàn)證<
74、/b></p><p> 圖5-3 密碼驗(yàn)證流程圖</p><p> 如圖5-3所示,管理員進(jìn)入操作模式時(shí),需要輸入密碼。操作模塊將輸入的密碼發(fā)送到機(jī)器控制模塊,再傳送到管理員賬戶模塊。通過核對密碼,將信息反饋到機(jī)器控制模塊,機(jī)器控制模塊判斷輸入的密碼是否正確。在機(jī)器可以判斷輸入的密碼是否正確之前,機(jī)器的內(nèi)部需要存儲(chǔ)一個(gè)密碼。因此,一旦輸入的密碼錯(cuò)誤,系統(tǒng)將會(huì)提示警告信息,并阻止
75、接下來的操作,更改到服務(wù)模式下[10]。</p><p><b> 記錄更改設(shè)置</b></p><p> 如圖5-4所示,管理員可以通過操作模式進(jìn)行更改,如添加新的商品、更改庫存、更改商品價(jià)格等。更改的信息將傳送到機(jī)器控制模塊,將更改的信息發(fā)送到機(jī)器中。機(jī)器收到更改信息后,生成信息的具體的實(shí)體值,并將信息發(fā)送到存儲(chǔ)模塊,進(jìn)行存儲(chǔ)記錄。</p>&l
76、t;p> 圖5-4 信息更改流程圖</p><p><b> 數(shù)據(jù)存儲(chǔ)</b></p><p> 如圖5-5所示,如果系統(tǒng)中出現(xiàn)修改,將會(huì)出現(xiàn)提示窗口。如果確定修改,系統(tǒng)將重新存儲(chǔ)數(shù)據(jù)。機(jī)器控制模塊對信息生成新的文件,并存儲(chǔ)數(shù)據(jù),最終發(fā)送到文件系統(tǒng)中,生成新的文件。如果數(shù)據(jù)錯(cuò)誤,將重新復(fù)位。</p><p> 圖5-5 數(shù)值存儲(chǔ)流
77、程圖</p><p><b> 硬幣計(jì)數(shù)變化</b></p><p> 如圖5-6所示,如果管理員利用操作模塊對硬幣的庫存,以及各類硬幣的現(xiàn)有值進(jìn)行更改,機(jī)器控制模塊將信息發(fā)送到硬幣模塊,硬幣模塊根據(jù)更改信息進(jìn)行整合,然后把當(dāng)前庫存顯示出來。</p><p> 圖5-6 計(jì)數(shù)變化流程圖 </p><p><b
78、> 5.3 系統(tǒng)實(shí)現(xiàn)</b></p><p> 5.3.1顧客購買操作實(shí)現(xiàn)</p><p> 當(dāng)打開該軟件時(shí),進(jìn)入購物模式,出現(xiàn)如圖5-7所示界面。在這一界面我們能夠看到商品提示的購買建議。</p><p> 圖5-7 用戶購買界面</p><p> 購買界面中出現(xiàn)五種商品,并且有每種商品對應(yīng)的名稱及價(jià)格,還有當(dāng)?shù)?/p>
79、操作時(shí)間。以下以購買可口可樂為例。點(diǎn)擊可口可樂下面的“購買”按鈕,出現(xiàn)圖5-8界面。該界面會(huì)出現(xiàn)提示信息,提示顧客選擇的商品是“可樂”。顧客通過“+1”“+5”“+10”選擇購買可樂的數(shù)量。選擇完畢后,點(diǎn)擊“確認(rèn)”。若想刪除之前的選擇,點(diǎn)擊“刪除”,若想返回上一頁重新選擇,點(diǎn)擊“返回”。</p><p> 圖5-8 購買可樂(1)</p><p> 以選擇一瓶為例,選擇完畢后,出現(xiàn)圖5
80、-9界面。提示用戶選擇了一瓶可樂,總金額3元。點(diǎn)擊“付款”投入貨幣。</p><p> 圖5-9 購買可樂(2)</p><p> 然后開始投幣,如圖5-10所示。該系統(tǒng)可以接受的硬幣為0.5元、1元、2元、5元以及10元和20元。如果先投入1元,系統(tǒng)提示還需繼續(xù)投入2元。</p><p> 圖5-10 可樂購買(3)</p><p>
81、 如果再投入2元,則出現(xiàn)圖5-11界面。</p><p> 圖5-11 可樂購買(4)</p><p> 當(dāng)投入的金額大于等于商品要求金額,則可繼續(xù)進(jìn)行購買,點(diǎn)擊“確認(rèn)”。出現(xiàn)如圖5-12界面。這一界面,用于信息確認(rèn),顯示顧客購買的商品及商品數(shù)量,投入的硬幣總額以及需要退還的零錢。如果想取消購買,則點(diǎn)擊“取消”。</p><p> 圖5-12 可樂購買(5)
82、</p><p> 確認(rèn)信息無誤后,點(diǎn)擊“確認(rèn)”,出現(xiàn)5-13界面。該界面用于提示顧客應(yīng)該獲得的零錢多少。</p><p> 圖5-13 可樂購買(6)</p><p> 點(diǎn)擊“完成”,完成交易。出現(xiàn)5-14界面。如果顧客需要打印發(fā)票,則可以點(diǎn)擊“打印發(fā)票”進(jìn)行發(fā)票打??;如不需要?jiǎng)t可以點(diǎn)擊“退出”。</p><p> 圖5-14 可樂
83、購買(7)</p><p> 5.3.2管理員操作實(shí)現(xiàn)</p><p> 如果想進(jìn)入到管理員模式,則可以點(diǎn)擊圖5-7中的“更換模式”進(jìn)行更改操作模式[11,12]。點(diǎn)擊后,出現(xiàn)如圖5-15界面。該界面提示管理員需要輸入密碼,才可以進(jìn)行操作。該程序設(shè)置的初始密碼為“1234”。</p><p> 圖5-15 管理員輸入密碼</p><p>
84、; 輸入密碼后,進(jìn)入操作員操作模式,如圖5-16。在這一界面中,我們可以看到出售的產(chǎn)品以及商品的庫存。初始設(shè)置每種飲品的庫存為20瓶,由于之前的演示中,多次購買了可樂,所以可樂的當(dāng)前庫存為15瓶。同時(shí),在這一界面中,我們可以看到管理員可以進(jìn)行如下操作:增加一款新商品、雇主復(fù)位、設(shè)置現(xiàn)金水平、更改密碼、設(shè)置庫存水平、更改價(jià)格。接下來,我們對各個(gè)功能進(jìn)行一一演示。</p><p> 圖5-16管理員操作(1)&l
85、t;/p><p> 當(dāng)管理員需要增加新的商品時(shí),點(diǎn)擊“增加一款新產(chǎn)品”。出現(xiàn)如圖5-17界面。管理員可以填寫商品的名稱、價(jià)格以及庫存。點(diǎn)擊“保存修改”,完成商品添加。</p><p> 圖5-17管理員操作(2)</p><p> 點(diǎn)擊“雇主重置”,出現(xiàn)5-18提示界面。如果確認(rèn)復(fù)位,點(diǎn)擊“是”,否則點(diǎn)擊“否”。</p><p> 圖5-
86、18管理員操作(3)</p><p> 想要更改售貨機(jī)中現(xiàn)金時(shí),點(diǎn)擊“設(shè)置現(xiàn)金水平”,出現(xiàn)5-19界面。該界面顯示了當(dāng)前售貨機(jī)中各類硬幣的數(shù)量[13]。</p><p> 圖5-19管理員操作(4)</p><p> 如果管理員想要更改密碼,點(diǎn)擊“更改密碼”,出現(xiàn)如圖5-20所示界面。管理需要先輸入原密碼,然后才能更改密碼。</p><p&
87、gt; 圖5-20 管理員操作(5)</p><p> 如果想要設(shè)置庫存,則點(diǎn)擊“設(shè)置庫存水平”,出現(xiàn)5-21界面。</p><p> 圖5-21 管理員操作(6)</p><p> 點(diǎn)擊“更改價(jià)格”,出現(xiàn)5-22界面,管理員可以進(jìn)行商品價(jià)格的更改。</p><p> 圖5-22 管理員操作(7)</p><p&
88、gt; 在管理員操作這一部分,管理員可以通過我編寫的程序,看到哪種商品銷量最好。這是本設(shè)計(jì)的另一個(gè)創(chuàng)新點(diǎn)。如圖5-23所示。指出了哪種商品銷量最好。由于之前我們演示,都以可樂為例,所以可樂的銷量最好。</p><p> 圖5-23 購買情況統(tǒng)計(jì)文檔</p><p><b> 5.4 本章小結(jié)</b></p><p> 本章主要介紹本次畢
89、業(yè)設(shè)計(jì)的總體思路,以及其功能的實(shí)現(xiàn)過程。其中包括系統(tǒng)的總體設(shè)計(jì)、系統(tǒng)的詳細(xì)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)與性能分析等。本章詳細(xì)介紹了本設(shè)計(jì)中的兩大核心部分:管理員操作模式設(shè)計(jì)和顧客操作模式設(shè)計(jì)。通過圖片以及文字,清晰的展示了兩種模式的操作過程。并且介紹了本設(shè)計(jì)的創(chuàng)新之處。</p><p><b> 結(jié) 論</b></p><p> 計(jì)算機(jī)的出現(xiàn),使科技文明的發(fā)展跨入到了一個(gè)新的時(shí)
90、代,計(jì)算機(jī)軟件的應(yīng)用,使人們的工作效率成倍提高。人們從復(fù)雜、繁重的工作中解脫出來,擁有了更加舒適、快捷、方便的工作方式和更多的自由時(shí)間。本次畢業(yè)設(shè)計(jì)的多功能自動(dòng)售貨機(jī)控制系統(tǒng)方便快捷,操作簡單,大大提高了運(yùn)行速度,節(jié)省了運(yùn)行時(shí)間。</p><p> 本次畢業(yè)設(shè)計(jì)完成了自動(dòng)售貨機(jī)的硬幣識(shí)別、幣值累加、自動(dòng)售貨、自動(dòng)找零的功能。通過編寫這個(gè)程序,使我將學(xué)習(xí)的Java語言融會(huì)貫通,提高了我使用編寫程序的能力。同時(shí)作為
91、Java語言的初學(xué)者,我還有很多技術(shù)方面的知識(shí)掌握的不夠全面,這個(gè)程序的功能也不是十分的完善,因此我將在今后繼續(xù)學(xué)習(xí),提高Java語言的編程能力,不斷地完善自動(dòng)售貨機(jī)的程序,為操作者提供更加方便的使用體驗(yàn)。</p><p> 本次設(shè)計(jì)的自動(dòng)售貨機(jī)控制系統(tǒng)可以實(shí)現(xiàn)購買統(tǒng)計(jì)分析,并且能夠?qū)徺I者提出合理化的購買建議。并且已經(jīng)獲得了相關(guān)的專利。</p><p><b> 參考文獻(xiàn)&
92、lt;/b></p><p> [1] 李代萬,李金平,孫亮亮.人民幣識(shí)別器與自動(dòng)售貨機(jī)通信的設(shè)計(jì)與實(shí)現(xiàn)[J].北方交通大學(xué)學(xué)報(bào),2002,26(6):80-82.</p><p> [2] 許瀚文,王仲嫻,李梓豪.淺談國內(nèi)自動(dòng)售貨機(jī)的發(fā)展[J].中國科技博覽, 2012(22):267.</p><p> [3] 余世明,晁岳磊,繆仁將.自動(dòng)售貨機(jī)研究
93、現(xiàn)狀及展望[J].中國工程科學(xué).2008(07).</p><p> [4] 李衛(wèi)華. Java語言課程雙語教學(xué)探索[J].廣東工業(yè)大學(xué)學(xué)報(bào),2008, (3):15-22.</p><p> [5] 張紅旭.淺談Java的發(fā)展及特點(diǎn)[M].硅谷出版社,2010.</p><p> [6] 王子君,范學(xué)峰,張志浩.Java編碼問題研究與應(yīng)用[J].計(jì)算機(jī)工程,
94、2003,(3): 18-23.</p><p> [7] D.Alur,J.Crupi,D.Malks.Best Practices and Design Strategies[J].Core J2EE Patterns, 2008,9(1):23-30.</p><p> [8] L.W.M.Verhoef. Decision making of vending machine u
95、sers[J].Applied Ergonomics, 1988,19(2):103-109.</p><p> [9] 張建龍.自動(dòng)售貨機(jī)節(jié)能設(shè)計(jì)與實(shí)現(xiàn)[J].機(jī)電工程2010(4).</p><p> [10] 鄭大宇,張立惠,秦芳.網(wǎng)絡(luò)自動(dòng)售貨機(jī)數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)[J].哈爾濱商業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2003,(05):20-25.</p><p>
96、[11] T.Mori.Fatigue Damage Monitoring Sensor Using Crack Propagation in Stainless Steel Sheet.China-Japan Joint Seminar on Steel and Composite Bridges.2007.</p><p> [12] 曹利紅,葉楊.自動(dòng)售貨機(jī)的實(shí)時(shí)監(jiān)控設(shè)計(jì)與實(shí)現(xiàn)[J].北京工商大學(xué)學(xué)報(bào)(自
97、然科學(xué)版),2007(02).</p><p> [13] J.Anderru.Vandalism of vending machines: Factorsthat attract professionals and amateurs[J]. Journal of Criminal Justice,2003,(15):35-40.</p><p><b> 致 謝</b
98、></p><p> 在本次畢業(yè)設(shè)計(jì)設(shè)計(jì)中,我深切體會(huì)到無論理論知識(shí)再好,都需要用實(shí)踐去檢驗(yàn),實(shí)踐是理論運(yùn)用的最好的檢驗(yàn)工具。本次設(shè)計(jì)是對我四年所學(xué)知識(shí)的一次綜合性檢測和考驗(yàn),無論是動(dòng)手能力還是理論知識(shí)運(yùn)用能力都得到了提高,同時(shí)加深了我對網(wǎng)絡(luò)資源的認(rèn)識(shí),大大提高了查閱資料的能力和效率。</p><p> 感謝我的指導(dǎo)教師,本論文是在她的悉心指導(dǎo)下完成的。趙老師淵博的知識(shí),嚴(yán)謹(jǐn)?shù)闹?/p>
99、學(xué)態(tài)度和孜孜不倦的工作熱情給我留下了非常深刻的印象。趙老師思維敏銳、經(jīng)驗(yàn)豐富,激勵(lì)我在今后的工作和學(xué)習(xí)中積極上進(jìn)。這份深厚的師生情誼,必將成為難忘的回憶。</p><p> 與此同時(shí),在本次畢業(yè)設(shè)計(jì)中過程中,得到了許多同學(xué)的幫助,借鑒了他們的一些經(jīng)驗(yàn),并且從他們身上學(xué)到了很多東西,尤其在相互的討論和學(xué)習(xí)中,增加了周圍學(xué)習(xí)的氣氛,在這樣的氛圍中學(xué)習(xí)和工作,使我感到非常慶幸。在此對他們表示感謝。</p>
100、<p><b> 附 錄</b></p><p> 附錄1 售貨機(jī)購買實(shí)現(xiàn)的程序代碼:</p><p> //package desktopapplication2;</p><p> /**This class is to control the all activities of customer interfa
101、ce and his action.</p><p> * @author Huang Ying</p><p><b> */</b></p><p> public class VMC_Control {</p><p> Stock stockinfo=new Stock();</p><
102、;p> Cash coinsinfo=new Cash();</p><p> CustomerTransaction cusinfo= new CustomerTransaction(); </p><p> /** This method is to get the product's name from the Stock class.</p&g
103、t;<p><b> *</b></p><p><b> */</b></p><p> public String[] getstockname(){ </p><p> return stockinfo.productName;</p><p><
104、b> }</b></p><p> /** This method is to get the product's price from the Stock class.</p><p><b> *</b></p><p><b> */</b></p><p>
105、 public double[] getstockprice(){ </p><p> return stockinfo.Price;</p><p><b> }</b></p><p> /** This method is to get the product's stock level of each p
106、roducts from the Stock class.</p><p><b> *</b></p><p><b> */</b></p><p> public int[] getstock(){</p><p> return stockinfo.Stock;</p>
107、<p><b> }</b></p><p> /** This method is to get the coins level from the Cash class.</p><p><b> *</b></p><p><b> */</b></p><
108、p> public int[] getcoinsinfo(){</p><p> return coinsinfo.cashLevel;</p><p><b> }</b></p><p> /** This method is to convert the price into pound or penny.</p>
109、;<p> *@param money The double number to storage the money.</p><p> * @return money the double number which is converted.</p><p><b> */</b></p><p> public dou
110、ble money(double money){</p><p> if(money<1.0){</p><p> return money*100;</p><p><b> }</b></p><p> return money;</p><p><b> }<
111、/b></p><p> /** This method is to decorate the pound or the penny.</p><p> *@param price The double array to storage the price.</p><p> * @return p The string array to storag
112、e the decorated stock's price.</p><p><b> */</b></p><p> public String[] decpri(double price[]){</p><p> String[] p=new String[5];</p><p> for(int
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自動(dòng)售貨機(jī)控制系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---自動(dòng)售貨機(jī)控制系統(tǒng)設(shè)計(jì)
- plc自動(dòng)售貨機(jī)控制系統(tǒng)畢業(yè)設(shè)計(jì)
- 基于plc自動(dòng)售貨機(jī)控制系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 自動(dòng)售貨機(jī)畢業(yè)論文--動(dòng)售貨機(jī)plc控制系統(tǒng)背景概述
- 畢業(yè)論文--自動(dòng)售貨機(jī)控制系統(tǒng)的設(shè)計(jì)
- 自動(dòng)售貨機(jī)plc控制系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 自動(dòng)售貨機(jī)plc控制系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 自動(dòng)售貨機(jī)課程設(shè)計(jì)--飲料自動(dòng)售貨機(jī)控制系統(tǒng)設(shè)計(jì)
- 畢業(yè)論文自動(dòng)售貨機(jī)plc控制系統(tǒng)設(shè)計(jì)
- 自動(dòng)售貨機(jī)畢業(yè)設(shè)計(jì)論文
- 自動(dòng)售貨機(jī)plc控制系統(tǒng)設(shè)計(jì)-畢業(yè)論文
- 自動(dòng)售貨機(jī)的plc控制系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 自動(dòng)售貨機(jī)plc控制系統(tǒng)-畢業(yè)論文
- 自動(dòng)售貨機(jī)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于plc的自動(dòng)售貨機(jī)控制系統(tǒng)設(shè)計(jì)
- 自動(dòng)售貨機(jī)plc控制系統(tǒng)設(shè)計(jì)-畢業(yè)論文(doc)
- 【畢業(yè)論文】基于plc自動(dòng)售貨機(jī)控制系統(tǒng)設(shè)計(jì)
- 自動(dòng)售貨機(jī)畢業(yè)設(shè)計(jì)
- 基于plc的自動(dòng)售貨機(jī)控制系統(tǒng)的設(shè)計(jì)(畢業(yè)設(shè)計(jì)論文)
評(píng)論
0/150
提交評(píng)論