最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

安卓計(jì)算機(jī)畢設(shè)——無線點(diǎn)餐系統(tǒng)

2022-12-13 23:59 作者:考研保研直通車  | 我要投稿

1 緒 論

1.1 研究的背景及意義

民以食為天。餐飲業(yè)是一種個(gè)性化、多樣化的服務(wù)產(chǎn)業(yè),餐飲傳統(tǒng)的點(diǎn)菜方式是純?nèi)斯げ僮?,由服?wù)員記錄顧客點(diǎn)的菜,在具體工作中容易出現(xiàn)以下問題:手寫單據(jù)字跡潦草從而導(dǎo)致上錯(cuò)菜、傳菜分單出錯(cuò)現(xiàn)象嚴(yán)重、加菜和查賬程序較繁瑣。處理特殊口味有遺漏和偏差、客人催菜遺忘現(xiàn)象較頻繁、計(jì)算賬單易出錯(cuò)、不方便人員管理等等。

電子商務(wù)則是最能凸顯個(gè)性化、多樣化服務(wù)的商務(wù)方式。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和普及,方便、快捷、個(gè)性化的網(wǎng)上訂餐正在進(jìn)入人們的生活。正因如此,無線點(diǎn)餐模式應(yīng)運(yùn)而生。它不僅可以有效地提高餐飲業(yè)的工作效率,更可以規(guī)范服務(wù)體系,提高整體服務(wù)質(zhì)量和管理水平,并為規(guī)?;?jīng)營提供了堅(jiān)實(shí)的技術(shù)基礎(chǔ)。服務(wù)員使用手持終端為顧客點(diǎn)餐,當(dāng)消費(fèi)者點(diǎn)完餐后,服務(wù)員將存儲(chǔ)在手持終端內(nèi)的點(diǎn)餐信息,點(diǎn)餐信息同時(shí)也能被前臺(tái)看到,方便快捷。

1.2 本文主要內(nèi)容

本文介紹了無線點(diǎn)餐系統(tǒng)的開發(fā)過程。論文詳盡論述了從需求分析、系統(tǒng)分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)以及測試與調(diào)試的整個(gè)開發(fā)過程。首先系統(tǒng)地研究了無線點(diǎn)餐系統(tǒng)的背景和意義,分析了當(dāng)今點(diǎn)餐系統(tǒng)的特點(diǎn)和共性,從而得出設(shè)計(jì)本系統(tǒng)的思路和方法。接著介紹了實(shí)現(xiàn)系統(tǒng)開發(fā)的Android平臺(tái)環(huán)境,數(shù)據(jù)庫用MySQL實(shí)現(xiàn)。同時(shí)簡要介紹了以上工具的功能和方法。

概要設(shè)計(jì)分成后臺(tái)數(shù)據(jù)庫管理操作設(shè)計(jì)和客戶端操作設(shè)計(jì),同時(shí)介紹了數(shù)據(jù)庫的建立和維護(hù)。詳細(xì)設(shè)計(jì)主要闡述了點(diǎn)菜管理、并臺(tái)管理、查臺(tái)管理,轉(zhuǎn)臺(tái)管理,注銷等實(shí)現(xiàn),并給出了系統(tǒng)的部分設(shè)計(jì)代碼。

2 相關(guān)技術(shù)和開發(fā)環(huán)境

2.1 系統(tǒng)架構(gòu)

無線點(diǎn)餐系統(tǒng)主要用到采用模型-視圖–控制器MVC架構(gòu)的設(shè)計(jì)模式。MVC是一個(gè)設(shè)計(jì)模式,它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開。使用MVC應(yīng)用程序被分成三個(gè)核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。M是指數(shù)據(jù)模型,V是指用戶界面,C則是控制器。使用MVC的目的是將M和V的實(shí)現(xiàn)代碼分離,從而使同一個(gè)程序可以使用不同的表現(xiàn)形式。C存在的目的則是確保M和V的同步,一旦M改變,V應(yīng)該同步更新。

  視圖是用戶看到并與之交互的界面。MVC一個(gè)大的好處是它能為你的應(yīng)用程序處理很多不同的視圖。在視圖中其實(shí)沒有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機(jī)存儲(chǔ)的還是一個(gè)雇員列表,作為視圖來講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。

模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在MVC的三個(gè)部件中,模型擁有最多的處理任務(wù)。例如它可能用像EJBs和ColdFusion Components這樣的構(gòu)件對象來處理數(shù)據(jù)庫。被模型返回的數(shù)據(jù)是中立的,就是說模型與數(shù)據(jù)格式無關(guān),這樣一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù)。由于應(yīng)用于模型的代碼只需寫一次就可以被多個(gè)視圖重用,所以減少了代碼的重復(fù)性。

控制器接收用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。所以當(dāng)單擊Web頁面中的超鏈接和發(fā)送HTML表單時(shí),控制器本身不輸出任何東西和做任何處理。它只是接收請求并決定調(diào)用哪個(gè)模型構(gòu)件去處理請求,然后確定用哪個(gè)視圖來顯示模型處理返回的數(shù)據(jù)。

總的來說MVC的處理過程,就是首先控制器接收用戶的請求,并決定應(yīng)該調(diào)用哪個(gè)模型來進(jìn)行處理,然后模型用業(yè)務(wù)邏輯來處理用戶的請求并返回?cái)?shù)據(jù),最后控制器用相應(yīng)的視圖格式化模型返回的數(shù)據(jù),并通過表示層呈現(xiàn)給用戶。

2.2 關(guān)鍵技術(shù)

2.2.1JDBC

