自動(dòng)售貨機(jī)控制系統(tǒng)畢業(yè)設(shè)計(jì)論文.doc
《自動(dòng)售貨機(jī)控制系統(tǒng)畢業(yè)設(shè)計(jì)論文.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《自動(dòng)售貨機(jī)控制系統(tǒng)畢業(yè)設(shè)計(jì)論文.doc(41頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、摘 要隨著經(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)方式吸引了眾多客戶。并且,針對(duì)地球暖化,新型自動(dòng)售貨機(jī)的開發(fā)致力于能源的節(jié)省。本論文涉及到自動(dòng)化、節(jié)能和計(jì)算機(jī)軟件的開發(fā),該軟件可以更加方便的應(yīng)用在自動(dòng)售貨機(jī)中。本文對(duì)用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)
2、實(shí)施一些新的特點(diǎn)時(shí),對(duì)現(xiàn)有代碼的影響較小。關(guān)鍵詞:自動(dòng)售貨機(jī);Java設(shè)計(jì)模式;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 自動(dòng)售貨機(jī)產(chǎn)業(yè)的現(xiàn)狀11.3 本論文主要研究的內(nèi)容2第2章 Java語言介紹32.1 Java語言的特點(diǎn)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設(shè)置環(huán)境變量124.3 本章小結(jié)15第5章 系統(tǒng)軟件設(shè)計(jì)165.1 總體設(shè)計(jì)165.2 系統(tǒng)詳細(xì)設(shè)計(jì)與性能分析165.3 系統(tǒng)實(shí)現(xiàn)185.4 本章小結(jié)27結(jié) 論28參考文獻(xiàn)29致 謝30附 錄
7、3137第1章 概 述1.1 研究的背景和意義自動(dòng)售貨機(jī)是一種全新的商業(yè)零售形式。20世紀(jì)70年代自日本和歐美發(fā)展起來。它又被稱為24小時(shí)營業(yè)的微型超市。在日本,70%的罐裝飲料是通過自動(dòng)售貨機(jī)售出的;全球著名飲料商可口可樂公司在全世界就布有50萬臺(tái)飲料自動(dòng)售貨機(jī)1。在中國,售貨機(jī)從1999年開始進(jìn)入中國市場。如今,在機(jī)場、地鐵、商場、公園等客流量較大的場所也不難發(fā)現(xiàn)自動(dòng)售貨機(jī)的身影。從自動(dòng)售貨機(jī)的發(fā)展趨勢(shì)來看,它的出現(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)新的流通渠道;而相對(duì)的超市、百貨購物中心等新的流通渠道的產(chǎn)生,人工費(fèi)用
8、也不短上升;再加上場地的局限性以及購物的便利性等因素的制約,無人自動(dòng)售貨機(jī)作為一種必須的機(jī)器便應(yīng)運(yùn)而生了。自動(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ī)解放了人力,方便了生活,創(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ī)是非常必要的。1.2 自動(dòng)售貨機(jī)產(chǎn)業(yè)的現(xiàn)狀首先,
9、我們來看一下發(fā)達(dá)國家的現(xiàn)狀。日本:各種自動(dòng)售貨機(jī)保有量超過600萬臺(tái),平均20人一臺(tái),世界普及率第一。1990 年通過自動(dòng)售貨機(jī)實(shí)現(xiàn)的銷售額已達(dá)到5兆日元(約3000億人民幣)。美國:總的機(jī)器保有量大致和日本相當(dāng),2000年通過自動(dòng)售貨機(jī)實(shí)現(xiàn)的銷售額達(dá)到250億美元,其中OCS(Office Coffee Service)的銷售額排第六位。 韓國: 自動(dòng)售貨機(jī)的使用歷史要遠(yuǎn)短于其它發(fā)達(dá)國家,僅有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)
10、售貨機(jī)和復(fù)合型自動(dòng)售貨機(jī)(同機(jī)銷售瓶罐飲料和熱咖啡)都僅占8.6%,并列第四位。下面,我們來看一下我國的現(xiàn)狀2。自動(dòng)售貨機(jī)在我國的安放和使用,也已經(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)并批量投放市場。相對(duì)于日本、美國等發(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)的戈德移動(dòng)商務(wù)公司、澳珂瑪集
11、團(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ā)展,豐富了中國的商業(yè)產(chǎn)業(yè)結(jié)構(gòu),開創(chuàng)了一個(gè)全新的自動(dòng)銷售和自助服務(wù)的時(shí)代3。1.3 本論文主要研究的內(nèi)容本論文主要研究用Java語言進(jìn)行自動(dòng)售貨機(jī)控制系統(tǒng)軟件部分的設(shè)計(jì),即自動(dòng)售貨機(jī)的主控制系統(tǒng)。
12、可以實(shí)現(xiàn)硬幣識(shí)別,幣值累加,自動(dòng)售貨,自動(dòng)找零的功能。該設(shè)計(jì)提高了自動(dòng)售貨機(jī)的可靠性和執(zhí)行效率,且系統(tǒng)維護(hù)容易,維修簡單,有一定的市場推廣價(jià)值。本論文的主要研究工作如下:第1章 ,概述。簡要介紹了本次畢業(yè)設(shè)計(jì)的背景,闡述了自動(dòng)售貨機(jī)的產(chǎn)業(yè)現(xiàn)狀,介紹研究本課題的目的、意義和內(nèi)容。第2章 ,Java語言介紹。主要介紹了Java語言的特點(diǎn)及其發(fā)展歷程。第三章,系統(tǒng)環(huán)境概述。介紹了本設(shè)計(jì)的硬件系統(tǒng)環(huán)境及其軟件系統(tǒng)環(huán)境。 第四章,環(huán)境搭建的介紹。主要講解如何運(yùn)行Java程序。第五章,利用Java語言進(jìn)行詳細(xì)設(shè)計(jì)。包括總體結(jié)構(gòu)設(shè)計(jì)與性能分析,主要操作的流程圖,具體詳細(xì)設(shè)計(jì)以及功能實(shí)現(xiàn)。并介紹了本設(shè)計(jì)的兩個(gè)
13、創(chuàng)新點(diǎn)。最后是總結(jié),對(duì)本次的研究工作作出總結(jié),闡明研究出的一些規(guī)律,說明了本次工作的重難點(diǎn)。第2章 Java語言介紹2.1 Java語言的特點(diǎn)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)境有所變化就需要對(duì)軟件進(jìn)行一番改動(dòng),耗時(shí)費(fèi)力,而Java編寫的軟件能在執(zhí)行碼上兼容。這樣,只要計(jì)算機(jī)提供了Java解釋器,Java編寫的軟件就能在其上運(yùn)行4。自從1946年世界上第一臺(tái)電子計(jì)算機(jī)問世以來,計(jì)算模式的發(fā)展經(jīng)歷了三個(gè)階段:
14、集中計(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ù)則是解決這一問題的最佳途徑。Java語言具有以下特點(diǎn):1、Java語言是簡單的。Java語言的語法與C語言和C+語言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用Java。另一方面,Java丟棄了C+中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動(dòng)的強(qiáng)制類型轉(zhuǎn)換。特別地,Java語言不使用指針,并提供了自動(dòng)的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂。2、Java
15、語言是一個(gè)面向?qū)ο蟮?。Java語言提供類、接口和繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實(shí)現(xiàn)機(jī)制。Java語言全面支持動(dòng)態(tài)綁定,而C+語言只對(duì)虛函數(shù)使用動(dòng)態(tài)綁定??傊琂ava語言是一個(gè)純的面向?qū)ο蟪绦蛟O(shè)計(jì)語言。3、Java語言是分布式的。Java語言支持Internet應(yīng)用的開發(fā),在基本的Java應(yīng)用編程接口中有一個(gè)網(wǎng)絡(luò)應(yīng)用編程接口,它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI機(jī)制也是開發(fā)分布式應(yīng)用的重要手段。4、Java語言是健壯的。Java的強(qiáng)類型機(jī)制
16、、異常處理、廢料的自動(dòng)收集等是Java程序健壯性的重要保證。對(duì)指針的丟棄是Java的明智選擇。Java的安全檢查機(jī)制使得Java更具健壯性。5、Java語言是安全的。Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一個(gè)安全機(jī)制以防惡意代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對(duì)通過網(wǎng)絡(luò)下載的類具有一個(gè)安全防范機(jī)制,如分配不同的名字空間以防替代本地的同名類、字節(jié)代碼檢查,并提供安全管理機(jī)制讓Java應(yīng)用設(shè)置安全哨兵。 6、Java語言是體系結(jié)構(gòu)中立的。Java程序在Java平臺(tái)上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式,然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行。這種途徑適合于異
17、構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。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)的。8、Java語言是解釋型的。如前所述,Java程序在Java平臺(tái)上被編譯為字節(jié)碼格式,然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行。在運(yùn)行時(shí),Java平臺(tái)中的Java解釋器對(duì)這些字節(jié)碼進(jìn)行解釋執(zhí)行,執(zhí)行過程中需要的類在聯(lián)接階段被載入到運(yùn)行環(huán)境中。9、Java是高性能的。與那些解釋型的高級(jí)腳本語言相比,Java的確是高性能的。事實(shí)上,Java的運(yùn)行
18、速度隨著JIT(Just-In-Time)編譯器技術(shù)的發(fā)展越來越接近于C+。 10、Java語言是多線程的。在Java中,線程是一種特殊的對(duì)象,它必須由Thread類或其子類來創(chuàng)建。通常有兩種方法來創(chuàng)建線程:其一,使用型構(gòu)為Thread(Runnable)的構(gòu)造子將一個(gè)實(shí)現(xiàn)了Runnable接口的對(duì)象包裝成一個(gè)線程,其二,從Thread類派生出子類并重寫run方法,使用該子類創(chuàng)建的對(duì)象,即為線程。Thread類已經(jīng)實(shí)現(xiàn)了Runnable接口,因此,任何線程均有它的run方法,而run方法中包含了線程要運(yùn)行的代碼。線程的活動(dòng)由一組方法來控制。Java語言支持多個(gè)線程的同時(shí)執(zhí)行,并提供多線程之間的
19、同步機(jī)制。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。 2.2 Java的發(fā)展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ā)展趨勢(shì)的最好場所,又是推動(dòng)下一年J
20、ava快速發(fā)展的重要?jiǎng)恿?。首屆Java One大會(huì)于1996年召開,各屆簡況如下: 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í)淖兇诵乔虻纳罘绞健薄?997年,第二屆,出席會(huì)議者10000人。Java的追隨者不斷增加,應(yīng)用開發(fā)迅速起步。1998年3月24-27日,第三屆,出席會(huì)議者14000余人,注冊(cè)門票售價(jià)1195美元,否則1395美元,即使如此,仍有不少人不惜工本
21、,擠入會(huì)場。本次會(huì)議除了軟件巨頭微軟未參加會(huì)議外,幾乎所有的計(jì)算機(jī)公司都參加了。展廳內(nèi)設(shè)300多個(gè)展臺(tái),先后舉行了90場專題討論會(huì),每場參加的人數(shù)從千人至五六千人不等。會(huì)議的主題是:通過Java的培訓(xùn)來帶動(dòng)Java軟件的開發(fā)和技術(shù)研究,從而發(fā)展生產(chǎn)力,獲取高額利潤,提高生活質(zhì)量,推動(dòng)信息產(chǎn)業(yè)的進(jìn)步。會(huì)議展出的內(nèi)容大致如下:Java開發(fā)工具軟件,如:JMF、JDK、Symantec Visual Cafe、Java Dynamic Management Kit、JFC、JNDI、Java Studio等; 企業(yè)信息管理解決方案軟件,如:EJB; 基于Java技術(shù)的信息家電,如:機(jī)頂盒、Java電
22、話等; 個(gè)人信息綜合服務(wù)、社會(huì)信息綜合查詢亭; 電子商務(wù)軟件、智能卡、Java Card API 等; 網(wǎng)絡(luò)計(jì)算環(huán)境下的Java服務(wù)器軟件、遠(yuǎn)程方法調(diào)用、基于Java技術(shù)的移動(dòng)計(jì)算設(shè)備; JMS用于出版、票據(jù)訂閱的軟件; JOS、基于Java技術(shù)的NC和Java Station。 隨著Internet的飛速發(fā)展,企業(yè)計(jì)算模式正摒棄C/S結(jié)構(gòu)而采用Web-Browser結(jié)構(gòu),此即瘦客戶端/胖服務(wù)器、大容量數(shù)據(jù)庫的3層或N層體系結(jié)構(gòu)。由于Java的特點(diǎn),使得它在開發(fā)服務(wù)器端的應(yīng)用程序方面有著得天獨(dú)厚的優(yōu)勢(shì),面向服務(wù)器端的J2EE為當(dāng)今逐漸流行的N層體系結(jié)構(gòu)提供了一個(gè)標(biāo)準(zhǔn)的Java計(jì)算平臺(tái):界面一致
23、、工具簡易、豐富、Web頁面互聯(lián)便捷,從而能大大加速和簡化各種應(yīng)用系統(tǒng)的開發(fā)。Java語言的出現(xiàn)和發(fā)展,得到了IT業(yè)界的青睞,它像一面大旗,凝聚了世界眾多的廠商與Sun公司一道,結(jié)成了對(duì)抗微軟壟斷的聯(lián)盟。許多知名廠商紛紛購買Java許可證,目前已有90多萬個(gè)軟件開發(fā)商加入了Java陣營,1億個(gè)Java最終用戶,幾千種Java應(yīng)用軟件產(chǎn)品,1500余種Java書籍。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ā)J
24、ava應(yīng)用運(yùn)行的最佳平臺(tái);Novell則宣稱“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)同盟。 在中國,Java的開發(fā)可以說是“人才濟(jì)濟(jì),成果累累”。如清華大學(xué)王克宏教授帶領(lǐng)的課題組面向全國,自96年開始舉辦了多期Java培訓(xùn)班和講座,開設(shè)了數(shù)期本科生、研究生Java課程,出版了“Java系列叢書”10余冊(cè),承擔(dān)了國家“九五”攻關(guān)項(xiàng)目“基于Jav
25、a技術(shù)的交互式遠(yuǎn)程教學(xué)系統(tǒng)”,并與日本就Java開發(fā)進(jìn)行了國際合作,成績斐然;東大阿派下屬的寶鋼東軟軟件技術(shù)研究中心是國內(nèi)是首屈一指的Java研發(fā)骨干企業(yè),該中心從95年起就開始了Java的研發(fā),目前,已掌握了Personal Java的核心移植技術(shù),并成功地將JVM移植到汽車導(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)室”;在香港,舉行了
26、全島Java杯比賽,掀起了學(xué)習(xí)Java的熱潮。Java的浪潮洶涌澎湃,席卷全球。Java發(fā)展至今日,已不僅僅是一種編程語言,實(shí)際上已形成了一門技術(shù)。其內(nèi)容包括:1、Java軟件包Java語言及其編程技術(shù)、JavaOS、Java開發(fā)環(huán)境與工具、Java語言的各種軟件包、數(shù)據(jù)庫接口JDBC等。2、Java虛擬機(jī)及其規(guī)范3、Java嵌入技術(shù)1999年8月2日,Sun公司宣布名為MAJC的專門為Java語言設(shè)計(jì)的的芯片優(yōu)化研制成功,欲與Intel試比高低。該芯片在設(shè)計(jì)時(shí)采用了模塊式高性能計(jì)算引擎,實(shí)質(zhì)為一種芯片級(jí)并行處理機(jī),能以更有效的方式分解計(jì)算任務(wù),特別適合處理多媒體數(shù)據(jù)。Sun公司希望通過MAJ
27、C芯片的發(fā)布催生出一個(gè)基于Java語言的微處理器家族,與Intel公司競爭。設(shè)想中的Java處理器將應(yīng)用在從低價(jià)消費(fèi)電子產(chǎn)品到高端因特網(wǎng)服務(wù)器領(lǐng)域。4、Java計(jì)算基于Java技術(shù)的企業(yè)Internet/Intranet信息系統(tǒng)以及其他應(yīng)用系統(tǒng)。5、Jini技術(shù)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ò)
28、更易于操縱、易于管理,具有更高的可配置性。Jini將使網(wǎng)絡(luò)具有自發(fā)性,它的出現(xiàn)大大擴(kuò)展了“計(jì)算”和“計(jì)算機(jī)”的含義,極大地簡化了網(wǎng)絡(luò)操作,對(duì)家庭用戶來說,使用網(wǎng)上設(shè)備即插即用,就像使用電話一樣方便。Java和Jini不僅可以不依賴于Windows為代表的操作系統(tǒng),而且引導(dǎo)著信息產(chǎn)業(yè)的潮流,使Sun公司能在未來的、非PC類電子產(chǎn)品的數(shù)字化市場中強(qiáng)占制高點(diǎn)。6、Jiro平臺(tái)異質(zhì)網(wǎng)絡(luò)環(huán)境中安裝的存儲(chǔ)系統(tǒng)的多樣性和分布性,給存儲(chǔ)管理帶來了巨大的挑戰(zhàn)。用戶和開發(fā)人員都希望能有一種技術(shù),能更好地促進(jìn)企業(yè)存儲(chǔ)管理方案的開發(fā)。而Jiro平臺(tái)正是解決此問題的革命性方案。Jiro平臺(tái)實(shí)現(xiàn)了Java和Jini技術(shù),
29、它是一個(gè)便于用戶管理異質(zhì)網(wǎng)絡(luò)上由各種服務(wù)器、存儲(chǔ)和設(shè)備組成的混合環(huán)境的開放式存儲(chǔ)管理平臺(tái)。它對(duì)操作系統(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é)同工作。Jiro平臺(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)更新。 1999年7月,Sun發(fā)布了正式的Jiro規(guī)范草案,供公眾討論、修改。目前,Jiro平臺(tái)的團(tuán)體成員已超過25家,支持Jiro平臺(tái)的廠商超過300家。有眼光的廠
30、商紛紛加入到這些組行列,從而加快了Jiro的發(fā)展6。2.3本章小結(jié)本章介紹了Java語言。從Java語言的特點(diǎn)及其Java語言的發(fā)展歷程進(jìn)行介紹。第3章 開發(fā)環(huán)境概述3.1 系統(tǒng)硬件環(huán)境概述自動(dòng)售貨機(jī)是集光、機(jī)、電一體化的獨(dú)立機(jī)構(gòu),它只需要顧客投幣和按鍵購物選擇即可自動(dòng)售貨及退錢找零,其工作程序如下圖所示:顧客投幣選擇商品取出商品取出余幣機(jī)器自動(dòng)計(jì)數(shù)機(jī)器送出選定商品 機(jī)器將余幣送出 圖3-1 自動(dòng)售貨機(jī)工作時(shí)序圖自動(dòng)售貨機(jī)的工作原理是:首先,從投幣口送入貨幣,然后通過傳感器采集數(shù)據(jù)、識(shí)別器判斷貨幣的真?zhèn)尾⑴袆e面值。然后,識(shí)別器把信息數(shù)據(jù)傳送給通信模塊。通信模塊與售貨機(jī)的主控制系統(tǒng)通信,主控系統(tǒng)
31、顯示面值,啟動(dòng)售貨機(jī)的面板鍵,顯示出哪個(gè)貨道有貨,哪個(gè)貨道已經(jīng)售完,并等待顧客選擇商品。顧客選擇商品后,售貨機(jī)自動(dòng)把商品送出,等待顧客取走。在交易過程中,如果金額足夠多,顧客可以將找回的零錢取回,完成交易;如果款額不足,則不能進(jìn)行交易。下面結(jié)合圖3-2對(duì)本自動(dòng)售貨機(jī)做進(jìn)一步描述:如圖3-2示,這種具備商品信息和健康建議功能的自動(dòng)售貨機(jī)包括機(jī)身1、商品收容室2、貨物傳送裝置、中央處理器,機(jī)身1上有商品取出口3、貨幣投入口4,商品收容器、貨物傳送裝置、中央處理器均設(shè)置在機(jī)身內(nèi),從貨幣投入口4投入貨幣后,如需找零,剩余的貨幣從退幣口5退出,購買的商品從商品取出口3傳送出來;機(jī)身1上還設(shè)置有商品健康信
32、息觸摸顯示器6,商品健康信息觸摸顯示器6連接中央處理器,中央處理器連接商品健康信息存儲(chǔ)器。商品健康信息觸摸顯示器6設(shè)置在貨幣投入口4的上面。圖3-2 自動(dòng)售貨機(jī)圖3-3是自動(dòng)售貨機(jī)的硬件原理圖,如圖所示,人們?cè)谕ㄟ^觸摸的方式操作商品健康信息觸摸顯示器6后,商品健康信息觸摸顯示器6會(huì)將此信息傳送給中央處理器,中央處理器從商品健康信息存儲(chǔ)器中查找到相關(guān)信息后,從商品健康信息觸摸顯示器6顯示出來,供人們查閱。 主控制系統(tǒng)DTU/DEI 接口MDB接口擴(kuò)展存儲(chǔ)器實(shí)時(shí)時(shí)鐘人機(jī)模塊電機(jī)陣列驅(qū)動(dòng)接口信號(hào)檢測串行通信 并行總線 I/O口貨幣識(shí)別器制冷控制板觸摸顯示器貨物傳送裝置圖3-3 硬件原理圖 綜上所述,
33、自動(dòng)售貨機(jī)控制系統(tǒng)可以分為三部分組成,即自動(dòng)售貨機(jī)的主控制系統(tǒng)、通訊系統(tǒng)、硬幣及紙幣識(shí)別系統(tǒng)。其中主控制系統(tǒng)是本設(shè)計(jì)的研究重點(diǎn)。下面將著重介紹。3.2 系統(tǒng)軟件環(huán)境概述本設(shè)計(jì)是利用Java語言設(shè)計(jì)的,下面將分別介紹本系統(tǒng)的運(yùn)行平臺(tái)及運(yùn)行環(huán)境。目前Java運(yùn)行平臺(tái)主要分為下列3個(gè)版本。1、 J2SE:稱為Java標(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程序。2、 J2EE:稱為Java企業(yè)版或Java企業(yè)平臺(tái)。使用J2EE可以構(gòu)建企業(yè)級(jí)的服務(wù)器應(yīng)用程序,J
34、2EE平臺(tái)包含了J2SE平臺(tái),并增加了附加類庫,以便支持目錄管理、交易管理和企業(yè)級(jí)消息處理等功能。3、 J2ME:稱為Java微型版或Java小型平臺(tái)。J2ME是一種很小的Java運(yùn)行環(huán)境,用于嵌入式的消費(fèi)產(chǎn)品中,如移動(dòng)電話、掌上電腦或其它無線設(shè)備等。本系統(tǒng)的運(yùn)行平臺(tái)是J2SE。同時(shí),本系統(tǒng)的運(yùn)行環(huán)境是Java7。Java7具有以下特性:首先,Java7采用了模塊的劃分方式來提速,一些不是必須的模塊并沒有下載和安裝,因此在使用全新的Java7的虛擬機(jī)的時(shí)候會(huì)發(fā)現(xiàn)真的很快,當(dāng)虛擬機(jī)需要用到某些功能的時(shí)候,再下載和啟用相應(yīng)的模塊,這樣使得最初需要下載的虛擬機(jī)大小得到了有效的控制。同時(shí)對(duì)啟動(dòng)速度也有
35、了很大的改善。其次是多語言支持,Java7的虛擬機(jī)對(duì)多種動(dòng)態(tài)程序語言增加了支持,比如:Rubby、Python等等。對(duì)這些動(dòng)態(tài)語言的支持極大地?cái)U(kuò)展了Java虛擬機(jī)的能力。第三是開發(fā)者的開發(fā)效率得到了改善,Java7通過多種特性來增強(qiáng)開發(fā)效率。通過注解增強(qiáng)程序的靜態(tài)檢查。提供了一些新的API用于文件系統(tǒng)的訪問、異步的輸入輸出操作、Socket通道的配置與綁定、多點(diǎn)數(shù)據(jù)包的傳送等等。最后是執(zhí)行效率的提高,Java7壓縮了64位的對(duì)象指針,通過對(duì)對(duì)象指針由64位壓縮到與32位指針相匹配的技術(shù)使得內(nèi)存和內(nèi)存帶塊的消耗得到了很大的降低因而提高了執(zhí)行效率。此外還提供了新的垃圾回收機(jī)制(G1)來降低垃圾回收
36、的負(fù)載和增強(qiáng)垃圾回收的效果。G1垃圾回收機(jī)制擁有更低的暫停率和更好的可預(yù)測性。3.3系統(tǒng)開發(fā)環(huán)境及其開發(fā)工具開發(fā)環(huán)境:JDK 開發(fā)工具:Myeclipse3.4 本章小結(jié)本章主要介紹了本次設(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ā)工具的介紹。第4章 環(huán)境搭建4.1安裝JDK1、打開“http/ 系統(tǒng)屬性2、選擇“高級(jí)”選項(xiàng),如圖4-2所示,并單擊“環(huán)境變量”按鈕,彈出“環(huán)境變量”對(duì)話框,如圖4-3所示。圖4-2“高級(jí)”界面圖4-3 “環(huán)境變量”對(duì)話框3、在“系統(tǒng)變量”對(duì)話框里找到變量名“Path”,并選
37、出,再單擊“編輯”按鈕進(jìn)入“編輯系統(tǒng)變量”對(duì)話框,如圖4-4所示。圖4-4 “編輯系統(tǒng)變量”對(duì)話框4、在所有的變量值前面輸入“C:Program FilesJavajdk1.7.0_21”,注意有分號(hào),路徑根據(jù)情況進(jìn)行設(shè)置。5、在“系統(tǒng)變量”對(duì)話框里點(diǎn)擊“新建”按鈕,彈出“新建系統(tǒng)變量”對(duì)話框,如圖4-5所示。圖4-5 “新建系統(tǒng)變量”對(duì)話框6、設(shè)置變量名為“CLASSPATH”,變量值為“.;%JAVA_HOME%lib;%JAVA_HOME%libtools.jar”,路徑根據(jù)情況進(jìn)行設(shè)置,如圖4-6所示。圖4-6 填入新值配置完成后,需要測試是否配置正確。下面給出了詳細(xì)的測試步驟,按照這
38、個(gè)步驟操作可以很輕松地完成測試。1、單擊“開始”按鈕,在彈出的開始菜單中再單擊“運(yùn)行”菜單項(xiàng),將出“運(yùn)行”對(duì)話框。在“運(yùn)行”對(duì)話框里輸入“cmd”,并單擊“確定”按鈕,如圖4-7所示。圖4-7 “運(yùn)行”對(duì)話框2、在命令提示符窗口里輸入“javac”和“java”,觀察是否出現(xiàn)javac或java的用法提示,如圖4-8所示。圖4-8 配置正確的環(huán)境變量信息4.3 本章小結(jié)本章詳細(xì)的介紹了Java運(yùn)行環(huán)境的安裝過程,包括安裝JDK以及如何設(shè)置環(huán)境變量。正確的設(shè)置環(huán)境變量是整個(gè)程序能否運(yùn)行的關(guān)鍵。第5章 系統(tǒng)軟件設(shè)計(jì)5.1總體設(shè)計(jì)只要的使用者有兩類人,一類是顧客,另一類是管理員。如下圖所示,在顧客操
39、作模式下,顧客可以利用前觸屏,投幣口,以及分配渠道三個(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。顧客前觸摸屏投幣口分配通道管理員內(nèi)部顯示屏內(nèi)部鍵盤和鼠標(biāo)控制系統(tǒng)信息數(shù)據(jù)庫圖5-1 總體設(shè)計(jì)框圖5.2 系統(tǒng)詳細(xì)設(shè)計(jì)與性能分析1. 獲取庫存當(dāng)顧客選擇一個(gè)商品時(shí),該商品信息會(huì)通過機(jī)器控制模塊發(fā)送到商品識(shí)別模塊,從而獲取商品的庫存信息。如果庫存充足,機(jī)器控制模塊會(huì)給操作模塊發(fā)送一個(gè)消息,并將界面改成付款界面。流程圖如圖5-2所示。操作模塊機(jī)器控制模塊商品識(shí)別模塊
40、所選商品所選商品反饋庫存更改界面 圖5-2庫存獲取流程圖 2. 密碼驗(yàn)證 操作 模塊 機(jī)器控制 模塊模塊 管理員 賬戶模塊 輸入 密碼 傳送 密碼 反饋 信息 更改 模式圖5-3 密碼驗(yàn)證流程圖 如圖5-3所示,管理員進(jìn)入操作模式時(shí),需要輸入密碼。操作模塊將輸入的密碼發(fā)送到機(jī)器控制模塊,再傳送到管理員賬戶模塊。通過核對(duì)密碼,將信息反饋到機(jī)器控制模塊,機(jī)器控制模塊判斷輸入的密碼是否正確。在機(jī)器可以判斷輸入的密碼是否正確之前,機(jī)器的內(nèi)部需要存儲(chǔ)一個(gè)密碼。因此,一旦輸入的密碼錯(cuò)誤,系統(tǒng)將會(huì)提示警告信息,并阻止接下來的操作,更改到服務(wù)模式下10。3. 記錄更改設(shè)置如圖5-4所示,管理員可以通過操作模式
41、進(jìn)行更改,如添加新的商品、更改庫存、更改商品價(jià)格等。更改的信息將傳送到機(jī)器控制模塊,將更改的信息發(fā)送到機(jī)器中。機(jī)器收到更改信息后,生成信息的具體的實(shí)體值,并將信息發(fā)送到存儲(chǔ)模塊,進(jìn)行存儲(chǔ)記錄。 操作模塊 機(jī)器控制模塊 存儲(chǔ)模塊 更改 存儲(chǔ)圖5-4 信息更改流程圖4. 數(shù)據(jù)存儲(chǔ) 如圖5-5所示,如果系統(tǒng)中出現(xiàn)修改,將會(huì)出現(xiàn)提示窗口。如果確定修改,系統(tǒng)將重新存儲(chǔ)數(shù)據(jù)。機(jī)器控制模塊對(duì)信息生成新的文件,并存儲(chǔ)數(shù)據(jù),最終發(fā)送到文件系統(tǒng)中,生成新的文件。如果數(shù)據(jù)錯(cuò)誤,將重新復(fù)位。機(jī)器控制模塊文件系統(tǒng)復(fù)位設(shè)置新的數(shù)值存儲(chǔ)圖5-5 數(shù)值存儲(chǔ)流程圖 5. 硬幣計(jì)數(shù)變化如圖5-6所示,如果管理員利用操作模塊對(duì)硬幣
42、的庫存,以及各類硬幣的現(xiàn)有值進(jìn)行更改,機(jī)器控制模塊將信息發(fā)送到硬幣模塊,硬幣模塊根據(jù)更改信息進(jìn)行整合,然后把當(dāng)前庫存顯示出來。操作模塊機(jī)器控制模塊硬幣模塊傳遞參數(shù)參數(shù)圖5-6 計(jì)數(shù)變化流程圖 5.3 系統(tǒng)實(shí)現(xiàn)5.3.1顧客購買操作實(shí)現(xiàn) 當(dāng)打開該軟件時(shí),進(jìn)入購物模式,出現(xiàn)如圖5-7所示界面。在這一界面我們能夠看到商品提示的購買建議。圖5-7 用戶購買界面購買界面中出現(xiàn)五種商品,并且有每種商品對(duì)應(yīng)的名稱及價(jià)格,還有當(dāng)?shù)夭僮鲿r(shí)間。以下以購買可口可樂為例。點(diǎn)擊可口可樂下面的“購買”按鈕,出現(xiàn)圖5-8界面。該界面會(huì)出現(xiàn)提示信息,提示顧客選擇的商品是“可樂”。顧客通過“+1”“+5”“+10”選擇購買可樂
43、的數(shù)量。選擇完畢后,點(diǎn)擊“確認(rèn)”。若想刪除之前的選擇,點(diǎn)擊“刪除”,若想返回上一頁重新選擇,點(diǎn)擊“返回”。圖5-8 購買可樂(1)以選擇一瓶為例,選擇完畢后,出現(xiàn)圖5-9界面。提示用戶選擇了一瓶可樂,總金額3元。點(diǎn)擊“付款”投入貨幣。圖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) 當(dāng)投入的金額大于等于商品要求金額,則可繼續(xù)進(jìn)行購買,點(diǎn)擊“確認(rèn)”。出現(xiàn)如圖5-12界面。這一界面,用于信息確
44、認(rèn),顯示顧客購買的商品及商品數(shù)量,投入的硬幣總額以及需要退還的零錢。如果想取消購買,則點(diǎn)擊“取消”。圖5-12 可樂購買(5)確認(rèn)信息無誤后,點(diǎn)擊“確認(rèn)”,出現(xiàn)5-13界面。該界面用于提示顧客應(yīng)該獲得的零錢多少。圖5-13 可樂購買(6) 點(diǎn)擊“完成”,完成交易。出現(xiàn)5-14界面。如果顧客需要打印發(fā)票,則可以點(diǎn)擊“打印發(fā)票”進(jìn)行發(fā)票打?。蝗绮恍枰?jiǎng)t可以點(diǎn)擊“退出”。圖5-14 可樂購買(7)5.3.2管理員操作實(shí)現(xiàn)如果想進(jìn)入到管理員模式,則可以點(diǎn)擊圖5-7中的“更換模式”進(jìn)行更改操作模式11,12。點(diǎn)擊后,出現(xiàn)如圖5-15界面。該界面提示管理員需要輸入密碼,才可以進(jìn)行操作。該程序設(shè)置的初始密碼
45、為“1234”。圖5-15 管理員輸入密碼輸入密碼后,進(jìn)入操作員操作模式,如圖5-16。在這一界面中,我們可以看到出售的產(chǎn)品以及商品的庫存。初始設(shè)置每種飲品的庫存為20瓶,由于之前的演示中,多次購買了可樂,所以可樂的當(dāng)前庫存為15瓶。同時(shí),在這一界面中,我們可以看到管理員可以進(jìn)行如下操作:增加一款新商品、雇主復(fù)位、設(shè)置現(xiàn)金水平、更改密碼、設(shè)置庫存水平、更改價(jià)格。接下來,我們對(duì)各個(gè)功能進(jìn)行一一演示。圖5-16管理員操作(1)當(dāng)管理員需要增加新的商品時(shí),點(diǎn)擊“增加一款新產(chǎn)品”。出現(xiàn)如圖5-17界面。管理員可以填寫商品的名稱、價(jià)格以及庫存。點(diǎn)擊“保存修改”,完成商品添加。圖5-17管理員操作(2)點(diǎn)
46、擊“雇主重置”,出現(xiàn)5-18提示界面。如果確認(rèn)復(fù)位,點(diǎn)擊“是”,否則點(diǎn)擊“否”。圖5-18管理員操作(3)想要更改售貨機(jī)中現(xiàn)金時(shí),點(diǎn)擊“設(shè)置現(xiàn)金水平”,出現(xiàn)5-19界面。該界面顯示了當(dāng)前售貨機(jī)中各類硬幣的數(shù)量13。圖5-19管理員操作(4)如果管理員想要更改密碼,點(diǎn)擊“更改密碼”,出現(xiàn)如圖5-20所示界面。管理需要先輸入原密碼,然后才能更改密碼。圖5-20 管理員操作(5)如果想要設(shè)置庫存,則點(diǎn)擊“設(shè)置庫存水平”,出現(xiàn)5-21界面。圖5-21 管理員操作(6)點(diǎn)擊“更改價(jià)格”,出現(xiàn)5-22界面,管理員可以進(jìn)行商品價(jià)格的更改。圖5-22 管理員操作(7)在管理員操作這一部分,管理員可以通過我編寫
47、的程序,看到哪種商品銷量最好。這是本設(shè)計(jì)的另一個(gè)創(chuàng)新點(diǎn)。如圖5-23所示。指出了哪種商品銷量最好。由于之前我們演示,都以可樂為例,所以可樂的銷量最好。圖5-23 購買情況統(tǒng)計(jì)文檔5.4 本章小結(jié)本章主要介紹本次畢業(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)新之處。結(jié) 論計(jì)算機(jī)的出現(xiàn),使科技文明的發(fā)展跨入到了一個(gè)新的時(shí)代,計(jì)算機(jī)軟件的應(yīng)用,使人們的工作效率成倍提高。人們從復(fù)雜、繁重的工作中解脫出
48、來,擁有了更加舒適、快捷、方便的工作方式和更多的自由時(shí)間。本次畢業(yè)設(shè)計(jì)的多功能自動(dòng)售貨機(jī)控制系統(tǒng)方便快捷,操作簡單,大大提高了運(yùn)行速度,節(jié)省了運(yùn)行時(shí)間。本次畢業(yè)設(shè)計(jì)完成了自動(dòng)售貨機(jī)的硬幣識(shí)別、幣值累加、自動(dòng)售貨、自動(dòng)找零的功能。通過編寫這個(gè)程序,使我將學(xué)習(xí)的Java語言融會(huì)貫通,提高了我使用編寫程序的能力。同時(shí)作為Java語言的初學(xué)者,我還有很多技術(shù)方面的知識(shí)掌握的不夠全面,這個(gè)程序的功能也不是十分的完善,因此我將在今后繼續(xù)學(xué)習(xí),提高Java語言的編程能力,不斷地完善自動(dòng)售貨機(jī)的程序,為操作者提供更加方便的使用體驗(yàn)。本次設(shè)計(jì)的自動(dòng)售貨機(jī)控制系統(tǒng)可以實(shí)現(xiàn)購買統(tǒng)計(jì)分析,并且能夠?qū)徺I者提出合理化的
49、購買建議。并且已經(jīng)獲得了相關(guān)的專利。參考文獻(xiàn)1 李代萬,李金平,孫亮亮.人民幣識(shí)別器與自動(dòng)售貨機(jī)通信的設(shè)計(jì)與實(shí)現(xiàn)J.北方交通大學(xué)學(xué)報(bào),2002,26(6):80-82.2 許瀚文,王仲嫻,李梓豪.淺談國內(nèi)自動(dòng)售貨機(jī)的發(fā)展J.中國科技博覽, 2012(22):267.3 余世明,晁岳磊,繆仁將.自動(dòng)售貨機(jī)研究現(xiàn)狀及展望J.中國工程科學(xué).2008(07).4 李衛(wèi)華. Java語言課程雙語教學(xué)探索J.廣東工業(yè)大學(xué)學(xué)報(bào),2008, (3):15-22.5 張紅旭.淺談Java的發(fā)展及特點(diǎn)M.硅谷出版社,2010.6 王子君,范學(xué)峰,張志浩.Java編碼問題研究與應(yīng)用J.計(jì)算機(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 張建龍.自動(dòng)售貨機(jī)節(jié)能設(shè)計(jì)與實(shí)現(xiàn)J.機(jī)電工程2010(4).10 鄭大宇,張立惠,秦芳.網(wǎng)絡(luò)自動(dòng)售貨機(jī)數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)J.哈爾濱商業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),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 曹利紅,葉楊.自動(dòng)售貨機(jī)的實(shí)時(shí)監(jiān)控設(shè)計(jì)與實(shí)現(xiàn)J.北京工商大學(xué)學(xué)報(bào)(自然科學(xué)版),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è)設(shè)計(jì)設(shè)計(jì)中,我深切體會(huì)到無論理論知識(shí)再好,都需要用實(shí)踐去檢驗(yàn),實(shí)踐是理論運(yùn)用的最好的檢驗(yàn)工具。本次設(shè)計(jì)是對(duì)我四年所學(xué)知識(shí)的一次綜合性檢測和考驗(yàn),無論是動(dòng)手能力還是理論知識(shí)運(yùn)用能力都得到了提高,同時(shí)加深了我對(duì)網(wǎng)絡(luò)資源的認(rèn)識(shí),大大提高了查閱資料的能力和效率。感謝我的指導(dǎo)教師,本論文是在她的悉心指導(dǎo)下完成的。趙老師淵博的知識(shí),嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和孜孜不倦的工作熱情給我留下了非常深刻的印象。趙老師思維敏銳、經(jīng)驗(yàn)豐富,激勵(lì)我在今后的工作和學(xué)習(xí)中積極上進(jìn)。這份深厚的師生情誼,必將成為難忘的回憶。與此同時(shí),在本
53、次畢業(yè)設(shè)計(jì)中過程中,得到了許多同學(xué)的幫助,借鑒了他們的一些經(jīng)驗(yàn),并且從他們身上學(xué)到了很多東西,尤其在相互的討論和學(xué)習(xí)中,增加了周圍學(xué)習(xí)的氣氛,在這樣的氛圍中學(xué)習(xí)和工作,使我感到非常慶幸。在此對(duì)他們表示感謝。附 錄附錄1 售貨機(jī)購買實(shí)現(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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識(shí)競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案