版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
]。圖2.1Android體系結構圖
第三章界面設計3.1開始界面設計移動終端是使用者最直接接觸的東西,包括是否能夠讓客戶很輕松、方便的使用,操作響應時間、主機連接時間、圖片綜合質(zhì)量、首頁布局質(zhì)量、首頁信息類型等。界面主要由下面幾個因素構成:(1)文字:文字負責傳達信息元素的主體部分。文字作為占據(jù)頁面的主要信息元素和信息內(nèi)容的簡概說明要醒目易讀、編排合理。(2)圖形:圖形在界面中具有重要作用。合理的運用圖形,可以生動直觀、形象地表現(xiàn)設計主題。Android平臺支持的圖形格式包括jpg和gif,這兩種格式壓縮比高,有利于數(shù)據(jù)傳輸。(3)界面版式:版式是界面設計的重要組成部分,將它與文字、圖形等視覺素有機組合,能使頁面整體視覺效果美觀和諧,達到信息傳遞的最佳效果。3.2主菜單界面設計3.2.1功能描述主菜單界面包含點餐管理、并臺管理、轉(zhuǎn)臺管理、查臺管理、結臺管理、更新管理、注銷、設置等八個功能模塊。每個功能模塊提供一種服務,包含一組功能操作,界面簡單明了方便服務人員操作。3.2.2登錄界面的設計登錄界面主要是由服務人員來操作的,所以要簡單明了易操作。通過數(shù)據(jù)庫對用戶信息進行審核。如圖3.1圖3.1用戶登錄圖3.2.3功能實現(xiàn)及關鍵代碼控制用戶登錄由一個Activity負責,當輸入賬號與密碼時,系統(tǒng)先判斷用戶賬號密碼是否為空,為空則跳出一個對話框給用戶提示;如果不為空則再從EditView中取的賬號密碼與服務器中的賬號密碼進行匹配,如果匹配成功則利用Intent語句跳轉(zhuǎn)到下一個主菜單界面。實現(xiàn)登錄主要代碼及分析:3.3點菜界面設計點餐模塊主要是對餐廳點餐功能及相關服務的集成,主要包括用戶點餐、點餐修改、服務狀態(tài)查看等相關功能。主要功能的使用人員為一般客戶,用戶通過手機客戶端將點餐信息通過無線網(wǎng)絡上傳至服務器端,服務器端接收用戶的點餐信息同時將點餐成功或失敗的相關狀態(tài)反饋給用戶,實現(xiàn)點餐的基本功能。同時,由于該模塊是一般對外用戶最常使用的系統(tǒng)功能,在需求分析時也考慮到該模塊應具備較為友好的系統(tǒng)交互界面,最大程度的方便用戶點餐,在用戶感受到系統(tǒng)便捷的同時做到成本較低但卻非常有效的提高企業(yè)服務質(zhì)量的方式。3.4更新界面設計3.4.1功能描述此功能按鍵用于保持服務器和客服端的數(shù)據(jù)一致性。3.4.2界面設計如圖3.2:圖3.2更新圖3.4.3功能實現(xiàn)及關鍵代碼我們通過調(diào)用updateMenu()和updateTable()這兩個方法來實現(xiàn)這一功能。兩個方法各負責一個表。主要代碼如下:3.5結賬與注銷界面設計3.5.1功能描述結賬界面:點擊結賬按鈕以后會跳轉(zhuǎn)到下一個界面用來總計消費金額及詳細款項,一目了然,方便顧客查賬。注銷界面:在服務人員準備下班后,服務人員即可點擊注銷按鈕,退出本次登錄。3.5.2界面設計圖3.3結賬圖圖3.4注銷圖3.5.3功能實現(xiàn)及關鍵代碼結賬實現(xiàn)的主要代碼:從服務器獲得訂單編號,顯示總計消費金額,再點擊結算按鈕以后,通過payBtn.setEnabled(false)方法就會是結算按鈕失效,不能再次點擊生效,這也是為了是否結算更加明了,不易讓顧客和酒店服務員出現(xiàn)多次結賬的錯誤。也是人性化設計的一方面。調(diào)用Intent來使頁面進行跳轉(zhuǎn)到登錄界面。3.6服務器端的實現(xiàn)服務器端功能主控計算機處理各無線終端發(fā)送過來的數(shù)據(jù)信息并進行處理、加工(必要的情況下還進行信息回饋)以及發(fā)送,從而進行控制、結算、統(tǒng)計、結賬打印以及管理等一系列職能操作。服務端主要是數(shù)據(jù)庫操作,針對無線終端各模塊而設置響應相應功能的服務器小程序。主要包括:響應登錄的Servlet、響應訂單的Servlet、響應開桌的Servlet、響應并臺的Servlet、響應轉(zhuǎn)臺的Servlet、響應查臺的Servlet、響應更新桌號的Servlet、響應更新菜譜的Servlet、響應結算的Servlet、響應訂單信息的Servlet等。當操作員點結賬的時候另一個Servlet啟動,其作用就是講該訂單的標志位修改,并且將該桌子的狀態(tài)設置成沒人,其實就是根據(jù)訂單號查詢到桌子號,將該桌子的falg位置設置為0。功能如圖6.5:圖3.5服務器功能圖
第四章類設計4.1類關系圖系統(tǒng)共創(chuàng)建了兩個類CompanyModel品牌管理類和CompanyController品牌模型類,分別存放在Model層和Controller層,以下四個功能均在該類中實現(xiàn),類設計圖如圖4-1所示。圖4-1類設計圖CompanyController品牌管理類的conpanyList函數(shù)實現(xiàn)顯示所有品牌列表,通過訪問CompanyModel類構造的getCompany函數(shù)來獲取每條品牌信息來逐條顯示,同時判斷數(shù)據(jù)庫為空時,提示沒有任何品牌,需新建后才可查看;getCompany函數(shù)用來獲取品牌信息,通過對數(shù)據(jù)庫讀取獲取品牌信息后返回。2)品牌新增功能實現(xiàn):CompanyController類的companyAdd函數(shù)通過訪問CompanyModel類構造的addCompany函數(shù)來實現(xiàn)品牌的增加,同時收到返回值為error時,則數(shù)據(jù)庫存在相同數(shù)據(jù),需核實后再添加;addCompany函數(shù)實現(xiàn)增加品牌,將品牌的每一條屬性:品牌名稱、品牌英文品牌英文名稱、法人代表姓名、法人有效身份證號、法人聯(lián)系方式、電子郵箱、成立日期、營業(yè)執(zhí)照編碼等直接存入到數(shù)據(jù)庫中,若數(shù)據(jù)庫中有相同數(shù)據(jù)則返回error。4.2時序圖圖4-2時序圖在Controller控制層中,login.html中的action="login.php',使得從該頁面登錄之后,從表單中轉(zhuǎn)向login.php頁面。login.php負責處理用戶登錄與退出動作。login.php在獲取用戶的輸入信息和session的值之后與數(shù)據(jù)庫中的用戶名和密碼進行比對判斷,同時通過session判斷用戶的權限。在驗證通過之后會轉(zhuǎn)入管理系統(tǒng)主界面,如果沒有登錄系統(tǒng),重定向到登錄界面。上文提到通過session判斷用戶權限,在系統(tǒng)中提供了session管理和操作的完善支持,全部操作可以通過ThinkPHP內(nèi)置的session函數(shù)完成,該函數(shù)可以完成session的設置、獲取、刪除和管理操作。首先是session的初始化設置,將參數(shù)以數(shù)組的形式進行傳入,包括設置sessionid和session的有效期。默認情況下,初始化之后系統(tǒng)會自動啟動sessiono然后是對session的操作,包括session的賦值、取值、刪除。最后,系統(tǒng)通過對登錄用戶與session的比對,進行身份驗證,判斷用戶會話是否過期。系統(tǒng)session身份驗證其時序圖如圖5-2所示。
第五章系統(tǒng)實現(xiàn)5.1Activity
Manager類設計在創(chuàng)建了Intent之后,大體上會有三種Intent的發(fā)送方式,startActivity()|startActivityForResult()來啟動一個Activity,startService()|bindService()來啟動一個Service,以及sendBroadcast()來發(fā)送廣播消息。而在Android內(nèi)部實現(xiàn)上,Intent的發(fā)送,大致都如下圖所示:圖5-1ActivityManager類設計圖5.2客戶端模塊詳細設計5.2.1登錄功能系統(tǒng)運行時會首先進入用戶登錄和注冊界面,下面從登錄的界面設計和登錄的關鍵代碼來進行介紹。首次進入系統(tǒng)時首先會進入到引導頁面,然后會進入到系統(tǒng)首頁如圖5.2所示。點擊立即體驗按鈕會進入到登錄頁面,此過程是Activity通過Intent跳轉(zhuǎn)到登錄頁面實現(xiàn)的,具體的登錄頁面如圖5.2所示。登錄功能的實現(xiàn),要單獨建立一個Activity事件來實現(xiàn)用戶登錄。從登錄頁面可以看出有三個角色:訂餐方、供餐方、游客,新用戶未注冊可以通過游客通道進入系統(tǒng),了解系統(tǒng)的基本功能和作用,然后可以考慮是否需要注冊。已注冊的用戶,輸入帳號和密碼若有錯,則會彈出Toast提示“用戶名或密碼錯誤”,若帳號密碼填寫正確,則會從輸入框EditView中獲取到帳號和密碼與數(shù)據(jù)庫服務器中的對應信息進行匹配,匹配成功則會自動跳轉(zhuǎn)到相應角色(供餐方或訂餐方)的主菜單界面。下面是實現(xiàn)訂餐方登錄功能的關鍵代碼與解析注釋。對登錄按鈕監(jiān)聽的部分關鍵代碼如下:caseR.id.loginBtn://登錄按鈕圖5.2點餐系統(tǒng)首頁圖5.3用戶登錄頁面if(validateData()){//通過validateData()函數(shù)驗證帳號和密碼是否為空showProgressDialog(this);//調(diào)用WebService接口與數(shù)據(jù)庫中的數(shù)據(jù)對比是否匹配break;在登錄頁面中對登錄按鈕設置監(jiān)聽事件,可以避免不經(jīng)輸入用戶名和密碼直接登錄,如果未填寫用戶名或密碼,則會提示“用戶名不能為空”或“密碼不能為空”;若輸入用戶名、密碼后,客戶端程序會自動判斷此時的登錄事件是否滿足validateData()方法,若滿足系統(tǒng)則會繼續(xù)向下執(zhí)行showProgressDialog(this)方法,用來與數(shù)據(jù)庫連接,核實輸入的信息與數(shù)據(jù)庫中的是否一致,如果一致,系統(tǒng)則會自動跳轉(zhuǎn)到下一個Activity頁面,即主菜單頁面;否則即登錄失敗,提示“用戶民或密碼錯誤”。驗證帳號和密碼是否為空:5.1.2發(fā)布供餐模塊在用戶登錄頁面勾選“供餐(我來下廚)”這一角色,就會進入到點餐系統(tǒng)的廚房客戶端,廚房客戶端主要有附近需求、發(fā)布供餐、動態(tài)(即供餐的各種狀態(tài):如預定開始、預定截止、取餐開始、取餐截止等)、我的這四大塊,此節(jié)主要介紹發(fā)布供餐功能這一部分。供餐方發(fā)布菜品供餐可以使用點餐系統(tǒng)的發(fā)布供餐功能,此功能實現(xiàn)了廚房發(fā)布菜品套餐由手機端來完成的功能,不必再由后臺服務端來完成,可以實現(xiàn)隨時隨地的在手機端上發(fā)布菜品供餐的需要。發(fā)布供餐頁面如圖5.3所示。供餐方發(fā)布供餐可以選擇填寫菜品的口味選擇、菜品的描述、主食搭配、價格、數(shù)量、發(fā)布供餐的時間、取餐時段等一系列與供餐發(fā)布有關的屬性。發(fā)布供餐的關鍵代碼如下://發(fā)布供餐的跳轉(zhuǎn)供餐發(fā)布的代碼分析:從界面上取得各個字段的值,通過validateData()方法驗證字段取值是否為空,不為空則將每個字段的值存到供餐實體mSupplyInfo中,然后通過Intent傳值跳轉(zhuǎn)到下一個頁面發(fā)布供餐確認頁面,如圖5.4所示,在此頁面確認發(fā)布信息填寫正確后,可以將供餐信息傳到服務器端存儲起來。圖5.4發(fā)布供餐頁面圖5.5發(fā)布供餐確認頁面發(fā)布供餐的關鍵代碼如下://發(fā)布供餐的跳轉(zhuǎn)5.1.3附近供餐模塊實現(xiàn)在用戶登錄頁面勾選“訂餐(我要訂餐)”這一角色,就會進入到點餐系統(tǒng)的點餐客戶端,點餐客戶端主要有附近供餐、動態(tài)(即訂單管理)、我的這三大塊,此節(jié)主要介紹附近供餐功能這一部分。訂餐方點餐可以使用點餐系統(tǒng)的附近供餐功能,此功能會默認查詢距當前位置附近n米(如默認1000米)的所有正在供餐的信息。附近供餐頁面如圖5.5所示。附近供餐頁面首次進入時會默認顯示以供餐發(fā)布時間來排序的供餐信息,當然顧客可以根據(jù)需要選擇“離我最近”以離我最近距離來重新排序供餐信息,或者選擇“供餐時間”以餐食的供應時間來重新排序供餐信息的顯示情況,以方便顧客選擇自己需要的合適的供餐。附近供餐頁面可以顯示供餐的參考圖片以方便顧客選擇供餐時提供一個參考的供餐圖樣,若發(fā)布供餐時沒有選擇上傳供餐的參考圖片則在此頁面只會顯示一張默認的圖片,點擊圖片上的“點擊查看詳情”可以查看供餐的詳細信息。在附近供餐頁面還顯示了發(fā)布供餐的人的圖像與姓名、離我最近距離、供餐的簡要描述、供應時間、價格、剩余份數(shù)、截止時間等,在此頁面可以根據(jù)以上顯示的信息進行點餐,方便顧客進行供餐的選擇,避免了顧客必須進入到供餐詳細頁面進行點餐的桎梏。附近供餐功能的部分關鍵代碼如下://查看附近供餐:默認按發(fā)布時間:pushTime排列圖5.6附近供餐頁面5.3服務器端模塊詳細設計5.2.2訂單管理訂單管理,完成對訂單的查找、瀏覽明細、添加、刪除、編輯、結賬和打印等功能。1.訂單的查找與瀏覽后臺訂單表的數(shù)據(jù)主要是根據(jù)前臺的相應自動在后臺添加展示的,服務人員可以根據(jù)桌號來查找未結賬的訂單,如圖5-14所示。圖5-14Android無線點餐系統(tǒng)訂單管理界面圖工作人員也可根據(jù)訂單號來查詢,查詢原理是一樣的,訂單瀏覽,在所要瀏覽的訂單前勾選“√”,然后點擊主頁面上側(cè)區(qū)域的“瀏覽”按鈕即可出現(xiàn)訂單明細,如圖5-7.圖5-7Android無線點餐系統(tǒng)菜譜界面圖2.訂單修改工作人員點擊訂單管理欄的訂單信息,在顯示的所有未結賬的訂單信息中,可以人工操作訂單的增減。如圖5-7所示,單擊“添加”按鈕,即可增加一個新的訂單;勾選列表前的方框,點擊“刪除”按鈕即可刪除該訂單。3.訂單結算與打印訂單的結算信息是客戶端發(fā)送的order編號,后臺服務端按照訂單號查找到該訂單明細,工作人員將其桌號輸入,自動找出用戶名,根據(jù)用戶名顯示其是否為會員,為會員自動顯示折扣信息,重新進行消費金額計算。一切就緒后,點擊“結算”按鈕,然后頁面其他信息變灰色,無法操作,這時啟動另一個Servlet,將該訂單的狀態(tài)設置成“空閑”狀態(tài)(flag=0)然后點擊“打印”按鈕,不打印的話直接按“返回”按鈕,返回主菜單頁面。主要代碼略,只要在所要操作的訂單方框勾選“√”,然后執(zhí)行相應操作即可。5.2.3菜譜管理菜譜管理主要是實現(xiàn)對菜譜的新增、刪除與修改的管理功能,在界面左側(cè)是系統(tǒng)中所有的菜譜分類明細,點擊該類別,將出現(xiàn)所屬該類的所有菜品明細。如圖5-8所示的菜譜管理。點擊主區(qū)域上方的“添加”按鈕,彈出添加菜系的明細窗口,填充數(shù)據(jù)邏輯表格提到的菜品ID、名稱、價格、描述、特色、圖片等界面基礎信息設置的各個表框,然后點擊“確認”按鈕即可,如圖5-9。圖5-8Android無線點餐系統(tǒng)菜單管理界面圖圖5-9Android無線點餐系統(tǒng)增加菜品界面圖如果要對菜品進行修改或刪除??牲c擊菜譜中的某一菜品欄,然后點擊主區(qū)域上的“編輯”按鈕,進入其基本信息界面進行修改,如要刪除,即可在5-16中的菜品欄前面的方框打“√”,然后點擊頁面主區(qū)域的“刪除”按鈕。添加菜品的代碼如下所示:
5.2.4餐桌管理餐桌管理模塊主要涉及到開桌、改桌、并桌、撤桌。開桌、改桌、并桌都是前臺客戶端執(zhí)行完Activity時間后,響應到后臺,后臺自動更新數(shù)據(jù)即可。而撤桌與結賬注銷同步進行,本章第一節(jié)已經(jīng)詳細闡述了此項功能。5.2.5評價管理評價主要是顧客對服務員和菜品進行評價,在第一節(jié)前臺客戶端的功能模塊實現(xiàn)中已經(jīng)詳細地介紹了評價設置的技術原理,只要將兩個評價的確認按鈕增加一個監(jiān)聽事件,就可以傳至后臺的管理服務器終端,對于評價的查看方式,可以通過以菜品為指標來查找,也可以按照服務員工號來檢閱,也可以根據(jù)訂單號來考察,除此之外,管理人員的登錄權限中,也設定了管理人員的評價權利,他們可以根據(jù)員工及餐廳運營表現(xiàn)給服務員進行針對性評價。由于篇幅的原因,此處就不再顯示代碼。5.2.6會員管理會員管理是本系統(tǒng)的一項新功能,餐廳可以根據(jù)顧客意愿發(fā)展會員管理。管理人員點擊會員管理按鈕,系統(tǒng)便跳轉(zhuǎn)到會員管理頁面,如圖5-10會員管理頁面。圖5-10Android無線點餐系統(tǒng)會員管理界面圖餐廳工作人員可以根據(jù)會員號、姓名、手機中的任何一項信息快速查處會員詳情,也可增加新會員或刪除己有會員,系統(tǒng)跟隨會員的消費積分自動上傳該會員可享受的折扣和優(yōu)惠讓利活動。圖5-11Android無線點餐系統(tǒng)會員管理界面圖5.2.7系統(tǒng)管理系統(tǒng)管理模塊可以實現(xiàn)對該餐廳所有工作人員的查找、更新、添加、刪除,并用此軟件的管理來加強對工作人員的監(jiān)督。圖5-20Android無線點餐系統(tǒng)錄入新員工界面圖點擊“系統(tǒng)管理”按鈕,即可彈出該餐廳在本系統(tǒng)上的在冊員工,如圖5-11,5-12所示,系統(tǒng)管理員可以在該界面下增加、刪除、修改各員工的信息。圖5-12Android無線點餐系統(tǒng)錄入新員工界面圖
第六章系統(tǒng)測試6.1功能測試從功能完成度來看,例如點餐的整體流程、發(fā)布供餐和取消已發(fā)布的供餐等,基本可以實現(xiàn)完整流暢的點餐過程,發(fā)布供餐后在附近供餐頁面刷新可以看到剛剛發(fā)布的相關數(shù)據(jù),發(fā)布供餐后也可以很好的完成取消功能。但是在某些地方還是存在一些問題,比如附近供餐頁面有時定位附近距離在網(wǎng)絡不佳的情況下會有差錯,比如剩余份數(shù)的顯示有時會有差錯。6.2性能測試從性能完成來看,本系統(tǒng)基本體現(xiàn)了高效訪問、響應時間快速、健壯等特點,但是在穩(wěn)定性上有待改進。(1)從數(shù)據(jù)精確度來看,本系統(tǒng)大部分功能都實現(xiàn)了正常的數(shù)據(jù)顯示,查詢準確率正常,但是在一些細節(jié)方面還是存在一些問題,比如很多次對同一數(shù)據(jù)進行毫無規(guī)律、雜亂無章的操作,有時就會出現(xiàn)數(shù)據(jù)不準確的情況。(2)從響應時間來看,客戶端不含圖片的數(shù)據(jù)加載的響應時間基本正常,能保持人們的正常使用情況,但是含有圖
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學分子生物學(基因表達調(diào)控)試題及答案
- 2025年大學本科(工商管理)企業(yè)管理案例分析階段測試題及答案
- 2025年高職城市軌道交通通信信號技術(城市軌道交通信號系統(tǒng))試題及答案
- 2025年高職化工儀表技術(化工儀表校準)試題及答案
- 2025年中職人工智能技術應用(AI技術基礎原理)試題及答案
- 2025年大學大四(林產(chǎn)化工)林產(chǎn)精細化學品工藝學階段測試試題及答案
- 2025年高職(工商企業(yè)管理)企業(yè)管理試題及答案
- 2025年大學舞蹈學(舞蹈教育心理學)試題及答案
- 2025年高職(助產(chǎn))婦科護理綜合測試題及答案
- 2025年高職(建設工程監(jiān)理)建設工程合同管理試題及答案
- 2026年消防設施操作員之消防設備基礎知識考試題庫500道及完整答案(各地真題)
- 2026年電信運營商物資管理崗位面試題
- 2025年高職會計(成本核算)試題及答案
- 蟲鼠害培訓課件
- 2025學年上海市七年級語文上冊作文題目匯編及解析
- 2026年河南經(jīng)貿(mào)職業(yè)學院單招職業(yè)技能測試題庫及參考答案詳解
- 欄桿安裝施工方案示例
- JJF 2333-2025 恒溫金屬浴校準規(guī)范
- 2025年水工金屬結構行業(yè)分析報告及未來發(fā)展趨勢預測
- 軟件產(chǎn)品項目管理方案
- 2024年勤學之星個人事跡材料簡介
評論
0/150
提交評論