JDBC(Java Data Base Connectivity,Java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純 Java API 編寫數(shù)據(jù)庫應(yīng)用程序,同時(shí),JDBC也是個(gè)商標(biāo)名。

有了JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送SQL語句就是一件很容易的事。程序員只需用JDBC API寫一個(gè)程序就夠了,它可向相應(yīng)數(shù)據(jù)庫發(fā)送SQL調(diào)用。同時(shí),將Java語言和JDBC結(jié)合起來使程序員不必為不同的平臺(tái)編寫不同的應(yīng)用程序,只須寫一遍程序就可以讓它在任何平臺(tái)上運(yùn)行,這也是Java語言“編寫一次,處處運(yùn)行”的優(yōu)勢。

Java數(shù)據(jù)庫連接體系結(jié)構(gòu)是用于Java應(yīng)用程序連接數(shù)據(jù)庫的標(biāo)準(zhǔn)方法。JDBC對Java程序員而言是API,對實(shí)現(xiàn)與數(shù)據(jù)庫連接的服務(wù)提供商而言是接口模型。作為API,JDBC為程序開發(fā)提供標(biāo)準(zhǔn)的接口,并為數(shù)據(jù)庫廠商及第三方中間件廠商實(shí)現(xiàn)與數(shù)據(jù)庫的連接提供了標(biāo)準(zhǔn)方法。JDBC使用已有的SQL標(biāo)準(zhǔn)并支持與其它數(shù)據(jù)庫連接標(biāo)準(zhǔn),如ODBC之間的橋接。JDBC實(shí)現(xiàn)了所有這些面向標(biāo)準(zhǔn)的目標(biāo)并且具有簡單、嚴(yán)格類型定義且高性能實(shí)現(xiàn)的接口。

2.2.2Jquery

Jquery是繼prototype之后又一個(gè)優(yōu)秀的Javascrīpt框架,由美國人John Resig創(chuàng)建。它是輕量級的js庫(壓縮后只有21k) ,它兼容CSS3,還兼容各種瀏覽器(IE 6.0+, FF 1.5+,Safari 2.0+,Opera 9.0+)。Jquery使用戶能更方便地處理HTML documents、events、實(shí)現(xiàn)動(dòng)畫效果,并且方便地為網(wǎng)站提供Ajax交互。Jquery還有一個(gè)比較大的優(yōu)勢是,它的文檔說明很全,而且各種應(yīng)用也說得很詳細(xì),同時(shí)還有許多成熟的插件可供選擇。Jquery能夠使用戶的HTML頁保持代碼和HTML內(nèi)容分離,也就是說,不用再在html里面插入一堆js來調(diào)用命令了,只需定義id即可。

2.2.3Ajax

Ajax指異步JavaScript及XML(Asynchronous JavaScript And XML),是一種用于創(chuàng)建更好更快以及交互性更強(qiáng)的Web應(yīng)用程序的技術(shù)。Ajax的核心是JavaScript對象XmlHttpRequest。Ajax在瀏覽器與 Web 服務(wù)器之間使用異步數(shù)據(jù)傳輸(HTTP 請求)。簡而言之,XmlHttpRequest使您可以使用JavaScript向服務(wù)器提出請求并處理響應(yīng),而不阻塞用戶。

通過Ajax,您的JavaScript可使用 JavaScript的XMLHttpRequest對象來直接與服務(wù)器進(jìn)行通信。通過這個(gè)對象,您的 JavaScript可在不重載頁面的情況與Web服務(wù)器交換數(shù)據(jù),這樣就可使網(wǎng)頁從服務(wù)器請求少量的信息。

Web應(yīng)用程序較桌面應(yīng)用程序有諸多優(yōu)勢;它們能夠涉及廣大的用戶,它們更易安裝及維護(hù),也更易開發(fā)。

2.3 開發(fā)環(huán)境及平臺(tái)

2.3.1Eclipse

Eclipse是一個(gè)開放源代碼的、基于Java的可擴(kuò)展開發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,Eclipse附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括Java開發(fā)工具(Java Development Tools,JDT)。Eclipse是著名的跨平臺(tái)的自由集成開發(fā)環(huán)境(IDE)。最初主要用來Java語言開發(fā),但是目前亦有人通過插件使其作為其他計(jì)算機(jī)語言比如C++和Python的開發(fā)工具。Eclipse的本身只是一個(gè)框架平臺(tái),但是眾多插件的支持使得Eclipse擁有其他功能相對固定的IDE軟件很難具有的靈活性。許多軟件開發(fā)商以Eclipse為框架開發(fā)自己的IDE。

  1. Eclipse的主要構(gòu)成
    Eclipse是一個(gè)開放源代碼的軟件開發(fā)項(xiàng)目,專注于為高度集成的工具開發(fā)提供一個(gè)全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺(tái)。它主要由Eclipse項(xiàng)目、Eclipse工具項(xiàng)目和Eclipse技術(shù)項(xiàng)目三個(gè)項(xiàng)目組成,具體包括四個(gè)部分組成——Eclipse Platform、JDT、CDT和PDE.JDT支持Java開發(fā)、CDT支持C開發(fā)、PDE用來支持插件開發(fā),Eclipse Platform則是一個(gè)開放的可擴(kuò)展IDE,提供了一個(gè)通用的開發(fā)平臺(tái)。它提供建造塊和構(gòu)造并運(yùn)行集成軟件開發(fā)工具的基礎(chǔ)。Eclipse Platform允許工具建造者獨(dú)立開發(fā)與他人工具無縫集成的工具從而無須分辨一個(gè)工具功能在哪里結(jié)束,而另一個(gè)工具功能在哪里開始。
    Eclipse SDK(軟件開發(fā)者包)是Eclipse Platform、JDT和PDE所生產(chǎn)的組件合并,它們可以一次下載。這些部分在一起提供了一個(gè)具有豐富特性的開發(fā)環(huán)境,允許開發(fā)者有效地建造可以無縫集成到Eclipse Platform中的工具。Eclipse SDK由Eclipse項(xiàng)目生產(chǎn)的工具和來自其它開放源代碼的第三方軟件組合而成。Eclipse項(xiàng)目生產(chǎn)的軟件以 GPL發(fā)布,第三方組件有各自自身的許可協(xié)議。

  2. Eclipse Android環(huán)境搭建

  3. JDK安裝

  4. 我的電腦->屬性->高級->環(huán)境變量->系統(tǒng)變量中添加以下環(huán)境變量:
    JAVA_HOME值為:安裝JDK的目錄;
    CLASSPATH值為:D:\AndroidDeveloper\android-sdk-windows\tools;

  5. Path:在開始追加%JAVA_HOME%\bin;

  6. NOTE:前面四步設(shè)置環(huán)境變量對搭建Android開發(fā)環(huán)境不是必須的,可以跳過。

安裝完成之后,可以在檢查JDK是否安裝成功。打開cmd窗口,輸入Java –version查看JDK的版本信息。

  1. Eclipse安裝

eclipse.org/downloads/,下載Eclipse IDE for Java Developers(92M)的win 32bit版,Android SDK安裝在Android Developers下載android-sdk_r05

-windows.zip,下載完成后解壓到任意路徑。

  1. 運(yùn)行SDK Setup.exe,點(diǎn)擊Available Packages。如果沒有出現(xiàn)可安裝的包,請點(diǎn)擊Settings,選中Misc中的“Force?...” 這項(xiàng),再點(diǎn)擊Available Packages。

  2. 選擇希望安裝的SDK及其文檔或者其它包,點(diǎn)擊Installation Selected、Accept All、Install Accepted,開始下載安裝所選包。

  3. 在用戶變量中新建PATH值為:Android SDK中的tools絕對路徑(本機(jī)為D:\AndroidDevelop\android-sdk-windows\tools)。

  4. MyEclipse

MyEclipse,是一個(gè)十分優(yōu)秀的用于開發(fā)Java,J2EE的Eclipse插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持十分不錯(cuò)。

MyEclipse企業(yè)級工作平臺(tái)(MyEclipse Enterprise Workbench ,簡稱MyEclipse)是對EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。

在對于畢業(yè)課題的設(shè)計(jì)中,Android終端設(shè)備客戶端是采用Eclipse開發(fā)工具開發(fā)的;而Web版本是采用MyEclipse開發(fā)工具開發(fā)的。

2.3.3Tomcat服務(wù)器

Tomcat很受廣大程序員的喜歡,因?yàn)樗\(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進(jìn)和完善中,任何一個(gè)感興趣的程序員都可以更改它或在其中加入新的功能。

Tomcat 是一個(gè)小型的輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。對于一個(gè)初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache 服務(wù)器,可利用它響應(yīng)對HTML 頁面的訪問請求。實(shí)際上Tomcat 部分是Apache 服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行Tomcat 時(shí),它實(shí)際上作為一個(gè)與Apache獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。

當(dāng)配置正確時(shí),Apache為HTML頁面服務(wù),而Tomcat實(shí)際上運(yùn)行JSP 頁面和Servlet。另外,Tomcat和IIS、Apache等Web服務(wù)器一樣,具有處理HTML頁面的功能,另外它還是一個(gè)Servlet和JSP容器,獨(dú)立的Servlet容器是Tomcat的默認(rèn)模式。不過,Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器。

2.3.4應(yīng)用平臺(tái)Android

Android是基于Linux內(nèi)核的操作系統(tǒng),早期由Google開發(fā),后由開放手機(jī)聯(lián)盟開發(fā)。它采用了軟件堆的架構(gòu),主要分為三部分。底層以Linux內(nèi)核工作為基礎(chǔ),只提供基本功能;其他的應(yīng)用軟件則由各公司自行開發(fā),以Java作為編寫程序的一部分。另外,為了推廣此技術(shù),Google和其它幾十個(gè)手機(jī)公司建立了開放手機(jī)聯(lián)盟。Android在未公開之前常被傳聞為GPhone。

它采用了軟件堆層(software stack,又名軟件疊層)的架構(gòu),主要分為三部分:底層以Linux核心為基礎(chǔ),由c語言開發(fā),只提供基本功能。中間層包括函數(shù)庫Library和虛擬機(jī)Virtual Machine,由C++開發(fā)。最上層是各種應(yīng)用軟件,包括通話程序,短信程序等,應(yīng)用軟件則由各公司自行開發(fā),以Java編寫。

Android平臺(tái)五大優(yōu)勢特色:

  1. 開放性
    在優(yōu)勢方面,Android平臺(tái)首先就是其開放性,開發(fā)的平臺(tái)允許任何移動(dòng)終端廠商加入到Android聯(lián)盟中來。顯著的開放性可以使其擁有更多的開發(fā)者,隨著用戶和應(yīng)用的日益豐富,一個(gè)嶄新的平臺(tái)也將很快走向成熟。
    開放性對于Android的發(fā)展而言,有利于積累人氣,這里的人氣包括消費(fèi)者和廠商,而對于消費(fèi)者來講,最大的受益正是豐富的軟件資源。開放的平臺(tái)也會(huì)帶來更大競爭,如此一來,消費(fèi)者將可以用更低的價(jià)位購得心儀的手機(jī)。

  2. 掙脫運(yùn)營商的束縛
    在過去很長的一段時(shí)間,特別是在歐美地區(qū),手機(jī)應(yīng)用往往受到運(yùn)營商制約,使用什么功能接入什么網(wǎng)絡(luò),幾乎都受到運(yùn)營商的控制。自從iPhone上市,用戶可以更加方便地連接網(wǎng)絡(luò),運(yùn)營商的制約減少。隨著EDGE、HSDPA這些2G至3G移動(dòng)網(wǎng)絡(luò)的逐步過渡和提升,手機(jī)隨意接入網(wǎng)絡(luò)已不是運(yùn)營商口中的笑談。

  3. 豐富的硬件選擇
    這一點(diǎn)還是與Android平臺(tái)的開放性相關(guān),由于Android的開放性,眾多的廠商會(huì)推出千奇百怪,功能特色各具的多種產(chǎn)品。功能上的差異和特色,卻不會(huì)影響到數(shù)據(jù)同步、甚至軟件的兼容。好比你從諾基亞Symbian風(fēng)格手機(jī)一下改用蘋果iPhone,同時(shí)還可將Symbian中優(yōu)秀的軟件帶到iPhone上使用、聯(lián)系人等資料更是可以方便地轉(zhuǎn)移。

  4. 不受任何限制的開發(fā)商
    Android平臺(tái)提供給第三方開發(fā)商一個(gè)十分寬泛、自由的環(huán)境。因此不會(huì)受到各種條條框框的阻撓,可想而知,會(huì)有多少新穎別致的軟件會(huì)誕生。但也有其兩面性,血腥、暴力、情色方面的程序和游戲如何控制正是留給Android難題之一。

  5. 無縫結(jié)合的Google應(yīng)用

如今叱咤互聯(lián)網(wǎng)的Google已經(jīng)走過10年歷史。從搜索巨人到全面的互聯(lián)網(wǎng)滲透,Google服務(wù)如地圖、郵件、搜索等已經(jīng)成為連接用戶和互聯(lián)網(wǎng)的重要紐帶,而Android平臺(tái)手機(jī)將無縫結(jié)合這些優(yōu)秀的Google服務(wù)。

3 訂餐系統(tǒng)分析與設(shè)計(jì)

3.1需求分析

3.1.1系統(tǒng)目標(biāo)和要求

首先,我們得確定使用這個(gè)系統(tǒng)的用戶應(yīng)該有顧客、服務(wù)員、收銀員。顧客和服務(wù)員應(yīng)該是系統(tǒng)數(shù)據(jù)的起點(diǎn),由他們做出相應(yīng)的操作,然后系統(tǒng)進(jìn)行處理;收銀員則為系統(tǒng)數(shù)據(jù)的終點(diǎn)。

該系統(tǒng)在性能功能上應(yīng)達(dá)到如下要求:

  1. 操作簡單、界面友好:完全控件式的頁面布局,使得菜品,資訊,座位等信息的
    錄入工作更簡便,許多選項(xiàng)包括餐廳信息,桌位,包房信息等只需要點(diǎn)擊鼠標(biāo)就可以完成;另外,跟蹤出現(xiàn)的提示信息也讓用戶隨時(shí)清楚自己的操作情況。對常見的類似網(wǎng)站的管理的各個(gè)方面:基本信息錄入、瀏覽、刪除、修改、搜索等方面都大體實(shí)現(xiàn),顧客對菜品的預(yù)定及支付方式;

  2. 即時(shí)可見:對客戶預(yù)定餐飲信息的處理(包括錄入、刪除)將立即在另一應(yīng)用端及服務(wù)器的對應(yīng)欄目顯示出來,達(dá)到“即時(shí)點(diǎn)擊、即時(shí)見效”的功能;

  3. 系統(tǒng)運(yùn)行應(yīng)該快速、穩(wěn)定、高效和可靠;

  4. 在結(jié)構(gòu)上應(yīng)具有很好的可擴(kuò)展性,便于將來的功能擴(kuò)展和維護(hù)。

3.1.2可行性分析

隨著經(jīng)濟(jì)的快速發(fā)展,B2C電子商務(wù)越來越受到人們的。無線訂餐系統(tǒng),已經(jīng)如雨后春筍般的出現(xiàn)在了許多城市的大酒店中。特別在大型餐飲集團(tuán)使用已經(jīng)成為了趨勢。同時(shí),隨著全國人民的精神、物質(zhì)和文化生活高度的提高,人們已經(jīng)不在僅僅停留在吃飽的程度,不但要吃飽,還要吃好,而且對酒店服務(wù)也越來越挑刺,正因?yàn)槿绱藷o線訂餐系統(tǒng)的出現(xiàn),正好滿足了大眾的需要,不僅讓賓客享受到精美可口的美食,更讓他們感受到服務(wù)管理的貼心與完善。無線訂餐業(yè)務(wù)在中國有著極大的發(fā)展空間以及良好的背景。隨著酒店管理的完善,使用這種智能的無線點(diǎn)餐系統(tǒng)必然成為追究卓越的餐飲公司的最愛,也更能夠體現(xiàn)信息技術(shù)發(fā)展之猛烈。

此次畢業(yè)設(shè)計(jì)基于Android平臺(tái)開發(fā)無線訂餐系統(tǒng)。Android平臺(tái)給我們提供了巨大的自由空間,再運(yùn)用Java面向?qū)ο笳Z言,是系統(tǒng)功能更加強(qiáng)大。MySQL 是一個(gè)杰出的數(shù)據(jù)庫平臺(tái),具有功能強(qiáng)大,安全可靠等特點(diǎn),可用于中小型聯(lián)機(jī)事務(wù)處理、數(shù)據(jù)倉庫及電子商務(wù)等。

3.2 訂餐系統(tǒng)概要設(shè)計(jì)

系統(tǒng)的概要設(shè)計(jì)主要對系統(tǒng)的總體功能如何設(shè)計(jì),如何劃分模塊,系統(tǒng)的數(shù)據(jù)庫如何設(shè)計(jì)進(jìn)行研究。它為系統(tǒng)的詳細(xì)設(shè)計(jì)做鋪墊。在系統(tǒng)的設(shè)計(jì)過程中起著非常重要的作用。

3.2.1模塊的劃分

本系統(tǒng)主要分兩部分:

  1. Web點(diǎn)餐系統(tǒng)與后臺(tái)
    Web系統(tǒng)主要是給客戶點(diǎn)菜;客戶只能點(diǎn)菜、拿號(hào)。

  2. 終端設(shè)備與后臺(tái)

終端設(shè)備指的是基于安卓平臺(tái)的一個(gè)設(shè)備。主要給服務(wù)員、收銀員等工作人員使用;能更新菜譜,結(jié)賬,點(diǎn)菜、查看等功能。

3.2.2功能模塊的設(shè)計(jì)

  1. Web點(diǎn)餐系統(tǒng)

  2. 登錄——若沒有用戶賬號(hào),提供注冊

  3. 查看菜單

  4. 查看菜單詳情

  5. 加入購物車(點(diǎn)菜)

  6. 下單(提交預(yù)定菜單)

  7. 拿號(hào)

圖3-1功能描述圖

  1. 終端設(shè)備

終端系統(tǒng)主要有以下幾個(gè)模塊構(gòu)成:結(jié)臺(tái)管理、更新管理等功能。

  1. 點(diǎn)菜——包括開桌、點(diǎn)菜、下單三個(gè)功能

  2. 并臺(tái)——兩桌拼接

  3. 結(jié)臺(tái)——在顧客就餐完畢后,計(jì)費(fèi)付帳而設(shè)定的功能,是客人能夠一目了然,不用擔(dān)心有什么算錯(cuò)的問題。

  4. 查臺(tái)——查看座位情況,哪些是有人,哪些是空位

查臺(tái)

結(jié)臺(tái)

并臺(tái)

圖3-2功能描述圖

3.3 數(shù)據(jù)庫設(shè)計(jì)

3.3.1數(shù)據(jù)庫需求分析

無線點(diǎn)餐系統(tǒng)以酒店服務(wù)信息為主體,因此在這個(gè)系統(tǒng)中必須要有一個(gè)保存菜單信息的表。所以用編號(hào)做主鍵。負(fù)責(zé)登錄終端系統(tǒng)的服務(wù)人員應(yīng)該有保存服務(wù)人員信息的表,這個(gè)表中也是包括一些基本信息。并且以服務(wù)人員的編號(hào)作為主鍵。在一個(gè)點(diǎn)餐系統(tǒng)中,不可避免的要有桌位的編號(hào)。這樣的話就必須有一個(gè)桌號(hào)表,該表保存桌位信息。顧客可以按照自己的喜好,在酒店布置的桌號(hào)中選擇自己喜歡的位置。另外既然是酒店就必須要有一個(gè)訂單表,該表中包括訂單號(hào),點(diǎn)餐時(shí)間,用戶ID,桌號(hào),人數(shù),是否結(jié)賬等基本信息。這樣也就還需要一個(gè)訂單詳細(xì)表用于存儲(chǔ)顧客所點(diǎn)的菜品信息等等。

3.3.2數(shù)據(jù)庫E-R圖設(shè)計(jì)

數(shù)據(jù)庫的概念設(shè)計(jì),即利用數(shù)據(jù)模型進(jìn)行概念數(shù)據(jù)庫的模式設(shè)計(jì)。根據(jù)無線點(diǎn)餐系統(tǒng)的需求,設(shè)計(jì)出以下的實(shí)體-關(guān)系模型(E-R)圖如圖。

ID編號(hào)

描述

標(biāo)識(shí)號(hào)

桌號(hào)

桌位

n

服務(wù)

1

服務(wù)人員

用戶密碼

ID編號(hào)

用戶名稱

圖3-3 實(shí)體聯(lián)系圖

圖3-4 實(shí)體聯(lián)系圖

3.3.3數(shù)據(jù)表設(shè)計(jì)

數(shù)據(jù)庫的邏輯設(shè)計(jì),即把概念設(shè)計(jì)得到的概念數(shù)據(jù)庫模式變?yōu)檫壿嫈?shù)據(jù)模式,它依賴于DBMS。根據(jù)無線點(diǎn)餐系統(tǒng)的需求分析及數(shù)據(jù)庫的概念設(shè)計(jì),建立數(shù)據(jù)庫了wireless_db。

建庫語句:create database wireless_db;

設(shè)計(jì)表結(jié)構(gòu),如下圖所示:

表3.1 用戶信息表(usertbl)

列名數(shù)據(jù)類型是否允許為空說明idint(11)否序號(hào)(主鍵)namevarchar(50)是用戶名passwordvarchar(50)是密碼accountvarchar(50)是登錄名gendervarchar(20)是性別permissionint(11)是權(quán)限(客戶2,用戶1)remarkvarchar(2000)是備注

表3.2 菜單信息表(menutbl)

列名數(shù)據(jù)類型是否允許為空說明idint(11)否序號(hào)(主鍵)priceint(11)是價(jià)格typeIdint(11)是類型namevarchar(50)是菜名picvarchar(1000)是圖片remarkvarchar(2000)是備注

表3.3 訂單信息表(ordertbl)

列名數(shù)據(jù)類型是否允許為空說明idint(11)否序號(hào)(主鍵)orderTimevarchar(100)是下單時(shí)間userIdint(11)是下單人tableIdint(11)是桌號(hào)personNumint(11)是人數(shù)isPayint(11)是是否支付(1已支付)remarkvarchar(2000)是備注

表3.4 訂單信息詳情表(orderdetailtbl)

列名數(shù)據(jù)類型是否允許為空說明idint(11)否序號(hào)(主鍵)orderIdint(11)是訂單IDmenuIdint(11)是菜IDnumint(11)是訂購數(shù)量remarkvarchar(2000)是備注

表3.5 餐桌信息表(tabletbl)

列名數(shù)據(jù)類型是否允許為空說明idint(11)否序號(hào)(主鍵)numint(11)是訂購數(shù)量flagint(11)是標(biāo)識(shí)(1有人0沒人)remarkvarchar(2000)是備注

3.3.4連接數(shù)據(jù)庫實(shí)現(xiàn)

本系統(tǒng)采用Java語言編寫,使用jdbc連接MySQL數(shù)據(jù)庫,所以要用到Java中的connection對象和MySQL驅(qū)動(dòng)連接到數(shù)據(jù)庫。數(shù)據(jù)庫配置文件如下所示。

driver=com.mysql.jdbc.Driver

url=jdbc:mysql://localhost:3306/wireless_db?useUnicode=true&characterEncoding=utf-8

username=root

password=123

只有成功連接到了數(shù)據(jù)庫才能進(jìn)行其他操作,否則就無法開展以下的設(shè)計(jì)與實(shí)現(xiàn)工作了。可見,連接數(shù)據(jù)庫是一個(gè)很關(guān)鍵的步驟。

4 訂餐系統(tǒng)實(shí)現(xiàn)

4.1安卓平臺(tái)系統(tǒng)實(shí)現(xiàn)

4.1.1功能描述

主菜單界面包含點(diǎn)菜管理、并臺(tái)管理、轉(zhuǎn)臺(tái)管理、查臺(tái)管理、結(jié)臺(tái)管理、注銷等幾個(gè)功能模塊。每個(gè)功能模塊提供一種服務(wù),包含一組功能操作,界面簡單明了方便服務(wù)人員操作。

4.1.2界面展示

登錄界面主要是由服務(wù)人員來操作的,所以要簡單明了易操作。利用數(shù)據(jù)庫對用戶信息進(jìn)行核對,核對正確后利用界面跳轉(zhuǎn)到主菜單界面。服務(wù)人員的賬號(hào)密碼是提前在服務(wù)器數(shù)據(jù)庫中設(shè)置的,每個(gè)服務(wù)人員都有自己單獨(dú)的唯一的一個(gè)賬號(hào)密碼用來登錄,這樣可以責(zé)任到人,不至于出現(xiàn)混亂,否則出現(xiàn)錯(cuò)誤都不知道是哪個(gè)環(huán)節(jié)的問題。

圖4-1 登錄截圖

輸入數(shù)據(jù)的驗(yàn)證:

安卓計(jì)算機(jī)畢設(shè)——無線點(diǎn)餐系統(tǒng)

圖4-2 登錄數(shù)據(jù)驗(yàn)證

登錄失?。?/p>

安卓計(jì)算機(jī)畢設(shè)——無線點(diǎn)餐系統(tǒng)

圖4-3 登錄失敗

登陸成功之后進(jìn)入主菜單:

安卓計(jì)算機(jī)畢設(shè)——無線點(diǎn)餐系統(tǒng)

圖4-圖4-4 主界面

點(diǎn)擊點(diǎn)菜:

開桌:若當(dāng)前桌號(hào)是開過桌的,開桌按鈕將會(huì)不可用,并且人數(shù)自動(dòng)為上次開過桌之后的人數(shù),這一步是通過桌號(hào)來從數(shù)據(jù)庫中判斷桌子的標(biāo)示(1表示開桌,0表示沒有開桌)實(shí)現(xiàn)的,可以修改。

安卓計(jì)算機(jī)畢設(shè)——無線點(diǎn)餐系統(tǒng)

圖4-5 開桌

2號(hào)桌已經(jīng)被開過桌,所以開桌按鈕變成不可用。

安卓計(jì)算機(jī)畢設(shè)——無線點(diǎn)餐系統(tǒng)

圖4-6 開桌驗(yàn)證

添菜:所有的菜單信息都是從數(shù)據(jù)庫中取出的,與web版本向客戶提供的信息保持一致。

安卓計(jì)算機(jī)畢設(shè)——無線點(diǎn)餐系統(tǒng)

圖4-7 點(diǎn)餐

點(diǎn)擊下拉列表選擇菜名:如圖

安卓計(jì)算機(jī)畢設(shè)——無線點(diǎn)餐系統(tǒng)

圖4-8 選擇菜單

安卓計(jì)算機(jī)畢設(shè)——無線點(diǎn)餐系統(tǒng)

圖4-9 填寫人數(shù)

點(diǎn)擊下單直接下單,下單成功后,屏幕下方會(huì)提示桌號(hào)(如圖)。下單即向數(shù)據(jù)庫的訂單詳情表插入數(shù)據(jù),插入客戶定的菜號(hào)、桌號(hào)、備注信息等。

安卓計(jì)算機(jī)畢設(shè)——無線點(diǎn)餐系統(tǒng)

圖4-10 下單成功

點(diǎn)擊轉(zhuǎn)臺(tái):

安卓計(jì)算機(jī)畢設(shè)——無線點(diǎn)餐系統(tǒng)

圖4-11 換桌位

換臺(tái)成功后有提示(如圖),轉(zhuǎn)臺(tái)對于數(shù)據(jù)庫的操作,就是將原來訂單號(hào)的中的桌號(hào)編程就該之后的桌號(hào)。

安卓計(jì)算機(jī)畢設(shè)——無線點(diǎn)餐系統(tǒng)

圖4-12 換座位成功

查臺(tái):

安卓計(jì)算機(jī)畢設(shè)——無線點(diǎn)餐系統(tǒng)

圖4-12 查臺(tái)

并臺(tái):所謂并臺(tái),就是兩桌人并成一桌,對于數(shù)據(jù)庫所做的操作有:先把被并的目標(biāo)桌號(hào)的狀態(tài)修改為空位,再把訂單上的桌號(hào)修改為并臺(tái)后的桌號(hào)即可。并臺(tái)必須針對的是已經(jīng)開過桌的桌子。

安卓計(jì)算機(jī)畢設(shè)——無線點(diǎn)餐系統(tǒng)

圖4-13 并臺(tái)

并臺(tái)選擇桌號(hào):查出來的都是開過桌的桌號(hào)。

安卓計(jì)算機(jī)畢設(shè)——無線點(diǎn)餐系統(tǒng)

圖4-14選擇桌號(hào)

結(jié)賬這一功能,就是從點(diǎn)餐詳情表中取出,訂單號(hào)為1的所有訂單信息,并且再跟據(jù)菜號(hào),將菜肴的價(jià)格取出,相加得到總價(jià)格顯示出來。結(jié)賬成功后,將數(shù)據(jù)庫中訂單表中的isPay字段的狀態(tài)改成已支付。(0表示未支付,1表示已支付)

安卓計(jì)算機(jī)畢設(shè)——無線點(diǎn)餐系統(tǒng)

圖4-15 結(jié)算界面

注銷:

安卓計(jì)算機(jī)畢設(shè)——無線點(diǎn)餐系統(tǒng)

圖4-16 注銷

4.1.3關(guān)鍵代碼

以下是點(diǎn)菜功能的關(guān)鍵代碼:

// 添菜監(jiān)聽器

private OnClickListener addListener = new OnClickListener() {

@Override

public void onClick(View v) {

// 調(diào)用點(diǎn)菜方法

addMeal();

}

};

//添菜方法

private void addMeal() {

// 獲得LayoutInflater實(shí)例

LayoutInflater inflater = LayoutInflater.from(this);

// 實(shí)例化在彈出對話框中添加的視圖

final View v = inflater.inflate(R.layout.order_detail, null);

// 獲得視圖中的Spinner對象,菜單下拉列表

final Spinner menuSpinner = (Spinner) v.findViewById(R.id.menuSpinner);

// 獲得視圖中的EditText對象,數(shù)量

EditText numEt = (EditText) v.findViewById(R.id.numEditText);

// 獲得視圖中的EditText實(shí)例,備注

EditText remarkEt = (EditText) v.findViewById(R.id.add_remarkEditText);

String url = HttpUtil.BASE_URL +”/servlet/MenuServlet”;

String result = HttpUtil.queryStringForGet(url);

try {

JSONArray tables = new JSONArray(result);

List<JSONObject> lists = new ArrayList<JSONObject>();

for(int i=0;i<tables.length();i++)

{

lists.add(tables.getJSONObject(i));

}

JsonArrayAdapter adapter = new JsonArrayAdapter(this, R.layout.spinner_lo, lists, new String[]{“id”,”name”,”price”},new int[] {

R.id.id_TextView01, R.id.price_TextView02,

R.id.name_TextView03, });

menuSpinner.setAdapter(adapter);

} catch (JSONException e) {

// TODO Auto-generated catch block

Log.e(“amaker”, “轉(zhuǎn)換數(shù)據(jù)出錯(cuò)”);

}

// 獲得AlertDialog.Builder實(shí)例

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder

// 設(shè)置標(biāo)題

.setMessage(“請點(diǎn)菜:”)

// 設(shè)置自定義視圖

.setView(v)

// 設(shè)置確定按鈕

.setPositiveButton(“確定”, new DialogInterface.OnClickListener() {

// 確定按鈕事件

public void onClick(DialogInterface dialog, int id) {

// 獲得ListView中的自定義視圖LinearLayout

LinearLayout v1 = (LinearLayout) menuSpinner

.getSelectedView();

// 獲得TextView,菜編號(hào)

TextView id_tv = (TextView) v1

.findViewById(R.id.id_TextView01);

// 獲得TextView,菜價(jià)格

TextView price_tv = (TextView) v1

.findViewById(R.id.name_TextView03);

// 獲得TextView,菜名稱

TextView name_tv = (TextView) v1

.findViewById(R.id.price_TextView02);

// 獲得EditText,菜數(shù)量

EditText num_et = (EditText) v

.findViewById(R.id.numEditText);

// 獲得EditText,菜備注

EditText remark_et = (EditText) v

.findViewById(R.id.add_remarkEditText);

// 菜編號(hào)值

String idStr = id_tv.getText().toString();

// 菜價(jià)格值

String priceStr = price_tv.getText().toString();

// 菜名稱值

String nameStr = name_tv.getText().toString();

// 菜數(shù)量值

String numStr = num_et.getText().toString();

// 菜備注值

String remarkStr = remark_et.getText().toString();

// 封裝到Map中

map = new HashMap();

map.put(“id”, idStr);

map.put(“name”, nameStr);

map.put(“num”, numStr);

map.put(“price”,priceStr);

map.put(“remark”, remarkStr);

// 添加到ListView

data.add(map);

// 關(guān)聯(lián)的TextView

to[0] = R.id.id_ListView;

to[1] = R.id.name_ListView;

to[2] = R.id.num_ListView;

to[3] = R.id.price_ListView;

to[4] = R.id.remark_ListView;

// 實(shí)例化SimpleAdapter

sa = new SimpleAdapter(OrderActivity.this, data,

R.layout.listview, from, to);

// 為ListView綁定數(shù)據(jù)

lv.setAdapter(sa);

}

}).setNegativeButton(“取消”, null);

AlertDialog alert = builder.create();

alert.show();

}

4.1.4服務(wù)器端的實(shí)現(xiàn)

服務(wù)器端功能

主控計(jì)算機(jī)處理各無線終端發(fā)送過來的數(shù)據(jù)信息并進(jìn)行處理、加工(必要的情況下還進(jìn)行信息回饋)以及發(fā)送,從而進(jìn)行控制、結(jié)算、統(tǒng)計(jì)、結(jié)賬打印以及管理等一系列職能操作。

服務(wù)端主要是數(shù)據(jù)庫操作,針對無線終端各模塊而設(shè)置響應(yīng)相應(yīng)功能的服務(wù)器小程序。主要的Servlet(如圖顯示)。

圖4-17 服務(wù)器功能圖

4.2 網(wǎng)頁系統(tǒng)實(shí)現(xiàn)

4.2.1界面展示

訂餐系統(tǒng)主界面展示了所有的菜品,聽過客戶查看選擇,并可以加入購入車,準(zhǔn)備下單訂餐。

圖4-18 菜品展示

點(diǎn)擊詳情,進(jìn)入菜單詳情頁面:

圖4-19 菜品詳情

點(diǎn)擊訂購:若當(dāng)前用戶沒有登錄,則會(huì)跳出登錄的頁面,只有登錄之后的用戶才能訂購,否則只允許查看。跳入登錄頁面:

圖4-20 登錄界面

若登錄不符合要求,也會(huì)有相應(yīng)的驗(yàn)證信息:如圖

圖4-21 登錄驗(yàn)證

若用戶登錄成功后訂購,出現(xiàn)購物車界面:

圖4-22 購物車

進(jìn)入購物車界面后,客戶可以選擇繼續(xù)購物或者下單,若選擇繼續(xù)購物,則跳出主頁,菜單頁面,若生成訂單,則跳入訂單信息確認(rèn)頁面:如圖

圖4-23 訂單確認(rèn)

若客戶沒有訂購任何菜肴,則不能提交訂單,提示如下圖:

圖4-24 訂單提交驗(yàn)證

4.2.2關(guān)鍵代碼

  1. 登錄功能
    以下是登錄功能的關(guān)鍵代碼:
    login.jsp頁面:
    <script type=”text/javascript”>
    function checkName(){
    var userName = document.loginForm.loginName.value;
    //獲得用戶層對象:
    var uDiv = document.getElementById(“userNameDiv”);
    if(userName.length == 0){
    uDiv.innerHTML =”<font size=’3′ color = ‘red’> 用戶名不能為空!</font>”;
    return false; //函數(shù)有返回值
    }
    uDiv.innerHTML = “”;
    return true;
    }
    function checkPwd(){
    var userPwd= document.loginForm.loginPass.value;
    var pDiv = document.getElementById(“passwordDiv”);
    if(userPwd.length == 0){
    pDiv.innerHTML =”<font size=’3′ color = ‘red’> 密碼不能為空!</font>”;
    return false; //函數(shù)有返回值
    }
    pDiv.innerHTML = “”;
    return true;
    }
    //jquey中的方法,當(dāng)頁面一加載的時(shí)候就執(zhí)行方法
    $(document).ready(
    function(){
    //當(dāng)?shù)卿洶粹o點(diǎn)擊時(shí),觸發(fā)方法
    $(“#loginBT”).click(
    function(){
    var username=$(“#loginName”).val();
    var pwd=$(“#loginPass”).val();
    //利用ajax去后臺(tái)判斷,用戶輸入的用戶是否可以登錄
    $.ajax(
    {
    url:”${base}/LoginServlet”,
    type:”post”,
    data:”username=”+username+”&pwd=”+pwd,
    dataType:”json”,
    success:successInfo
    }
    );
    }
    );
    });
    //ajax的回調(diào)函數(shù),接受后臺(tái)判斷過后傳過來的結(jié)果
    function successInfo(json){
    var error=json.errorMsg;//tipDiv
    if(error!=null){
    //后臺(tái)若判斷登錄失敗,前臺(tái)提示信息
    $(“#tipsDiv”).show();
    }else{
    window.location.href = “show.jsp”;
    }
    }
    </script>

  2. 點(diǎn)菜功能

以下是點(diǎn)菜進(jìn)入購物車功能的關(guān)鍵代碼:

<jsp:useBean id=”caritems” class=”shopping.ShoppingCar” scope=”session”></jsp:useBean>

<%

String id = request.getParameter(“menuId”);

if (id != null && !(id.equals(“”))) {

MenutblDaoImpl imp = new MenutblDaoImpl();

Menutbl menu1 = imp.findById(Integer.parseInt(id));

caritems.addItem(Integer.parseInt(id), menu1);

session.setAttribute(“caritems”, caritems);

}

%>

<%

if (size > 0) {

Collection<CarItemBean> cols = caritems.getItems().values();

for (CarItemBean item : cols) {

Menutbl menu = item.getMenu();

%>

<%

}

} else {

%>

<tr bgcolor=”#ffffff”>

<td colspan=”5″>

您沒有訂購任何菜肴或者已經(jīng)訂購已經(jīng)提交~

</td>

</tr>

<%

}

%>

<tr bgcolor=”#dadada”>

<td width=”50″ height=”22″ align=”center”>

<font color=”#000000″>合計(jì)</font>

</td>

<td height=”22″ align=”center”>

<font color=”#000000″>-</font>

</td>

<td width=”104″ height=”22″ align=”center”>

<font color=”#000000″>-</font>

</td>

<td width=”100″ class=”hh” height=”22″ align=”center”>

<font color=”#000000″>-</font>

</td>

<td width=”116″ class=”bb” align=”center” height=”22″>

<font color=”#000000″>¥<%=caritems.getTotalPrice()%></font>

</td>

</tr>

結(jié) 論

經(jīng)過近幾個(gè)月的代碼及論文書寫,畢業(yè)設(shè)計(jì)也隨之進(jìn)入收尾階段,無限點(diǎn)餐系統(tǒng)的基本功能也逐個(gè)完成。

在這次畢業(yè)設(shè)計(jì)中,通過學(xué)習(xí)與思考并實(shí)踐,使本人對Google Android開發(fā)及Java等相關(guān)的技術(shù)初步了解,同時(shí),由于本人做的是一套無線點(diǎn)餐系統(tǒng),從起初資料的查詢,讓本人在有限的時(shí)間內(nèi)豐富了對無線開發(fā)的認(rèn)知,積累了理論上的知識(shí)。需求分析,可行性分析,再到后來的Java配置環(huán)境,書寫代碼及其調(diào)試,讓本人作為一個(gè)用戶對該類系統(tǒng)的需求和軟件運(yùn)行的環(huán)境有了一定了解。將之前學(xué)過的數(shù)據(jù)庫知識(shí)跟Java技術(shù)結(jié)合在一起,理論聯(lián)系實(shí)際,在實(shí)踐中鍛煉了本人分析處理問題的能力并激發(fā)了這方面的興趣。

這次畢業(yè)設(shè)計(jì)的過程中,還讓本人鞏固了并加深了對軟件工程這門學(xué)科的認(rèn)識(shí),尤其讓本人在使用工程流程的各個(gè)階段有了進(jìn)一步的了解,并相對獨(dú)立地完成各個(gè)階段的任務(wù)。通過這次設(shè)計(jì)還讓我明白了需求分析和總體設(shè)計(jì)是系統(tǒng)真正開發(fā)的關(guān)鍵,它規(guī)劃出系統(tǒng)的大致模塊和業(yè)務(wù)接口,流程轉(zhuǎn)換以及模塊之間的關(guān)系。如果總體設(shè)計(jì)規(guī)劃不科學(xué),將會(huì)導(dǎo)致之后的詳細(xì)設(shè)計(jì)工作出現(xiàn)冗余,目標(biāo)不明確甚至失去方向。雖然在開發(fā)過程中受水平和時(shí)間所限,在設(shè)計(jì)中還有些欠缺或考慮不周全的地方,但這次畢業(yè)設(shè)計(jì)的經(jīng)歷將對本人今后的學(xué)習(xí)和工作產(chǎn)生重大意義。

致 謝

畢業(yè)論文暫告收尾,這也意味著我在南京理工大學(xué)紫金學(xué)院的學(xué)習(xí)生活既將結(jié)束。在這四年的時(shí)間里,我在學(xué)習(xí)上和思想上都受益非淺。這除了自身努力外,與各位老師、同學(xué)和朋友的關(guān)心、支持和鼓勵(lì)是分不開的.

非常感謝紫金和網(wǎng)博的指導(dǎo)我畢業(yè)設(shè)計(jì)的老師。各位老師在我大學(xué)的最后學(xué)習(xí)階段——畢業(yè)設(shè)計(jì)階段給自己的指導(dǎo),從最初的定題,到資料收集,到寫作、修改,到論文定稿,她們給了我耐心的指導(dǎo)和無私的幫助。為了指導(dǎo)我們的畢業(yè)論文,她們放棄了自己的休息時(shí)間,她們的這種無私奉獻(xiàn)的敬業(yè)精神令人欽佩,在此我向她們表示我誠摯的謝意。同時(shí),感謝所有任課老師和所有同學(xué)在這四年來給自己的指導(dǎo)和幫助,是他們教會(huì)了我專業(yè)知識(shí),教會(huì)了我如何學(xué)習(xí),教會(huì)了我如何做人。正是由于他們,我才能在各方面取得顯著的進(jìn)步,在此向他們表示我由衷的謝意,并祝老師們培養(yǎng)出越來越多的優(yōu)秀人才,桃李滿天下!

在本論文的寫作過程中,要特別感謝我的導(dǎo)師叢玉華,叢玉華老師傾注了大量的心血,從選題到開題報(bào)告,從寫作提綱,到一遍又一遍地指出每稿中的具體問題,嚴(yán)格把關(guān),循循善誘,在此我表示衷心感謝。

參 考 文 獻(xiàn)

[1] 郭宏志.Android應(yīng)用開發(fā)詳解[M].北京:電子工業(yè)出版社,2010.

[2] 楊文志.Android程序設(shè)計(jì)指南[M].北京:電子工業(yè)出版社,2009.

[3] 吳亞峰.Android核心技術(shù)與實(shí)例詳解[M].北京:電子工業(yè)出版社,2010.

[4] 思志學(xué).J2EE整合詳解與典型案例[M].北京:電子工業(yè)出版社,2008.

[5] 靳巖,姚尚朗.Android開發(fā)入門與實(shí)戰(zhàn)[M].北京:人民郵電出版社,2009.

[6] 張利國.Android移動(dòng)開發(fā)入門與進(jìn)階[M].北京:人民郵電出版社,2009.

[7] ??藸?Java編程思想[M].北京:機(jī)械工業(yè)出版社,2007.

[8] 梁超著.J2me應(yīng)用程序開發(fā)[M].北京:清華大學(xué)出版社,2004.

[9] 池瑞楠,仵博,張立涓.J2ME無線開發(fā)實(shí)訓(xùn)教程[M].北京:清華大學(xué)出版社,2007.

[10] 林闖單,志廣任.計(jì)算機(jī)網(wǎng)絡(luò)的服務(wù)質(zhì)量[M].北京:清華大學(xué)出版社,2004.

[11] 馬國生.MySQL初級教程[M].北京:北京電子工業(yè)出版社,2011.

[12] 方愛華.MySQL的優(yōu)化[M].南京:東南大學(xué)出版社,2008.

[13] 李飛.Java的線程[M].重慶:重慶大學(xué)出版社,2008.

[14] 張孝祥.struts[M].北京:電子工業(yè)出版社,2011.

[15] Merlin.spring的起點(diǎn)[M].北京:機(jī)械工業(yè)出版社,2004.


安卓計(jì)算機(jī)畢設(shè)——無線點(diǎn)餐系統(tǒng)的評論 (共 條)

分享到微博請遵守國家法律
双牌县| 夏河县| 常山县| 天镇县| 无棣县| 南川市| 濮阳市| 白水县| 恩施市| 龙山县| 新营市| 自贡市| 光泽县| 定州市| 穆棱市| 阿拉善盟| 德化县| 故城县| 宣化县| 长海县| 柳林县| 昌黎县| 大同县| 抚松县| 福贡县| 视频| 波密县| 赤峰市| 榆林市| 安远县| 西和县| 苍南县| 田阳县| 休宁县| 陆良县| 赞皇县| 梁河县| 林口县| 绥阳县| 吐鲁番市| 建德市|