手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/im/project101/p5.pdf ·...

108
1 專題書面報告 手機點餐預約系統 指導老師: 林耀三 老師 專題組員: 四資三 A 楊承浲 498110016 四資三 A 胡文獻 498110025 四資三 A 賴佑維 498110106 四資三 A 蔡文元 498110232 四資三 A 陳柏沁 498110656

Upload: others

Post on 06-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

1

專題書面報告

手機點餐預約系統

指導老師 林耀三 老師

專題組員 四資三 A 楊承浲 498110016

四資三 A 胡文獻 498110025

四資三 A 賴佑維 498110106

四資三 A 蔡文元 498110232

四資三 A 陳柏沁 498110656

2

目錄

一 動機目的 5

二 文獻探討 8

三 系統設計方向及功能 9

四 商業模式 12

五 系統分析 23

六 開發工具 43

七 工作流程 50

八 網頁及手機呈現 75

九 結論與未來工作 89

參考文獻 94

附錄 Eclipse 專案匯入過程 95

3

圖目錄 圖 1 Icon Logo 10

圖 2基本流程圖 11

圖 3 消費者跟餐廳的往來 12

圖 4 未來消費模式 13

圖 5 整體系統的流程圖 14

圖 6 使用差別 20

圖 7 手機點餐預約 UML 流程圖 42

圖 8eclipse 圖示 47

圖 9phpMyAdmin 圖示 47

圖 10JAVA 圖示 48

圖 11Google 應用服務引擎 48

圖 12Apache Tomcat 專屬圖示 49

圖 13Android 模擬器介面 49

圖 14GRN 應用程式處理概要 74

圖 15GO RIGHT NOW 公司首頁 76

圖 16 創思簡介第一部分 77

圖 17 創思簡介第二部分 77

圖 18 人員介紹 78

圖 19 產品網站連結 78

圖 20 未來目標 79

圖 21 最新訊息 79

圖 22GO RIGHT NOW 產品網頁 80

圖 23 會員登入 80

圖 24 一般會員註冊 81

圖 25 餐廳會員註冊 81

圖 26 登入之後的畫面 82

圖 27 檔案下載 82

圖 28 桌面顯示的 ICON 圖示 83

圖 29 進去之後的畫面 84

圖 30 瀏覽餐聽 84

圖 31 比薩茶坊介紹 85

圖 32 訂位所需資料 85

圖 33 地區的選擇 86

圖 34 種類的選擇 86

圖 35 價位的選擇 87

圖 36 需備註的填寫 87

4

圖 37 訂位成功 88

圖 38 查詢資料 88

表目錄 表格 1 比較出與某 E 公司的差別 10

表格 2 某 E 公司賺錢的方法階段性打折 20

表格 3 有無 VIP 差別 21

表格 4 某 E 公司跟餐廳合作禮券的部分 22

表格 5 手機點餐預約流程事件表 25

表格 6 手機點餐預約詞彙表(Glossary) 25

表格 7 系統差異性 46

表格 8 使用者所能使用的介面 75

5

一 動機目的

現今這個時間就是金錢的時代裡電話預約變成一種常態凡事

都要先預約才行而這幾年來透過網路預約也慢慢變成一種流行從

餐廳來說10 間餐廳裡至少有 5 間餐廳須先電話預約才會有座位

這 10 間裡有 1 間就算有電話預約也不一定會有位子在台灣願意排

隊等候的項目有一半都是願意等待美食的可知如果成功達到預約效

果那就代表的商機將成正成長

手機為不可或缺的必備品藉由手機來進行訂位以及點餐不僅

可以事先預訂位置不怕客滿的問題也可以同時進行點餐的服務減

少了用餐的時間提升顧客給店家的滿意度同時也是給此功能的滿意

度對於店家來說消費者的用餐時間越短代表可以有更多的客人來用

餐[1]合作的對象是已經有網站懂得網路行銷的餐廳或是店家藉由

網頁上的資訊圖片更方便去製作程式主要的目的就是讓使用者減省

時間不管是店家或是消費者都可以達到雙贏的局面

6

透過線上預約消費者更能享受到電話預約顧客不同的禮遇會

先預留下線上預約的消費者專屬位置以及會員透過此系統該有的折

扣便利型的預約會帶來更大的福利[2]

生活中的事都需如此如醫院預約掛號飯店預約訂房車票

預約劃位電影預約購票helliphellip但從智慧型手機更為方便醫院上的

掛號及電影院的購票都必須先由本人到現場填寫資料然而再交由

人員輸入到資料庫裡才會有消費者的會員資料飯店的訂房跟車票

的劃位更為不安全飯店裡如有顧客取消訂房也未通知導致飯店會預

留下空房而車票劃位若車票遺失消費者也無法證明有此車票但線

上預約不會有次問題因為是由智慧型手機上的 APP 程式傳送出去

也會將此手機的資本資料一併傳送出去就能為雙方多一層的保障及

便利

這智慧型手機的時代透過手機上的智慧功能來預約還沒有如此

大眾化就算有此功能也還沒有許多功能可以使用甚至有許多錯誤點

須修正因此想到此商機可以發展所以研發出一套點餐預約系統

來為將來的智慧型時代開創一條新的發展

市面上已有某網站提供此功能來使用此網站每年有千萬的利益

可途如果比照將此功能轉移到手機 APP 程式中那未來的商機將

不可想像[3]

7

某 E 公司起源

某 E 公司現在是全台灣在網路上訂位的領導廠商裡面包含各式

各樣的訂位服務也與全台各大飯店餐廳等企業合作透過線上訂位

的消費者每月有超過 20000 人以下作為某 E 公司簡短的介紹

由四位好友共同創立以創新服務的精神為企業的經營理

念藉由科技的力量提升餐飲產業的服務水準深深的影響著

每個人懂得吃哪裡吃如何吃已成為全民追求的生活品

質更是一種流行的趨勢某 E 公司易訂網對消費者提供了一

個快捷便利24 小時不打烊的網路訂位平台 [4]

對於餐廳經營者某 E 公司易訂網創造了一個新的訂位模

式與服務流程讓各餐廳在 e 化的訂位系統幫助下達成更有

效率的餐廳管理做為消費者和餐廳間的溝通橋樑強化了顧

客滿意度調查資料與資料的分析讓餐廳經營者更加瞭解消費

者的想法而有了改善的方向與行銷依據

8

二 文獻探討

王明杰研究生的研究報告指出目前國內也有多家廠商開發出結

合點菜收銀系統及無線網路的心技術「無線點餐系統(Wireless

Restaurant System)」運用 PDA 手持攜帶式的便利性提供餐飲業者

更方便更快捷的客服品質這項新技術主要是針對餐飲業者提供服

務人員以無線即時的方式為客戶完成點餐的服務

我們提出的「手機點餐預約系統」跟王明杰研究生所提到的「無線

點餐系統」的便利性以及即時性有所相關但主要是以「預約」

的方式來點餐希望客戶能夠在出門前就能夠點餐在到達餐廳的時

候就能夠準備好所有的餐點讓客戶能夠省掉所有等餐以及等位子

的時間讓整個過程達到便利性迅速性以及省時這樣也能夠讓

一些上班族在有用餐時間限制的情況下能夠達到最佳的效率不

必等餐不必等位子有著足夠的時間好好品嘗美食這是所希望達到

的目標[5]

9

三 系統設計方向及功能

企圖效仿了某 E 公司做出一套類似的點餐預約系統但不需透過

網頁上來預約則是透過現在人人手上拿的智慧型手機而且是希望

每個人都能使用這套系統所以提供了平價餐廳讓每一個人都能夠

使用

系統方便解決消費者用餐的問題時間上也能大大減少一半先

篩選出地區及價格選好餐廳之後在選擇好時間與人數一鍵按下

餐廳方面就會有消費者的基本資料比電話預約方面更能清楚有效的

留下預約人的電話及姓名

系統結合了餐廳所供應的餐點及套餐搭配先選好想吃些什麼不

必等到了餐廳還在猶豫不決的想吃什麼也不用服務生來為顧客解說

每樣餐點的食材及特色這樣餐廳方面更能節省了人力把多出來的

人員去調配其餘的工作此系統還可以享受身上不須帶太多的金錢及

信用卡在身上只要透過線上信用卡繳款來直接付款更有效率的幫

消費者解決付款問題

10

表格 1 比較出與某 E 公司的差別

圖 1 Icon Logo

GO RIGHT NOW 是系統的名稱翻譯成中文的意思就是立即行動

當出的理念想法為心動不如馬上心動立即的想法立即去做不要

猶豫想吃就 GO人要想吃甚麼就吃什麼應該被任何條件和現況束

縛吃的健康吃的快樂才能享受人生就是這樣的想法讓我們想要

開發這個系統改變大家對吃的態度想法很簡單節省用餐時間

吃到更好的佳餚想吃美食不用擔心任何事情

由上面的比較出可以明顯知道某 E 公司的優惠為時段性一天

當中只有某幾個時段才有優惠其餘都是原價計算某 E 公司也推出

了類似消費卷的餐卷跟某 E 公司購買餐卷可抵多少而且某 E 公司

主攻為大飯店及酒店都是以北部居多南部方面就少掉很多

某 E 公司 GO RIGHT NOW

優惠時段 時段優惠 假日與非假日

優惠方式 幾人同行 1 人免費或半價 折扣假日與非假日

消費模式 餐卷與刷卡 線上信用卡

促銷方式 搭配節日送禮 搭配節日送禮

餐廳種類 飯店酒店居多 平價餐廳

主攻市場 北部居多 南部居多

VIP 收費 一個月 399 一個月 99

11

圖 2基本流程圖

12

四 商業模式

圖 3 消費者跟餐廳的往來

餐廳跟消費者之間最原始的樣子消費者進去餐廳付錢餐廳提供服

務給消費在現代社會中這種服務方式還是存在但是這種原始的

方式已經沒有辦法迅速滿足消費者的需求系統目的就是要改變這種

傳統的吃飯方式方法是利用我們創造的手機點餐系統

13

以下系統希望的關係圖

圖 4 未來消費模式

希望透過服務可以對消費者跟餐廳有更多的服務帶給大眾更

方便的服務消費者到餐廳用餐通常會有兩種常見的問題第一有的

時候無法得知客滿的狀況常常到了餐廳之後才發現客滿浪費許多

時間再去找下一家餐廳第二種狀況是餐廳不小心忘記消費者的餐點

或是搞錯先後順序讓後來的客人先吃到餐點先來的客人苦苦等不到

餐點這兩種是常見的狀況也會造成消費者的不滿和店家的損失系

統可以完全改善第一種問題的造成第二種狀況店家跟配合的得以

也是可以避免掉的問題

14

圖 5 整體系統的流程圖

智慧型手機利用 3G 或是 WIFI 上網便可以取得店家網站的資料

查看是否還有座位和餐點在消費者查看的同時後端的會員系統也

會進行比對確定消費者是否有紅利點數等等消費者在登入會員之後

便可以進行點餐的部分在消費者點餐和訂位完成之後店家的系統

便會出現消費者會員的資料訂位和相關的點餐資訊等等因此我們

的後端必須非常有完整的架構和系統的組織以下將會介紹在程式放

面的比較和未來工作上的分配

15

(1)希望合作對象

希望已有規模的餐廳為主並且懂得利用網路行銷或是有餐廳的

網站因為有小成就的餐廳更不想因為上餐速度太慢得罪客人或是看

著一批的客人到來卻沒有位置可以迎接想必看在業者眼裡一定非常

痛心懂得利用網路行銷的店面一定也是想透過網路讓他們店的知名

度提升也是利用網路來進行訂位和點餐如果可以互相連結消費者一

定更好選擇[5]

(2)站在店家的角度來說

普通常常客滿的店家一定會希望有更多的位置來容納更多的客

人但這未必是最好的選擇減少消費者在店內等待的時間一樣可以

達到更多人進店裡消費的結果如果再以打折的方式之類的吸引消費

者的注意更可以提升顧客人數舉個例子 從消費者點餐到上菜需

要 15 分鐘消費者開始用餐到用餐完畢也花了 15 分鐘總共花費了

30 分鐘如果使用訂位點餐系統如果消費者使用點餐預約系統在

他們到來前已經預約好定位並且決定要吃什麼餐點並且先行做準備

消費者一到店內就可以直接吃東西省掉消費者點餐到上菜需要的

15 分鐘那麼店內一張桌子就可以馬上清空迎接下一位消費者的用

餐時間從 30 分鐘減少到 15 分鐘就等於花費同樣的時間賺兩倍的錢

[6]

16

情境 1

今天也是客滿我們幾乎每天都客滿可是總覺得客滿歸客滿好像

沒有辦法接收更多的生意常常有客人上門卻因為沒有位子或是等太

久吃不到不開心該怎麼解決這個問題呢其實很簡單利用我們可

以先點餐的功能讓一些訂位的客人們先點餐就可以通知廚房事先

知道並且先進行準備動作等到客人就座便可以開始上菜 一次可以

解決上面兩個題

站在一般消費者的立場不管是一般的學生上班族能用餐的時

間不多以學生來說中午 12 點下課 1 個小時後可能要再趕回學校

上課或者有更重要的事情讓你不能好好的吃一頓飯有時就會有因

為中午吃飯等太久下午回去學校上課的時候遲到引起老師不滿被記

遲到甚至曠課吃飯等上菜等到不開心回到學校還要被老師擺臉色

心情一定不好

舉個例子學生們中午快到的時候透過我們的點餐預約系統裡面

的資料決定好要吃哪家餐廳以及哪種餐點直接透過手機上網的方式

預定好中午 12 點下課一到餐廳不用等太久就可以吃飯大大的減

少等待的時間不用匆匆忙忙得趕回學校上課也不怕說這家客滿找

下一家的麻煩更不用擔心遲到被罵

17

情境 2

有一天女朋友一大早對我說她中午休息時間想要吃很有名的

那家咖哩焗烤飯可是我中午十二點下班一點半就要上班不能等太

久hellip又想要滿足女朋友怎麼辦呢

這時候點餐服務系統就有很好的用處了

利用點餐預約系統事先預訂好位置十二點半到先進行點餐中

午一到就可以輕鬆的去接女朋友到餐廳不用花費太久的時間等待出

菜開心的吃完飯之後再送他回公司上班不但吃到了大餐滿足女朋友

也準時的回公司上班

18

獲取利潤

獲取利潤是跟店家合作不可或缺的內容系統必須可以為店家帶

來更多的消費者並讓店家滿意系統與我們合作讓店家賺錢同時

收取部分的利益並且永續經營先不以賺錢為目的系統可以帶來什

麼樣的滿意服務例如一家小有名氣店面在假日客滿是很平常的事

情但是周一到周五也要天天客滿不太容易可以利用打折優惠來吸引

消費者在人潮較低的時間來消費例如禮拜一到禮拜四的中午這個時

段免服務費禮拜一到禮拜日晚上 9 折這樣可以吸引更多人在低潮

時段前來用餐提升低潮時段的生意

(1)自己當老闆

自己當老闆的想法來看可以跟店家簽約一兩年的時間做為

調整以不會常客滿的店家使用點餐訂位系統可以獲得打折方式來

吸引消費者的注意以 9 折的方式吸引消費者上門達到一定的數量

例如 300 之類的再跟店家收取百分之幾的金額當作酬勞或者是

在禮拜一到禮拜四的冷門時段店家每天提供200個座位給我們跟店家

打 7 折用此系統以 95 折的優惠賣給玩家賺取中間的差額如果透

過我們系統完成 500 個以上的交易再多收部分獎金舉例來說原價

500 塊錢打 7 折 350 元再用 9 折 450 賣給消費者賺取中間 100 的

差額這種方式可以提升店家冷門時候的生意在周末假期的時候用

19

餐的人會比較多但是再多也不可能天天客滿可以送金美小贈品當

作使用我們系統的戰利品

如將來產品成功之後還可賺取廣告費用瀏覽本系統人數越多

代表使用人數也會越多也能幫助到餐廳大廣告從中去賺取費用

(2)賣斷

賣斷也是一種方法把整套系統都賣掉直接收取費用但是非

常低的機率會使用這種方法因為賣斷後必須重新想出一個系統但

是類似或是重複的機率很高

(3)技術入股

技術入股的方式就像 YOUTUBE 賣給 GOOGLE然後 GOOGLE

聘請 YOUTUBE 的老闆當執行長這樣我們可以賣給某企業然後進入

他們企業裡面當他們的執行長並且繼續開發跟維修

20

範例某 E 公司跟台南大億麗緻合作之後消費者直接去大億麗緻消

費和透過某 E 公司訂位消費在價格方面比較便宜以下圖表是使用

某 E 公司跟為使用的差別

圖 6 使用差別

表格 2 某 E 公司賺錢的方法階段性打折

使用E公司 未使用 E公司

平日午餐 610 715

平日下午茶 470 550

平日晚餐 700 825

假日午餐 610 715

假日下午茶 470 660

假日晚餐 700 825

0

100

200

300

400

500

600

700

800

900

使用EZTABLE

未使用 EZTABLE

21

消費者付費方式消費者利用點餐系統並不會付費給我們但

是我們有 VIP 會員的服務整體來說消費者原本只需要辦一個免

費的帳號就可以使用這套軟體但是服務不會比 VIP 會原來的多

VIP 會員可以享受更多優惠的服務

表格 3 有無 VIP 差別

VIP 會員 非 VIP 會員

VIP 消費券 有 無

最新訊息通知 有 無

累積紅利點數 有 無

停車位免費 有 無

季節限定贈品 有 無

以上是說明 VIP 會員的優惠方案當然隨著 VIP 功能的不同會

員價格上也會有所不同就像一般會員和白金會員的差別我們 VIP

的價格是 99 元不會有太貴的困擾隨著 VIP 的優惠功能越來越多

我們會有白金會員 299 元之類的若是已有一般會員的只要再多 200

自動升級成為白金會員

22

購買禮券是一種用更多折扣吸引消費者購買的方式可以在低潮

時段吸引更多金打細算的消費者消費下列的圖表是以某 E 公司跟餐

廳合作禮券的部分

表格 4 某 E 公司跟餐廳合作禮券的部分

餐廳名字 優惠方案 折扣現金

Isabati 義式料理 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

海王子鐵板燒 憑 VIP 禮券$1100 現場可抵

用 1500 元套餐(已含服務費) 400 元

絹絲谷 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

典藏藝術餐廳 憑 VIP 禮券$1000現場可抵用

$1200 消費金額 100 元

非常適合請客的時候使用同時按照購買禮券金額上面的不同

優惠也會有所不同例如1000 元禮券可抵 1100 消費2000 禮券可抵

2200 消費

23

五 系統分析

根據功能性需求(functional requirement)來描述系統並以統一塑模語

言(UMLUnified Modeling Language)呈現之

需求描述

1 顧客可以利用此系統來預約點餐

2 顧客可以利用網際網路查詢餐廳的菜色若有要訂位預約此

餐廳則會幫你篩選出該餐廳簡介及風格和價錢

3 對於菜單的種類系統必須提供連結讓顧客點取顯示菜單的

明細對於欲顧客點餐在顧客還沒確認預約之前顧客可

以將預約單中的菜色做刪除或是更新的動作顧客可以在任

何時刻檢視預約單中的內容顧客可以在確認訂單前之任何

時刻取消預約的動作

4 使用者必須是本站的會員才可以進行點餐預約的動作預

約時會員必須登入到系統系統要查驗登入資料的正確

如果在預約時使用者並非會員系統應該提供讓使用者登

錄為會員的機制

24

5 對於顧客所確認的預約系統必須在預約單成功之後自動

寄發一封 email 給顧客以做為預約的依據它有一點像是傳統

的預約明細表顧客可以利用它來查詢交易的狀態

6 系統必須要有管理會員資料的機制而使用者也應該可以在

任意時刻修改會員資料(系統不提供刪除會員的機制)

7 系統必須要提供查詢的功能查詢時顧客可以利用餐廳

或是地區等等來做分類查詢

8 除了顧客之外系統必須提供管理後端系統的維護只有系

統管理者有權對資料進行維護的動作菜單產品型錄資料存

放在資料庫中

由以上需求描述 可以歸納出以下幾個事件

1加入會員 2會員登入 3瀏覽餐廳 4預約訂位

5點餐 6定位確認 7查詢訂位 8取消訂位

9系統維護 10會員管理資料 11 更新資料 12顧客資料

25

表格 5 手機點餐預約流程事件表

事件名稱 觸發器 來源 活動 回應 目的地

加入會員 註冊 系統 新增 註冊成功 使用者

會員登入 登入 顧客 核對 登入成功 顧客

瀏覽餐廳 選項 顧客 查詢 餐廳呈現 顧客

預約訂位 預約 顧客 產生 預約成功 餐廳

點餐 送出 顧客 產生 訂單編號 餐廳

訂位確認 確認 系統 更新 顧客 餐廳

查詢訂位 查詢 系統 查詢 紀錄表單 系統

取消訂位 取消 顧客 取消 取消確認 系統

系統維護 維護 系統 更新 管理者 管理者

會員管理資料 自動化 系統 更新 資料排列 系統

更新菜單 自動化 餐廳 更新 更新成功 系統

顧客資料 送出 系統 產生 資料呈現 餐廳

菜單事件 送出 系統 產生 菜單表 餐廳

表格 6 手機點餐預約詞彙表(Glossary)

詞彙 解釋 附註

預約 預約包含有客戶資料預約菜單項目

客戶資料 姓名住址電話email 等

菜單 產品編號菜單名稱價格等

登入資料 帳號密碼

餐廳 餐廳類型價格風格

手機 預約瀏覽查詢

26

以下使用案例說明書為手機點餐預約流程的介紹

Use Case Specification 瀏覽

名稱(Name)瀏覽

簡述(Brief Description)顯示給一般民眾我們的系統介面

參與者(Actors)顧客

前提(Pre-Conditions)顯示給一般民眾如何我們系統介面

成功條件(Successful Post-Conditions)進入到介面的首頁

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 瀏覽首頁 2 提共顧客資訊

3 瀏覽餐廳 4 提供顧客熱門餐廳

5 點餐和定餐 6 提供餐廳基本資料

7 是否定位 8 登入會員畫面

27

Use Case Specification 加入會員

名稱(Name)加入會員

簡述(Brief Description)可以透過加入會員索取更多的資料

參與者(Actors)顧客

前提(Pre-Conditions)需要利用我們的系統的使用者

成功條件(Successful Post-Conditions)進入登入會員的登入畫面

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1加入會員 2顯示會員資料表

3填寫會員資料 4成功加入會員

5跳回首頁

4新增失敗

5跳回會員資料表

6 重新填寫會員資料 7成功加入會員

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 2: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

2

目錄

一 動機目的 5

二 文獻探討 8

三 系統設計方向及功能 9

四 商業模式 12

五 系統分析 23

六 開發工具 43

七 工作流程 50

八 網頁及手機呈現 75

九 結論與未來工作 89

參考文獻 94

附錄 Eclipse 專案匯入過程 95

3

圖目錄 圖 1 Icon Logo 10

圖 2基本流程圖 11

圖 3 消費者跟餐廳的往來 12

圖 4 未來消費模式 13

圖 5 整體系統的流程圖 14

圖 6 使用差別 20

圖 7 手機點餐預約 UML 流程圖 42

圖 8eclipse 圖示 47

圖 9phpMyAdmin 圖示 47

圖 10JAVA 圖示 48

圖 11Google 應用服務引擎 48

圖 12Apache Tomcat 專屬圖示 49

圖 13Android 模擬器介面 49

圖 14GRN 應用程式處理概要 74

圖 15GO RIGHT NOW 公司首頁 76

圖 16 創思簡介第一部分 77

圖 17 創思簡介第二部分 77

圖 18 人員介紹 78

圖 19 產品網站連結 78

圖 20 未來目標 79

圖 21 最新訊息 79

圖 22GO RIGHT NOW 產品網頁 80

圖 23 會員登入 80

圖 24 一般會員註冊 81

圖 25 餐廳會員註冊 81

圖 26 登入之後的畫面 82

圖 27 檔案下載 82

圖 28 桌面顯示的 ICON 圖示 83

圖 29 進去之後的畫面 84

圖 30 瀏覽餐聽 84

圖 31 比薩茶坊介紹 85

圖 32 訂位所需資料 85

圖 33 地區的選擇 86

圖 34 種類的選擇 86

圖 35 價位的選擇 87

圖 36 需備註的填寫 87

4

圖 37 訂位成功 88

圖 38 查詢資料 88

表目錄 表格 1 比較出與某 E 公司的差別 10

表格 2 某 E 公司賺錢的方法階段性打折 20

表格 3 有無 VIP 差別 21

表格 4 某 E 公司跟餐廳合作禮券的部分 22

表格 5 手機點餐預約流程事件表 25

表格 6 手機點餐預約詞彙表(Glossary) 25

表格 7 系統差異性 46

表格 8 使用者所能使用的介面 75

5

一 動機目的

現今這個時間就是金錢的時代裡電話預約變成一種常態凡事

都要先預約才行而這幾年來透過網路預約也慢慢變成一種流行從

餐廳來說10 間餐廳裡至少有 5 間餐廳須先電話預約才會有座位

這 10 間裡有 1 間就算有電話預約也不一定會有位子在台灣願意排

隊等候的項目有一半都是願意等待美食的可知如果成功達到預約效

果那就代表的商機將成正成長

手機為不可或缺的必備品藉由手機來進行訂位以及點餐不僅

可以事先預訂位置不怕客滿的問題也可以同時進行點餐的服務減

少了用餐的時間提升顧客給店家的滿意度同時也是給此功能的滿意

度對於店家來說消費者的用餐時間越短代表可以有更多的客人來用

餐[1]合作的對象是已經有網站懂得網路行銷的餐廳或是店家藉由

網頁上的資訊圖片更方便去製作程式主要的目的就是讓使用者減省

時間不管是店家或是消費者都可以達到雙贏的局面

6

透過線上預約消費者更能享受到電話預約顧客不同的禮遇會

先預留下線上預約的消費者專屬位置以及會員透過此系統該有的折

扣便利型的預約會帶來更大的福利[2]

生活中的事都需如此如醫院預約掛號飯店預約訂房車票

預約劃位電影預約購票helliphellip但從智慧型手機更為方便醫院上的

掛號及電影院的購票都必須先由本人到現場填寫資料然而再交由

人員輸入到資料庫裡才會有消費者的會員資料飯店的訂房跟車票

的劃位更為不安全飯店裡如有顧客取消訂房也未通知導致飯店會預

留下空房而車票劃位若車票遺失消費者也無法證明有此車票但線

上預約不會有次問題因為是由智慧型手機上的 APP 程式傳送出去

也會將此手機的資本資料一併傳送出去就能為雙方多一層的保障及

便利

這智慧型手機的時代透過手機上的智慧功能來預約還沒有如此

大眾化就算有此功能也還沒有許多功能可以使用甚至有許多錯誤點

須修正因此想到此商機可以發展所以研發出一套點餐預約系統

來為將來的智慧型時代開創一條新的發展

市面上已有某網站提供此功能來使用此網站每年有千萬的利益

可途如果比照將此功能轉移到手機 APP 程式中那未來的商機將

不可想像[3]

7

某 E 公司起源

某 E 公司現在是全台灣在網路上訂位的領導廠商裡面包含各式

各樣的訂位服務也與全台各大飯店餐廳等企業合作透過線上訂位

的消費者每月有超過 20000 人以下作為某 E 公司簡短的介紹

由四位好友共同創立以創新服務的精神為企業的經營理

念藉由科技的力量提升餐飲產業的服務水準深深的影響著

每個人懂得吃哪裡吃如何吃已成為全民追求的生活品

質更是一種流行的趨勢某 E 公司易訂網對消費者提供了一

個快捷便利24 小時不打烊的網路訂位平台 [4]

對於餐廳經營者某 E 公司易訂網創造了一個新的訂位模

式與服務流程讓各餐廳在 e 化的訂位系統幫助下達成更有

效率的餐廳管理做為消費者和餐廳間的溝通橋樑強化了顧

客滿意度調查資料與資料的分析讓餐廳經營者更加瞭解消費

者的想法而有了改善的方向與行銷依據

8

二 文獻探討

王明杰研究生的研究報告指出目前國內也有多家廠商開發出結

合點菜收銀系統及無線網路的心技術「無線點餐系統(Wireless

Restaurant System)」運用 PDA 手持攜帶式的便利性提供餐飲業者

更方便更快捷的客服品質這項新技術主要是針對餐飲業者提供服

務人員以無線即時的方式為客戶完成點餐的服務

我們提出的「手機點餐預約系統」跟王明杰研究生所提到的「無線

點餐系統」的便利性以及即時性有所相關但主要是以「預約」

的方式來點餐希望客戶能夠在出門前就能夠點餐在到達餐廳的時

候就能夠準備好所有的餐點讓客戶能夠省掉所有等餐以及等位子

的時間讓整個過程達到便利性迅速性以及省時這樣也能夠讓

一些上班族在有用餐時間限制的情況下能夠達到最佳的效率不

必等餐不必等位子有著足夠的時間好好品嘗美食這是所希望達到

的目標[5]

9

三 系統設計方向及功能

企圖效仿了某 E 公司做出一套類似的點餐預約系統但不需透過

網頁上來預約則是透過現在人人手上拿的智慧型手機而且是希望

每個人都能使用這套系統所以提供了平價餐廳讓每一個人都能夠

使用

系統方便解決消費者用餐的問題時間上也能大大減少一半先

篩選出地區及價格選好餐廳之後在選擇好時間與人數一鍵按下

餐廳方面就會有消費者的基本資料比電話預約方面更能清楚有效的

留下預約人的電話及姓名

系統結合了餐廳所供應的餐點及套餐搭配先選好想吃些什麼不

必等到了餐廳還在猶豫不決的想吃什麼也不用服務生來為顧客解說

每樣餐點的食材及特色這樣餐廳方面更能節省了人力把多出來的

人員去調配其餘的工作此系統還可以享受身上不須帶太多的金錢及

信用卡在身上只要透過線上信用卡繳款來直接付款更有效率的幫

消費者解決付款問題

10

表格 1 比較出與某 E 公司的差別

圖 1 Icon Logo

GO RIGHT NOW 是系統的名稱翻譯成中文的意思就是立即行動

當出的理念想法為心動不如馬上心動立即的想法立即去做不要

猶豫想吃就 GO人要想吃甚麼就吃什麼應該被任何條件和現況束

縛吃的健康吃的快樂才能享受人生就是這樣的想法讓我們想要

開發這個系統改變大家對吃的態度想法很簡單節省用餐時間

吃到更好的佳餚想吃美食不用擔心任何事情

由上面的比較出可以明顯知道某 E 公司的優惠為時段性一天

當中只有某幾個時段才有優惠其餘都是原價計算某 E 公司也推出

了類似消費卷的餐卷跟某 E 公司購買餐卷可抵多少而且某 E 公司

主攻為大飯店及酒店都是以北部居多南部方面就少掉很多

某 E 公司 GO RIGHT NOW

優惠時段 時段優惠 假日與非假日

優惠方式 幾人同行 1 人免費或半價 折扣假日與非假日

消費模式 餐卷與刷卡 線上信用卡

促銷方式 搭配節日送禮 搭配節日送禮

餐廳種類 飯店酒店居多 平價餐廳

主攻市場 北部居多 南部居多

VIP 收費 一個月 399 一個月 99

11

圖 2基本流程圖

12

四 商業模式

圖 3 消費者跟餐廳的往來

餐廳跟消費者之間最原始的樣子消費者進去餐廳付錢餐廳提供服

務給消費在現代社會中這種服務方式還是存在但是這種原始的

方式已經沒有辦法迅速滿足消費者的需求系統目的就是要改變這種

傳統的吃飯方式方法是利用我們創造的手機點餐系統

13

以下系統希望的關係圖

圖 4 未來消費模式

希望透過服務可以對消費者跟餐廳有更多的服務帶給大眾更

方便的服務消費者到餐廳用餐通常會有兩種常見的問題第一有的

時候無法得知客滿的狀況常常到了餐廳之後才發現客滿浪費許多

時間再去找下一家餐廳第二種狀況是餐廳不小心忘記消費者的餐點

或是搞錯先後順序讓後來的客人先吃到餐點先來的客人苦苦等不到

餐點這兩種是常見的狀況也會造成消費者的不滿和店家的損失系

統可以完全改善第一種問題的造成第二種狀況店家跟配合的得以

也是可以避免掉的問題

14

圖 5 整體系統的流程圖

智慧型手機利用 3G 或是 WIFI 上網便可以取得店家網站的資料

查看是否還有座位和餐點在消費者查看的同時後端的會員系統也

會進行比對確定消費者是否有紅利點數等等消費者在登入會員之後

便可以進行點餐的部分在消費者點餐和訂位完成之後店家的系統

便會出現消費者會員的資料訂位和相關的點餐資訊等等因此我們

的後端必須非常有完整的架構和系統的組織以下將會介紹在程式放

面的比較和未來工作上的分配

15

(1)希望合作對象

希望已有規模的餐廳為主並且懂得利用網路行銷或是有餐廳的

網站因為有小成就的餐廳更不想因為上餐速度太慢得罪客人或是看

著一批的客人到來卻沒有位置可以迎接想必看在業者眼裡一定非常

痛心懂得利用網路行銷的店面一定也是想透過網路讓他們店的知名

度提升也是利用網路來進行訂位和點餐如果可以互相連結消費者一

定更好選擇[5]

(2)站在店家的角度來說

普通常常客滿的店家一定會希望有更多的位置來容納更多的客

人但這未必是最好的選擇減少消費者在店內等待的時間一樣可以

達到更多人進店裡消費的結果如果再以打折的方式之類的吸引消費

者的注意更可以提升顧客人數舉個例子 從消費者點餐到上菜需

要 15 分鐘消費者開始用餐到用餐完畢也花了 15 分鐘總共花費了

30 分鐘如果使用訂位點餐系統如果消費者使用點餐預約系統在

他們到來前已經預約好定位並且決定要吃什麼餐點並且先行做準備

消費者一到店內就可以直接吃東西省掉消費者點餐到上菜需要的

15 分鐘那麼店內一張桌子就可以馬上清空迎接下一位消費者的用

餐時間從 30 分鐘減少到 15 分鐘就等於花費同樣的時間賺兩倍的錢

[6]

16

情境 1

今天也是客滿我們幾乎每天都客滿可是總覺得客滿歸客滿好像

沒有辦法接收更多的生意常常有客人上門卻因為沒有位子或是等太

久吃不到不開心該怎麼解決這個問題呢其實很簡單利用我們可

以先點餐的功能讓一些訂位的客人們先點餐就可以通知廚房事先

知道並且先進行準備動作等到客人就座便可以開始上菜 一次可以

解決上面兩個題

站在一般消費者的立場不管是一般的學生上班族能用餐的時

間不多以學生來說中午 12 點下課 1 個小時後可能要再趕回學校

上課或者有更重要的事情讓你不能好好的吃一頓飯有時就會有因

為中午吃飯等太久下午回去學校上課的時候遲到引起老師不滿被記

遲到甚至曠課吃飯等上菜等到不開心回到學校還要被老師擺臉色

心情一定不好

舉個例子學生們中午快到的時候透過我們的點餐預約系統裡面

的資料決定好要吃哪家餐廳以及哪種餐點直接透過手機上網的方式

預定好中午 12 點下課一到餐廳不用等太久就可以吃飯大大的減

少等待的時間不用匆匆忙忙得趕回學校上課也不怕說這家客滿找

下一家的麻煩更不用擔心遲到被罵

17

情境 2

有一天女朋友一大早對我說她中午休息時間想要吃很有名的

那家咖哩焗烤飯可是我中午十二點下班一點半就要上班不能等太

久hellip又想要滿足女朋友怎麼辦呢

這時候點餐服務系統就有很好的用處了

利用點餐預約系統事先預訂好位置十二點半到先進行點餐中

午一到就可以輕鬆的去接女朋友到餐廳不用花費太久的時間等待出

菜開心的吃完飯之後再送他回公司上班不但吃到了大餐滿足女朋友

也準時的回公司上班

18

獲取利潤

獲取利潤是跟店家合作不可或缺的內容系統必須可以為店家帶

來更多的消費者並讓店家滿意系統與我們合作讓店家賺錢同時

收取部分的利益並且永續經營先不以賺錢為目的系統可以帶來什

麼樣的滿意服務例如一家小有名氣店面在假日客滿是很平常的事

情但是周一到周五也要天天客滿不太容易可以利用打折優惠來吸引

消費者在人潮較低的時間來消費例如禮拜一到禮拜四的中午這個時

段免服務費禮拜一到禮拜日晚上 9 折這樣可以吸引更多人在低潮

時段前來用餐提升低潮時段的生意

(1)自己當老闆

自己當老闆的想法來看可以跟店家簽約一兩年的時間做為

調整以不會常客滿的店家使用點餐訂位系統可以獲得打折方式來

吸引消費者的注意以 9 折的方式吸引消費者上門達到一定的數量

例如 300 之類的再跟店家收取百分之幾的金額當作酬勞或者是

在禮拜一到禮拜四的冷門時段店家每天提供200個座位給我們跟店家

打 7 折用此系統以 95 折的優惠賣給玩家賺取中間的差額如果透

過我們系統完成 500 個以上的交易再多收部分獎金舉例來說原價

500 塊錢打 7 折 350 元再用 9 折 450 賣給消費者賺取中間 100 的

差額這種方式可以提升店家冷門時候的生意在周末假期的時候用

19

餐的人會比較多但是再多也不可能天天客滿可以送金美小贈品當

作使用我們系統的戰利品

如將來產品成功之後還可賺取廣告費用瀏覽本系統人數越多

代表使用人數也會越多也能幫助到餐廳大廣告從中去賺取費用

(2)賣斷

賣斷也是一種方法把整套系統都賣掉直接收取費用但是非

常低的機率會使用這種方法因為賣斷後必須重新想出一個系統但

是類似或是重複的機率很高

(3)技術入股

技術入股的方式就像 YOUTUBE 賣給 GOOGLE然後 GOOGLE

聘請 YOUTUBE 的老闆當執行長這樣我們可以賣給某企業然後進入

他們企業裡面當他們的執行長並且繼續開發跟維修

20

範例某 E 公司跟台南大億麗緻合作之後消費者直接去大億麗緻消

費和透過某 E 公司訂位消費在價格方面比較便宜以下圖表是使用

某 E 公司跟為使用的差別

圖 6 使用差別

表格 2 某 E 公司賺錢的方法階段性打折

使用E公司 未使用 E公司

平日午餐 610 715

平日下午茶 470 550

平日晚餐 700 825

假日午餐 610 715

假日下午茶 470 660

假日晚餐 700 825

0

100

200

300

400

500

600

700

800

900

使用EZTABLE

未使用 EZTABLE

21

消費者付費方式消費者利用點餐系統並不會付費給我們但

是我們有 VIP 會員的服務整體來說消費者原本只需要辦一個免

費的帳號就可以使用這套軟體但是服務不會比 VIP 會原來的多

VIP 會員可以享受更多優惠的服務

表格 3 有無 VIP 差別

VIP 會員 非 VIP 會員

VIP 消費券 有 無

最新訊息通知 有 無

累積紅利點數 有 無

停車位免費 有 無

季節限定贈品 有 無

以上是說明 VIP 會員的優惠方案當然隨著 VIP 功能的不同會

員價格上也會有所不同就像一般會員和白金會員的差別我們 VIP

的價格是 99 元不會有太貴的困擾隨著 VIP 的優惠功能越來越多

我們會有白金會員 299 元之類的若是已有一般會員的只要再多 200

自動升級成為白金會員

22

購買禮券是一種用更多折扣吸引消費者購買的方式可以在低潮

時段吸引更多金打細算的消費者消費下列的圖表是以某 E 公司跟餐

廳合作禮券的部分

表格 4 某 E 公司跟餐廳合作禮券的部分

餐廳名字 優惠方案 折扣現金

Isabati 義式料理 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

海王子鐵板燒 憑 VIP 禮券$1100 現場可抵

用 1500 元套餐(已含服務費) 400 元

絹絲谷 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

典藏藝術餐廳 憑 VIP 禮券$1000現場可抵用

$1200 消費金額 100 元

非常適合請客的時候使用同時按照購買禮券金額上面的不同

優惠也會有所不同例如1000 元禮券可抵 1100 消費2000 禮券可抵

2200 消費

23

五 系統分析

根據功能性需求(functional requirement)來描述系統並以統一塑模語

言(UMLUnified Modeling Language)呈現之

需求描述

1 顧客可以利用此系統來預約點餐

2 顧客可以利用網際網路查詢餐廳的菜色若有要訂位預約此

餐廳則會幫你篩選出該餐廳簡介及風格和價錢

3 對於菜單的種類系統必須提供連結讓顧客點取顯示菜單的

明細對於欲顧客點餐在顧客還沒確認預約之前顧客可

以將預約單中的菜色做刪除或是更新的動作顧客可以在任

何時刻檢視預約單中的內容顧客可以在確認訂單前之任何

時刻取消預約的動作

4 使用者必須是本站的會員才可以進行點餐預約的動作預

約時會員必須登入到系統系統要查驗登入資料的正確

如果在預約時使用者並非會員系統應該提供讓使用者登

錄為會員的機制

24

5 對於顧客所確認的預約系統必須在預約單成功之後自動

寄發一封 email 給顧客以做為預約的依據它有一點像是傳統

的預約明細表顧客可以利用它來查詢交易的狀態

6 系統必須要有管理會員資料的機制而使用者也應該可以在

任意時刻修改會員資料(系統不提供刪除會員的機制)

7 系統必須要提供查詢的功能查詢時顧客可以利用餐廳

或是地區等等來做分類查詢

8 除了顧客之外系統必須提供管理後端系統的維護只有系

統管理者有權對資料進行維護的動作菜單產品型錄資料存

放在資料庫中

由以上需求描述 可以歸納出以下幾個事件

1加入會員 2會員登入 3瀏覽餐廳 4預約訂位

5點餐 6定位確認 7查詢訂位 8取消訂位

9系統維護 10會員管理資料 11 更新資料 12顧客資料

25

表格 5 手機點餐預約流程事件表

事件名稱 觸發器 來源 活動 回應 目的地

加入會員 註冊 系統 新增 註冊成功 使用者

會員登入 登入 顧客 核對 登入成功 顧客

瀏覽餐廳 選項 顧客 查詢 餐廳呈現 顧客

預約訂位 預約 顧客 產生 預約成功 餐廳

點餐 送出 顧客 產生 訂單編號 餐廳

訂位確認 確認 系統 更新 顧客 餐廳

查詢訂位 查詢 系統 查詢 紀錄表單 系統

取消訂位 取消 顧客 取消 取消確認 系統

系統維護 維護 系統 更新 管理者 管理者

會員管理資料 自動化 系統 更新 資料排列 系統

更新菜單 自動化 餐廳 更新 更新成功 系統

顧客資料 送出 系統 產生 資料呈現 餐廳

菜單事件 送出 系統 產生 菜單表 餐廳

表格 6 手機點餐預約詞彙表(Glossary)

詞彙 解釋 附註

預約 預約包含有客戶資料預約菜單項目

客戶資料 姓名住址電話email 等

菜單 產品編號菜單名稱價格等

登入資料 帳號密碼

餐廳 餐廳類型價格風格

手機 預約瀏覽查詢

26

以下使用案例說明書為手機點餐預約流程的介紹

Use Case Specification 瀏覽

名稱(Name)瀏覽

簡述(Brief Description)顯示給一般民眾我們的系統介面

參與者(Actors)顧客

前提(Pre-Conditions)顯示給一般民眾如何我們系統介面

成功條件(Successful Post-Conditions)進入到介面的首頁

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 瀏覽首頁 2 提共顧客資訊

3 瀏覽餐廳 4 提供顧客熱門餐廳

5 點餐和定餐 6 提供餐廳基本資料

7 是否定位 8 登入會員畫面

27

Use Case Specification 加入會員

名稱(Name)加入會員

簡述(Brief Description)可以透過加入會員索取更多的資料

參與者(Actors)顧客

前提(Pre-Conditions)需要利用我們的系統的使用者

成功條件(Successful Post-Conditions)進入登入會員的登入畫面

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1加入會員 2顯示會員資料表

3填寫會員資料 4成功加入會員

5跳回首頁

4新增失敗

5跳回會員資料表

6 重新填寫會員資料 7成功加入會員

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 3: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

3

圖目錄 圖 1 Icon Logo 10

圖 2基本流程圖 11

圖 3 消費者跟餐廳的往來 12

圖 4 未來消費模式 13

圖 5 整體系統的流程圖 14

圖 6 使用差別 20

圖 7 手機點餐預約 UML 流程圖 42

圖 8eclipse 圖示 47

圖 9phpMyAdmin 圖示 47

圖 10JAVA 圖示 48

圖 11Google 應用服務引擎 48

圖 12Apache Tomcat 專屬圖示 49

圖 13Android 模擬器介面 49

圖 14GRN 應用程式處理概要 74

圖 15GO RIGHT NOW 公司首頁 76

圖 16 創思簡介第一部分 77

圖 17 創思簡介第二部分 77

圖 18 人員介紹 78

圖 19 產品網站連結 78

圖 20 未來目標 79

圖 21 最新訊息 79

圖 22GO RIGHT NOW 產品網頁 80

圖 23 會員登入 80

圖 24 一般會員註冊 81

圖 25 餐廳會員註冊 81

圖 26 登入之後的畫面 82

圖 27 檔案下載 82

圖 28 桌面顯示的 ICON 圖示 83

圖 29 進去之後的畫面 84

圖 30 瀏覽餐聽 84

圖 31 比薩茶坊介紹 85

圖 32 訂位所需資料 85

圖 33 地區的選擇 86

圖 34 種類的選擇 86

圖 35 價位的選擇 87

圖 36 需備註的填寫 87

4

圖 37 訂位成功 88

圖 38 查詢資料 88

表目錄 表格 1 比較出與某 E 公司的差別 10

表格 2 某 E 公司賺錢的方法階段性打折 20

表格 3 有無 VIP 差別 21

表格 4 某 E 公司跟餐廳合作禮券的部分 22

表格 5 手機點餐預約流程事件表 25

表格 6 手機點餐預約詞彙表(Glossary) 25

表格 7 系統差異性 46

表格 8 使用者所能使用的介面 75

5

一 動機目的

現今這個時間就是金錢的時代裡電話預約變成一種常態凡事

都要先預約才行而這幾年來透過網路預約也慢慢變成一種流行從

餐廳來說10 間餐廳裡至少有 5 間餐廳須先電話預約才會有座位

這 10 間裡有 1 間就算有電話預約也不一定會有位子在台灣願意排

隊等候的項目有一半都是願意等待美食的可知如果成功達到預約效

果那就代表的商機將成正成長

手機為不可或缺的必備品藉由手機來進行訂位以及點餐不僅

可以事先預訂位置不怕客滿的問題也可以同時進行點餐的服務減

少了用餐的時間提升顧客給店家的滿意度同時也是給此功能的滿意

度對於店家來說消費者的用餐時間越短代表可以有更多的客人來用

餐[1]合作的對象是已經有網站懂得網路行銷的餐廳或是店家藉由

網頁上的資訊圖片更方便去製作程式主要的目的就是讓使用者減省

時間不管是店家或是消費者都可以達到雙贏的局面

6

透過線上預約消費者更能享受到電話預約顧客不同的禮遇會

先預留下線上預約的消費者專屬位置以及會員透過此系統該有的折

扣便利型的預約會帶來更大的福利[2]

生活中的事都需如此如醫院預約掛號飯店預約訂房車票

預約劃位電影預約購票helliphellip但從智慧型手機更為方便醫院上的

掛號及電影院的購票都必須先由本人到現場填寫資料然而再交由

人員輸入到資料庫裡才會有消費者的會員資料飯店的訂房跟車票

的劃位更為不安全飯店裡如有顧客取消訂房也未通知導致飯店會預

留下空房而車票劃位若車票遺失消費者也無法證明有此車票但線

上預約不會有次問題因為是由智慧型手機上的 APP 程式傳送出去

也會將此手機的資本資料一併傳送出去就能為雙方多一層的保障及

便利

這智慧型手機的時代透過手機上的智慧功能來預約還沒有如此

大眾化就算有此功能也還沒有許多功能可以使用甚至有許多錯誤點

須修正因此想到此商機可以發展所以研發出一套點餐預約系統

來為將來的智慧型時代開創一條新的發展

市面上已有某網站提供此功能來使用此網站每年有千萬的利益

可途如果比照將此功能轉移到手機 APP 程式中那未來的商機將

不可想像[3]

7

某 E 公司起源

某 E 公司現在是全台灣在網路上訂位的領導廠商裡面包含各式

各樣的訂位服務也與全台各大飯店餐廳等企業合作透過線上訂位

的消費者每月有超過 20000 人以下作為某 E 公司簡短的介紹

由四位好友共同創立以創新服務的精神為企業的經營理

念藉由科技的力量提升餐飲產業的服務水準深深的影響著

每個人懂得吃哪裡吃如何吃已成為全民追求的生活品

質更是一種流行的趨勢某 E 公司易訂網對消費者提供了一

個快捷便利24 小時不打烊的網路訂位平台 [4]

對於餐廳經營者某 E 公司易訂網創造了一個新的訂位模

式與服務流程讓各餐廳在 e 化的訂位系統幫助下達成更有

效率的餐廳管理做為消費者和餐廳間的溝通橋樑強化了顧

客滿意度調查資料與資料的分析讓餐廳經營者更加瞭解消費

者的想法而有了改善的方向與行銷依據

8

二 文獻探討

王明杰研究生的研究報告指出目前國內也有多家廠商開發出結

合點菜收銀系統及無線網路的心技術「無線點餐系統(Wireless

Restaurant System)」運用 PDA 手持攜帶式的便利性提供餐飲業者

更方便更快捷的客服品質這項新技術主要是針對餐飲業者提供服

務人員以無線即時的方式為客戶完成點餐的服務

我們提出的「手機點餐預約系統」跟王明杰研究生所提到的「無線

點餐系統」的便利性以及即時性有所相關但主要是以「預約」

的方式來點餐希望客戶能夠在出門前就能夠點餐在到達餐廳的時

候就能夠準備好所有的餐點讓客戶能夠省掉所有等餐以及等位子

的時間讓整個過程達到便利性迅速性以及省時這樣也能夠讓

一些上班族在有用餐時間限制的情況下能夠達到最佳的效率不

必等餐不必等位子有著足夠的時間好好品嘗美食這是所希望達到

的目標[5]

9

三 系統設計方向及功能

企圖效仿了某 E 公司做出一套類似的點餐預約系統但不需透過

網頁上來預約則是透過現在人人手上拿的智慧型手機而且是希望

每個人都能使用這套系統所以提供了平價餐廳讓每一個人都能夠

使用

系統方便解決消費者用餐的問題時間上也能大大減少一半先

篩選出地區及價格選好餐廳之後在選擇好時間與人數一鍵按下

餐廳方面就會有消費者的基本資料比電話預約方面更能清楚有效的

留下預約人的電話及姓名

系統結合了餐廳所供應的餐點及套餐搭配先選好想吃些什麼不

必等到了餐廳還在猶豫不決的想吃什麼也不用服務生來為顧客解說

每樣餐點的食材及特色這樣餐廳方面更能節省了人力把多出來的

人員去調配其餘的工作此系統還可以享受身上不須帶太多的金錢及

信用卡在身上只要透過線上信用卡繳款來直接付款更有效率的幫

消費者解決付款問題

10

表格 1 比較出與某 E 公司的差別

圖 1 Icon Logo

GO RIGHT NOW 是系統的名稱翻譯成中文的意思就是立即行動

當出的理念想法為心動不如馬上心動立即的想法立即去做不要

猶豫想吃就 GO人要想吃甚麼就吃什麼應該被任何條件和現況束

縛吃的健康吃的快樂才能享受人生就是這樣的想法讓我們想要

開發這個系統改變大家對吃的態度想法很簡單節省用餐時間

吃到更好的佳餚想吃美食不用擔心任何事情

由上面的比較出可以明顯知道某 E 公司的優惠為時段性一天

當中只有某幾個時段才有優惠其餘都是原價計算某 E 公司也推出

了類似消費卷的餐卷跟某 E 公司購買餐卷可抵多少而且某 E 公司

主攻為大飯店及酒店都是以北部居多南部方面就少掉很多

某 E 公司 GO RIGHT NOW

優惠時段 時段優惠 假日與非假日

優惠方式 幾人同行 1 人免費或半價 折扣假日與非假日

消費模式 餐卷與刷卡 線上信用卡

促銷方式 搭配節日送禮 搭配節日送禮

餐廳種類 飯店酒店居多 平價餐廳

主攻市場 北部居多 南部居多

VIP 收費 一個月 399 一個月 99

11

圖 2基本流程圖

12

四 商業模式

圖 3 消費者跟餐廳的往來

餐廳跟消費者之間最原始的樣子消費者進去餐廳付錢餐廳提供服

務給消費在現代社會中這種服務方式還是存在但是這種原始的

方式已經沒有辦法迅速滿足消費者的需求系統目的就是要改變這種

傳統的吃飯方式方法是利用我們創造的手機點餐系統

13

以下系統希望的關係圖

圖 4 未來消費模式

希望透過服務可以對消費者跟餐廳有更多的服務帶給大眾更

方便的服務消費者到餐廳用餐通常會有兩種常見的問題第一有的

時候無法得知客滿的狀況常常到了餐廳之後才發現客滿浪費許多

時間再去找下一家餐廳第二種狀況是餐廳不小心忘記消費者的餐點

或是搞錯先後順序讓後來的客人先吃到餐點先來的客人苦苦等不到

餐點這兩種是常見的狀況也會造成消費者的不滿和店家的損失系

統可以完全改善第一種問題的造成第二種狀況店家跟配合的得以

也是可以避免掉的問題

14

圖 5 整體系統的流程圖

智慧型手機利用 3G 或是 WIFI 上網便可以取得店家網站的資料

查看是否還有座位和餐點在消費者查看的同時後端的會員系統也

會進行比對確定消費者是否有紅利點數等等消費者在登入會員之後

便可以進行點餐的部分在消費者點餐和訂位完成之後店家的系統

便會出現消費者會員的資料訂位和相關的點餐資訊等等因此我們

的後端必須非常有完整的架構和系統的組織以下將會介紹在程式放

面的比較和未來工作上的分配

15

(1)希望合作對象

希望已有規模的餐廳為主並且懂得利用網路行銷或是有餐廳的

網站因為有小成就的餐廳更不想因為上餐速度太慢得罪客人或是看

著一批的客人到來卻沒有位置可以迎接想必看在業者眼裡一定非常

痛心懂得利用網路行銷的店面一定也是想透過網路讓他們店的知名

度提升也是利用網路來進行訂位和點餐如果可以互相連結消費者一

定更好選擇[5]

(2)站在店家的角度來說

普通常常客滿的店家一定會希望有更多的位置來容納更多的客

人但這未必是最好的選擇減少消費者在店內等待的時間一樣可以

達到更多人進店裡消費的結果如果再以打折的方式之類的吸引消費

者的注意更可以提升顧客人數舉個例子 從消費者點餐到上菜需

要 15 分鐘消費者開始用餐到用餐完畢也花了 15 分鐘總共花費了

30 分鐘如果使用訂位點餐系統如果消費者使用點餐預約系統在

他們到來前已經預約好定位並且決定要吃什麼餐點並且先行做準備

消費者一到店內就可以直接吃東西省掉消費者點餐到上菜需要的

15 分鐘那麼店內一張桌子就可以馬上清空迎接下一位消費者的用

餐時間從 30 分鐘減少到 15 分鐘就等於花費同樣的時間賺兩倍的錢

[6]

16

情境 1

今天也是客滿我們幾乎每天都客滿可是總覺得客滿歸客滿好像

沒有辦法接收更多的生意常常有客人上門卻因為沒有位子或是等太

久吃不到不開心該怎麼解決這個問題呢其實很簡單利用我們可

以先點餐的功能讓一些訂位的客人們先點餐就可以通知廚房事先

知道並且先進行準備動作等到客人就座便可以開始上菜 一次可以

解決上面兩個題

站在一般消費者的立場不管是一般的學生上班族能用餐的時

間不多以學生來說中午 12 點下課 1 個小時後可能要再趕回學校

上課或者有更重要的事情讓你不能好好的吃一頓飯有時就會有因

為中午吃飯等太久下午回去學校上課的時候遲到引起老師不滿被記

遲到甚至曠課吃飯等上菜等到不開心回到學校還要被老師擺臉色

心情一定不好

舉個例子學生們中午快到的時候透過我們的點餐預約系統裡面

的資料決定好要吃哪家餐廳以及哪種餐點直接透過手機上網的方式

預定好中午 12 點下課一到餐廳不用等太久就可以吃飯大大的減

少等待的時間不用匆匆忙忙得趕回學校上課也不怕說這家客滿找

下一家的麻煩更不用擔心遲到被罵

17

情境 2

有一天女朋友一大早對我說她中午休息時間想要吃很有名的

那家咖哩焗烤飯可是我中午十二點下班一點半就要上班不能等太

久hellip又想要滿足女朋友怎麼辦呢

這時候點餐服務系統就有很好的用處了

利用點餐預約系統事先預訂好位置十二點半到先進行點餐中

午一到就可以輕鬆的去接女朋友到餐廳不用花費太久的時間等待出

菜開心的吃完飯之後再送他回公司上班不但吃到了大餐滿足女朋友

也準時的回公司上班

18

獲取利潤

獲取利潤是跟店家合作不可或缺的內容系統必須可以為店家帶

來更多的消費者並讓店家滿意系統與我們合作讓店家賺錢同時

收取部分的利益並且永續經營先不以賺錢為目的系統可以帶來什

麼樣的滿意服務例如一家小有名氣店面在假日客滿是很平常的事

情但是周一到周五也要天天客滿不太容易可以利用打折優惠來吸引

消費者在人潮較低的時間來消費例如禮拜一到禮拜四的中午這個時

段免服務費禮拜一到禮拜日晚上 9 折這樣可以吸引更多人在低潮

時段前來用餐提升低潮時段的生意

(1)自己當老闆

自己當老闆的想法來看可以跟店家簽約一兩年的時間做為

調整以不會常客滿的店家使用點餐訂位系統可以獲得打折方式來

吸引消費者的注意以 9 折的方式吸引消費者上門達到一定的數量

例如 300 之類的再跟店家收取百分之幾的金額當作酬勞或者是

在禮拜一到禮拜四的冷門時段店家每天提供200個座位給我們跟店家

打 7 折用此系統以 95 折的優惠賣給玩家賺取中間的差額如果透

過我們系統完成 500 個以上的交易再多收部分獎金舉例來說原價

500 塊錢打 7 折 350 元再用 9 折 450 賣給消費者賺取中間 100 的

差額這種方式可以提升店家冷門時候的生意在周末假期的時候用

19

餐的人會比較多但是再多也不可能天天客滿可以送金美小贈品當

作使用我們系統的戰利品

如將來產品成功之後還可賺取廣告費用瀏覽本系統人數越多

代表使用人數也會越多也能幫助到餐廳大廣告從中去賺取費用

(2)賣斷

賣斷也是一種方法把整套系統都賣掉直接收取費用但是非

常低的機率會使用這種方法因為賣斷後必須重新想出一個系統但

是類似或是重複的機率很高

(3)技術入股

技術入股的方式就像 YOUTUBE 賣給 GOOGLE然後 GOOGLE

聘請 YOUTUBE 的老闆當執行長這樣我們可以賣給某企業然後進入

他們企業裡面當他們的執行長並且繼續開發跟維修

20

範例某 E 公司跟台南大億麗緻合作之後消費者直接去大億麗緻消

費和透過某 E 公司訂位消費在價格方面比較便宜以下圖表是使用

某 E 公司跟為使用的差別

圖 6 使用差別

表格 2 某 E 公司賺錢的方法階段性打折

使用E公司 未使用 E公司

平日午餐 610 715

平日下午茶 470 550

平日晚餐 700 825

假日午餐 610 715

假日下午茶 470 660

假日晚餐 700 825

0

100

200

300

400

500

600

700

800

900

使用EZTABLE

未使用 EZTABLE

21

消費者付費方式消費者利用點餐系統並不會付費給我們但

是我們有 VIP 會員的服務整體來說消費者原本只需要辦一個免

費的帳號就可以使用這套軟體但是服務不會比 VIP 會原來的多

VIP 會員可以享受更多優惠的服務

表格 3 有無 VIP 差別

VIP 會員 非 VIP 會員

VIP 消費券 有 無

最新訊息通知 有 無

累積紅利點數 有 無

停車位免費 有 無

季節限定贈品 有 無

以上是說明 VIP 會員的優惠方案當然隨著 VIP 功能的不同會

員價格上也會有所不同就像一般會員和白金會員的差別我們 VIP

的價格是 99 元不會有太貴的困擾隨著 VIP 的優惠功能越來越多

我們會有白金會員 299 元之類的若是已有一般會員的只要再多 200

自動升級成為白金會員

22

購買禮券是一種用更多折扣吸引消費者購買的方式可以在低潮

時段吸引更多金打細算的消費者消費下列的圖表是以某 E 公司跟餐

廳合作禮券的部分

表格 4 某 E 公司跟餐廳合作禮券的部分

餐廳名字 優惠方案 折扣現金

Isabati 義式料理 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

海王子鐵板燒 憑 VIP 禮券$1100 現場可抵

用 1500 元套餐(已含服務費) 400 元

絹絲谷 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

典藏藝術餐廳 憑 VIP 禮券$1000現場可抵用

$1200 消費金額 100 元

非常適合請客的時候使用同時按照購買禮券金額上面的不同

優惠也會有所不同例如1000 元禮券可抵 1100 消費2000 禮券可抵

2200 消費

23

五 系統分析

根據功能性需求(functional requirement)來描述系統並以統一塑模語

言(UMLUnified Modeling Language)呈現之

需求描述

1 顧客可以利用此系統來預約點餐

2 顧客可以利用網際網路查詢餐廳的菜色若有要訂位預約此

餐廳則會幫你篩選出該餐廳簡介及風格和價錢

3 對於菜單的種類系統必須提供連結讓顧客點取顯示菜單的

明細對於欲顧客點餐在顧客還沒確認預約之前顧客可

以將預約單中的菜色做刪除或是更新的動作顧客可以在任

何時刻檢視預約單中的內容顧客可以在確認訂單前之任何

時刻取消預約的動作

4 使用者必須是本站的會員才可以進行點餐預約的動作預

約時會員必須登入到系統系統要查驗登入資料的正確

如果在預約時使用者並非會員系統應該提供讓使用者登

錄為會員的機制

24

5 對於顧客所確認的預約系統必須在預約單成功之後自動

寄發一封 email 給顧客以做為預約的依據它有一點像是傳統

的預約明細表顧客可以利用它來查詢交易的狀態

6 系統必須要有管理會員資料的機制而使用者也應該可以在

任意時刻修改會員資料(系統不提供刪除會員的機制)

7 系統必須要提供查詢的功能查詢時顧客可以利用餐廳

或是地區等等來做分類查詢

8 除了顧客之外系統必須提供管理後端系統的維護只有系

統管理者有權對資料進行維護的動作菜單產品型錄資料存

放在資料庫中

由以上需求描述 可以歸納出以下幾個事件

1加入會員 2會員登入 3瀏覽餐廳 4預約訂位

5點餐 6定位確認 7查詢訂位 8取消訂位

9系統維護 10會員管理資料 11 更新資料 12顧客資料

25

表格 5 手機點餐預約流程事件表

事件名稱 觸發器 來源 活動 回應 目的地

加入會員 註冊 系統 新增 註冊成功 使用者

會員登入 登入 顧客 核對 登入成功 顧客

瀏覽餐廳 選項 顧客 查詢 餐廳呈現 顧客

預約訂位 預約 顧客 產生 預約成功 餐廳

點餐 送出 顧客 產生 訂單編號 餐廳

訂位確認 確認 系統 更新 顧客 餐廳

查詢訂位 查詢 系統 查詢 紀錄表單 系統

取消訂位 取消 顧客 取消 取消確認 系統

系統維護 維護 系統 更新 管理者 管理者

會員管理資料 自動化 系統 更新 資料排列 系統

更新菜單 自動化 餐廳 更新 更新成功 系統

顧客資料 送出 系統 產生 資料呈現 餐廳

菜單事件 送出 系統 產生 菜單表 餐廳

表格 6 手機點餐預約詞彙表(Glossary)

詞彙 解釋 附註

預約 預約包含有客戶資料預約菜單項目

客戶資料 姓名住址電話email 等

菜單 產品編號菜單名稱價格等

登入資料 帳號密碼

餐廳 餐廳類型價格風格

手機 預約瀏覽查詢

26

以下使用案例說明書為手機點餐預約流程的介紹

Use Case Specification 瀏覽

名稱(Name)瀏覽

簡述(Brief Description)顯示給一般民眾我們的系統介面

參與者(Actors)顧客

前提(Pre-Conditions)顯示給一般民眾如何我們系統介面

成功條件(Successful Post-Conditions)進入到介面的首頁

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 瀏覽首頁 2 提共顧客資訊

3 瀏覽餐廳 4 提供顧客熱門餐廳

5 點餐和定餐 6 提供餐廳基本資料

7 是否定位 8 登入會員畫面

27

Use Case Specification 加入會員

名稱(Name)加入會員

簡述(Brief Description)可以透過加入會員索取更多的資料

參與者(Actors)顧客

前提(Pre-Conditions)需要利用我們的系統的使用者

成功條件(Successful Post-Conditions)進入登入會員的登入畫面

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1加入會員 2顯示會員資料表

3填寫會員資料 4成功加入會員

5跳回首頁

4新增失敗

5跳回會員資料表

6 重新填寫會員資料 7成功加入會員

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 4: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

4

圖 37 訂位成功 88

圖 38 查詢資料 88

表目錄 表格 1 比較出與某 E 公司的差別 10

表格 2 某 E 公司賺錢的方法階段性打折 20

表格 3 有無 VIP 差別 21

表格 4 某 E 公司跟餐廳合作禮券的部分 22

表格 5 手機點餐預約流程事件表 25

表格 6 手機點餐預約詞彙表(Glossary) 25

表格 7 系統差異性 46

表格 8 使用者所能使用的介面 75

5

一 動機目的

現今這個時間就是金錢的時代裡電話預約變成一種常態凡事

都要先預約才行而這幾年來透過網路預約也慢慢變成一種流行從

餐廳來說10 間餐廳裡至少有 5 間餐廳須先電話預約才會有座位

這 10 間裡有 1 間就算有電話預約也不一定會有位子在台灣願意排

隊等候的項目有一半都是願意等待美食的可知如果成功達到預約效

果那就代表的商機將成正成長

手機為不可或缺的必備品藉由手機來進行訂位以及點餐不僅

可以事先預訂位置不怕客滿的問題也可以同時進行點餐的服務減

少了用餐的時間提升顧客給店家的滿意度同時也是給此功能的滿意

度對於店家來說消費者的用餐時間越短代表可以有更多的客人來用

餐[1]合作的對象是已經有網站懂得網路行銷的餐廳或是店家藉由

網頁上的資訊圖片更方便去製作程式主要的目的就是讓使用者減省

時間不管是店家或是消費者都可以達到雙贏的局面

6

透過線上預約消費者更能享受到電話預約顧客不同的禮遇會

先預留下線上預約的消費者專屬位置以及會員透過此系統該有的折

扣便利型的預約會帶來更大的福利[2]

生活中的事都需如此如醫院預約掛號飯店預約訂房車票

預約劃位電影預約購票helliphellip但從智慧型手機更為方便醫院上的

掛號及電影院的購票都必須先由本人到現場填寫資料然而再交由

人員輸入到資料庫裡才會有消費者的會員資料飯店的訂房跟車票

的劃位更為不安全飯店裡如有顧客取消訂房也未通知導致飯店會預

留下空房而車票劃位若車票遺失消費者也無法證明有此車票但線

上預約不會有次問題因為是由智慧型手機上的 APP 程式傳送出去

也會將此手機的資本資料一併傳送出去就能為雙方多一層的保障及

便利

這智慧型手機的時代透過手機上的智慧功能來預約還沒有如此

大眾化就算有此功能也還沒有許多功能可以使用甚至有許多錯誤點

須修正因此想到此商機可以發展所以研發出一套點餐預約系統

來為將來的智慧型時代開創一條新的發展

市面上已有某網站提供此功能來使用此網站每年有千萬的利益

可途如果比照將此功能轉移到手機 APP 程式中那未來的商機將

不可想像[3]

7

某 E 公司起源

某 E 公司現在是全台灣在網路上訂位的領導廠商裡面包含各式

各樣的訂位服務也與全台各大飯店餐廳等企業合作透過線上訂位

的消費者每月有超過 20000 人以下作為某 E 公司簡短的介紹

由四位好友共同創立以創新服務的精神為企業的經營理

念藉由科技的力量提升餐飲產業的服務水準深深的影響著

每個人懂得吃哪裡吃如何吃已成為全民追求的生活品

質更是一種流行的趨勢某 E 公司易訂網對消費者提供了一

個快捷便利24 小時不打烊的網路訂位平台 [4]

對於餐廳經營者某 E 公司易訂網創造了一個新的訂位模

式與服務流程讓各餐廳在 e 化的訂位系統幫助下達成更有

效率的餐廳管理做為消費者和餐廳間的溝通橋樑強化了顧

客滿意度調查資料與資料的分析讓餐廳經營者更加瞭解消費

者的想法而有了改善的方向與行銷依據

8

二 文獻探討

王明杰研究生的研究報告指出目前國內也有多家廠商開發出結

合點菜收銀系統及無線網路的心技術「無線點餐系統(Wireless

Restaurant System)」運用 PDA 手持攜帶式的便利性提供餐飲業者

更方便更快捷的客服品質這項新技術主要是針對餐飲業者提供服

務人員以無線即時的方式為客戶完成點餐的服務

我們提出的「手機點餐預約系統」跟王明杰研究生所提到的「無線

點餐系統」的便利性以及即時性有所相關但主要是以「預約」

的方式來點餐希望客戶能夠在出門前就能夠點餐在到達餐廳的時

候就能夠準備好所有的餐點讓客戶能夠省掉所有等餐以及等位子

的時間讓整個過程達到便利性迅速性以及省時這樣也能夠讓

一些上班族在有用餐時間限制的情況下能夠達到最佳的效率不

必等餐不必等位子有著足夠的時間好好品嘗美食這是所希望達到

的目標[5]

9

三 系統設計方向及功能

企圖效仿了某 E 公司做出一套類似的點餐預約系統但不需透過

網頁上來預約則是透過現在人人手上拿的智慧型手機而且是希望

每個人都能使用這套系統所以提供了平價餐廳讓每一個人都能夠

使用

系統方便解決消費者用餐的問題時間上也能大大減少一半先

篩選出地區及價格選好餐廳之後在選擇好時間與人數一鍵按下

餐廳方面就會有消費者的基本資料比電話預約方面更能清楚有效的

留下預約人的電話及姓名

系統結合了餐廳所供應的餐點及套餐搭配先選好想吃些什麼不

必等到了餐廳還在猶豫不決的想吃什麼也不用服務生來為顧客解說

每樣餐點的食材及特色這樣餐廳方面更能節省了人力把多出來的

人員去調配其餘的工作此系統還可以享受身上不須帶太多的金錢及

信用卡在身上只要透過線上信用卡繳款來直接付款更有效率的幫

消費者解決付款問題

10

表格 1 比較出與某 E 公司的差別

圖 1 Icon Logo

GO RIGHT NOW 是系統的名稱翻譯成中文的意思就是立即行動

當出的理念想法為心動不如馬上心動立即的想法立即去做不要

猶豫想吃就 GO人要想吃甚麼就吃什麼應該被任何條件和現況束

縛吃的健康吃的快樂才能享受人生就是這樣的想法讓我們想要

開發這個系統改變大家對吃的態度想法很簡單節省用餐時間

吃到更好的佳餚想吃美食不用擔心任何事情

由上面的比較出可以明顯知道某 E 公司的優惠為時段性一天

當中只有某幾個時段才有優惠其餘都是原價計算某 E 公司也推出

了類似消費卷的餐卷跟某 E 公司購買餐卷可抵多少而且某 E 公司

主攻為大飯店及酒店都是以北部居多南部方面就少掉很多

某 E 公司 GO RIGHT NOW

優惠時段 時段優惠 假日與非假日

優惠方式 幾人同行 1 人免費或半價 折扣假日與非假日

消費模式 餐卷與刷卡 線上信用卡

促銷方式 搭配節日送禮 搭配節日送禮

餐廳種類 飯店酒店居多 平價餐廳

主攻市場 北部居多 南部居多

VIP 收費 一個月 399 一個月 99

11

圖 2基本流程圖

12

四 商業模式

圖 3 消費者跟餐廳的往來

餐廳跟消費者之間最原始的樣子消費者進去餐廳付錢餐廳提供服

務給消費在現代社會中這種服務方式還是存在但是這種原始的

方式已經沒有辦法迅速滿足消費者的需求系統目的就是要改變這種

傳統的吃飯方式方法是利用我們創造的手機點餐系統

13

以下系統希望的關係圖

圖 4 未來消費模式

希望透過服務可以對消費者跟餐廳有更多的服務帶給大眾更

方便的服務消費者到餐廳用餐通常會有兩種常見的問題第一有的

時候無法得知客滿的狀況常常到了餐廳之後才發現客滿浪費許多

時間再去找下一家餐廳第二種狀況是餐廳不小心忘記消費者的餐點

或是搞錯先後順序讓後來的客人先吃到餐點先來的客人苦苦等不到

餐點這兩種是常見的狀況也會造成消費者的不滿和店家的損失系

統可以完全改善第一種問題的造成第二種狀況店家跟配合的得以

也是可以避免掉的問題

14

圖 5 整體系統的流程圖

智慧型手機利用 3G 或是 WIFI 上網便可以取得店家網站的資料

查看是否還有座位和餐點在消費者查看的同時後端的會員系統也

會進行比對確定消費者是否有紅利點數等等消費者在登入會員之後

便可以進行點餐的部分在消費者點餐和訂位完成之後店家的系統

便會出現消費者會員的資料訂位和相關的點餐資訊等等因此我們

的後端必須非常有完整的架構和系統的組織以下將會介紹在程式放

面的比較和未來工作上的分配

15

(1)希望合作對象

希望已有規模的餐廳為主並且懂得利用網路行銷或是有餐廳的

網站因為有小成就的餐廳更不想因為上餐速度太慢得罪客人或是看

著一批的客人到來卻沒有位置可以迎接想必看在業者眼裡一定非常

痛心懂得利用網路行銷的店面一定也是想透過網路讓他們店的知名

度提升也是利用網路來進行訂位和點餐如果可以互相連結消費者一

定更好選擇[5]

(2)站在店家的角度來說

普通常常客滿的店家一定會希望有更多的位置來容納更多的客

人但這未必是最好的選擇減少消費者在店內等待的時間一樣可以

達到更多人進店裡消費的結果如果再以打折的方式之類的吸引消費

者的注意更可以提升顧客人數舉個例子 從消費者點餐到上菜需

要 15 分鐘消費者開始用餐到用餐完畢也花了 15 分鐘總共花費了

30 分鐘如果使用訂位點餐系統如果消費者使用點餐預約系統在

他們到來前已經預約好定位並且決定要吃什麼餐點並且先行做準備

消費者一到店內就可以直接吃東西省掉消費者點餐到上菜需要的

15 分鐘那麼店內一張桌子就可以馬上清空迎接下一位消費者的用

餐時間從 30 分鐘減少到 15 分鐘就等於花費同樣的時間賺兩倍的錢

[6]

16

情境 1

今天也是客滿我們幾乎每天都客滿可是總覺得客滿歸客滿好像

沒有辦法接收更多的生意常常有客人上門卻因為沒有位子或是等太

久吃不到不開心該怎麼解決這個問題呢其實很簡單利用我們可

以先點餐的功能讓一些訂位的客人們先點餐就可以通知廚房事先

知道並且先進行準備動作等到客人就座便可以開始上菜 一次可以

解決上面兩個題

站在一般消費者的立場不管是一般的學生上班族能用餐的時

間不多以學生來說中午 12 點下課 1 個小時後可能要再趕回學校

上課或者有更重要的事情讓你不能好好的吃一頓飯有時就會有因

為中午吃飯等太久下午回去學校上課的時候遲到引起老師不滿被記

遲到甚至曠課吃飯等上菜等到不開心回到學校還要被老師擺臉色

心情一定不好

舉個例子學生們中午快到的時候透過我們的點餐預約系統裡面

的資料決定好要吃哪家餐廳以及哪種餐點直接透過手機上網的方式

預定好中午 12 點下課一到餐廳不用等太久就可以吃飯大大的減

少等待的時間不用匆匆忙忙得趕回學校上課也不怕說這家客滿找

下一家的麻煩更不用擔心遲到被罵

17

情境 2

有一天女朋友一大早對我說她中午休息時間想要吃很有名的

那家咖哩焗烤飯可是我中午十二點下班一點半就要上班不能等太

久hellip又想要滿足女朋友怎麼辦呢

這時候點餐服務系統就有很好的用處了

利用點餐預約系統事先預訂好位置十二點半到先進行點餐中

午一到就可以輕鬆的去接女朋友到餐廳不用花費太久的時間等待出

菜開心的吃完飯之後再送他回公司上班不但吃到了大餐滿足女朋友

也準時的回公司上班

18

獲取利潤

獲取利潤是跟店家合作不可或缺的內容系統必須可以為店家帶

來更多的消費者並讓店家滿意系統與我們合作讓店家賺錢同時

收取部分的利益並且永續經營先不以賺錢為目的系統可以帶來什

麼樣的滿意服務例如一家小有名氣店面在假日客滿是很平常的事

情但是周一到周五也要天天客滿不太容易可以利用打折優惠來吸引

消費者在人潮較低的時間來消費例如禮拜一到禮拜四的中午這個時

段免服務費禮拜一到禮拜日晚上 9 折這樣可以吸引更多人在低潮

時段前來用餐提升低潮時段的生意

(1)自己當老闆

自己當老闆的想法來看可以跟店家簽約一兩年的時間做為

調整以不會常客滿的店家使用點餐訂位系統可以獲得打折方式來

吸引消費者的注意以 9 折的方式吸引消費者上門達到一定的數量

例如 300 之類的再跟店家收取百分之幾的金額當作酬勞或者是

在禮拜一到禮拜四的冷門時段店家每天提供200個座位給我們跟店家

打 7 折用此系統以 95 折的優惠賣給玩家賺取中間的差額如果透

過我們系統完成 500 個以上的交易再多收部分獎金舉例來說原價

500 塊錢打 7 折 350 元再用 9 折 450 賣給消費者賺取中間 100 的

差額這種方式可以提升店家冷門時候的生意在周末假期的時候用

19

餐的人會比較多但是再多也不可能天天客滿可以送金美小贈品當

作使用我們系統的戰利品

如將來產品成功之後還可賺取廣告費用瀏覽本系統人數越多

代表使用人數也會越多也能幫助到餐廳大廣告從中去賺取費用

(2)賣斷

賣斷也是一種方法把整套系統都賣掉直接收取費用但是非

常低的機率會使用這種方法因為賣斷後必須重新想出一個系統但

是類似或是重複的機率很高

(3)技術入股

技術入股的方式就像 YOUTUBE 賣給 GOOGLE然後 GOOGLE

聘請 YOUTUBE 的老闆當執行長這樣我們可以賣給某企業然後進入

他們企業裡面當他們的執行長並且繼續開發跟維修

20

範例某 E 公司跟台南大億麗緻合作之後消費者直接去大億麗緻消

費和透過某 E 公司訂位消費在價格方面比較便宜以下圖表是使用

某 E 公司跟為使用的差別

圖 6 使用差別

表格 2 某 E 公司賺錢的方法階段性打折

使用E公司 未使用 E公司

平日午餐 610 715

平日下午茶 470 550

平日晚餐 700 825

假日午餐 610 715

假日下午茶 470 660

假日晚餐 700 825

0

100

200

300

400

500

600

700

800

900

使用EZTABLE

未使用 EZTABLE

21

消費者付費方式消費者利用點餐系統並不會付費給我們但

是我們有 VIP 會員的服務整體來說消費者原本只需要辦一個免

費的帳號就可以使用這套軟體但是服務不會比 VIP 會原來的多

VIP 會員可以享受更多優惠的服務

表格 3 有無 VIP 差別

VIP 會員 非 VIP 會員

VIP 消費券 有 無

最新訊息通知 有 無

累積紅利點數 有 無

停車位免費 有 無

季節限定贈品 有 無

以上是說明 VIP 會員的優惠方案當然隨著 VIP 功能的不同會

員價格上也會有所不同就像一般會員和白金會員的差別我們 VIP

的價格是 99 元不會有太貴的困擾隨著 VIP 的優惠功能越來越多

我們會有白金會員 299 元之類的若是已有一般會員的只要再多 200

自動升級成為白金會員

22

購買禮券是一種用更多折扣吸引消費者購買的方式可以在低潮

時段吸引更多金打細算的消費者消費下列的圖表是以某 E 公司跟餐

廳合作禮券的部分

表格 4 某 E 公司跟餐廳合作禮券的部分

餐廳名字 優惠方案 折扣現金

Isabati 義式料理 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

海王子鐵板燒 憑 VIP 禮券$1100 現場可抵

用 1500 元套餐(已含服務費) 400 元

絹絲谷 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

典藏藝術餐廳 憑 VIP 禮券$1000現場可抵用

$1200 消費金額 100 元

非常適合請客的時候使用同時按照購買禮券金額上面的不同

優惠也會有所不同例如1000 元禮券可抵 1100 消費2000 禮券可抵

2200 消費

23

五 系統分析

根據功能性需求(functional requirement)來描述系統並以統一塑模語

言(UMLUnified Modeling Language)呈現之

需求描述

1 顧客可以利用此系統來預約點餐

2 顧客可以利用網際網路查詢餐廳的菜色若有要訂位預約此

餐廳則會幫你篩選出該餐廳簡介及風格和價錢

3 對於菜單的種類系統必須提供連結讓顧客點取顯示菜單的

明細對於欲顧客點餐在顧客還沒確認預約之前顧客可

以將預約單中的菜色做刪除或是更新的動作顧客可以在任

何時刻檢視預約單中的內容顧客可以在確認訂單前之任何

時刻取消預約的動作

4 使用者必須是本站的會員才可以進行點餐預約的動作預

約時會員必須登入到系統系統要查驗登入資料的正確

如果在預約時使用者並非會員系統應該提供讓使用者登

錄為會員的機制

24

5 對於顧客所確認的預約系統必須在預約單成功之後自動

寄發一封 email 給顧客以做為預約的依據它有一點像是傳統

的預約明細表顧客可以利用它來查詢交易的狀態

6 系統必須要有管理會員資料的機制而使用者也應該可以在

任意時刻修改會員資料(系統不提供刪除會員的機制)

7 系統必須要提供查詢的功能查詢時顧客可以利用餐廳

或是地區等等來做分類查詢

8 除了顧客之外系統必須提供管理後端系統的維護只有系

統管理者有權對資料進行維護的動作菜單產品型錄資料存

放在資料庫中

由以上需求描述 可以歸納出以下幾個事件

1加入會員 2會員登入 3瀏覽餐廳 4預約訂位

5點餐 6定位確認 7查詢訂位 8取消訂位

9系統維護 10會員管理資料 11 更新資料 12顧客資料

25

表格 5 手機點餐預約流程事件表

事件名稱 觸發器 來源 活動 回應 目的地

加入會員 註冊 系統 新增 註冊成功 使用者

會員登入 登入 顧客 核對 登入成功 顧客

瀏覽餐廳 選項 顧客 查詢 餐廳呈現 顧客

預約訂位 預約 顧客 產生 預約成功 餐廳

點餐 送出 顧客 產生 訂單編號 餐廳

訂位確認 確認 系統 更新 顧客 餐廳

查詢訂位 查詢 系統 查詢 紀錄表單 系統

取消訂位 取消 顧客 取消 取消確認 系統

系統維護 維護 系統 更新 管理者 管理者

會員管理資料 自動化 系統 更新 資料排列 系統

更新菜單 自動化 餐廳 更新 更新成功 系統

顧客資料 送出 系統 產生 資料呈現 餐廳

菜單事件 送出 系統 產生 菜單表 餐廳

表格 6 手機點餐預約詞彙表(Glossary)

詞彙 解釋 附註

預約 預約包含有客戶資料預約菜單項目

客戶資料 姓名住址電話email 等

菜單 產品編號菜單名稱價格等

登入資料 帳號密碼

餐廳 餐廳類型價格風格

手機 預約瀏覽查詢

26

以下使用案例說明書為手機點餐預約流程的介紹

Use Case Specification 瀏覽

名稱(Name)瀏覽

簡述(Brief Description)顯示給一般民眾我們的系統介面

參與者(Actors)顧客

前提(Pre-Conditions)顯示給一般民眾如何我們系統介面

成功條件(Successful Post-Conditions)進入到介面的首頁

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 瀏覽首頁 2 提共顧客資訊

3 瀏覽餐廳 4 提供顧客熱門餐廳

5 點餐和定餐 6 提供餐廳基本資料

7 是否定位 8 登入會員畫面

27

Use Case Specification 加入會員

名稱(Name)加入會員

簡述(Brief Description)可以透過加入會員索取更多的資料

參與者(Actors)顧客

前提(Pre-Conditions)需要利用我們的系統的使用者

成功條件(Successful Post-Conditions)進入登入會員的登入畫面

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1加入會員 2顯示會員資料表

3填寫會員資料 4成功加入會員

5跳回首頁

4新增失敗

5跳回會員資料表

6 重新填寫會員資料 7成功加入會員

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 5: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

5

一 動機目的

現今這個時間就是金錢的時代裡電話預約變成一種常態凡事

都要先預約才行而這幾年來透過網路預約也慢慢變成一種流行從

餐廳來說10 間餐廳裡至少有 5 間餐廳須先電話預約才會有座位

這 10 間裡有 1 間就算有電話預約也不一定會有位子在台灣願意排

隊等候的項目有一半都是願意等待美食的可知如果成功達到預約效

果那就代表的商機將成正成長

手機為不可或缺的必備品藉由手機來進行訂位以及點餐不僅

可以事先預訂位置不怕客滿的問題也可以同時進行點餐的服務減

少了用餐的時間提升顧客給店家的滿意度同時也是給此功能的滿意

度對於店家來說消費者的用餐時間越短代表可以有更多的客人來用

餐[1]合作的對象是已經有網站懂得網路行銷的餐廳或是店家藉由

網頁上的資訊圖片更方便去製作程式主要的目的就是讓使用者減省

時間不管是店家或是消費者都可以達到雙贏的局面

6

透過線上預約消費者更能享受到電話預約顧客不同的禮遇會

先預留下線上預約的消費者專屬位置以及會員透過此系統該有的折

扣便利型的預約會帶來更大的福利[2]

生活中的事都需如此如醫院預約掛號飯店預約訂房車票

預約劃位電影預約購票helliphellip但從智慧型手機更為方便醫院上的

掛號及電影院的購票都必須先由本人到現場填寫資料然而再交由

人員輸入到資料庫裡才會有消費者的會員資料飯店的訂房跟車票

的劃位更為不安全飯店裡如有顧客取消訂房也未通知導致飯店會預

留下空房而車票劃位若車票遺失消費者也無法證明有此車票但線

上預約不會有次問題因為是由智慧型手機上的 APP 程式傳送出去

也會將此手機的資本資料一併傳送出去就能為雙方多一層的保障及

便利

這智慧型手機的時代透過手機上的智慧功能來預約還沒有如此

大眾化就算有此功能也還沒有許多功能可以使用甚至有許多錯誤點

須修正因此想到此商機可以發展所以研發出一套點餐預約系統

來為將來的智慧型時代開創一條新的發展

市面上已有某網站提供此功能來使用此網站每年有千萬的利益

可途如果比照將此功能轉移到手機 APP 程式中那未來的商機將

不可想像[3]

7

某 E 公司起源

某 E 公司現在是全台灣在網路上訂位的領導廠商裡面包含各式

各樣的訂位服務也與全台各大飯店餐廳等企業合作透過線上訂位

的消費者每月有超過 20000 人以下作為某 E 公司簡短的介紹

由四位好友共同創立以創新服務的精神為企業的經營理

念藉由科技的力量提升餐飲產業的服務水準深深的影響著

每個人懂得吃哪裡吃如何吃已成為全民追求的生活品

質更是一種流行的趨勢某 E 公司易訂網對消費者提供了一

個快捷便利24 小時不打烊的網路訂位平台 [4]

對於餐廳經營者某 E 公司易訂網創造了一個新的訂位模

式與服務流程讓各餐廳在 e 化的訂位系統幫助下達成更有

效率的餐廳管理做為消費者和餐廳間的溝通橋樑強化了顧

客滿意度調查資料與資料的分析讓餐廳經營者更加瞭解消費

者的想法而有了改善的方向與行銷依據

8

二 文獻探討

王明杰研究生的研究報告指出目前國內也有多家廠商開發出結

合點菜收銀系統及無線網路的心技術「無線點餐系統(Wireless

Restaurant System)」運用 PDA 手持攜帶式的便利性提供餐飲業者

更方便更快捷的客服品質這項新技術主要是針對餐飲業者提供服

務人員以無線即時的方式為客戶完成點餐的服務

我們提出的「手機點餐預約系統」跟王明杰研究生所提到的「無線

點餐系統」的便利性以及即時性有所相關但主要是以「預約」

的方式來點餐希望客戶能夠在出門前就能夠點餐在到達餐廳的時

候就能夠準備好所有的餐點讓客戶能夠省掉所有等餐以及等位子

的時間讓整個過程達到便利性迅速性以及省時這樣也能夠讓

一些上班族在有用餐時間限制的情況下能夠達到最佳的效率不

必等餐不必等位子有著足夠的時間好好品嘗美食這是所希望達到

的目標[5]

9

三 系統設計方向及功能

企圖效仿了某 E 公司做出一套類似的點餐預約系統但不需透過

網頁上來預約則是透過現在人人手上拿的智慧型手機而且是希望

每個人都能使用這套系統所以提供了平價餐廳讓每一個人都能夠

使用

系統方便解決消費者用餐的問題時間上也能大大減少一半先

篩選出地區及價格選好餐廳之後在選擇好時間與人數一鍵按下

餐廳方面就會有消費者的基本資料比電話預約方面更能清楚有效的

留下預約人的電話及姓名

系統結合了餐廳所供應的餐點及套餐搭配先選好想吃些什麼不

必等到了餐廳還在猶豫不決的想吃什麼也不用服務生來為顧客解說

每樣餐點的食材及特色這樣餐廳方面更能節省了人力把多出來的

人員去調配其餘的工作此系統還可以享受身上不須帶太多的金錢及

信用卡在身上只要透過線上信用卡繳款來直接付款更有效率的幫

消費者解決付款問題

10

表格 1 比較出與某 E 公司的差別

圖 1 Icon Logo

GO RIGHT NOW 是系統的名稱翻譯成中文的意思就是立即行動

當出的理念想法為心動不如馬上心動立即的想法立即去做不要

猶豫想吃就 GO人要想吃甚麼就吃什麼應該被任何條件和現況束

縛吃的健康吃的快樂才能享受人生就是這樣的想法讓我們想要

開發這個系統改變大家對吃的態度想法很簡單節省用餐時間

吃到更好的佳餚想吃美食不用擔心任何事情

由上面的比較出可以明顯知道某 E 公司的優惠為時段性一天

當中只有某幾個時段才有優惠其餘都是原價計算某 E 公司也推出

了類似消費卷的餐卷跟某 E 公司購買餐卷可抵多少而且某 E 公司

主攻為大飯店及酒店都是以北部居多南部方面就少掉很多

某 E 公司 GO RIGHT NOW

優惠時段 時段優惠 假日與非假日

優惠方式 幾人同行 1 人免費或半價 折扣假日與非假日

消費模式 餐卷與刷卡 線上信用卡

促銷方式 搭配節日送禮 搭配節日送禮

餐廳種類 飯店酒店居多 平價餐廳

主攻市場 北部居多 南部居多

VIP 收費 一個月 399 一個月 99

11

圖 2基本流程圖

12

四 商業模式

圖 3 消費者跟餐廳的往來

餐廳跟消費者之間最原始的樣子消費者進去餐廳付錢餐廳提供服

務給消費在現代社會中這種服務方式還是存在但是這種原始的

方式已經沒有辦法迅速滿足消費者的需求系統目的就是要改變這種

傳統的吃飯方式方法是利用我們創造的手機點餐系統

13

以下系統希望的關係圖

圖 4 未來消費模式

希望透過服務可以對消費者跟餐廳有更多的服務帶給大眾更

方便的服務消費者到餐廳用餐通常會有兩種常見的問題第一有的

時候無法得知客滿的狀況常常到了餐廳之後才發現客滿浪費許多

時間再去找下一家餐廳第二種狀況是餐廳不小心忘記消費者的餐點

或是搞錯先後順序讓後來的客人先吃到餐點先來的客人苦苦等不到

餐點這兩種是常見的狀況也會造成消費者的不滿和店家的損失系

統可以完全改善第一種問題的造成第二種狀況店家跟配合的得以

也是可以避免掉的問題

14

圖 5 整體系統的流程圖

智慧型手機利用 3G 或是 WIFI 上網便可以取得店家網站的資料

查看是否還有座位和餐點在消費者查看的同時後端的會員系統也

會進行比對確定消費者是否有紅利點數等等消費者在登入會員之後

便可以進行點餐的部分在消費者點餐和訂位完成之後店家的系統

便會出現消費者會員的資料訂位和相關的點餐資訊等等因此我們

的後端必須非常有完整的架構和系統的組織以下將會介紹在程式放

面的比較和未來工作上的分配

15

(1)希望合作對象

希望已有規模的餐廳為主並且懂得利用網路行銷或是有餐廳的

網站因為有小成就的餐廳更不想因為上餐速度太慢得罪客人或是看

著一批的客人到來卻沒有位置可以迎接想必看在業者眼裡一定非常

痛心懂得利用網路行銷的店面一定也是想透過網路讓他們店的知名

度提升也是利用網路來進行訂位和點餐如果可以互相連結消費者一

定更好選擇[5]

(2)站在店家的角度來說

普通常常客滿的店家一定會希望有更多的位置來容納更多的客

人但這未必是最好的選擇減少消費者在店內等待的時間一樣可以

達到更多人進店裡消費的結果如果再以打折的方式之類的吸引消費

者的注意更可以提升顧客人數舉個例子 從消費者點餐到上菜需

要 15 分鐘消費者開始用餐到用餐完畢也花了 15 分鐘總共花費了

30 分鐘如果使用訂位點餐系統如果消費者使用點餐預約系統在

他們到來前已經預約好定位並且決定要吃什麼餐點並且先行做準備

消費者一到店內就可以直接吃東西省掉消費者點餐到上菜需要的

15 分鐘那麼店內一張桌子就可以馬上清空迎接下一位消費者的用

餐時間從 30 分鐘減少到 15 分鐘就等於花費同樣的時間賺兩倍的錢

[6]

16

情境 1

今天也是客滿我們幾乎每天都客滿可是總覺得客滿歸客滿好像

沒有辦法接收更多的生意常常有客人上門卻因為沒有位子或是等太

久吃不到不開心該怎麼解決這個問題呢其實很簡單利用我們可

以先點餐的功能讓一些訂位的客人們先點餐就可以通知廚房事先

知道並且先進行準備動作等到客人就座便可以開始上菜 一次可以

解決上面兩個題

站在一般消費者的立場不管是一般的學生上班族能用餐的時

間不多以學生來說中午 12 點下課 1 個小時後可能要再趕回學校

上課或者有更重要的事情讓你不能好好的吃一頓飯有時就會有因

為中午吃飯等太久下午回去學校上課的時候遲到引起老師不滿被記

遲到甚至曠課吃飯等上菜等到不開心回到學校還要被老師擺臉色

心情一定不好

舉個例子學生們中午快到的時候透過我們的點餐預約系統裡面

的資料決定好要吃哪家餐廳以及哪種餐點直接透過手機上網的方式

預定好中午 12 點下課一到餐廳不用等太久就可以吃飯大大的減

少等待的時間不用匆匆忙忙得趕回學校上課也不怕說這家客滿找

下一家的麻煩更不用擔心遲到被罵

17

情境 2

有一天女朋友一大早對我說她中午休息時間想要吃很有名的

那家咖哩焗烤飯可是我中午十二點下班一點半就要上班不能等太

久hellip又想要滿足女朋友怎麼辦呢

這時候點餐服務系統就有很好的用處了

利用點餐預約系統事先預訂好位置十二點半到先進行點餐中

午一到就可以輕鬆的去接女朋友到餐廳不用花費太久的時間等待出

菜開心的吃完飯之後再送他回公司上班不但吃到了大餐滿足女朋友

也準時的回公司上班

18

獲取利潤

獲取利潤是跟店家合作不可或缺的內容系統必須可以為店家帶

來更多的消費者並讓店家滿意系統與我們合作讓店家賺錢同時

收取部分的利益並且永續經營先不以賺錢為目的系統可以帶來什

麼樣的滿意服務例如一家小有名氣店面在假日客滿是很平常的事

情但是周一到周五也要天天客滿不太容易可以利用打折優惠來吸引

消費者在人潮較低的時間來消費例如禮拜一到禮拜四的中午這個時

段免服務費禮拜一到禮拜日晚上 9 折這樣可以吸引更多人在低潮

時段前來用餐提升低潮時段的生意

(1)自己當老闆

自己當老闆的想法來看可以跟店家簽約一兩年的時間做為

調整以不會常客滿的店家使用點餐訂位系統可以獲得打折方式來

吸引消費者的注意以 9 折的方式吸引消費者上門達到一定的數量

例如 300 之類的再跟店家收取百分之幾的金額當作酬勞或者是

在禮拜一到禮拜四的冷門時段店家每天提供200個座位給我們跟店家

打 7 折用此系統以 95 折的優惠賣給玩家賺取中間的差額如果透

過我們系統完成 500 個以上的交易再多收部分獎金舉例來說原價

500 塊錢打 7 折 350 元再用 9 折 450 賣給消費者賺取中間 100 的

差額這種方式可以提升店家冷門時候的生意在周末假期的時候用

19

餐的人會比較多但是再多也不可能天天客滿可以送金美小贈品當

作使用我們系統的戰利品

如將來產品成功之後還可賺取廣告費用瀏覽本系統人數越多

代表使用人數也會越多也能幫助到餐廳大廣告從中去賺取費用

(2)賣斷

賣斷也是一種方法把整套系統都賣掉直接收取費用但是非

常低的機率會使用這種方法因為賣斷後必須重新想出一個系統但

是類似或是重複的機率很高

(3)技術入股

技術入股的方式就像 YOUTUBE 賣給 GOOGLE然後 GOOGLE

聘請 YOUTUBE 的老闆當執行長這樣我們可以賣給某企業然後進入

他們企業裡面當他們的執行長並且繼續開發跟維修

20

範例某 E 公司跟台南大億麗緻合作之後消費者直接去大億麗緻消

費和透過某 E 公司訂位消費在價格方面比較便宜以下圖表是使用

某 E 公司跟為使用的差別

圖 6 使用差別

表格 2 某 E 公司賺錢的方法階段性打折

使用E公司 未使用 E公司

平日午餐 610 715

平日下午茶 470 550

平日晚餐 700 825

假日午餐 610 715

假日下午茶 470 660

假日晚餐 700 825

0

100

200

300

400

500

600

700

800

900

使用EZTABLE

未使用 EZTABLE

21

消費者付費方式消費者利用點餐系統並不會付費給我們但

是我們有 VIP 會員的服務整體來說消費者原本只需要辦一個免

費的帳號就可以使用這套軟體但是服務不會比 VIP 會原來的多

VIP 會員可以享受更多優惠的服務

表格 3 有無 VIP 差別

VIP 會員 非 VIP 會員

VIP 消費券 有 無

最新訊息通知 有 無

累積紅利點數 有 無

停車位免費 有 無

季節限定贈品 有 無

以上是說明 VIP 會員的優惠方案當然隨著 VIP 功能的不同會

員價格上也會有所不同就像一般會員和白金會員的差別我們 VIP

的價格是 99 元不會有太貴的困擾隨著 VIP 的優惠功能越來越多

我們會有白金會員 299 元之類的若是已有一般會員的只要再多 200

自動升級成為白金會員

22

購買禮券是一種用更多折扣吸引消費者購買的方式可以在低潮

時段吸引更多金打細算的消費者消費下列的圖表是以某 E 公司跟餐

廳合作禮券的部分

表格 4 某 E 公司跟餐廳合作禮券的部分

餐廳名字 優惠方案 折扣現金

Isabati 義式料理 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

海王子鐵板燒 憑 VIP 禮券$1100 現場可抵

用 1500 元套餐(已含服務費) 400 元

絹絲谷 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

典藏藝術餐廳 憑 VIP 禮券$1000現場可抵用

$1200 消費金額 100 元

非常適合請客的時候使用同時按照購買禮券金額上面的不同

優惠也會有所不同例如1000 元禮券可抵 1100 消費2000 禮券可抵

2200 消費

23

五 系統分析

根據功能性需求(functional requirement)來描述系統並以統一塑模語

言(UMLUnified Modeling Language)呈現之

需求描述

1 顧客可以利用此系統來預約點餐

2 顧客可以利用網際網路查詢餐廳的菜色若有要訂位預約此

餐廳則會幫你篩選出該餐廳簡介及風格和價錢

3 對於菜單的種類系統必須提供連結讓顧客點取顯示菜單的

明細對於欲顧客點餐在顧客還沒確認預約之前顧客可

以將預約單中的菜色做刪除或是更新的動作顧客可以在任

何時刻檢視預約單中的內容顧客可以在確認訂單前之任何

時刻取消預約的動作

4 使用者必須是本站的會員才可以進行點餐預約的動作預

約時會員必須登入到系統系統要查驗登入資料的正確

如果在預約時使用者並非會員系統應該提供讓使用者登

錄為會員的機制

24

5 對於顧客所確認的預約系統必須在預約單成功之後自動

寄發一封 email 給顧客以做為預約的依據它有一點像是傳統

的預約明細表顧客可以利用它來查詢交易的狀態

6 系統必須要有管理會員資料的機制而使用者也應該可以在

任意時刻修改會員資料(系統不提供刪除會員的機制)

7 系統必須要提供查詢的功能查詢時顧客可以利用餐廳

或是地區等等來做分類查詢

8 除了顧客之外系統必須提供管理後端系統的維護只有系

統管理者有權對資料進行維護的動作菜單產品型錄資料存

放在資料庫中

由以上需求描述 可以歸納出以下幾個事件

1加入會員 2會員登入 3瀏覽餐廳 4預約訂位

5點餐 6定位確認 7查詢訂位 8取消訂位

9系統維護 10會員管理資料 11 更新資料 12顧客資料

25

表格 5 手機點餐預約流程事件表

事件名稱 觸發器 來源 活動 回應 目的地

加入會員 註冊 系統 新增 註冊成功 使用者

會員登入 登入 顧客 核對 登入成功 顧客

瀏覽餐廳 選項 顧客 查詢 餐廳呈現 顧客

預約訂位 預約 顧客 產生 預約成功 餐廳

點餐 送出 顧客 產生 訂單編號 餐廳

訂位確認 確認 系統 更新 顧客 餐廳

查詢訂位 查詢 系統 查詢 紀錄表單 系統

取消訂位 取消 顧客 取消 取消確認 系統

系統維護 維護 系統 更新 管理者 管理者

會員管理資料 自動化 系統 更新 資料排列 系統

更新菜單 自動化 餐廳 更新 更新成功 系統

顧客資料 送出 系統 產生 資料呈現 餐廳

菜單事件 送出 系統 產生 菜單表 餐廳

表格 6 手機點餐預約詞彙表(Glossary)

詞彙 解釋 附註

預約 預約包含有客戶資料預約菜單項目

客戶資料 姓名住址電話email 等

菜單 產品編號菜單名稱價格等

登入資料 帳號密碼

餐廳 餐廳類型價格風格

手機 預約瀏覽查詢

26

以下使用案例說明書為手機點餐預約流程的介紹

Use Case Specification 瀏覽

名稱(Name)瀏覽

簡述(Brief Description)顯示給一般民眾我們的系統介面

參與者(Actors)顧客

前提(Pre-Conditions)顯示給一般民眾如何我們系統介面

成功條件(Successful Post-Conditions)進入到介面的首頁

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 瀏覽首頁 2 提共顧客資訊

3 瀏覽餐廳 4 提供顧客熱門餐廳

5 點餐和定餐 6 提供餐廳基本資料

7 是否定位 8 登入會員畫面

27

Use Case Specification 加入會員

名稱(Name)加入會員

簡述(Brief Description)可以透過加入會員索取更多的資料

參與者(Actors)顧客

前提(Pre-Conditions)需要利用我們的系統的使用者

成功條件(Successful Post-Conditions)進入登入會員的登入畫面

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1加入會員 2顯示會員資料表

3填寫會員資料 4成功加入會員

5跳回首頁

4新增失敗

5跳回會員資料表

6 重新填寫會員資料 7成功加入會員

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 6: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

6

透過線上預約消費者更能享受到電話預約顧客不同的禮遇會

先預留下線上預約的消費者專屬位置以及會員透過此系統該有的折

扣便利型的預約會帶來更大的福利[2]

生活中的事都需如此如醫院預約掛號飯店預約訂房車票

預約劃位電影預約購票helliphellip但從智慧型手機更為方便醫院上的

掛號及電影院的購票都必須先由本人到現場填寫資料然而再交由

人員輸入到資料庫裡才會有消費者的會員資料飯店的訂房跟車票

的劃位更為不安全飯店裡如有顧客取消訂房也未通知導致飯店會預

留下空房而車票劃位若車票遺失消費者也無法證明有此車票但線

上預約不會有次問題因為是由智慧型手機上的 APP 程式傳送出去

也會將此手機的資本資料一併傳送出去就能為雙方多一層的保障及

便利

這智慧型手機的時代透過手機上的智慧功能來預約還沒有如此

大眾化就算有此功能也還沒有許多功能可以使用甚至有許多錯誤點

須修正因此想到此商機可以發展所以研發出一套點餐預約系統

來為將來的智慧型時代開創一條新的發展

市面上已有某網站提供此功能來使用此網站每年有千萬的利益

可途如果比照將此功能轉移到手機 APP 程式中那未來的商機將

不可想像[3]

7

某 E 公司起源

某 E 公司現在是全台灣在網路上訂位的領導廠商裡面包含各式

各樣的訂位服務也與全台各大飯店餐廳等企業合作透過線上訂位

的消費者每月有超過 20000 人以下作為某 E 公司簡短的介紹

由四位好友共同創立以創新服務的精神為企業的經營理

念藉由科技的力量提升餐飲產業的服務水準深深的影響著

每個人懂得吃哪裡吃如何吃已成為全民追求的生活品

質更是一種流行的趨勢某 E 公司易訂網對消費者提供了一

個快捷便利24 小時不打烊的網路訂位平台 [4]

對於餐廳經營者某 E 公司易訂網創造了一個新的訂位模

式與服務流程讓各餐廳在 e 化的訂位系統幫助下達成更有

效率的餐廳管理做為消費者和餐廳間的溝通橋樑強化了顧

客滿意度調查資料與資料的分析讓餐廳經營者更加瞭解消費

者的想法而有了改善的方向與行銷依據

8

二 文獻探討

王明杰研究生的研究報告指出目前國內也有多家廠商開發出結

合點菜收銀系統及無線網路的心技術「無線點餐系統(Wireless

Restaurant System)」運用 PDA 手持攜帶式的便利性提供餐飲業者

更方便更快捷的客服品質這項新技術主要是針對餐飲業者提供服

務人員以無線即時的方式為客戶完成點餐的服務

我們提出的「手機點餐預約系統」跟王明杰研究生所提到的「無線

點餐系統」的便利性以及即時性有所相關但主要是以「預約」

的方式來點餐希望客戶能夠在出門前就能夠點餐在到達餐廳的時

候就能夠準備好所有的餐點讓客戶能夠省掉所有等餐以及等位子

的時間讓整個過程達到便利性迅速性以及省時這樣也能夠讓

一些上班族在有用餐時間限制的情況下能夠達到最佳的效率不

必等餐不必等位子有著足夠的時間好好品嘗美食這是所希望達到

的目標[5]

9

三 系統設計方向及功能

企圖效仿了某 E 公司做出一套類似的點餐預約系統但不需透過

網頁上來預約則是透過現在人人手上拿的智慧型手機而且是希望

每個人都能使用這套系統所以提供了平價餐廳讓每一個人都能夠

使用

系統方便解決消費者用餐的問題時間上也能大大減少一半先

篩選出地區及價格選好餐廳之後在選擇好時間與人數一鍵按下

餐廳方面就會有消費者的基本資料比電話預約方面更能清楚有效的

留下預約人的電話及姓名

系統結合了餐廳所供應的餐點及套餐搭配先選好想吃些什麼不

必等到了餐廳還在猶豫不決的想吃什麼也不用服務生來為顧客解說

每樣餐點的食材及特色這樣餐廳方面更能節省了人力把多出來的

人員去調配其餘的工作此系統還可以享受身上不須帶太多的金錢及

信用卡在身上只要透過線上信用卡繳款來直接付款更有效率的幫

消費者解決付款問題

10

表格 1 比較出與某 E 公司的差別

圖 1 Icon Logo

GO RIGHT NOW 是系統的名稱翻譯成中文的意思就是立即行動

當出的理念想法為心動不如馬上心動立即的想法立即去做不要

猶豫想吃就 GO人要想吃甚麼就吃什麼應該被任何條件和現況束

縛吃的健康吃的快樂才能享受人生就是這樣的想法讓我們想要

開發這個系統改變大家對吃的態度想法很簡單節省用餐時間

吃到更好的佳餚想吃美食不用擔心任何事情

由上面的比較出可以明顯知道某 E 公司的優惠為時段性一天

當中只有某幾個時段才有優惠其餘都是原價計算某 E 公司也推出

了類似消費卷的餐卷跟某 E 公司購買餐卷可抵多少而且某 E 公司

主攻為大飯店及酒店都是以北部居多南部方面就少掉很多

某 E 公司 GO RIGHT NOW

優惠時段 時段優惠 假日與非假日

優惠方式 幾人同行 1 人免費或半價 折扣假日與非假日

消費模式 餐卷與刷卡 線上信用卡

促銷方式 搭配節日送禮 搭配節日送禮

餐廳種類 飯店酒店居多 平價餐廳

主攻市場 北部居多 南部居多

VIP 收費 一個月 399 一個月 99

11

圖 2基本流程圖

12

四 商業模式

圖 3 消費者跟餐廳的往來

餐廳跟消費者之間最原始的樣子消費者進去餐廳付錢餐廳提供服

務給消費在現代社會中這種服務方式還是存在但是這種原始的

方式已經沒有辦法迅速滿足消費者的需求系統目的就是要改變這種

傳統的吃飯方式方法是利用我們創造的手機點餐系統

13

以下系統希望的關係圖

圖 4 未來消費模式

希望透過服務可以對消費者跟餐廳有更多的服務帶給大眾更

方便的服務消費者到餐廳用餐通常會有兩種常見的問題第一有的

時候無法得知客滿的狀況常常到了餐廳之後才發現客滿浪費許多

時間再去找下一家餐廳第二種狀況是餐廳不小心忘記消費者的餐點

或是搞錯先後順序讓後來的客人先吃到餐點先來的客人苦苦等不到

餐點這兩種是常見的狀況也會造成消費者的不滿和店家的損失系

統可以完全改善第一種問題的造成第二種狀況店家跟配合的得以

也是可以避免掉的問題

14

圖 5 整體系統的流程圖

智慧型手機利用 3G 或是 WIFI 上網便可以取得店家網站的資料

查看是否還有座位和餐點在消費者查看的同時後端的會員系統也

會進行比對確定消費者是否有紅利點數等等消費者在登入會員之後

便可以進行點餐的部分在消費者點餐和訂位完成之後店家的系統

便會出現消費者會員的資料訂位和相關的點餐資訊等等因此我們

的後端必須非常有完整的架構和系統的組織以下將會介紹在程式放

面的比較和未來工作上的分配

15

(1)希望合作對象

希望已有規模的餐廳為主並且懂得利用網路行銷或是有餐廳的

網站因為有小成就的餐廳更不想因為上餐速度太慢得罪客人或是看

著一批的客人到來卻沒有位置可以迎接想必看在業者眼裡一定非常

痛心懂得利用網路行銷的店面一定也是想透過網路讓他們店的知名

度提升也是利用網路來進行訂位和點餐如果可以互相連結消費者一

定更好選擇[5]

(2)站在店家的角度來說

普通常常客滿的店家一定會希望有更多的位置來容納更多的客

人但這未必是最好的選擇減少消費者在店內等待的時間一樣可以

達到更多人進店裡消費的結果如果再以打折的方式之類的吸引消費

者的注意更可以提升顧客人數舉個例子 從消費者點餐到上菜需

要 15 分鐘消費者開始用餐到用餐完畢也花了 15 分鐘總共花費了

30 分鐘如果使用訂位點餐系統如果消費者使用點餐預約系統在

他們到來前已經預約好定位並且決定要吃什麼餐點並且先行做準備

消費者一到店內就可以直接吃東西省掉消費者點餐到上菜需要的

15 分鐘那麼店內一張桌子就可以馬上清空迎接下一位消費者的用

餐時間從 30 分鐘減少到 15 分鐘就等於花費同樣的時間賺兩倍的錢

[6]

16

情境 1

今天也是客滿我們幾乎每天都客滿可是總覺得客滿歸客滿好像

沒有辦法接收更多的生意常常有客人上門卻因為沒有位子或是等太

久吃不到不開心該怎麼解決這個問題呢其實很簡單利用我們可

以先點餐的功能讓一些訂位的客人們先點餐就可以通知廚房事先

知道並且先進行準備動作等到客人就座便可以開始上菜 一次可以

解決上面兩個題

站在一般消費者的立場不管是一般的學生上班族能用餐的時

間不多以學生來說中午 12 點下課 1 個小時後可能要再趕回學校

上課或者有更重要的事情讓你不能好好的吃一頓飯有時就會有因

為中午吃飯等太久下午回去學校上課的時候遲到引起老師不滿被記

遲到甚至曠課吃飯等上菜等到不開心回到學校還要被老師擺臉色

心情一定不好

舉個例子學生們中午快到的時候透過我們的點餐預約系統裡面

的資料決定好要吃哪家餐廳以及哪種餐點直接透過手機上網的方式

預定好中午 12 點下課一到餐廳不用等太久就可以吃飯大大的減

少等待的時間不用匆匆忙忙得趕回學校上課也不怕說這家客滿找

下一家的麻煩更不用擔心遲到被罵

17

情境 2

有一天女朋友一大早對我說她中午休息時間想要吃很有名的

那家咖哩焗烤飯可是我中午十二點下班一點半就要上班不能等太

久hellip又想要滿足女朋友怎麼辦呢

這時候點餐服務系統就有很好的用處了

利用點餐預約系統事先預訂好位置十二點半到先進行點餐中

午一到就可以輕鬆的去接女朋友到餐廳不用花費太久的時間等待出

菜開心的吃完飯之後再送他回公司上班不但吃到了大餐滿足女朋友

也準時的回公司上班

18

獲取利潤

獲取利潤是跟店家合作不可或缺的內容系統必須可以為店家帶

來更多的消費者並讓店家滿意系統與我們合作讓店家賺錢同時

收取部分的利益並且永續經營先不以賺錢為目的系統可以帶來什

麼樣的滿意服務例如一家小有名氣店面在假日客滿是很平常的事

情但是周一到周五也要天天客滿不太容易可以利用打折優惠來吸引

消費者在人潮較低的時間來消費例如禮拜一到禮拜四的中午這個時

段免服務費禮拜一到禮拜日晚上 9 折這樣可以吸引更多人在低潮

時段前來用餐提升低潮時段的生意

(1)自己當老闆

自己當老闆的想法來看可以跟店家簽約一兩年的時間做為

調整以不會常客滿的店家使用點餐訂位系統可以獲得打折方式來

吸引消費者的注意以 9 折的方式吸引消費者上門達到一定的數量

例如 300 之類的再跟店家收取百分之幾的金額當作酬勞或者是

在禮拜一到禮拜四的冷門時段店家每天提供200個座位給我們跟店家

打 7 折用此系統以 95 折的優惠賣給玩家賺取中間的差額如果透

過我們系統完成 500 個以上的交易再多收部分獎金舉例來說原價

500 塊錢打 7 折 350 元再用 9 折 450 賣給消費者賺取中間 100 的

差額這種方式可以提升店家冷門時候的生意在周末假期的時候用

19

餐的人會比較多但是再多也不可能天天客滿可以送金美小贈品當

作使用我們系統的戰利品

如將來產品成功之後還可賺取廣告費用瀏覽本系統人數越多

代表使用人數也會越多也能幫助到餐廳大廣告從中去賺取費用

(2)賣斷

賣斷也是一種方法把整套系統都賣掉直接收取費用但是非

常低的機率會使用這種方法因為賣斷後必須重新想出一個系統但

是類似或是重複的機率很高

(3)技術入股

技術入股的方式就像 YOUTUBE 賣給 GOOGLE然後 GOOGLE

聘請 YOUTUBE 的老闆當執行長這樣我們可以賣給某企業然後進入

他們企業裡面當他們的執行長並且繼續開發跟維修

20

範例某 E 公司跟台南大億麗緻合作之後消費者直接去大億麗緻消

費和透過某 E 公司訂位消費在價格方面比較便宜以下圖表是使用

某 E 公司跟為使用的差別

圖 6 使用差別

表格 2 某 E 公司賺錢的方法階段性打折

使用E公司 未使用 E公司

平日午餐 610 715

平日下午茶 470 550

平日晚餐 700 825

假日午餐 610 715

假日下午茶 470 660

假日晚餐 700 825

0

100

200

300

400

500

600

700

800

900

使用EZTABLE

未使用 EZTABLE

21

消費者付費方式消費者利用點餐系統並不會付費給我們但

是我們有 VIP 會員的服務整體來說消費者原本只需要辦一個免

費的帳號就可以使用這套軟體但是服務不會比 VIP 會原來的多

VIP 會員可以享受更多優惠的服務

表格 3 有無 VIP 差別

VIP 會員 非 VIP 會員

VIP 消費券 有 無

最新訊息通知 有 無

累積紅利點數 有 無

停車位免費 有 無

季節限定贈品 有 無

以上是說明 VIP 會員的優惠方案當然隨著 VIP 功能的不同會

員價格上也會有所不同就像一般會員和白金會員的差別我們 VIP

的價格是 99 元不會有太貴的困擾隨著 VIP 的優惠功能越來越多

我們會有白金會員 299 元之類的若是已有一般會員的只要再多 200

自動升級成為白金會員

22

購買禮券是一種用更多折扣吸引消費者購買的方式可以在低潮

時段吸引更多金打細算的消費者消費下列的圖表是以某 E 公司跟餐

廳合作禮券的部分

表格 4 某 E 公司跟餐廳合作禮券的部分

餐廳名字 優惠方案 折扣現金

Isabati 義式料理 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

海王子鐵板燒 憑 VIP 禮券$1100 現場可抵

用 1500 元套餐(已含服務費) 400 元

絹絲谷 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

典藏藝術餐廳 憑 VIP 禮券$1000現場可抵用

$1200 消費金額 100 元

非常適合請客的時候使用同時按照購買禮券金額上面的不同

優惠也會有所不同例如1000 元禮券可抵 1100 消費2000 禮券可抵

2200 消費

23

五 系統分析

根據功能性需求(functional requirement)來描述系統並以統一塑模語

言(UMLUnified Modeling Language)呈現之

需求描述

1 顧客可以利用此系統來預約點餐

2 顧客可以利用網際網路查詢餐廳的菜色若有要訂位預約此

餐廳則會幫你篩選出該餐廳簡介及風格和價錢

3 對於菜單的種類系統必須提供連結讓顧客點取顯示菜單的

明細對於欲顧客點餐在顧客還沒確認預約之前顧客可

以將預約單中的菜色做刪除或是更新的動作顧客可以在任

何時刻檢視預約單中的內容顧客可以在確認訂單前之任何

時刻取消預約的動作

4 使用者必須是本站的會員才可以進行點餐預約的動作預

約時會員必須登入到系統系統要查驗登入資料的正確

如果在預約時使用者並非會員系統應該提供讓使用者登

錄為會員的機制

24

5 對於顧客所確認的預約系統必須在預約單成功之後自動

寄發一封 email 給顧客以做為預約的依據它有一點像是傳統

的預約明細表顧客可以利用它來查詢交易的狀態

6 系統必須要有管理會員資料的機制而使用者也應該可以在

任意時刻修改會員資料(系統不提供刪除會員的機制)

7 系統必須要提供查詢的功能查詢時顧客可以利用餐廳

或是地區等等來做分類查詢

8 除了顧客之外系統必須提供管理後端系統的維護只有系

統管理者有權對資料進行維護的動作菜單產品型錄資料存

放在資料庫中

由以上需求描述 可以歸納出以下幾個事件

1加入會員 2會員登入 3瀏覽餐廳 4預約訂位

5點餐 6定位確認 7查詢訂位 8取消訂位

9系統維護 10會員管理資料 11 更新資料 12顧客資料

25

表格 5 手機點餐預約流程事件表

事件名稱 觸發器 來源 活動 回應 目的地

加入會員 註冊 系統 新增 註冊成功 使用者

會員登入 登入 顧客 核對 登入成功 顧客

瀏覽餐廳 選項 顧客 查詢 餐廳呈現 顧客

預約訂位 預約 顧客 產生 預約成功 餐廳

點餐 送出 顧客 產生 訂單編號 餐廳

訂位確認 確認 系統 更新 顧客 餐廳

查詢訂位 查詢 系統 查詢 紀錄表單 系統

取消訂位 取消 顧客 取消 取消確認 系統

系統維護 維護 系統 更新 管理者 管理者

會員管理資料 自動化 系統 更新 資料排列 系統

更新菜單 自動化 餐廳 更新 更新成功 系統

顧客資料 送出 系統 產生 資料呈現 餐廳

菜單事件 送出 系統 產生 菜單表 餐廳

表格 6 手機點餐預約詞彙表(Glossary)

詞彙 解釋 附註

預約 預約包含有客戶資料預約菜單項目

客戶資料 姓名住址電話email 等

菜單 產品編號菜單名稱價格等

登入資料 帳號密碼

餐廳 餐廳類型價格風格

手機 預約瀏覽查詢

26

以下使用案例說明書為手機點餐預約流程的介紹

Use Case Specification 瀏覽

名稱(Name)瀏覽

簡述(Brief Description)顯示給一般民眾我們的系統介面

參與者(Actors)顧客

前提(Pre-Conditions)顯示給一般民眾如何我們系統介面

成功條件(Successful Post-Conditions)進入到介面的首頁

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 瀏覽首頁 2 提共顧客資訊

3 瀏覽餐廳 4 提供顧客熱門餐廳

5 點餐和定餐 6 提供餐廳基本資料

7 是否定位 8 登入會員畫面

27

Use Case Specification 加入會員

名稱(Name)加入會員

簡述(Brief Description)可以透過加入會員索取更多的資料

參與者(Actors)顧客

前提(Pre-Conditions)需要利用我們的系統的使用者

成功條件(Successful Post-Conditions)進入登入會員的登入畫面

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1加入會員 2顯示會員資料表

3填寫會員資料 4成功加入會員

5跳回首頁

4新增失敗

5跳回會員資料表

6 重新填寫會員資料 7成功加入會員

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 7: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

7

某 E 公司起源

某 E 公司現在是全台灣在網路上訂位的領導廠商裡面包含各式

各樣的訂位服務也與全台各大飯店餐廳等企業合作透過線上訂位

的消費者每月有超過 20000 人以下作為某 E 公司簡短的介紹

由四位好友共同創立以創新服務的精神為企業的經營理

念藉由科技的力量提升餐飲產業的服務水準深深的影響著

每個人懂得吃哪裡吃如何吃已成為全民追求的生活品

質更是一種流行的趨勢某 E 公司易訂網對消費者提供了一

個快捷便利24 小時不打烊的網路訂位平台 [4]

對於餐廳經營者某 E 公司易訂網創造了一個新的訂位模

式與服務流程讓各餐廳在 e 化的訂位系統幫助下達成更有

效率的餐廳管理做為消費者和餐廳間的溝通橋樑強化了顧

客滿意度調查資料與資料的分析讓餐廳經營者更加瞭解消費

者的想法而有了改善的方向與行銷依據

8

二 文獻探討

王明杰研究生的研究報告指出目前國內也有多家廠商開發出結

合點菜收銀系統及無線網路的心技術「無線點餐系統(Wireless

Restaurant System)」運用 PDA 手持攜帶式的便利性提供餐飲業者

更方便更快捷的客服品質這項新技術主要是針對餐飲業者提供服

務人員以無線即時的方式為客戶完成點餐的服務

我們提出的「手機點餐預約系統」跟王明杰研究生所提到的「無線

點餐系統」的便利性以及即時性有所相關但主要是以「預約」

的方式來點餐希望客戶能夠在出門前就能夠點餐在到達餐廳的時

候就能夠準備好所有的餐點讓客戶能夠省掉所有等餐以及等位子

的時間讓整個過程達到便利性迅速性以及省時這樣也能夠讓

一些上班族在有用餐時間限制的情況下能夠達到最佳的效率不

必等餐不必等位子有著足夠的時間好好品嘗美食這是所希望達到

的目標[5]

9

三 系統設計方向及功能

企圖效仿了某 E 公司做出一套類似的點餐預約系統但不需透過

網頁上來預約則是透過現在人人手上拿的智慧型手機而且是希望

每個人都能使用這套系統所以提供了平價餐廳讓每一個人都能夠

使用

系統方便解決消費者用餐的問題時間上也能大大減少一半先

篩選出地區及價格選好餐廳之後在選擇好時間與人數一鍵按下

餐廳方面就會有消費者的基本資料比電話預約方面更能清楚有效的

留下預約人的電話及姓名

系統結合了餐廳所供應的餐點及套餐搭配先選好想吃些什麼不

必等到了餐廳還在猶豫不決的想吃什麼也不用服務生來為顧客解說

每樣餐點的食材及特色這樣餐廳方面更能節省了人力把多出來的

人員去調配其餘的工作此系統還可以享受身上不須帶太多的金錢及

信用卡在身上只要透過線上信用卡繳款來直接付款更有效率的幫

消費者解決付款問題

10

表格 1 比較出與某 E 公司的差別

圖 1 Icon Logo

GO RIGHT NOW 是系統的名稱翻譯成中文的意思就是立即行動

當出的理念想法為心動不如馬上心動立即的想法立即去做不要

猶豫想吃就 GO人要想吃甚麼就吃什麼應該被任何條件和現況束

縛吃的健康吃的快樂才能享受人生就是這樣的想法讓我們想要

開發這個系統改變大家對吃的態度想法很簡單節省用餐時間

吃到更好的佳餚想吃美食不用擔心任何事情

由上面的比較出可以明顯知道某 E 公司的優惠為時段性一天

當中只有某幾個時段才有優惠其餘都是原價計算某 E 公司也推出

了類似消費卷的餐卷跟某 E 公司購買餐卷可抵多少而且某 E 公司

主攻為大飯店及酒店都是以北部居多南部方面就少掉很多

某 E 公司 GO RIGHT NOW

優惠時段 時段優惠 假日與非假日

優惠方式 幾人同行 1 人免費或半價 折扣假日與非假日

消費模式 餐卷與刷卡 線上信用卡

促銷方式 搭配節日送禮 搭配節日送禮

餐廳種類 飯店酒店居多 平價餐廳

主攻市場 北部居多 南部居多

VIP 收費 一個月 399 一個月 99

11

圖 2基本流程圖

12

四 商業模式

圖 3 消費者跟餐廳的往來

餐廳跟消費者之間最原始的樣子消費者進去餐廳付錢餐廳提供服

務給消費在現代社會中這種服務方式還是存在但是這種原始的

方式已經沒有辦法迅速滿足消費者的需求系統目的就是要改變這種

傳統的吃飯方式方法是利用我們創造的手機點餐系統

13

以下系統希望的關係圖

圖 4 未來消費模式

希望透過服務可以對消費者跟餐廳有更多的服務帶給大眾更

方便的服務消費者到餐廳用餐通常會有兩種常見的問題第一有的

時候無法得知客滿的狀況常常到了餐廳之後才發現客滿浪費許多

時間再去找下一家餐廳第二種狀況是餐廳不小心忘記消費者的餐點

或是搞錯先後順序讓後來的客人先吃到餐點先來的客人苦苦等不到

餐點這兩種是常見的狀況也會造成消費者的不滿和店家的損失系

統可以完全改善第一種問題的造成第二種狀況店家跟配合的得以

也是可以避免掉的問題

14

圖 5 整體系統的流程圖

智慧型手機利用 3G 或是 WIFI 上網便可以取得店家網站的資料

查看是否還有座位和餐點在消費者查看的同時後端的會員系統也

會進行比對確定消費者是否有紅利點數等等消費者在登入會員之後

便可以進行點餐的部分在消費者點餐和訂位完成之後店家的系統

便會出現消費者會員的資料訂位和相關的點餐資訊等等因此我們

的後端必須非常有完整的架構和系統的組織以下將會介紹在程式放

面的比較和未來工作上的分配

15

(1)希望合作對象

希望已有規模的餐廳為主並且懂得利用網路行銷或是有餐廳的

網站因為有小成就的餐廳更不想因為上餐速度太慢得罪客人或是看

著一批的客人到來卻沒有位置可以迎接想必看在業者眼裡一定非常

痛心懂得利用網路行銷的店面一定也是想透過網路讓他們店的知名

度提升也是利用網路來進行訂位和點餐如果可以互相連結消費者一

定更好選擇[5]

(2)站在店家的角度來說

普通常常客滿的店家一定會希望有更多的位置來容納更多的客

人但這未必是最好的選擇減少消費者在店內等待的時間一樣可以

達到更多人進店裡消費的結果如果再以打折的方式之類的吸引消費

者的注意更可以提升顧客人數舉個例子 從消費者點餐到上菜需

要 15 分鐘消費者開始用餐到用餐完畢也花了 15 分鐘總共花費了

30 分鐘如果使用訂位點餐系統如果消費者使用點餐預約系統在

他們到來前已經預約好定位並且決定要吃什麼餐點並且先行做準備

消費者一到店內就可以直接吃東西省掉消費者點餐到上菜需要的

15 分鐘那麼店內一張桌子就可以馬上清空迎接下一位消費者的用

餐時間從 30 分鐘減少到 15 分鐘就等於花費同樣的時間賺兩倍的錢

[6]

16

情境 1

今天也是客滿我們幾乎每天都客滿可是總覺得客滿歸客滿好像

沒有辦法接收更多的生意常常有客人上門卻因為沒有位子或是等太

久吃不到不開心該怎麼解決這個問題呢其實很簡單利用我們可

以先點餐的功能讓一些訂位的客人們先點餐就可以通知廚房事先

知道並且先進行準備動作等到客人就座便可以開始上菜 一次可以

解決上面兩個題

站在一般消費者的立場不管是一般的學生上班族能用餐的時

間不多以學生來說中午 12 點下課 1 個小時後可能要再趕回學校

上課或者有更重要的事情讓你不能好好的吃一頓飯有時就會有因

為中午吃飯等太久下午回去學校上課的時候遲到引起老師不滿被記

遲到甚至曠課吃飯等上菜等到不開心回到學校還要被老師擺臉色

心情一定不好

舉個例子學生們中午快到的時候透過我們的點餐預約系統裡面

的資料決定好要吃哪家餐廳以及哪種餐點直接透過手機上網的方式

預定好中午 12 點下課一到餐廳不用等太久就可以吃飯大大的減

少等待的時間不用匆匆忙忙得趕回學校上課也不怕說這家客滿找

下一家的麻煩更不用擔心遲到被罵

17

情境 2

有一天女朋友一大早對我說她中午休息時間想要吃很有名的

那家咖哩焗烤飯可是我中午十二點下班一點半就要上班不能等太

久hellip又想要滿足女朋友怎麼辦呢

這時候點餐服務系統就有很好的用處了

利用點餐預約系統事先預訂好位置十二點半到先進行點餐中

午一到就可以輕鬆的去接女朋友到餐廳不用花費太久的時間等待出

菜開心的吃完飯之後再送他回公司上班不但吃到了大餐滿足女朋友

也準時的回公司上班

18

獲取利潤

獲取利潤是跟店家合作不可或缺的內容系統必須可以為店家帶

來更多的消費者並讓店家滿意系統與我們合作讓店家賺錢同時

收取部分的利益並且永續經營先不以賺錢為目的系統可以帶來什

麼樣的滿意服務例如一家小有名氣店面在假日客滿是很平常的事

情但是周一到周五也要天天客滿不太容易可以利用打折優惠來吸引

消費者在人潮較低的時間來消費例如禮拜一到禮拜四的中午這個時

段免服務費禮拜一到禮拜日晚上 9 折這樣可以吸引更多人在低潮

時段前來用餐提升低潮時段的生意

(1)自己當老闆

自己當老闆的想法來看可以跟店家簽約一兩年的時間做為

調整以不會常客滿的店家使用點餐訂位系統可以獲得打折方式來

吸引消費者的注意以 9 折的方式吸引消費者上門達到一定的數量

例如 300 之類的再跟店家收取百分之幾的金額當作酬勞或者是

在禮拜一到禮拜四的冷門時段店家每天提供200個座位給我們跟店家

打 7 折用此系統以 95 折的優惠賣給玩家賺取中間的差額如果透

過我們系統完成 500 個以上的交易再多收部分獎金舉例來說原價

500 塊錢打 7 折 350 元再用 9 折 450 賣給消費者賺取中間 100 的

差額這種方式可以提升店家冷門時候的生意在周末假期的時候用

19

餐的人會比較多但是再多也不可能天天客滿可以送金美小贈品當

作使用我們系統的戰利品

如將來產品成功之後還可賺取廣告費用瀏覽本系統人數越多

代表使用人數也會越多也能幫助到餐廳大廣告從中去賺取費用

(2)賣斷

賣斷也是一種方法把整套系統都賣掉直接收取費用但是非

常低的機率會使用這種方法因為賣斷後必須重新想出一個系統但

是類似或是重複的機率很高

(3)技術入股

技術入股的方式就像 YOUTUBE 賣給 GOOGLE然後 GOOGLE

聘請 YOUTUBE 的老闆當執行長這樣我們可以賣給某企業然後進入

他們企業裡面當他們的執行長並且繼續開發跟維修

20

範例某 E 公司跟台南大億麗緻合作之後消費者直接去大億麗緻消

費和透過某 E 公司訂位消費在價格方面比較便宜以下圖表是使用

某 E 公司跟為使用的差別

圖 6 使用差別

表格 2 某 E 公司賺錢的方法階段性打折

使用E公司 未使用 E公司

平日午餐 610 715

平日下午茶 470 550

平日晚餐 700 825

假日午餐 610 715

假日下午茶 470 660

假日晚餐 700 825

0

100

200

300

400

500

600

700

800

900

使用EZTABLE

未使用 EZTABLE

21

消費者付費方式消費者利用點餐系統並不會付費給我們但

是我們有 VIP 會員的服務整體來說消費者原本只需要辦一個免

費的帳號就可以使用這套軟體但是服務不會比 VIP 會原來的多

VIP 會員可以享受更多優惠的服務

表格 3 有無 VIP 差別

VIP 會員 非 VIP 會員

VIP 消費券 有 無

最新訊息通知 有 無

累積紅利點數 有 無

停車位免費 有 無

季節限定贈品 有 無

以上是說明 VIP 會員的優惠方案當然隨著 VIP 功能的不同會

員價格上也會有所不同就像一般會員和白金會員的差別我們 VIP

的價格是 99 元不會有太貴的困擾隨著 VIP 的優惠功能越來越多

我們會有白金會員 299 元之類的若是已有一般會員的只要再多 200

自動升級成為白金會員

22

購買禮券是一種用更多折扣吸引消費者購買的方式可以在低潮

時段吸引更多金打細算的消費者消費下列的圖表是以某 E 公司跟餐

廳合作禮券的部分

表格 4 某 E 公司跟餐廳合作禮券的部分

餐廳名字 優惠方案 折扣現金

Isabati 義式料理 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

海王子鐵板燒 憑 VIP 禮券$1100 現場可抵

用 1500 元套餐(已含服務費) 400 元

絹絲谷 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

典藏藝術餐廳 憑 VIP 禮券$1000現場可抵用

$1200 消費金額 100 元

非常適合請客的時候使用同時按照購買禮券金額上面的不同

優惠也會有所不同例如1000 元禮券可抵 1100 消費2000 禮券可抵

2200 消費

23

五 系統分析

根據功能性需求(functional requirement)來描述系統並以統一塑模語

言(UMLUnified Modeling Language)呈現之

需求描述

1 顧客可以利用此系統來預約點餐

2 顧客可以利用網際網路查詢餐廳的菜色若有要訂位預約此

餐廳則會幫你篩選出該餐廳簡介及風格和價錢

3 對於菜單的種類系統必須提供連結讓顧客點取顯示菜單的

明細對於欲顧客點餐在顧客還沒確認預約之前顧客可

以將預約單中的菜色做刪除或是更新的動作顧客可以在任

何時刻檢視預約單中的內容顧客可以在確認訂單前之任何

時刻取消預約的動作

4 使用者必須是本站的會員才可以進行點餐預約的動作預

約時會員必須登入到系統系統要查驗登入資料的正確

如果在預約時使用者並非會員系統應該提供讓使用者登

錄為會員的機制

24

5 對於顧客所確認的預約系統必須在預約單成功之後自動

寄發一封 email 給顧客以做為預約的依據它有一點像是傳統

的預約明細表顧客可以利用它來查詢交易的狀態

6 系統必須要有管理會員資料的機制而使用者也應該可以在

任意時刻修改會員資料(系統不提供刪除會員的機制)

7 系統必須要提供查詢的功能查詢時顧客可以利用餐廳

或是地區等等來做分類查詢

8 除了顧客之外系統必須提供管理後端系統的維護只有系

統管理者有權對資料進行維護的動作菜單產品型錄資料存

放在資料庫中

由以上需求描述 可以歸納出以下幾個事件

1加入會員 2會員登入 3瀏覽餐廳 4預約訂位

5點餐 6定位確認 7查詢訂位 8取消訂位

9系統維護 10會員管理資料 11 更新資料 12顧客資料

25

表格 5 手機點餐預約流程事件表

事件名稱 觸發器 來源 活動 回應 目的地

加入會員 註冊 系統 新增 註冊成功 使用者

會員登入 登入 顧客 核對 登入成功 顧客

瀏覽餐廳 選項 顧客 查詢 餐廳呈現 顧客

預約訂位 預約 顧客 產生 預約成功 餐廳

點餐 送出 顧客 產生 訂單編號 餐廳

訂位確認 確認 系統 更新 顧客 餐廳

查詢訂位 查詢 系統 查詢 紀錄表單 系統

取消訂位 取消 顧客 取消 取消確認 系統

系統維護 維護 系統 更新 管理者 管理者

會員管理資料 自動化 系統 更新 資料排列 系統

更新菜單 自動化 餐廳 更新 更新成功 系統

顧客資料 送出 系統 產生 資料呈現 餐廳

菜單事件 送出 系統 產生 菜單表 餐廳

表格 6 手機點餐預約詞彙表(Glossary)

詞彙 解釋 附註

預約 預約包含有客戶資料預約菜單項目

客戶資料 姓名住址電話email 等

菜單 產品編號菜單名稱價格等

登入資料 帳號密碼

餐廳 餐廳類型價格風格

手機 預約瀏覽查詢

26

以下使用案例說明書為手機點餐預約流程的介紹

Use Case Specification 瀏覽

名稱(Name)瀏覽

簡述(Brief Description)顯示給一般民眾我們的系統介面

參與者(Actors)顧客

前提(Pre-Conditions)顯示給一般民眾如何我們系統介面

成功條件(Successful Post-Conditions)進入到介面的首頁

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 瀏覽首頁 2 提共顧客資訊

3 瀏覽餐廳 4 提供顧客熱門餐廳

5 點餐和定餐 6 提供餐廳基本資料

7 是否定位 8 登入會員畫面

27

Use Case Specification 加入會員

名稱(Name)加入會員

簡述(Brief Description)可以透過加入會員索取更多的資料

參與者(Actors)顧客

前提(Pre-Conditions)需要利用我們的系統的使用者

成功條件(Successful Post-Conditions)進入登入會員的登入畫面

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1加入會員 2顯示會員資料表

3填寫會員資料 4成功加入會員

5跳回首頁

4新增失敗

5跳回會員資料表

6 重新填寫會員資料 7成功加入會員

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 8: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

8

二 文獻探討

王明杰研究生的研究報告指出目前國內也有多家廠商開發出結

合點菜收銀系統及無線網路的心技術「無線點餐系統(Wireless

Restaurant System)」運用 PDA 手持攜帶式的便利性提供餐飲業者

更方便更快捷的客服品質這項新技術主要是針對餐飲業者提供服

務人員以無線即時的方式為客戶完成點餐的服務

我們提出的「手機點餐預約系統」跟王明杰研究生所提到的「無線

點餐系統」的便利性以及即時性有所相關但主要是以「預約」

的方式來點餐希望客戶能夠在出門前就能夠點餐在到達餐廳的時

候就能夠準備好所有的餐點讓客戶能夠省掉所有等餐以及等位子

的時間讓整個過程達到便利性迅速性以及省時這樣也能夠讓

一些上班族在有用餐時間限制的情況下能夠達到最佳的效率不

必等餐不必等位子有著足夠的時間好好品嘗美食這是所希望達到

的目標[5]

9

三 系統設計方向及功能

企圖效仿了某 E 公司做出一套類似的點餐預約系統但不需透過

網頁上來預約則是透過現在人人手上拿的智慧型手機而且是希望

每個人都能使用這套系統所以提供了平價餐廳讓每一個人都能夠

使用

系統方便解決消費者用餐的問題時間上也能大大減少一半先

篩選出地區及價格選好餐廳之後在選擇好時間與人數一鍵按下

餐廳方面就會有消費者的基本資料比電話預約方面更能清楚有效的

留下預約人的電話及姓名

系統結合了餐廳所供應的餐點及套餐搭配先選好想吃些什麼不

必等到了餐廳還在猶豫不決的想吃什麼也不用服務生來為顧客解說

每樣餐點的食材及特色這樣餐廳方面更能節省了人力把多出來的

人員去調配其餘的工作此系統還可以享受身上不須帶太多的金錢及

信用卡在身上只要透過線上信用卡繳款來直接付款更有效率的幫

消費者解決付款問題

10

表格 1 比較出與某 E 公司的差別

圖 1 Icon Logo

GO RIGHT NOW 是系統的名稱翻譯成中文的意思就是立即行動

當出的理念想法為心動不如馬上心動立即的想法立即去做不要

猶豫想吃就 GO人要想吃甚麼就吃什麼應該被任何條件和現況束

縛吃的健康吃的快樂才能享受人生就是這樣的想法讓我們想要

開發這個系統改變大家對吃的態度想法很簡單節省用餐時間

吃到更好的佳餚想吃美食不用擔心任何事情

由上面的比較出可以明顯知道某 E 公司的優惠為時段性一天

當中只有某幾個時段才有優惠其餘都是原價計算某 E 公司也推出

了類似消費卷的餐卷跟某 E 公司購買餐卷可抵多少而且某 E 公司

主攻為大飯店及酒店都是以北部居多南部方面就少掉很多

某 E 公司 GO RIGHT NOW

優惠時段 時段優惠 假日與非假日

優惠方式 幾人同行 1 人免費或半價 折扣假日與非假日

消費模式 餐卷與刷卡 線上信用卡

促銷方式 搭配節日送禮 搭配節日送禮

餐廳種類 飯店酒店居多 平價餐廳

主攻市場 北部居多 南部居多

VIP 收費 一個月 399 一個月 99

11

圖 2基本流程圖

12

四 商業模式

圖 3 消費者跟餐廳的往來

餐廳跟消費者之間最原始的樣子消費者進去餐廳付錢餐廳提供服

務給消費在現代社會中這種服務方式還是存在但是這種原始的

方式已經沒有辦法迅速滿足消費者的需求系統目的就是要改變這種

傳統的吃飯方式方法是利用我們創造的手機點餐系統

13

以下系統希望的關係圖

圖 4 未來消費模式

希望透過服務可以對消費者跟餐廳有更多的服務帶給大眾更

方便的服務消費者到餐廳用餐通常會有兩種常見的問題第一有的

時候無法得知客滿的狀況常常到了餐廳之後才發現客滿浪費許多

時間再去找下一家餐廳第二種狀況是餐廳不小心忘記消費者的餐點

或是搞錯先後順序讓後來的客人先吃到餐點先來的客人苦苦等不到

餐點這兩種是常見的狀況也會造成消費者的不滿和店家的損失系

統可以完全改善第一種問題的造成第二種狀況店家跟配合的得以

也是可以避免掉的問題

14

圖 5 整體系統的流程圖

智慧型手機利用 3G 或是 WIFI 上網便可以取得店家網站的資料

查看是否還有座位和餐點在消費者查看的同時後端的會員系統也

會進行比對確定消費者是否有紅利點數等等消費者在登入會員之後

便可以進行點餐的部分在消費者點餐和訂位完成之後店家的系統

便會出現消費者會員的資料訂位和相關的點餐資訊等等因此我們

的後端必須非常有完整的架構和系統的組織以下將會介紹在程式放

面的比較和未來工作上的分配

15

(1)希望合作對象

希望已有規模的餐廳為主並且懂得利用網路行銷或是有餐廳的

網站因為有小成就的餐廳更不想因為上餐速度太慢得罪客人或是看

著一批的客人到來卻沒有位置可以迎接想必看在業者眼裡一定非常

痛心懂得利用網路行銷的店面一定也是想透過網路讓他們店的知名

度提升也是利用網路來進行訂位和點餐如果可以互相連結消費者一

定更好選擇[5]

(2)站在店家的角度來說

普通常常客滿的店家一定會希望有更多的位置來容納更多的客

人但這未必是最好的選擇減少消費者在店內等待的時間一樣可以

達到更多人進店裡消費的結果如果再以打折的方式之類的吸引消費

者的注意更可以提升顧客人數舉個例子 從消費者點餐到上菜需

要 15 分鐘消費者開始用餐到用餐完畢也花了 15 分鐘總共花費了

30 分鐘如果使用訂位點餐系統如果消費者使用點餐預約系統在

他們到來前已經預約好定位並且決定要吃什麼餐點並且先行做準備

消費者一到店內就可以直接吃東西省掉消費者點餐到上菜需要的

15 分鐘那麼店內一張桌子就可以馬上清空迎接下一位消費者的用

餐時間從 30 分鐘減少到 15 分鐘就等於花費同樣的時間賺兩倍的錢

[6]

16

情境 1

今天也是客滿我們幾乎每天都客滿可是總覺得客滿歸客滿好像

沒有辦法接收更多的生意常常有客人上門卻因為沒有位子或是等太

久吃不到不開心該怎麼解決這個問題呢其實很簡單利用我們可

以先點餐的功能讓一些訂位的客人們先點餐就可以通知廚房事先

知道並且先進行準備動作等到客人就座便可以開始上菜 一次可以

解決上面兩個題

站在一般消費者的立場不管是一般的學生上班族能用餐的時

間不多以學生來說中午 12 點下課 1 個小時後可能要再趕回學校

上課或者有更重要的事情讓你不能好好的吃一頓飯有時就會有因

為中午吃飯等太久下午回去學校上課的時候遲到引起老師不滿被記

遲到甚至曠課吃飯等上菜等到不開心回到學校還要被老師擺臉色

心情一定不好

舉個例子學生們中午快到的時候透過我們的點餐預約系統裡面

的資料決定好要吃哪家餐廳以及哪種餐點直接透過手機上網的方式

預定好中午 12 點下課一到餐廳不用等太久就可以吃飯大大的減

少等待的時間不用匆匆忙忙得趕回學校上課也不怕說這家客滿找

下一家的麻煩更不用擔心遲到被罵

17

情境 2

有一天女朋友一大早對我說她中午休息時間想要吃很有名的

那家咖哩焗烤飯可是我中午十二點下班一點半就要上班不能等太

久hellip又想要滿足女朋友怎麼辦呢

這時候點餐服務系統就有很好的用處了

利用點餐預約系統事先預訂好位置十二點半到先進行點餐中

午一到就可以輕鬆的去接女朋友到餐廳不用花費太久的時間等待出

菜開心的吃完飯之後再送他回公司上班不但吃到了大餐滿足女朋友

也準時的回公司上班

18

獲取利潤

獲取利潤是跟店家合作不可或缺的內容系統必須可以為店家帶

來更多的消費者並讓店家滿意系統與我們合作讓店家賺錢同時

收取部分的利益並且永續經營先不以賺錢為目的系統可以帶來什

麼樣的滿意服務例如一家小有名氣店面在假日客滿是很平常的事

情但是周一到周五也要天天客滿不太容易可以利用打折優惠來吸引

消費者在人潮較低的時間來消費例如禮拜一到禮拜四的中午這個時

段免服務費禮拜一到禮拜日晚上 9 折這樣可以吸引更多人在低潮

時段前來用餐提升低潮時段的生意

(1)自己當老闆

自己當老闆的想法來看可以跟店家簽約一兩年的時間做為

調整以不會常客滿的店家使用點餐訂位系統可以獲得打折方式來

吸引消費者的注意以 9 折的方式吸引消費者上門達到一定的數量

例如 300 之類的再跟店家收取百分之幾的金額當作酬勞或者是

在禮拜一到禮拜四的冷門時段店家每天提供200個座位給我們跟店家

打 7 折用此系統以 95 折的優惠賣給玩家賺取中間的差額如果透

過我們系統完成 500 個以上的交易再多收部分獎金舉例來說原價

500 塊錢打 7 折 350 元再用 9 折 450 賣給消費者賺取中間 100 的

差額這種方式可以提升店家冷門時候的生意在周末假期的時候用

19

餐的人會比較多但是再多也不可能天天客滿可以送金美小贈品當

作使用我們系統的戰利品

如將來產品成功之後還可賺取廣告費用瀏覽本系統人數越多

代表使用人數也會越多也能幫助到餐廳大廣告從中去賺取費用

(2)賣斷

賣斷也是一種方法把整套系統都賣掉直接收取費用但是非

常低的機率會使用這種方法因為賣斷後必須重新想出一個系統但

是類似或是重複的機率很高

(3)技術入股

技術入股的方式就像 YOUTUBE 賣給 GOOGLE然後 GOOGLE

聘請 YOUTUBE 的老闆當執行長這樣我們可以賣給某企業然後進入

他們企業裡面當他們的執行長並且繼續開發跟維修

20

範例某 E 公司跟台南大億麗緻合作之後消費者直接去大億麗緻消

費和透過某 E 公司訂位消費在價格方面比較便宜以下圖表是使用

某 E 公司跟為使用的差別

圖 6 使用差別

表格 2 某 E 公司賺錢的方法階段性打折

使用E公司 未使用 E公司

平日午餐 610 715

平日下午茶 470 550

平日晚餐 700 825

假日午餐 610 715

假日下午茶 470 660

假日晚餐 700 825

0

100

200

300

400

500

600

700

800

900

使用EZTABLE

未使用 EZTABLE

21

消費者付費方式消費者利用點餐系統並不會付費給我們但

是我們有 VIP 會員的服務整體來說消費者原本只需要辦一個免

費的帳號就可以使用這套軟體但是服務不會比 VIP 會原來的多

VIP 會員可以享受更多優惠的服務

表格 3 有無 VIP 差別

VIP 會員 非 VIP 會員

VIP 消費券 有 無

最新訊息通知 有 無

累積紅利點數 有 無

停車位免費 有 無

季節限定贈品 有 無

以上是說明 VIP 會員的優惠方案當然隨著 VIP 功能的不同會

員價格上也會有所不同就像一般會員和白金會員的差別我們 VIP

的價格是 99 元不會有太貴的困擾隨著 VIP 的優惠功能越來越多

我們會有白金會員 299 元之類的若是已有一般會員的只要再多 200

自動升級成為白金會員

22

購買禮券是一種用更多折扣吸引消費者購買的方式可以在低潮

時段吸引更多金打細算的消費者消費下列的圖表是以某 E 公司跟餐

廳合作禮券的部分

表格 4 某 E 公司跟餐廳合作禮券的部分

餐廳名字 優惠方案 折扣現金

Isabati 義式料理 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

海王子鐵板燒 憑 VIP 禮券$1100 現場可抵

用 1500 元套餐(已含服務費) 400 元

絹絲谷 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

典藏藝術餐廳 憑 VIP 禮券$1000現場可抵用

$1200 消費金額 100 元

非常適合請客的時候使用同時按照購買禮券金額上面的不同

優惠也會有所不同例如1000 元禮券可抵 1100 消費2000 禮券可抵

2200 消費

23

五 系統分析

根據功能性需求(functional requirement)來描述系統並以統一塑模語

言(UMLUnified Modeling Language)呈現之

需求描述

1 顧客可以利用此系統來預約點餐

2 顧客可以利用網際網路查詢餐廳的菜色若有要訂位預約此

餐廳則會幫你篩選出該餐廳簡介及風格和價錢

3 對於菜單的種類系統必須提供連結讓顧客點取顯示菜單的

明細對於欲顧客點餐在顧客還沒確認預約之前顧客可

以將預約單中的菜色做刪除或是更新的動作顧客可以在任

何時刻檢視預約單中的內容顧客可以在確認訂單前之任何

時刻取消預約的動作

4 使用者必須是本站的會員才可以進行點餐預約的動作預

約時會員必須登入到系統系統要查驗登入資料的正確

如果在預約時使用者並非會員系統應該提供讓使用者登

錄為會員的機制

24

5 對於顧客所確認的預約系統必須在預約單成功之後自動

寄發一封 email 給顧客以做為預約的依據它有一點像是傳統

的預約明細表顧客可以利用它來查詢交易的狀態

6 系統必須要有管理會員資料的機制而使用者也應該可以在

任意時刻修改會員資料(系統不提供刪除會員的機制)

7 系統必須要提供查詢的功能查詢時顧客可以利用餐廳

或是地區等等來做分類查詢

8 除了顧客之外系統必須提供管理後端系統的維護只有系

統管理者有權對資料進行維護的動作菜單產品型錄資料存

放在資料庫中

由以上需求描述 可以歸納出以下幾個事件

1加入會員 2會員登入 3瀏覽餐廳 4預約訂位

5點餐 6定位確認 7查詢訂位 8取消訂位

9系統維護 10會員管理資料 11 更新資料 12顧客資料

25

表格 5 手機點餐預約流程事件表

事件名稱 觸發器 來源 活動 回應 目的地

加入會員 註冊 系統 新增 註冊成功 使用者

會員登入 登入 顧客 核對 登入成功 顧客

瀏覽餐廳 選項 顧客 查詢 餐廳呈現 顧客

預約訂位 預約 顧客 產生 預約成功 餐廳

點餐 送出 顧客 產生 訂單編號 餐廳

訂位確認 確認 系統 更新 顧客 餐廳

查詢訂位 查詢 系統 查詢 紀錄表單 系統

取消訂位 取消 顧客 取消 取消確認 系統

系統維護 維護 系統 更新 管理者 管理者

會員管理資料 自動化 系統 更新 資料排列 系統

更新菜單 自動化 餐廳 更新 更新成功 系統

顧客資料 送出 系統 產生 資料呈現 餐廳

菜單事件 送出 系統 產生 菜單表 餐廳

表格 6 手機點餐預約詞彙表(Glossary)

詞彙 解釋 附註

預約 預約包含有客戶資料預約菜單項目

客戶資料 姓名住址電話email 等

菜單 產品編號菜單名稱價格等

登入資料 帳號密碼

餐廳 餐廳類型價格風格

手機 預約瀏覽查詢

26

以下使用案例說明書為手機點餐預約流程的介紹

Use Case Specification 瀏覽

名稱(Name)瀏覽

簡述(Brief Description)顯示給一般民眾我們的系統介面

參與者(Actors)顧客

前提(Pre-Conditions)顯示給一般民眾如何我們系統介面

成功條件(Successful Post-Conditions)進入到介面的首頁

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 瀏覽首頁 2 提共顧客資訊

3 瀏覽餐廳 4 提供顧客熱門餐廳

5 點餐和定餐 6 提供餐廳基本資料

7 是否定位 8 登入會員畫面

27

Use Case Specification 加入會員

名稱(Name)加入會員

簡述(Brief Description)可以透過加入會員索取更多的資料

參與者(Actors)顧客

前提(Pre-Conditions)需要利用我們的系統的使用者

成功條件(Successful Post-Conditions)進入登入會員的登入畫面

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1加入會員 2顯示會員資料表

3填寫會員資料 4成功加入會員

5跳回首頁

4新增失敗

5跳回會員資料表

6 重新填寫會員資料 7成功加入會員

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 9: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

9

三 系統設計方向及功能

企圖效仿了某 E 公司做出一套類似的點餐預約系統但不需透過

網頁上來預約則是透過現在人人手上拿的智慧型手機而且是希望

每個人都能使用這套系統所以提供了平價餐廳讓每一個人都能夠

使用

系統方便解決消費者用餐的問題時間上也能大大減少一半先

篩選出地區及價格選好餐廳之後在選擇好時間與人數一鍵按下

餐廳方面就會有消費者的基本資料比電話預約方面更能清楚有效的

留下預約人的電話及姓名

系統結合了餐廳所供應的餐點及套餐搭配先選好想吃些什麼不

必等到了餐廳還在猶豫不決的想吃什麼也不用服務生來為顧客解說

每樣餐點的食材及特色這樣餐廳方面更能節省了人力把多出來的

人員去調配其餘的工作此系統還可以享受身上不須帶太多的金錢及

信用卡在身上只要透過線上信用卡繳款來直接付款更有效率的幫

消費者解決付款問題

10

表格 1 比較出與某 E 公司的差別

圖 1 Icon Logo

GO RIGHT NOW 是系統的名稱翻譯成中文的意思就是立即行動

當出的理念想法為心動不如馬上心動立即的想法立即去做不要

猶豫想吃就 GO人要想吃甚麼就吃什麼應該被任何條件和現況束

縛吃的健康吃的快樂才能享受人生就是這樣的想法讓我們想要

開發這個系統改變大家對吃的態度想法很簡單節省用餐時間

吃到更好的佳餚想吃美食不用擔心任何事情

由上面的比較出可以明顯知道某 E 公司的優惠為時段性一天

當中只有某幾個時段才有優惠其餘都是原價計算某 E 公司也推出

了類似消費卷的餐卷跟某 E 公司購買餐卷可抵多少而且某 E 公司

主攻為大飯店及酒店都是以北部居多南部方面就少掉很多

某 E 公司 GO RIGHT NOW

優惠時段 時段優惠 假日與非假日

優惠方式 幾人同行 1 人免費或半價 折扣假日與非假日

消費模式 餐卷與刷卡 線上信用卡

促銷方式 搭配節日送禮 搭配節日送禮

餐廳種類 飯店酒店居多 平價餐廳

主攻市場 北部居多 南部居多

VIP 收費 一個月 399 一個月 99

11

圖 2基本流程圖

12

四 商業模式

圖 3 消費者跟餐廳的往來

餐廳跟消費者之間最原始的樣子消費者進去餐廳付錢餐廳提供服

務給消費在現代社會中這種服務方式還是存在但是這種原始的

方式已經沒有辦法迅速滿足消費者的需求系統目的就是要改變這種

傳統的吃飯方式方法是利用我們創造的手機點餐系統

13

以下系統希望的關係圖

圖 4 未來消費模式

希望透過服務可以對消費者跟餐廳有更多的服務帶給大眾更

方便的服務消費者到餐廳用餐通常會有兩種常見的問題第一有的

時候無法得知客滿的狀況常常到了餐廳之後才發現客滿浪費許多

時間再去找下一家餐廳第二種狀況是餐廳不小心忘記消費者的餐點

或是搞錯先後順序讓後來的客人先吃到餐點先來的客人苦苦等不到

餐點這兩種是常見的狀況也會造成消費者的不滿和店家的損失系

統可以完全改善第一種問題的造成第二種狀況店家跟配合的得以

也是可以避免掉的問題

14

圖 5 整體系統的流程圖

智慧型手機利用 3G 或是 WIFI 上網便可以取得店家網站的資料

查看是否還有座位和餐點在消費者查看的同時後端的會員系統也

會進行比對確定消費者是否有紅利點數等等消費者在登入會員之後

便可以進行點餐的部分在消費者點餐和訂位完成之後店家的系統

便會出現消費者會員的資料訂位和相關的點餐資訊等等因此我們

的後端必須非常有完整的架構和系統的組織以下將會介紹在程式放

面的比較和未來工作上的分配

15

(1)希望合作對象

希望已有規模的餐廳為主並且懂得利用網路行銷或是有餐廳的

網站因為有小成就的餐廳更不想因為上餐速度太慢得罪客人或是看

著一批的客人到來卻沒有位置可以迎接想必看在業者眼裡一定非常

痛心懂得利用網路行銷的店面一定也是想透過網路讓他們店的知名

度提升也是利用網路來進行訂位和點餐如果可以互相連結消費者一

定更好選擇[5]

(2)站在店家的角度來說

普通常常客滿的店家一定會希望有更多的位置來容納更多的客

人但這未必是最好的選擇減少消費者在店內等待的時間一樣可以

達到更多人進店裡消費的結果如果再以打折的方式之類的吸引消費

者的注意更可以提升顧客人數舉個例子 從消費者點餐到上菜需

要 15 分鐘消費者開始用餐到用餐完畢也花了 15 分鐘總共花費了

30 分鐘如果使用訂位點餐系統如果消費者使用點餐預約系統在

他們到來前已經預約好定位並且決定要吃什麼餐點並且先行做準備

消費者一到店內就可以直接吃東西省掉消費者點餐到上菜需要的

15 分鐘那麼店內一張桌子就可以馬上清空迎接下一位消費者的用

餐時間從 30 分鐘減少到 15 分鐘就等於花費同樣的時間賺兩倍的錢

[6]

16

情境 1

今天也是客滿我們幾乎每天都客滿可是總覺得客滿歸客滿好像

沒有辦法接收更多的生意常常有客人上門卻因為沒有位子或是等太

久吃不到不開心該怎麼解決這個問題呢其實很簡單利用我們可

以先點餐的功能讓一些訂位的客人們先點餐就可以通知廚房事先

知道並且先進行準備動作等到客人就座便可以開始上菜 一次可以

解決上面兩個題

站在一般消費者的立場不管是一般的學生上班族能用餐的時

間不多以學生來說中午 12 點下課 1 個小時後可能要再趕回學校

上課或者有更重要的事情讓你不能好好的吃一頓飯有時就會有因

為中午吃飯等太久下午回去學校上課的時候遲到引起老師不滿被記

遲到甚至曠課吃飯等上菜等到不開心回到學校還要被老師擺臉色

心情一定不好

舉個例子學生們中午快到的時候透過我們的點餐預約系統裡面

的資料決定好要吃哪家餐廳以及哪種餐點直接透過手機上網的方式

預定好中午 12 點下課一到餐廳不用等太久就可以吃飯大大的減

少等待的時間不用匆匆忙忙得趕回學校上課也不怕說這家客滿找

下一家的麻煩更不用擔心遲到被罵

17

情境 2

有一天女朋友一大早對我說她中午休息時間想要吃很有名的

那家咖哩焗烤飯可是我中午十二點下班一點半就要上班不能等太

久hellip又想要滿足女朋友怎麼辦呢

這時候點餐服務系統就有很好的用處了

利用點餐預約系統事先預訂好位置十二點半到先進行點餐中

午一到就可以輕鬆的去接女朋友到餐廳不用花費太久的時間等待出

菜開心的吃完飯之後再送他回公司上班不但吃到了大餐滿足女朋友

也準時的回公司上班

18

獲取利潤

獲取利潤是跟店家合作不可或缺的內容系統必須可以為店家帶

來更多的消費者並讓店家滿意系統與我們合作讓店家賺錢同時

收取部分的利益並且永續經營先不以賺錢為目的系統可以帶來什

麼樣的滿意服務例如一家小有名氣店面在假日客滿是很平常的事

情但是周一到周五也要天天客滿不太容易可以利用打折優惠來吸引

消費者在人潮較低的時間來消費例如禮拜一到禮拜四的中午這個時

段免服務費禮拜一到禮拜日晚上 9 折這樣可以吸引更多人在低潮

時段前來用餐提升低潮時段的生意

(1)自己當老闆

自己當老闆的想法來看可以跟店家簽約一兩年的時間做為

調整以不會常客滿的店家使用點餐訂位系統可以獲得打折方式來

吸引消費者的注意以 9 折的方式吸引消費者上門達到一定的數量

例如 300 之類的再跟店家收取百分之幾的金額當作酬勞或者是

在禮拜一到禮拜四的冷門時段店家每天提供200個座位給我們跟店家

打 7 折用此系統以 95 折的優惠賣給玩家賺取中間的差額如果透

過我們系統完成 500 個以上的交易再多收部分獎金舉例來說原價

500 塊錢打 7 折 350 元再用 9 折 450 賣給消費者賺取中間 100 的

差額這種方式可以提升店家冷門時候的生意在周末假期的時候用

19

餐的人會比較多但是再多也不可能天天客滿可以送金美小贈品當

作使用我們系統的戰利品

如將來產品成功之後還可賺取廣告費用瀏覽本系統人數越多

代表使用人數也會越多也能幫助到餐廳大廣告從中去賺取費用

(2)賣斷

賣斷也是一種方法把整套系統都賣掉直接收取費用但是非

常低的機率會使用這種方法因為賣斷後必須重新想出一個系統但

是類似或是重複的機率很高

(3)技術入股

技術入股的方式就像 YOUTUBE 賣給 GOOGLE然後 GOOGLE

聘請 YOUTUBE 的老闆當執行長這樣我們可以賣給某企業然後進入

他們企業裡面當他們的執行長並且繼續開發跟維修

20

範例某 E 公司跟台南大億麗緻合作之後消費者直接去大億麗緻消

費和透過某 E 公司訂位消費在價格方面比較便宜以下圖表是使用

某 E 公司跟為使用的差別

圖 6 使用差別

表格 2 某 E 公司賺錢的方法階段性打折

使用E公司 未使用 E公司

平日午餐 610 715

平日下午茶 470 550

平日晚餐 700 825

假日午餐 610 715

假日下午茶 470 660

假日晚餐 700 825

0

100

200

300

400

500

600

700

800

900

使用EZTABLE

未使用 EZTABLE

21

消費者付費方式消費者利用點餐系統並不會付費給我們但

是我們有 VIP 會員的服務整體來說消費者原本只需要辦一個免

費的帳號就可以使用這套軟體但是服務不會比 VIP 會原來的多

VIP 會員可以享受更多優惠的服務

表格 3 有無 VIP 差別

VIP 會員 非 VIP 會員

VIP 消費券 有 無

最新訊息通知 有 無

累積紅利點數 有 無

停車位免費 有 無

季節限定贈品 有 無

以上是說明 VIP 會員的優惠方案當然隨著 VIP 功能的不同會

員價格上也會有所不同就像一般會員和白金會員的差別我們 VIP

的價格是 99 元不會有太貴的困擾隨著 VIP 的優惠功能越來越多

我們會有白金會員 299 元之類的若是已有一般會員的只要再多 200

自動升級成為白金會員

22

購買禮券是一種用更多折扣吸引消費者購買的方式可以在低潮

時段吸引更多金打細算的消費者消費下列的圖表是以某 E 公司跟餐

廳合作禮券的部分

表格 4 某 E 公司跟餐廳合作禮券的部分

餐廳名字 優惠方案 折扣現金

Isabati 義式料理 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

海王子鐵板燒 憑 VIP 禮券$1100 現場可抵

用 1500 元套餐(已含服務費) 400 元

絹絲谷 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

典藏藝術餐廳 憑 VIP 禮券$1000現場可抵用

$1200 消費金額 100 元

非常適合請客的時候使用同時按照購買禮券金額上面的不同

優惠也會有所不同例如1000 元禮券可抵 1100 消費2000 禮券可抵

2200 消費

23

五 系統分析

根據功能性需求(functional requirement)來描述系統並以統一塑模語

言(UMLUnified Modeling Language)呈現之

需求描述

1 顧客可以利用此系統來預約點餐

2 顧客可以利用網際網路查詢餐廳的菜色若有要訂位預約此

餐廳則會幫你篩選出該餐廳簡介及風格和價錢

3 對於菜單的種類系統必須提供連結讓顧客點取顯示菜單的

明細對於欲顧客點餐在顧客還沒確認預約之前顧客可

以將預約單中的菜色做刪除或是更新的動作顧客可以在任

何時刻檢視預約單中的內容顧客可以在確認訂單前之任何

時刻取消預約的動作

4 使用者必須是本站的會員才可以進行點餐預約的動作預

約時會員必須登入到系統系統要查驗登入資料的正確

如果在預約時使用者並非會員系統應該提供讓使用者登

錄為會員的機制

24

5 對於顧客所確認的預約系統必須在預約單成功之後自動

寄發一封 email 給顧客以做為預約的依據它有一點像是傳統

的預約明細表顧客可以利用它來查詢交易的狀態

6 系統必須要有管理會員資料的機制而使用者也應該可以在

任意時刻修改會員資料(系統不提供刪除會員的機制)

7 系統必須要提供查詢的功能查詢時顧客可以利用餐廳

或是地區等等來做分類查詢

8 除了顧客之外系統必須提供管理後端系統的維護只有系

統管理者有權對資料進行維護的動作菜單產品型錄資料存

放在資料庫中

由以上需求描述 可以歸納出以下幾個事件

1加入會員 2會員登入 3瀏覽餐廳 4預約訂位

5點餐 6定位確認 7查詢訂位 8取消訂位

9系統維護 10會員管理資料 11 更新資料 12顧客資料

25

表格 5 手機點餐預約流程事件表

事件名稱 觸發器 來源 活動 回應 目的地

加入會員 註冊 系統 新增 註冊成功 使用者

會員登入 登入 顧客 核對 登入成功 顧客

瀏覽餐廳 選項 顧客 查詢 餐廳呈現 顧客

預約訂位 預約 顧客 產生 預約成功 餐廳

點餐 送出 顧客 產生 訂單編號 餐廳

訂位確認 確認 系統 更新 顧客 餐廳

查詢訂位 查詢 系統 查詢 紀錄表單 系統

取消訂位 取消 顧客 取消 取消確認 系統

系統維護 維護 系統 更新 管理者 管理者

會員管理資料 自動化 系統 更新 資料排列 系統

更新菜單 自動化 餐廳 更新 更新成功 系統

顧客資料 送出 系統 產生 資料呈現 餐廳

菜單事件 送出 系統 產生 菜單表 餐廳

表格 6 手機點餐預約詞彙表(Glossary)

詞彙 解釋 附註

預約 預約包含有客戶資料預約菜單項目

客戶資料 姓名住址電話email 等

菜單 產品編號菜單名稱價格等

登入資料 帳號密碼

餐廳 餐廳類型價格風格

手機 預約瀏覽查詢

26

以下使用案例說明書為手機點餐預約流程的介紹

Use Case Specification 瀏覽

名稱(Name)瀏覽

簡述(Brief Description)顯示給一般民眾我們的系統介面

參與者(Actors)顧客

前提(Pre-Conditions)顯示給一般民眾如何我們系統介面

成功條件(Successful Post-Conditions)進入到介面的首頁

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 瀏覽首頁 2 提共顧客資訊

3 瀏覽餐廳 4 提供顧客熱門餐廳

5 點餐和定餐 6 提供餐廳基本資料

7 是否定位 8 登入會員畫面

27

Use Case Specification 加入會員

名稱(Name)加入會員

簡述(Brief Description)可以透過加入會員索取更多的資料

參與者(Actors)顧客

前提(Pre-Conditions)需要利用我們的系統的使用者

成功條件(Successful Post-Conditions)進入登入會員的登入畫面

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1加入會員 2顯示會員資料表

3填寫會員資料 4成功加入會員

5跳回首頁

4新增失敗

5跳回會員資料表

6 重新填寫會員資料 7成功加入會員

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 10: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

10

表格 1 比較出與某 E 公司的差別

圖 1 Icon Logo

GO RIGHT NOW 是系統的名稱翻譯成中文的意思就是立即行動

當出的理念想法為心動不如馬上心動立即的想法立即去做不要

猶豫想吃就 GO人要想吃甚麼就吃什麼應該被任何條件和現況束

縛吃的健康吃的快樂才能享受人生就是這樣的想法讓我們想要

開發這個系統改變大家對吃的態度想法很簡單節省用餐時間

吃到更好的佳餚想吃美食不用擔心任何事情

由上面的比較出可以明顯知道某 E 公司的優惠為時段性一天

當中只有某幾個時段才有優惠其餘都是原價計算某 E 公司也推出

了類似消費卷的餐卷跟某 E 公司購買餐卷可抵多少而且某 E 公司

主攻為大飯店及酒店都是以北部居多南部方面就少掉很多

某 E 公司 GO RIGHT NOW

優惠時段 時段優惠 假日與非假日

優惠方式 幾人同行 1 人免費或半價 折扣假日與非假日

消費模式 餐卷與刷卡 線上信用卡

促銷方式 搭配節日送禮 搭配節日送禮

餐廳種類 飯店酒店居多 平價餐廳

主攻市場 北部居多 南部居多

VIP 收費 一個月 399 一個月 99

11

圖 2基本流程圖

12

四 商業模式

圖 3 消費者跟餐廳的往來

餐廳跟消費者之間最原始的樣子消費者進去餐廳付錢餐廳提供服

務給消費在現代社會中這種服務方式還是存在但是這種原始的

方式已經沒有辦法迅速滿足消費者的需求系統目的就是要改變這種

傳統的吃飯方式方法是利用我們創造的手機點餐系統

13

以下系統希望的關係圖

圖 4 未來消費模式

希望透過服務可以對消費者跟餐廳有更多的服務帶給大眾更

方便的服務消費者到餐廳用餐通常會有兩種常見的問題第一有的

時候無法得知客滿的狀況常常到了餐廳之後才發現客滿浪費許多

時間再去找下一家餐廳第二種狀況是餐廳不小心忘記消費者的餐點

或是搞錯先後順序讓後來的客人先吃到餐點先來的客人苦苦等不到

餐點這兩種是常見的狀況也會造成消費者的不滿和店家的損失系

統可以完全改善第一種問題的造成第二種狀況店家跟配合的得以

也是可以避免掉的問題

14

圖 5 整體系統的流程圖

智慧型手機利用 3G 或是 WIFI 上網便可以取得店家網站的資料

查看是否還有座位和餐點在消費者查看的同時後端的會員系統也

會進行比對確定消費者是否有紅利點數等等消費者在登入會員之後

便可以進行點餐的部分在消費者點餐和訂位完成之後店家的系統

便會出現消費者會員的資料訂位和相關的點餐資訊等等因此我們

的後端必須非常有完整的架構和系統的組織以下將會介紹在程式放

面的比較和未來工作上的分配

15

(1)希望合作對象

希望已有規模的餐廳為主並且懂得利用網路行銷或是有餐廳的

網站因為有小成就的餐廳更不想因為上餐速度太慢得罪客人或是看

著一批的客人到來卻沒有位置可以迎接想必看在業者眼裡一定非常

痛心懂得利用網路行銷的店面一定也是想透過網路讓他們店的知名

度提升也是利用網路來進行訂位和點餐如果可以互相連結消費者一

定更好選擇[5]

(2)站在店家的角度來說

普通常常客滿的店家一定會希望有更多的位置來容納更多的客

人但這未必是最好的選擇減少消費者在店內等待的時間一樣可以

達到更多人進店裡消費的結果如果再以打折的方式之類的吸引消費

者的注意更可以提升顧客人數舉個例子 從消費者點餐到上菜需

要 15 分鐘消費者開始用餐到用餐完畢也花了 15 分鐘總共花費了

30 分鐘如果使用訂位點餐系統如果消費者使用點餐預約系統在

他們到來前已經預約好定位並且決定要吃什麼餐點並且先行做準備

消費者一到店內就可以直接吃東西省掉消費者點餐到上菜需要的

15 分鐘那麼店內一張桌子就可以馬上清空迎接下一位消費者的用

餐時間從 30 分鐘減少到 15 分鐘就等於花費同樣的時間賺兩倍的錢

[6]

16

情境 1

今天也是客滿我們幾乎每天都客滿可是總覺得客滿歸客滿好像

沒有辦法接收更多的生意常常有客人上門卻因為沒有位子或是等太

久吃不到不開心該怎麼解決這個問題呢其實很簡單利用我們可

以先點餐的功能讓一些訂位的客人們先點餐就可以通知廚房事先

知道並且先進行準備動作等到客人就座便可以開始上菜 一次可以

解決上面兩個題

站在一般消費者的立場不管是一般的學生上班族能用餐的時

間不多以學生來說中午 12 點下課 1 個小時後可能要再趕回學校

上課或者有更重要的事情讓你不能好好的吃一頓飯有時就會有因

為中午吃飯等太久下午回去學校上課的時候遲到引起老師不滿被記

遲到甚至曠課吃飯等上菜等到不開心回到學校還要被老師擺臉色

心情一定不好

舉個例子學生們中午快到的時候透過我們的點餐預約系統裡面

的資料決定好要吃哪家餐廳以及哪種餐點直接透過手機上網的方式

預定好中午 12 點下課一到餐廳不用等太久就可以吃飯大大的減

少等待的時間不用匆匆忙忙得趕回學校上課也不怕說這家客滿找

下一家的麻煩更不用擔心遲到被罵

17

情境 2

有一天女朋友一大早對我說她中午休息時間想要吃很有名的

那家咖哩焗烤飯可是我中午十二點下班一點半就要上班不能等太

久hellip又想要滿足女朋友怎麼辦呢

這時候點餐服務系統就有很好的用處了

利用點餐預約系統事先預訂好位置十二點半到先進行點餐中

午一到就可以輕鬆的去接女朋友到餐廳不用花費太久的時間等待出

菜開心的吃完飯之後再送他回公司上班不但吃到了大餐滿足女朋友

也準時的回公司上班

18

獲取利潤

獲取利潤是跟店家合作不可或缺的內容系統必須可以為店家帶

來更多的消費者並讓店家滿意系統與我們合作讓店家賺錢同時

收取部分的利益並且永續經營先不以賺錢為目的系統可以帶來什

麼樣的滿意服務例如一家小有名氣店面在假日客滿是很平常的事

情但是周一到周五也要天天客滿不太容易可以利用打折優惠來吸引

消費者在人潮較低的時間來消費例如禮拜一到禮拜四的中午這個時

段免服務費禮拜一到禮拜日晚上 9 折這樣可以吸引更多人在低潮

時段前來用餐提升低潮時段的生意

(1)自己當老闆

自己當老闆的想法來看可以跟店家簽約一兩年的時間做為

調整以不會常客滿的店家使用點餐訂位系統可以獲得打折方式來

吸引消費者的注意以 9 折的方式吸引消費者上門達到一定的數量

例如 300 之類的再跟店家收取百分之幾的金額當作酬勞或者是

在禮拜一到禮拜四的冷門時段店家每天提供200個座位給我們跟店家

打 7 折用此系統以 95 折的優惠賣給玩家賺取中間的差額如果透

過我們系統完成 500 個以上的交易再多收部分獎金舉例來說原價

500 塊錢打 7 折 350 元再用 9 折 450 賣給消費者賺取中間 100 的

差額這種方式可以提升店家冷門時候的生意在周末假期的時候用

19

餐的人會比較多但是再多也不可能天天客滿可以送金美小贈品當

作使用我們系統的戰利品

如將來產品成功之後還可賺取廣告費用瀏覽本系統人數越多

代表使用人數也會越多也能幫助到餐廳大廣告從中去賺取費用

(2)賣斷

賣斷也是一種方法把整套系統都賣掉直接收取費用但是非

常低的機率會使用這種方法因為賣斷後必須重新想出一個系統但

是類似或是重複的機率很高

(3)技術入股

技術入股的方式就像 YOUTUBE 賣給 GOOGLE然後 GOOGLE

聘請 YOUTUBE 的老闆當執行長這樣我們可以賣給某企業然後進入

他們企業裡面當他們的執行長並且繼續開發跟維修

20

範例某 E 公司跟台南大億麗緻合作之後消費者直接去大億麗緻消

費和透過某 E 公司訂位消費在價格方面比較便宜以下圖表是使用

某 E 公司跟為使用的差別

圖 6 使用差別

表格 2 某 E 公司賺錢的方法階段性打折

使用E公司 未使用 E公司

平日午餐 610 715

平日下午茶 470 550

平日晚餐 700 825

假日午餐 610 715

假日下午茶 470 660

假日晚餐 700 825

0

100

200

300

400

500

600

700

800

900

使用EZTABLE

未使用 EZTABLE

21

消費者付費方式消費者利用點餐系統並不會付費給我們但

是我們有 VIP 會員的服務整體來說消費者原本只需要辦一個免

費的帳號就可以使用這套軟體但是服務不會比 VIP 會原來的多

VIP 會員可以享受更多優惠的服務

表格 3 有無 VIP 差別

VIP 會員 非 VIP 會員

VIP 消費券 有 無

最新訊息通知 有 無

累積紅利點數 有 無

停車位免費 有 無

季節限定贈品 有 無

以上是說明 VIP 會員的優惠方案當然隨著 VIP 功能的不同會

員價格上也會有所不同就像一般會員和白金會員的差別我們 VIP

的價格是 99 元不會有太貴的困擾隨著 VIP 的優惠功能越來越多

我們會有白金會員 299 元之類的若是已有一般會員的只要再多 200

自動升級成為白金會員

22

購買禮券是一種用更多折扣吸引消費者購買的方式可以在低潮

時段吸引更多金打細算的消費者消費下列的圖表是以某 E 公司跟餐

廳合作禮券的部分

表格 4 某 E 公司跟餐廳合作禮券的部分

餐廳名字 優惠方案 折扣現金

Isabati 義式料理 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

海王子鐵板燒 憑 VIP 禮券$1100 現場可抵

用 1500 元套餐(已含服務費) 400 元

絹絲谷 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

典藏藝術餐廳 憑 VIP 禮券$1000現場可抵用

$1200 消費金額 100 元

非常適合請客的時候使用同時按照購買禮券金額上面的不同

優惠也會有所不同例如1000 元禮券可抵 1100 消費2000 禮券可抵

2200 消費

23

五 系統分析

根據功能性需求(functional requirement)來描述系統並以統一塑模語

言(UMLUnified Modeling Language)呈現之

需求描述

1 顧客可以利用此系統來預約點餐

2 顧客可以利用網際網路查詢餐廳的菜色若有要訂位預約此

餐廳則會幫你篩選出該餐廳簡介及風格和價錢

3 對於菜單的種類系統必須提供連結讓顧客點取顯示菜單的

明細對於欲顧客點餐在顧客還沒確認預約之前顧客可

以將預約單中的菜色做刪除或是更新的動作顧客可以在任

何時刻檢視預約單中的內容顧客可以在確認訂單前之任何

時刻取消預約的動作

4 使用者必須是本站的會員才可以進行點餐預約的動作預

約時會員必須登入到系統系統要查驗登入資料的正確

如果在預約時使用者並非會員系統應該提供讓使用者登

錄為會員的機制

24

5 對於顧客所確認的預約系統必須在預約單成功之後自動

寄發一封 email 給顧客以做為預約的依據它有一點像是傳統

的預約明細表顧客可以利用它來查詢交易的狀態

6 系統必須要有管理會員資料的機制而使用者也應該可以在

任意時刻修改會員資料(系統不提供刪除會員的機制)

7 系統必須要提供查詢的功能查詢時顧客可以利用餐廳

或是地區等等來做分類查詢

8 除了顧客之外系統必須提供管理後端系統的維護只有系

統管理者有權對資料進行維護的動作菜單產品型錄資料存

放在資料庫中

由以上需求描述 可以歸納出以下幾個事件

1加入會員 2會員登入 3瀏覽餐廳 4預約訂位

5點餐 6定位確認 7查詢訂位 8取消訂位

9系統維護 10會員管理資料 11 更新資料 12顧客資料

25

表格 5 手機點餐預約流程事件表

事件名稱 觸發器 來源 活動 回應 目的地

加入會員 註冊 系統 新增 註冊成功 使用者

會員登入 登入 顧客 核對 登入成功 顧客

瀏覽餐廳 選項 顧客 查詢 餐廳呈現 顧客

預約訂位 預約 顧客 產生 預約成功 餐廳

點餐 送出 顧客 產生 訂單編號 餐廳

訂位確認 確認 系統 更新 顧客 餐廳

查詢訂位 查詢 系統 查詢 紀錄表單 系統

取消訂位 取消 顧客 取消 取消確認 系統

系統維護 維護 系統 更新 管理者 管理者

會員管理資料 自動化 系統 更新 資料排列 系統

更新菜單 自動化 餐廳 更新 更新成功 系統

顧客資料 送出 系統 產生 資料呈現 餐廳

菜單事件 送出 系統 產生 菜單表 餐廳

表格 6 手機點餐預約詞彙表(Glossary)

詞彙 解釋 附註

預約 預約包含有客戶資料預約菜單項目

客戶資料 姓名住址電話email 等

菜單 產品編號菜單名稱價格等

登入資料 帳號密碼

餐廳 餐廳類型價格風格

手機 預約瀏覽查詢

26

以下使用案例說明書為手機點餐預約流程的介紹

Use Case Specification 瀏覽

名稱(Name)瀏覽

簡述(Brief Description)顯示給一般民眾我們的系統介面

參與者(Actors)顧客

前提(Pre-Conditions)顯示給一般民眾如何我們系統介面

成功條件(Successful Post-Conditions)進入到介面的首頁

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 瀏覽首頁 2 提共顧客資訊

3 瀏覽餐廳 4 提供顧客熱門餐廳

5 點餐和定餐 6 提供餐廳基本資料

7 是否定位 8 登入會員畫面

27

Use Case Specification 加入會員

名稱(Name)加入會員

簡述(Brief Description)可以透過加入會員索取更多的資料

參與者(Actors)顧客

前提(Pre-Conditions)需要利用我們的系統的使用者

成功條件(Successful Post-Conditions)進入登入會員的登入畫面

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1加入會員 2顯示會員資料表

3填寫會員資料 4成功加入會員

5跳回首頁

4新增失敗

5跳回會員資料表

6 重新填寫會員資料 7成功加入會員

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 11: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

11

圖 2基本流程圖

12

四 商業模式

圖 3 消費者跟餐廳的往來

餐廳跟消費者之間最原始的樣子消費者進去餐廳付錢餐廳提供服

務給消費在現代社會中這種服務方式還是存在但是這種原始的

方式已經沒有辦法迅速滿足消費者的需求系統目的就是要改變這種

傳統的吃飯方式方法是利用我們創造的手機點餐系統

13

以下系統希望的關係圖

圖 4 未來消費模式

希望透過服務可以對消費者跟餐廳有更多的服務帶給大眾更

方便的服務消費者到餐廳用餐通常會有兩種常見的問題第一有的

時候無法得知客滿的狀況常常到了餐廳之後才發現客滿浪費許多

時間再去找下一家餐廳第二種狀況是餐廳不小心忘記消費者的餐點

或是搞錯先後順序讓後來的客人先吃到餐點先來的客人苦苦等不到

餐點這兩種是常見的狀況也會造成消費者的不滿和店家的損失系

統可以完全改善第一種問題的造成第二種狀況店家跟配合的得以

也是可以避免掉的問題

14

圖 5 整體系統的流程圖

智慧型手機利用 3G 或是 WIFI 上網便可以取得店家網站的資料

查看是否還有座位和餐點在消費者查看的同時後端的會員系統也

會進行比對確定消費者是否有紅利點數等等消費者在登入會員之後

便可以進行點餐的部分在消費者點餐和訂位完成之後店家的系統

便會出現消費者會員的資料訂位和相關的點餐資訊等等因此我們

的後端必須非常有完整的架構和系統的組織以下將會介紹在程式放

面的比較和未來工作上的分配

15

(1)希望合作對象

希望已有規模的餐廳為主並且懂得利用網路行銷或是有餐廳的

網站因為有小成就的餐廳更不想因為上餐速度太慢得罪客人或是看

著一批的客人到來卻沒有位置可以迎接想必看在業者眼裡一定非常

痛心懂得利用網路行銷的店面一定也是想透過網路讓他們店的知名

度提升也是利用網路來進行訂位和點餐如果可以互相連結消費者一

定更好選擇[5]

(2)站在店家的角度來說

普通常常客滿的店家一定會希望有更多的位置來容納更多的客

人但這未必是最好的選擇減少消費者在店內等待的時間一樣可以

達到更多人進店裡消費的結果如果再以打折的方式之類的吸引消費

者的注意更可以提升顧客人數舉個例子 從消費者點餐到上菜需

要 15 分鐘消費者開始用餐到用餐完畢也花了 15 分鐘總共花費了

30 分鐘如果使用訂位點餐系統如果消費者使用點餐預約系統在

他們到來前已經預約好定位並且決定要吃什麼餐點並且先行做準備

消費者一到店內就可以直接吃東西省掉消費者點餐到上菜需要的

15 分鐘那麼店內一張桌子就可以馬上清空迎接下一位消費者的用

餐時間從 30 分鐘減少到 15 分鐘就等於花費同樣的時間賺兩倍的錢

[6]

16

情境 1

今天也是客滿我們幾乎每天都客滿可是總覺得客滿歸客滿好像

沒有辦法接收更多的生意常常有客人上門卻因為沒有位子或是等太

久吃不到不開心該怎麼解決這個問題呢其實很簡單利用我們可

以先點餐的功能讓一些訂位的客人們先點餐就可以通知廚房事先

知道並且先進行準備動作等到客人就座便可以開始上菜 一次可以

解決上面兩個題

站在一般消費者的立場不管是一般的學生上班族能用餐的時

間不多以學生來說中午 12 點下課 1 個小時後可能要再趕回學校

上課或者有更重要的事情讓你不能好好的吃一頓飯有時就會有因

為中午吃飯等太久下午回去學校上課的時候遲到引起老師不滿被記

遲到甚至曠課吃飯等上菜等到不開心回到學校還要被老師擺臉色

心情一定不好

舉個例子學生們中午快到的時候透過我們的點餐預約系統裡面

的資料決定好要吃哪家餐廳以及哪種餐點直接透過手機上網的方式

預定好中午 12 點下課一到餐廳不用等太久就可以吃飯大大的減

少等待的時間不用匆匆忙忙得趕回學校上課也不怕說這家客滿找

下一家的麻煩更不用擔心遲到被罵

17

情境 2

有一天女朋友一大早對我說她中午休息時間想要吃很有名的

那家咖哩焗烤飯可是我中午十二點下班一點半就要上班不能等太

久hellip又想要滿足女朋友怎麼辦呢

這時候點餐服務系統就有很好的用處了

利用點餐預約系統事先預訂好位置十二點半到先進行點餐中

午一到就可以輕鬆的去接女朋友到餐廳不用花費太久的時間等待出

菜開心的吃完飯之後再送他回公司上班不但吃到了大餐滿足女朋友

也準時的回公司上班

18

獲取利潤

獲取利潤是跟店家合作不可或缺的內容系統必須可以為店家帶

來更多的消費者並讓店家滿意系統與我們合作讓店家賺錢同時

收取部分的利益並且永續經營先不以賺錢為目的系統可以帶來什

麼樣的滿意服務例如一家小有名氣店面在假日客滿是很平常的事

情但是周一到周五也要天天客滿不太容易可以利用打折優惠來吸引

消費者在人潮較低的時間來消費例如禮拜一到禮拜四的中午這個時

段免服務費禮拜一到禮拜日晚上 9 折這樣可以吸引更多人在低潮

時段前來用餐提升低潮時段的生意

(1)自己當老闆

自己當老闆的想法來看可以跟店家簽約一兩年的時間做為

調整以不會常客滿的店家使用點餐訂位系統可以獲得打折方式來

吸引消費者的注意以 9 折的方式吸引消費者上門達到一定的數量

例如 300 之類的再跟店家收取百分之幾的金額當作酬勞或者是

在禮拜一到禮拜四的冷門時段店家每天提供200個座位給我們跟店家

打 7 折用此系統以 95 折的優惠賣給玩家賺取中間的差額如果透

過我們系統完成 500 個以上的交易再多收部分獎金舉例來說原價

500 塊錢打 7 折 350 元再用 9 折 450 賣給消費者賺取中間 100 的

差額這種方式可以提升店家冷門時候的生意在周末假期的時候用

19

餐的人會比較多但是再多也不可能天天客滿可以送金美小贈品當

作使用我們系統的戰利品

如將來產品成功之後還可賺取廣告費用瀏覽本系統人數越多

代表使用人數也會越多也能幫助到餐廳大廣告從中去賺取費用

(2)賣斷

賣斷也是一種方法把整套系統都賣掉直接收取費用但是非

常低的機率會使用這種方法因為賣斷後必須重新想出一個系統但

是類似或是重複的機率很高

(3)技術入股

技術入股的方式就像 YOUTUBE 賣給 GOOGLE然後 GOOGLE

聘請 YOUTUBE 的老闆當執行長這樣我們可以賣給某企業然後進入

他們企業裡面當他們的執行長並且繼續開發跟維修

20

範例某 E 公司跟台南大億麗緻合作之後消費者直接去大億麗緻消

費和透過某 E 公司訂位消費在價格方面比較便宜以下圖表是使用

某 E 公司跟為使用的差別

圖 6 使用差別

表格 2 某 E 公司賺錢的方法階段性打折

使用E公司 未使用 E公司

平日午餐 610 715

平日下午茶 470 550

平日晚餐 700 825

假日午餐 610 715

假日下午茶 470 660

假日晚餐 700 825

0

100

200

300

400

500

600

700

800

900

使用EZTABLE

未使用 EZTABLE

21

消費者付費方式消費者利用點餐系統並不會付費給我們但

是我們有 VIP 會員的服務整體來說消費者原本只需要辦一個免

費的帳號就可以使用這套軟體但是服務不會比 VIP 會原來的多

VIP 會員可以享受更多優惠的服務

表格 3 有無 VIP 差別

VIP 會員 非 VIP 會員

VIP 消費券 有 無

最新訊息通知 有 無

累積紅利點數 有 無

停車位免費 有 無

季節限定贈品 有 無

以上是說明 VIP 會員的優惠方案當然隨著 VIP 功能的不同會

員價格上也會有所不同就像一般會員和白金會員的差別我們 VIP

的價格是 99 元不會有太貴的困擾隨著 VIP 的優惠功能越來越多

我們會有白金會員 299 元之類的若是已有一般會員的只要再多 200

自動升級成為白金會員

22

購買禮券是一種用更多折扣吸引消費者購買的方式可以在低潮

時段吸引更多金打細算的消費者消費下列的圖表是以某 E 公司跟餐

廳合作禮券的部分

表格 4 某 E 公司跟餐廳合作禮券的部分

餐廳名字 優惠方案 折扣現金

Isabati 義式料理 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

海王子鐵板燒 憑 VIP 禮券$1100 現場可抵

用 1500 元套餐(已含服務費) 400 元

絹絲谷 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

典藏藝術餐廳 憑 VIP 禮券$1000現場可抵用

$1200 消費金額 100 元

非常適合請客的時候使用同時按照購買禮券金額上面的不同

優惠也會有所不同例如1000 元禮券可抵 1100 消費2000 禮券可抵

2200 消費

23

五 系統分析

根據功能性需求(functional requirement)來描述系統並以統一塑模語

言(UMLUnified Modeling Language)呈現之

需求描述

1 顧客可以利用此系統來預約點餐

2 顧客可以利用網際網路查詢餐廳的菜色若有要訂位預約此

餐廳則會幫你篩選出該餐廳簡介及風格和價錢

3 對於菜單的種類系統必須提供連結讓顧客點取顯示菜單的

明細對於欲顧客點餐在顧客還沒確認預約之前顧客可

以將預約單中的菜色做刪除或是更新的動作顧客可以在任

何時刻檢視預約單中的內容顧客可以在確認訂單前之任何

時刻取消預約的動作

4 使用者必須是本站的會員才可以進行點餐預約的動作預

約時會員必須登入到系統系統要查驗登入資料的正確

如果在預約時使用者並非會員系統應該提供讓使用者登

錄為會員的機制

24

5 對於顧客所確認的預約系統必須在預約單成功之後自動

寄發一封 email 給顧客以做為預約的依據它有一點像是傳統

的預約明細表顧客可以利用它來查詢交易的狀態

6 系統必須要有管理會員資料的機制而使用者也應該可以在

任意時刻修改會員資料(系統不提供刪除會員的機制)

7 系統必須要提供查詢的功能查詢時顧客可以利用餐廳

或是地區等等來做分類查詢

8 除了顧客之外系統必須提供管理後端系統的維護只有系

統管理者有權對資料進行維護的動作菜單產品型錄資料存

放在資料庫中

由以上需求描述 可以歸納出以下幾個事件

1加入會員 2會員登入 3瀏覽餐廳 4預約訂位

5點餐 6定位確認 7查詢訂位 8取消訂位

9系統維護 10會員管理資料 11 更新資料 12顧客資料

25

表格 5 手機點餐預約流程事件表

事件名稱 觸發器 來源 活動 回應 目的地

加入會員 註冊 系統 新增 註冊成功 使用者

會員登入 登入 顧客 核對 登入成功 顧客

瀏覽餐廳 選項 顧客 查詢 餐廳呈現 顧客

預約訂位 預約 顧客 產生 預約成功 餐廳

點餐 送出 顧客 產生 訂單編號 餐廳

訂位確認 確認 系統 更新 顧客 餐廳

查詢訂位 查詢 系統 查詢 紀錄表單 系統

取消訂位 取消 顧客 取消 取消確認 系統

系統維護 維護 系統 更新 管理者 管理者

會員管理資料 自動化 系統 更新 資料排列 系統

更新菜單 自動化 餐廳 更新 更新成功 系統

顧客資料 送出 系統 產生 資料呈現 餐廳

菜單事件 送出 系統 產生 菜單表 餐廳

表格 6 手機點餐預約詞彙表(Glossary)

詞彙 解釋 附註

預約 預約包含有客戶資料預約菜單項目

客戶資料 姓名住址電話email 等

菜單 產品編號菜單名稱價格等

登入資料 帳號密碼

餐廳 餐廳類型價格風格

手機 預約瀏覽查詢

26

以下使用案例說明書為手機點餐預約流程的介紹

Use Case Specification 瀏覽

名稱(Name)瀏覽

簡述(Brief Description)顯示給一般民眾我們的系統介面

參與者(Actors)顧客

前提(Pre-Conditions)顯示給一般民眾如何我們系統介面

成功條件(Successful Post-Conditions)進入到介面的首頁

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 瀏覽首頁 2 提共顧客資訊

3 瀏覽餐廳 4 提供顧客熱門餐廳

5 點餐和定餐 6 提供餐廳基本資料

7 是否定位 8 登入會員畫面

27

Use Case Specification 加入會員

名稱(Name)加入會員

簡述(Brief Description)可以透過加入會員索取更多的資料

參與者(Actors)顧客

前提(Pre-Conditions)需要利用我們的系統的使用者

成功條件(Successful Post-Conditions)進入登入會員的登入畫面

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1加入會員 2顯示會員資料表

3填寫會員資料 4成功加入會員

5跳回首頁

4新增失敗

5跳回會員資料表

6 重新填寫會員資料 7成功加入會員

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 12: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

12

四 商業模式

圖 3 消費者跟餐廳的往來

餐廳跟消費者之間最原始的樣子消費者進去餐廳付錢餐廳提供服

務給消費在現代社會中這種服務方式還是存在但是這種原始的

方式已經沒有辦法迅速滿足消費者的需求系統目的就是要改變這種

傳統的吃飯方式方法是利用我們創造的手機點餐系統

13

以下系統希望的關係圖

圖 4 未來消費模式

希望透過服務可以對消費者跟餐廳有更多的服務帶給大眾更

方便的服務消費者到餐廳用餐通常會有兩種常見的問題第一有的

時候無法得知客滿的狀況常常到了餐廳之後才發現客滿浪費許多

時間再去找下一家餐廳第二種狀況是餐廳不小心忘記消費者的餐點

或是搞錯先後順序讓後來的客人先吃到餐點先來的客人苦苦等不到

餐點這兩種是常見的狀況也會造成消費者的不滿和店家的損失系

統可以完全改善第一種問題的造成第二種狀況店家跟配合的得以

也是可以避免掉的問題

14

圖 5 整體系統的流程圖

智慧型手機利用 3G 或是 WIFI 上網便可以取得店家網站的資料

查看是否還有座位和餐點在消費者查看的同時後端的會員系統也

會進行比對確定消費者是否有紅利點數等等消費者在登入會員之後

便可以進行點餐的部分在消費者點餐和訂位完成之後店家的系統

便會出現消費者會員的資料訂位和相關的點餐資訊等等因此我們

的後端必須非常有完整的架構和系統的組織以下將會介紹在程式放

面的比較和未來工作上的分配

15

(1)希望合作對象

希望已有規模的餐廳為主並且懂得利用網路行銷或是有餐廳的

網站因為有小成就的餐廳更不想因為上餐速度太慢得罪客人或是看

著一批的客人到來卻沒有位置可以迎接想必看在業者眼裡一定非常

痛心懂得利用網路行銷的店面一定也是想透過網路讓他們店的知名

度提升也是利用網路來進行訂位和點餐如果可以互相連結消費者一

定更好選擇[5]

(2)站在店家的角度來說

普通常常客滿的店家一定會希望有更多的位置來容納更多的客

人但這未必是最好的選擇減少消費者在店內等待的時間一樣可以

達到更多人進店裡消費的結果如果再以打折的方式之類的吸引消費

者的注意更可以提升顧客人數舉個例子 從消費者點餐到上菜需

要 15 分鐘消費者開始用餐到用餐完畢也花了 15 分鐘總共花費了

30 分鐘如果使用訂位點餐系統如果消費者使用點餐預約系統在

他們到來前已經預約好定位並且決定要吃什麼餐點並且先行做準備

消費者一到店內就可以直接吃東西省掉消費者點餐到上菜需要的

15 分鐘那麼店內一張桌子就可以馬上清空迎接下一位消費者的用

餐時間從 30 分鐘減少到 15 分鐘就等於花費同樣的時間賺兩倍的錢

[6]

16

情境 1

今天也是客滿我們幾乎每天都客滿可是總覺得客滿歸客滿好像

沒有辦法接收更多的生意常常有客人上門卻因為沒有位子或是等太

久吃不到不開心該怎麼解決這個問題呢其實很簡單利用我們可

以先點餐的功能讓一些訂位的客人們先點餐就可以通知廚房事先

知道並且先進行準備動作等到客人就座便可以開始上菜 一次可以

解決上面兩個題

站在一般消費者的立場不管是一般的學生上班族能用餐的時

間不多以學生來說中午 12 點下課 1 個小時後可能要再趕回學校

上課或者有更重要的事情讓你不能好好的吃一頓飯有時就會有因

為中午吃飯等太久下午回去學校上課的時候遲到引起老師不滿被記

遲到甚至曠課吃飯等上菜等到不開心回到學校還要被老師擺臉色

心情一定不好

舉個例子學生們中午快到的時候透過我們的點餐預約系統裡面

的資料決定好要吃哪家餐廳以及哪種餐點直接透過手機上網的方式

預定好中午 12 點下課一到餐廳不用等太久就可以吃飯大大的減

少等待的時間不用匆匆忙忙得趕回學校上課也不怕說這家客滿找

下一家的麻煩更不用擔心遲到被罵

17

情境 2

有一天女朋友一大早對我說她中午休息時間想要吃很有名的

那家咖哩焗烤飯可是我中午十二點下班一點半就要上班不能等太

久hellip又想要滿足女朋友怎麼辦呢

這時候點餐服務系統就有很好的用處了

利用點餐預約系統事先預訂好位置十二點半到先進行點餐中

午一到就可以輕鬆的去接女朋友到餐廳不用花費太久的時間等待出

菜開心的吃完飯之後再送他回公司上班不但吃到了大餐滿足女朋友

也準時的回公司上班

18

獲取利潤

獲取利潤是跟店家合作不可或缺的內容系統必須可以為店家帶

來更多的消費者並讓店家滿意系統與我們合作讓店家賺錢同時

收取部分的利益並且永續經營先不以賺錢為目的系統可以帶來什

麼樣的滿意服務例如一家小有名氣店面在假日客滿是很平常的事

情但是周一到周五也要天天客滿不太容易可以利用打折優惠來吸引

消費者在人潮較低的時間來消費例如禮拜一到禮拜四的中午這個時

段免服務費禮拜一到禮拜日晚上 9 折這樣可以吸引更多人在低潮

時段前來用餐提升低潮時段的生意

(1)自己當老闆

自己當老闆的想法來看可以跟店家簽約一兩年的時間做為

調整以不會常客滿的店家使用點餐訂位系統可以獲得打折方式來

吸引消費者的注意以 9 折的方式吸引消費者上門達到一定的數量

例如 300 之類的再跟店家收取百分之幾的金額當作酬勞或者是

在禮拜一到禮拜四的冷門時段店家每天提供200個座位給我們跟店家

打 7 折用此系統以 95 折的優惠賣給玩家賺取中間的差額如果透

過我們系統完成 500 個以上的交易再多收部分獎金舉例來說原價

500 塊錢打 7 折 350 元再用 9 折 450 賣給消費者賺取中間 100 的

差額這種方式可以提升店家冷門時候的生意在周末假期的時候用

19

餐的人會比較多但是再多也不可能天天客滿可以送金美小贈品當

作使用我們系統的戰利品

如將來產品成功之後還可賺取廣告費用瀏覽本系統人數越多

代表使用人數也會越多也能幫助到餐廳大廣告從中去賺取費用

(2)賣斷

賣斷也是一種方法把整套系統都賣掉直接收取費用但是非

常低的機率會使用這種方法因為賣斷後必須重新想出一個系統但

是類似或是重複的機率很高

(3)技術入股

技術入股的方式就像 YOUTUBE 賣給 GOOGLE然後 GOOGLE

聘請 YOUTUBE 的老闆當執行長這樣我們可以賣給某企業然後進入

他們企業裡面當他們的執行長並且繼續開發跟維修

20

範例某 E 公司跟台南大億麗緻合作之後消費者直接去大億麗緻消

費和透過某 E 公司訂位消費在價格方面比較便宜以下圖表是使用

某 E 公司跟為使用的差別

圖 6 使用差別

表格 2 某 E 公司賺錢的方法階段性打折

使用E公司 未使用 E公司

平日午餐 610 715

平日下午茶 470 550

平日晚餐 700 825

假日午餐 610 715

假日下午茶 470 660

假日晚餐 700 825

0

100

200

300

400

500

600

700

800

900

使用EZTABLE

未使用 EZTABLE

21

消費者付費方式消費者利用點餐系統並不會付費給我們但

是我們有 VIP 會員的服務整體來說消費者原本只需要辦一個免

費的帳號就可以使用這套軟體但是服務不會比 VIP 會原來的多

VIP 會員可以享受更多優惠的服務

表格 3 有無 VIP 差別

VIP 會員 非 VIP 會員

VIP 消費券 有 無

最新訊息通知 有 無

累積紅利點數 有 無

停車位免費 有 無

季節限定贈品 有 無

以上是說明 VIP 會員的優惠方案當然隨著 VIP 功能的不同會

員價格上也會有所不同就像一般會員和白金會員的差別我們 VIP

的價格是 99 元不會有太貴的困擾隨著 VIP 的優惠功能越來越多

我們會有白金會員 299 元之類的若是已有一般會員的只要再多 200

自動升級成為白金會員

22

購買禮券是一種用更多折扣吸引消費者購買的方式可以在低潮

時段吸引更多金打細算的消費者消費下列的圖表是以某 E 公司跟餐

廳合作禮券的部分

表格 4 某 E 公司跟餐廳合作禮券的部分

餐廳名字 優惠方案 折扣現金

Isabati 義式料理 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

海王子鐵板燒 憑 VIP 禮券$1100 現場可抵

用 1500 元套餐(已含服務費) 400 元

絹絲谷 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

典藏藝術餐廳 憑 VIP 禮券$1000現場可抵用

$1200 消費金額 100 元

非常適合請客的時候使用同時按照購買禮券金額上面的不同

優惠也會有所不同例如1000 元禮券可抵 1100 消費2000 禮券可抵

2200 消費

23

五 系統分析

根據功能性需求(functional requirement)來描述系統並以統一塑模語

言(UMLUnified Modeling Language)呈現之

需求描述

1 顧客可以利用此系統來預約點餐

2 顧客可以利用網際網路查詢餐廳的菜色若有要訂位預約此

餐廳則會幫你篩選出該餐廳簡介及風格和價錢

3 對於菜單的種類系統必須提供連結讓顧客點取顯示菜單的

明細對於欲顧客點餐在顧客還沒確認預約之前顧客可

以將預約單中的菜色做刪除或是更新的動作顧客可以在任

何時刻檢視預約單中的內容顧客可以在確認訂單前之任何

時刻取消預約的動作

4 使用者必須是本站的會員才可以進行點餐預約的動作預

約時會員必須登入到系統系統要查驗登入資料的正確

如果在預約時使用者並非會員系統應該提供讓使用者登

錄為會員的機制

24

5 對於顧客所確認的預約系統必須在預約單成功之後自動

寄發一封 email 給顧客以做為預約的依據它有一點像是傳統

的預約明細表顧客可以利用它來查詢交易的狀態

6 系統必須要有管理會員資料的機制而使用者也應該可以在

任意時刻修改會員資料(系統不提供刪除會員的機制)

7 系統必須要提供查詢的功能查詢時顧客可以利用餐廳

或是地區等等來做分類查詢

8 除了顧客之外系統必須提供管理後端系統的維護只有系

統管理者有權對資料進行維護的動作菜單產品型錄資料存

放在資料庫中

由以上需求描述 可以歸納出以下幾個事件

1加入會員 2會員登入 3瀏覽餐廳 4預約訂位

5點餐 6定位確認 7查詢訂位 8取消訂位

9系統維護 10會員管理資料 11 更新資料 12顧客資料

25

表格 5 手機點餐預約流程事件表

事件名稱 觸發器 來源 活動 回應 目的地

加入會員 註冊 系統 新增 註冊成功 使用者

會員登入 登入 顧客 核對 登入成功 顧客

瀏覽餐廳 選項 顧客 查詢 餐廳呈現 顧客

預約訂位 預約 顧客 產生 預約成功 餐廳

點餐 送出 顧客 產生 訂單編號 餐廳

訂位確認 確認 系統 更新 顧客 餐廳

查詢訂位 查詢 系統 查詢 紀錄表單 系統

取消訂位 取消 顧客 取消 取消確認 系統

系統維護 維護 系統 更新 管理者 管理者

會員管理資料 自動化 系統 更新 資料排列 系統

更新菜單 自動化 餐廳 更新 更新成功 系統

顧客資料 送出 系統 產生 資料呈現 餐廳

菜單事件 送出 系統 產生 菜單表 餐廳

表格 6 手機點餐預約詞彙表(Glossary)

詞彙 解釋 附註

預約 預約包含有客戶資料預約菜單項目

客戶資料 姓名住址電話email 等

菜單 產品編號菜單名稱價格等

登入資料 帳號密碼

餐廳 餐廳類型價格風格

手機 預約瀏覽查詢

26

以下使用案例說明書為手機點餐預約流程的介紹

Use Case Specification 瀏覽

名稱(Name)瀏覽

簡述(Brief Description)顯示給一般民眾我們的系統介面

參與者(Actors)顧客

前提(Pre-Conditions)顯示給一般民眾如何我們系統介面

成功條件(Successful Post-Conditions)進入到介面的首頁

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 瀏覽首頁 2 提共顧客資訊

3 瀏覽餐廳 4 提供顧客熱門餐廳

5 點餐和定餐 6 提供餐廳基本資料

7 是否定位 8 登入會員畫面

27

Use Case Specification 加入會員

名稱(Name)加入會員

簡述(Brief Description)可以透過加入會員索取更多的資料

參與者(Actors)顧客

前提(Pre-Conditions)需要利用我們的系統的使用者

成功條件(Successful Post-Conditions)進入登入會員的登入畫面

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1加入會員 2顯示會員資料表

3填寫會員資料 4成功加入會員

5跳回首頁

4新增失敗

5跳回會員資料表

6 重新填寫會員資料 7成功加入會員

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 13: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

13

以下系統希望的關係圖

圖 4 未來消費模式

希望透過服務可以對消費者跟餐廳有更多的服務帶給大眾更

方便的服務消費者到餐廳用餐通常會有兩種常見的問題第一有的

時候無法得知客滿的狀況常常到了餐廳之後才發現客滿浪費許多

時間再去找下一家餐廳第二種狀況是餐廳不小心忘記消費者的餐點

或是搞錯先後順序讓後來的客人先吃到餐點先來的客人苦苦等不到

餐點這兩種是常見的狀況也會造成消費者的不滿和店家的損失系

統可以完全改善第一種問題的造成第二種狀況店家跟配合的得以

也是可以避免掉的問題

14

圖 5 整體系統的流程圖

智慧型手機利用 3G 或是 WIFI 上網便可以取得店家網站的資料

查看是否還有座位和餐點在消費者查看的同時後端的會員系統也

會進行比對確定消費者是否有紅利點數等等消費者在登入會員之後

便可以進行點餐的部分在消費者點餐和訂位完成之後店家的系統

便會出現消費者會員的資料訂位和相關的點餐資訊等等因此我們

的後端必須非常有完整的架構和系統的組織以下將會介紹在程式放

面的比較和未來工作上的分配

15

(1)希望合作對象

希望已有規模的餐廳為主並且懂得利用網路行銷或是有餐廳的

網站因為有小成就的餐廳更不想因為上餐速度太慢得罪客人或是看

著一批的客人到來卻沒有位置可以迎接想必看在業者眼裡一定非常

痛心懂得利用網路行銷的店面一定也是想透過網路讓他們店的知名

度提升也是利用網路來進行訂位和點餐如果可以互相連結消費者一

定更好選擇[5]

(2)站在店家的角度來說

普通常常客滿的店家一定會希望有更多的位置來容納更多的客

人但這未必是最好的選擇減少消費者在店內等待的時間一樣可以

達到更多人進店裡消費的結果如果再以打折的方式之類的吸引消費

者的注意更可以提升顧客人數舉個例子 從消費者點餐到上菜需

要 15 分鐘消費者開始用餐到用餐完畢也花了 15 分鐘總共花費了

30 分鐘如果使用訂位點餐系統如果消費者使用點餐預約系統在

他們到來前已經預約好定位並且決定要吃什麼餐點並且先行做準備

消費者一到店內就可以直接吃東西省掉消費者點餐到上菜需要的

15 分鐘那麼店內一張桌子就可以馬上清空迎接下一位消費者的用

餐時間從 30 分鐘減少到 15 分鐘就等於花費同樣的時間賺兩倍的錢

[6]

16

情境 1

今天也是客滿我們幾乎每天都客滿可是總覺得客滿歸客滿好像

沒有辦法接收更多的生意常常有客人上門卻因為沒有位子或是等太

久吃不到不開心該怎麼解決這個問題呢其實很簡單利用我們可

以先點餐的功能讓一些訂位的客人們先點餐就可以通知廚房事先

知道並且先進行準備動作等到客人就座便可以開始上菜 一次可以

解決上面兩個題

站在一般消費者的立場不管是一般的學生上班族能用餐的時

間不多以學生來說中午 12 點下課 1 個小時後可能要再趕回學校

上課或者有更重要的事情讓你不能好好的吃一頓飯有時就會有因

為中午吃飯等太久下午回去學校上課的時候遲到引起老師不滿被記

遲到甚至曠課吃飯等上菜等到不開心回到學校還要被老師擺臉色

心情一定不好

舉個例子學生們中午快到的時候透過我們的點餐預約系統裡面

的資料決定好要吃哪家餐廳以及哪種餐點直接透過手機上網的方式

預定好中午 12 點下課一到餐廳不用等太久就可以吃飯大大的減

少等待的時間不用匆匆忙忙得趕回學校上課也不怕說這家客滿找

下一家的麻煩更不用擔心遲到被罵

17

情境 2

有一天女朋友一大早對我說她中午休息時間想要吃很有名的

那家咖哩焗烤飯可是我中午十二點下班一點半就要上班不能等太

久hellip又想要滿足女朋友怎麼辦呢

這時候點餐服務系統就有很好的用處了

利用點餐預約系統事先預訂好位置十二點半到先進行點餐中

午一到就可以輕鬆的去接女朋友到餐廳不用花費太久的時間等待出

菜開心的吃完飯之後再送他回公司上班不但吃到了大餐滿足女朋友

也準時的回公司上班

18

獲取利潤

獲取利潤是跟店家合作不可或缺的內容系統必須可以為店家帶

來更多的消費者並讓店家滿意系統與我們合作讓店家賺錢同時

收取部分的利益並且永續經營先不以賺錢為目的系統可以帶來什

麼樣的滿意服務例如一家小有名氣店面在假日客滿是很平常的事

情但是周一到周五也要天天客滿不太容易可以利用打折優惠來吸引

消費者在人潮較低的時間來消費例如禮拜一到禮拜四的中午這個時

段免服務費禮拜一到禮拜日晚上 9 折這樣可以吸引更多人在低潮

時段前來用餐提升低潮時段的生意

(1)自己當老闆

自己當老闆的想法來看可以跟店家簽約一兩年的時間做為

調整以不會常客滿的店家使用點餐訂位系統可以獲得打折方式來

吸引消費者的注意以 9 折的方式吸引消費者上門達到一定的數量

例如 300 之類的再跟店家收取百分之幾的金額當作酬勞或者是

在禮拜一到禮拜四的冷門時段店家每天提供200個座位給我們跟店家

打 7 折用此系統以 95 折的優惠賣給玩家賺取中間的差額如果透

過我們系統完成 500 個以上的交易再多收部分獎金舉例來說原價

500 塊錢打 7 折 350 元再用 9 折 450 賣給消費者賺取中間 100 的

差額這種方式可以提升店家冷門時候的生意在周末假期的時候用

19

餐的人會比較多但是再多也不可能天天客滿可以送金美小贈品當

作使用我們系統的戰利品

如將來產品成功之後還可賺取廣告費用瀏覽本系統人數越多

代表使用人數也會越多也能幫助到餐廳大廣告從中去賺取費用

(2)賣斷

賣斷也是一種方法把整套系統都賣掉直接收取費用但是非

常低的機率會使用這種方法因為賣斷後必須重新想出一個系統但

是類似或是重複的機率很高

(3)技術入股

技術入股的方式就像 YOUTUBE 賣給 GOOGLE然後 GOOGLE

聘請 YOUTUBE 的老闆當執行長這樣我們可以賣給某企業然後進入

他們企業裡面當他們的執行長並且繼續開發跟維修

20

範例某 E 公司跟台南大億麗緻合作之後消費者直接去大億麗緻消

費和透過某 E 公司訂位消費在價格方面比較便宜以下圖表是使用

某 E 公司跟為使用的差別

圖 6 使用差別

表格 2 某 E 公司賺錢的方法階段性打折

使用E公司 未使用 E公司

平日午餐 610 715

平日下午茶 470 550

平日晚餐 700 825

假日午餐 610 715

假日下午茶 470 660

假日晚餐 700 825

0

100

200

300

400

500

600

700

800

900

使用EZTABLE

未使用 EZTABLE

21

消費者付費方式消費者利用點餐系統並不會付費給我們但

是我們有 VIP 會員的服務整體來說消費者原本只需要辦一個免

費的帳號就可以使用這套軟體但是服務不會比 VIP 會原來的多

VIP 會員可以享受更多優惠的服務

表格 3 有無 VIP 差別

VIP 會員 非 VIP 會員

VIP 消費券 有 無

最新訊息通知 有 無

累積紅利點數 有 無

停車位免費 有 無

季節限定贈品 有 無

以上是說明 VIP 會員的優惠方案當然隨著 VIP 功能的不同會

員價格上也會有所不同就像一般會員和白金會員的差別我們 VIP

的價格是 99 元不會有太貴的困擾隨著 VIP 的優惠功能越來越多

我們會有白金會員 299 元之類的若是已有一般會員的只要再多 200

自動升級成為白金會員

22

購買禮券是一種用更多折扣吸引消費者購買的方式可以在低潮

時段吸引更多金打細算的消費者消費下列的圖表是以某 E 公司跟餐

廳合作禮券的部分

表格 4 某 E 公司跟餐廳合作禮券的部分

餐廳名字 優惠方案 折扣現金

Isabati 義式料理 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

海王子鐵板燒 憑 VIP 禮券$1100 現場可抵

用 1500 元套餐(已含服務費) 400 元

絹絲谷 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

典藏藝術餐廳 憑 VIP 禮券$1000現場可抵用

$1200 消費金額 100 元

非常適合請客的時候使用同時按照購買禮券金額上面的不同

優惠也會有所不同例如1000 元禮券可抵 1100 消費2000 禮券可抵

2200 消費

23

五 系統分析

根據功能性需求(functional requirement)來描述系統並以統一塑模語

言(UMLUnified Modeling Language)呈現之

需求描述

1 顧客可以利用此系統來預約點餐

2 顧客可以利用網際網路查詢餐廳的菜色若有要訂位預約此

餐廳則會幫你篩選出該餐廳簡介及風格和價錢

3 對於菜單的種類系統必須提供連結讓顧客點取顯示菜單的

明細對於欲顧客點餐在顧客還沒確認預約之前顧客可

以將預約單中的菜色做刪除或是更新的動作顧客可以在任

何時刻檢視預約單中的內容顧客可以在確認訂單前之任何

時刻取消預約的動作

4 使用者必須是本站的會員才可以進行點餐預約的動作預

約時會員必須登入到系統系統要查驗登入資料的正確

如果在預約時使用者並非會員系統應該提供讓使用者登

錄為會員的機制

24

5 對於顧客所確認的預約系統必須在預約單成功之後自動

寄發一封 email 給顧客以做為預約的依據它有一點像是傳統

的預約明細表顧客可以利用它來查詢交易的狀態

6 系統必須要有管理會員資料的機制而使用者也應該可以在

任意時刻修改會員資料(系統不提供刪除會員的機制)

7 系統必須要提供查詢的功能查詢時顧客可以利用餐廳

或是地區等等來做分類查詢

8 除了顧客之外系統必須提供管理後端系統的維護只有系

統管理者有權對資料進行維護的動作菜單產品型錄資料存

放在資料庫中

由以上需求描述 可以歸納出以下幾個事件

1加入會員 2會員登入 3瀏覽餐廳 4預約訂位

5點餐 6定位確認 7查詢訂位 8取消訂位

9系統維護 10會員管理資料 11 更新資料 12顧客資料

25

表格 5 手機點餐預約流程事件表

事件名稱 觸發器 來源 活動 回應 目的地

加入會員 註冊 系統 新增 註冊成功 使用者

會員登入 登入 顧客 核對 登入成功 顧客

瀏覽餐廳 選項 顧客 查詢 餐廳呈現 顧客

預約訂位 預約 顧客 產生 預約成功 餐廳

點餐 送出 顧客 產生 訂單編號 餐廳

訂位確認 確認 系統 更新 顧客 餐廳

查詢訂位 查詢 系統 查詢 紀錄表單 系統

取消訂位 取消 顧客 取消 取消確認 系統

系統維護 維護 系統 更新 管理者 管理者

會員管理資料 自動化 系統 更新 資料排列 系統

更新菜單 自動化 餐廳 更新 更新成功 系統

顧客資料 送出 系統 產生 資料呈現 餐廳

菜單事件 送出 系統 產生 菜單表 餐廳

表格 6 手機點餐預約詞彙表(Glossary)

詞彙 解釋 附註

預約 預約包含有客戶資料預約菜單項目

客戶資料 姓名住址電話email 等

菜單 產品編號菜單名稱價格等

登入資料 帳號密碼

餐廳 餐廳類型價格風格

手機 預約瀏覽查詢

26

以下使用案例說明書為手機點餐預約流程的介紹

Use Case Specification 瀏覽

名稱(Name)瀏覽

簡述(Brief Description)顯示給一般民眾我們的系統介面

參與者(Actors)顧客

前提(Pre-Conditions)顯示給一般民眾如何我們系統介面

成功條件(Successful Post-Conditions)進入到介面的首頁

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 瀏覽首頁 2 提共顧客資訊

3 瀏覽餐廳 4 提供顧客熱門餐廳

5 點餐和定餐 6 提供餐廳基本資料

7 是否定位 8 登入會員畫面

27

Use Case Specification 加入會員

名稱(Name)加入會員

簡述(Brief Description)可以透過加入會員索取更多的資料

參與者(Actors)顧客

前提(Pre-Conditions)需要利用我們的系統的使用者

成功條件(Successful Post-Conditions)進入登入會員的登入畫面

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1加入會員 2顯示會員資料表

3填寫會員資料 4成功加入會員

5跳回首頁

4新增失敗

5跳回會員資料表

6 重新填寫會員資料 7成功加入會員

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 14: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

14

圖 5 整體系統的流程圖

智慧型手機利用 3G 或是 WIFI 上網便可以取得店家網站的資料

查看是否還有座位和餐點在消費者查看的同時後端的會員系統也

會進行比對確定消費者是否有紅利點數等等消費者在登入會員之後

便可以進行點餐的部分在消費者點餐和訂位完成之後店家的系統

便會出現消費者會員的資料訂位和相關的點餐資訊等等因此我們

的後端必須非常有完整的架構和系統的組織以下將會介紹在程式放

面的比較和未來工作上的分配

15

(1)希望合作對象

希望已有規模的餐廳為主並且懂得利用網路行銷或是有餐廳的

網站因為有小成就的餐廳更不想因為上餐速度太慢得罪客人或是看

著一批的客人到來卻沒有位置可以迎接想必看在業者眼裡一定非常

痛心懂得利用網路行銷的店面一定也是想透過網路讓他們店的知名

度提升也是利用網路來進行訂位和點餐如果可以互相連結消費者一

定更好選擇[5]

(2)站在店家的角度來說

普通常常客滿的店家一定會希望有更多的位置來容納更多的客

人但這未必是最好的選擇減少消費者在店內等待的時間一樣可以

達到更多人進店裡消費的結果如果再以打折的方式之類的吸引消費

者的注意更可以提升顧客人數舉個例子 從消費者點餐到上菜需

要 15 分鐘消費者開始用餐到用餐完畢也花了 15 分鐘總共花費了

30 分鐘如果使用訂位點餐系統如果消費者使用點餐預約系統在

他們到來前已經預約好定位並且決定要吃什麼餐點並且先行做準備

消費者一到店內就可以直接吃東西省掉消費者點餐到上菜需要的

15 分鐘那麼店內一張桌子就可以馬上清空迎接下一位消費者的用

餐時間從 30 分鐘減少到 15 分鐘就等於花費同樣的時間賺兩倍的錢

[6]

16

情境 1

今天也是客滿我們幾乎每天都客滿可是總覺得客滿歸客滿好像

沒有辦法接收更多的生意常常有客人上門卻因為沒有位子或是等太

久吃不到不開心該怎麼解決這個問題呢其實很簡單利用我們可

以先點餐的功能讓一些訂位的客人們先點餐就可以通知廚房事先

知道並且先進行準備動作等到客人就座便可以開始上菜 一次可以

解決上面兩個題

站在一般消費者的立場不管是一般的學生上班族能用餐的時

間不多以學生來說中午 12 點下課 1 個小時後可能要再趕回學校

上課或者有更重要的事情讓你不能好好的吃一頓飯有時就會有因

為中午吃飯等太久下午回去學校上課的時候遲到引起老師不滿被記

遲到甚至曠課吃飯等上菜等到不開心回到學校還要被老師擺臉色

心情一定不好

舉個例子學生們中午快到的時候透過我們的點餐預約系統裡面

的資料決定好要吃哪家餐廳以及哪種餐點直接透過手機上網的方式

預定好中午 12 點下課一到餐廳不用等太久就可以吃飯大大的減

少等待的時間不用匆匆忙忙得趕回學校上課也不怕說這家客滿找

下一家的麻煩更不用擔心遲到被罵

17

情境 2

有一天女朋友一大早對我說她中午休息時間想要吃很有名的

那家咖哩焗烤飯可是我中午十二點下班一點半就要上班不能等太

久hellip又想要滿足女朋友怎麼辦呢

這時候點餐服務系統就有很好的用處了

利用點餐預約系統事先預訂好位置十二點半到先進行點餐中

午一到就可以輕鬆的去接女朋友到餐廳不用花費太久的時間等待出

菜開心的吃完飯之後再送他回公司上班不但吃到了大餐滿足女朋友

也準時的回公司上班

18

獲取利潤

獲取利潤是跟店家合作不可或缺的內容系統必須可以為店家帶

來更多的消費者並讓店家滿意系統與我們合作讓店家賺錢同時

收取部分的利益並且永續經營先不以賺錢為目的系統可以帶來什

麼樣的滿意服務例如一家小有名氣店面在假日客滿是很平常的事

情但是周一到周五也要天天客滿不太容易可以利用打折優惠來吸引

消費者在人潮較低的時間來消費例如禮拜一到禮拜四的中午這個時

段免服務費禮拜一到禮拜日晚上 9 折這樣可以吸引更多人在低潮

時段前來用餐提升低潮時段的生意

(1)自己當老闆

自己當老闆的想法來看可以跟店家簽約一兩年的時間做為

調整以不會常客滿的店家使用點餐訂位系統可以獲得打折方式來

吸引消費者的注意以 9 折的方式吸引消費者上門達到一定的數量

例如 300 之類的再跟店家收取百分之幾的金額當作酬勞或者是

在禮拜一到禮拜四的冷門時段店家每天提供200個座位給我們跟店家

打 7 折用此系統以 95 折的優惠賣給玩家賺取中間的差額如果透

過我們系統完成 500 個以上的交易再多收部分獎金舉例來說原價

500 塊錢打 7 折 350 元再用 9 折 450 賣給消費者賺取中間 100 的

差額這種方式可以提升店家冷門時候的生意在周末假期的時候用

19

餐的人會比較多但是再多也不可能天天客滿可以送金美小贈品當

作使用我們系統的戰利品

如將來產品成功之後還可賺取廣告費用瀏覽本系統人數越多

代表使用人數也會越多也能幫助到餐廳大廣告從中去賺取費用

(2)賣斷

賣斷也是一種方法把整套系統都賣掉直接收取費用但是非

常低的機率會使用這種方法因為賣斷後必須重新想出一個系統但

是類似或是重複的機率很高

(3)技術入股

技術入股的方式就像 YOUTUBE 賣給 GOOGLE然後 GOOGLE

聘請 YOUTUBE 的老闆當執行長這樣我們可以賣給某企業然後進入

他們企業裡面當他們的執行長並且繼續開發跟維修

20

範例某 E 公司跟台南大億麗緻合作之後消費者直接去大億麗緻消

費和透過某 E 公司訂位消費在價格方面比較便宜以下圖表是使用

某 E 公司跟為使用的差別

圖 6 使用差別

表格 2 某 E 公司賺錢的方法階段性打折

使用E公司 未使用 E公司

平日午餐 610 715

平日下午茶 470 550

平日晚餐 700 825

假日午餐 610 715

假日下午茶 470 660

假日晚餐 700 825

0

100

200

300

400

500

600

700

800

900

使用EZTABLE

未使用 EZTABLE

21

消費者付費方式消費者利用點餐系統並不會付費給我們但

是我們有 VIP 會員的服務整體來說消費者原本只需要辦一個免

費的帳號就可以使用這套軟體但是服務不會比 VIP 會原來的多

VIP 會員可以享受更多優惠的服務

表格 3 有無 VIP 差別

VIP 會員 非 VIP 會員

VIP 消費券 有 無

最新訊息通知 有 無

累積紅利點數 有 無

停車位免費 有 無

季節限定贈品 有 無

以上是說明 VIP 會員的優惠方案當然隨著 VIP 功能的不同會

員價格上也會有所不同就像一般會員和白金會員的差別我們 VIP

的價格是 99 元不會有太貴的困擾隨著 VIP 的優惠功能越來越多

我們會有白金會員 299 元之類的若是已有一般會員的只要再多 200

自動升級成為白金會員

22

購買禮券是一種用更多折扣吸引消費者購買的方式可以在低潮

時段吸引更多金打細算的消費者消費下列的圖表是以某 E 公司跟餐

廳合作禮券的部分

表格 4 某 E 公司跟餐廳合作禮券的部分

餐廳名字 優惠方案 折扣現金

Isabati 義式料理 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

海王子鐵板燒 憑 VIP 禮券$1100 現場可抵

用 1500 元套餐(已含服務費) 400 元

絹絲谷 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

典藏藝術餐廳 憑 VIP 禮券$1000現場可抵用

$1200 消費金額 100 元

非常適合請客的時候使用同時按照購買禮券金額上面的不同

優惠也會有所不同例如1000 元禮券可抵 1100 消費2000 禮券可抵

2200 消費

23

五 系統分析

根據功能性需求(functional requirement)來描述系統並以統一塑模語

言(UMLUnified Modeling Language)呈現之

需求描述

1 顧客可以利用此系統來預約點餐

2 顧客可以利用網際網路查詢餐廳的菜色若有要訂位預約此

餐廳則會幫你篩選出該餐廳簡介及風格和價錢

3 對於菜單的種類系統必須提供連結讓顧客點取顯示菜單的

明細對於欲顧客點餐在顧客還沒確認預約之前顧客可

以將預約單中的菜色做刪除或是更新的動作顧客可以在任

何時刻檢視預約單中的內容顧客可以在確認訂單前之任何

時刻取消預約的動作

4 使用者必須是本站的會員才可以進行點餐預約的動作預

約時會員必須登入到系統系統要查驗登入資料的正確

如果在預約時使用者並非會員系統應該提供讓使用者登

錄為會員的機制

24

5 對於顧客所確認的預約系統必須在預約單成功之後自動

寄發一封 email 給顧客以做為預約的依據它有一點像是傳統

的預約明細表顧客可以利用它來查詢交易的狀態

6 系統必須要有管理會員資料的機制而使用者也應該可以在

任意時刻修改會員資料(系統不提供刪除會員的機制)

7 系統必須要提供查詢的功能查詢時顧客可以利用餐廳

或是地區等等來做分類查詢

8 除了顧客之外系統必須提供管理後端系統的維護只有系

統管理者有權對資料進行維護的動作菜單產品型錄資料存

放在資料庫中

由以上需求描述 可以歸納出以下幾個事件

1加入會員 2會員登入 3瀏覽餐廳 4預約訂位

5點餐 6定位確認 7查詢訂位 8取消訂位

9系統維護 10會員管理資料 11 更新資料 12顧客資料

25

表格 5 手機點餐預約流程事件表

事件名稱 觸發器 來源 活動 回應 目的地

加入會員 註冊 系統 新增 註冊成功 使用者

會員登入 登入 顧客 核對 登入成功 顧客

瀏覽餐廳 選項 顧客 查詢 餐廳呈現 顧客

預約訂位 預約 顧客 產生 預約成功 餐廳

點餐 送出 顧客 產生 訂單編號 餐廳

訂位確認 確認 系統 更新 顧客 餐廳

查詢訂位 查詢 系統 查詢 紀錄表單 系統

取消訂位 取消 顧客 取消 取消確認 系統

系統維護 維護 系統 更新 管理者 管理者

會員管理資料 自動化 系統 更新 資料排列 系統

更新菜單 自動化 餐廳 更新 更新成功 系統

顧客資料 送出 系統 產生 資料呈現 餐廳

菜單事件 送出 系統 產生 菜單表 餐廳

表格 6 手機點餐預約詞彙表(Glossary)

詞彙 解釋 附註

預約 預約包含有客戶資料預約菜單項目

客戶資料 姓名住址電話email 等

菜單 產品編號菜單名稱價格等

登入資料 帳號密碼

餐廳 餐廳類型價格風格

手機 預約瀏覽查詢

26

以下使用案例說明書為手機點餐預約流程的介紹

Use Case Specification 瀏覽

名稱(Name)瀏覽

簡述(Brief Description)顯示給一般民眾我們的系統介面

參與者(Actors)顧客

前提(Pre-Conditions)顯示給一般民眾如何我們系統介面

成功條件(Successful Post-Conditions)進入到介面的首頁

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 瀏覽首頁 2 提共顧客資訊

3 瀏覽餐廳 4 提供顧客熱門餐廳

5 點餐和定餐 6 提供餐廳基本資料

7 是否定位 8 登入會員畫面

27

Use Case Specification 加入會員

名稱(Name)加入會員

簡述(Brief Description)可以透過加入會員索取更多的資料

參與者(Actors)顧客

前提(Pre-Conditions)需要利用我們的系統的使用者

成功條件(Successful Post-Conditions)進入登入會員的登入畫面

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1加入會員 2顯示會員資料表

3填寫會員資料 4成功加入會員

5跳回首頁

4新增失敗

5跳回會員資料表

6 重新填寫會員資料 7成功加入會員

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 15: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

15

(1)希望合作對象

希望已有規模的餐廳為主並且懂得利用網路行銷或是有餐廳的

網站因為有小成就的餐廳更不想因為上餐速度太慢得罪客人或是看

著一批的客人到來卻沒有位置可以迎接想必看在業者眼裡一定非常

痛心懂得利用網路行銷的店面一定也是想透過網路讓他們店的知名

度提升也是利用網路來進行訂位和點餐如果可以互相連結消費者一

定更好選擇[5]

(2)站在店家的角度來說

普通常常客滿的店家一定會希望有更多的位置來容納更多的客

人但這未必是最好的選擇減少消費者在店內等待的時間一樣可以

達到更多人進店裡消費的結果如果再以打折的方式之類的吸引消費

者的注意更可以提升顧客人數舉個例子 從消費者點餐到上菜需

要 15 分鐘消費者開始用餐到用餐完畢也花了 15 分鐘總共花費了

30 分鐘如果使用訂位點餐系統如果消費者使用點餐預約系統在

他們到來前已經預約好定位並且決定要吃什麼餐點並且先行做準備

消費者一到店內就可以直接吃東西省掉消費者點餐到上菜需要的

15 分鐘那麼店內一張桌子就可以馬上清空迎接下一位消費者的用

餐時間從 30 分鐘減少到 15 分鐘就等於花費同樣的時間賺兩倍的錢

[6]

16

情境 1

今天也是客滿我們幾乎每天都客滿可是總覺得客滿歸客滿好像

沒有辦法接收更多的生意常常有客人上門卻因為沒有位子或是等太

久吃不到不開心該怎麼解決這個問題呢其實很簡單利用我們可

以先點餐的功能讓一些訂位的客人們先點餐就可以通知廚房事先

知道並且先進行準備動作等到客人就座便可以開始上菜 一次可以

解決上面兩個題

站在一般消費者的立場不管是一般的學生上班族能用餐的時

間不多以學生來說中午 12 點下課 1 個小時後可能要再趕回學校

上課或者有更重要的事情讓你不能好好的吃一頓飯有時就會有因

為中午吃飯等太久下午回去學校上課的時候遲到引起老師不滿被記

遲到甚至曠課吃飯等上菜等到不開心回到學校還要被老師擺臉色

心情一定不好

舉個例子學生們中午快到的時候透過我們的點餐預約系統裡面

的資料決定好要吃哪家餐廳以及哪種餐點直接透過手機上網的方式

預定好中午 12 點下課一到餐廳不用等太久就可以吃飯大大的減

少等待的時間不用匆匆忙忙得趕回學校上課也不怕說這家客滿找

下一家的麻煩更不用擔心遲到被罵

17

情境 2

有一天女朋友一大早對我說她中午休息時間想要吃很有名的

那家咖哩焗烤飯可是我中午十二點下班一點半就要上班不能等太

久hellip又想要滿足女朋友怎麼辦呢

這時候點餐服務系統就有很好的用處了

利用點餐預約系統事先預訂好位置十二點半到先進行點餐中

午一到就可以輕鬆的去接女朋友到餐廳不用花費太久的時間等待出

菜開心的吃完飯之後再送他回公司上班不但吃到了大餐滿足女朋友

也準時的回公司上班

18

獲取利潤

獲取利潤是跟店家合作不可或缺的內容系統必須可以為店家帶

來更多的消費者並讓店家滿意系統與我們合作讓店家賺錢同時

收取部分的利益並且永續經營先不以賺錢為目的系統可以帶來什

麼樣的滿意服務例如一家小有名氣店面在假日客滿是很平常的事

情但是周一到周五也要天天客滿不太容易可以利用打折優惠來吸引

消費者在人潮較低的時間來消費例如禮拜一到禮拜四的中午這個時

段免服務費禮拜一到禮拜日晚上 9 折這樣可以吸引更多人在低潮

時段前來用餐提升低潮時段的生意

(1)自己當老闆

自己當老闆的想法來看可以跟店家簽約一兩年的時間做為

調整以不會常客滿的店家使用點餐訂位系統可以獲得打折方式來

吸引消費者的注意以 9 折的方式吸引消費者上門達到一定的數量

例如 300 之類的再跟店家收取百分之幾的金額當作酬勞或者是

在禮拜一到禮拜四的冷門時段店家每天提供200個座位給我們跟店家

打 7 折用此系統以 95 折的優惠賣給玩家賺取中間的差額如果透

過我們系統完成 500 個以上的交易再多收部分獎金舉例來說原價

500 塊錢打 7 折 350 元再用 9 折 450 賣給消費者賺取中間 100 的

差額這種方式可以提升店家冷門時候的生意在周末假期的時候用

19

餐的人會比較多但是再多也不可能天天客滿可以送金美小贈品當

作使用我們系統的戰利品

如將來產品成功之後還可賺取廣告費用瀏覽本系統人數越多

代表使用人數也會越多也能幫助到餐廳大廣告從中去賺取費用

(2)賣斷

賣斷也是一種方法把整套系統都賣掉直接收取費用但是非

常低的機率會使用這種方法因為賣斷後必須重新想出一個系統但

是類似或是重複的機率很高

(3)技術入股

技術入股的方式就像 YOUTUBE 賣給 GOOGLE然後 GOOGLE

聘請 YOUTUBE 的老闆當執行長這樣我們可以賣給某企業然後進入

他們企業裡面當他們的執行長並且繼續開發跟維修

20

範例某 E 公司跟台南大億麗緻合作之後消費者直接去大億麗緻消

費和透過某 E 公司訂位消費在價格方面比較便宜以下圖表是使用

某 E 公司跟為使用的差別

圖 6 使用差別

表格 2 某 E 公司賺錢的方法階段性打折

使用E公司 未使用 E公司

平日午餐 610 715

平日下午茶 470 550

平日晚餐 700 825

假日午餐 610 715

假日下午茶 470 660

假日晚餐 700 825

0

100

200

300

400

500

600

700

800

900

使用EZTABLE

未使用 EZTABLE

21

消費者付費方式消費者利用點餐系統並不會付費給我們但

是我們有 VIP 會員的服務整體來說消費者原本只需要辦一個免

費的帳號就可以使用這套軟體但是服務不會比 VIP 會原來的多

VIP 會員可以享受更多優惠的服務

表格 3 有無 VIP 差別

VIP 會員 非 VIP 會員

VIP 消費券 有 無

最新訊息通知 有 無

累積紅利點數 有 無

停車位免費 有 無

季節限定贈品 有 無

以上是說明 VIP 會員的優惠方案當然隨著 VIP 功能的不同會

員價格上也會有所不同就像一般會員和白金會員的差別我們 VIP

的價格是 99 元不會有太貴的困擾隨著 VIP 的優惠功能越來越多

我們會有白金會員 299 元之類的若是已有一般會員的只要再多 200

自動升級成為白金會員

22

購買禮券是一種用更多折扣吸引消費者購買的方式可以在低潮

時段吸引更多金打細算的消費者消費下列的圖表是以某 E 公司跟餐

廳合作禮券的部分

表格 4 某 E 公司跟餐廳合作禮券的部分

餐廳名字 優惠方案 折扣現金

Isabati 義式料理 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

海王子鐵板燒 憑 VIP 禮券$1100 現場可抵

用 1500 元套餐(已含服務費) 400 元

絹絲谷 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

典藏藝術餐廳 憑 VIP 禮券$1000現場可抵用

$1200 消費金額 100 元

非常適合請客的時候使用同時按照購買禮券金額上面的不同

優惠也會有所不同例如1000 元禮券可抵 1100 消費2000 禮券可抵

2200 消費

23

五 系統分析

根據功能性需求(functional requirement)來描述系統並以統一塑模語

言(UMLUnified Modeling Language)呈現之

需求描述

1 顧客可以利用此系統來預約點餐

2 顧客可以利用網際網路查詢餐廳的菜色若有要訂位預約此

餐廳則會幫你篩選出該餐廳簡介及風格和價錢

3 對於菜單的種類系統必須提供連結讓顧客點取顯示菜單的

明細對於欲顧客點餐在顧客還沒確認預約之前顧客可

以將預約單中的菜色做刪除或是更新的動作顧客可以在任

何時刻檢視預約單中的內容顧客可以在確認訂單前之任何

時刻取消預約的動作

4 使用者必須是本站的會員才可以進行點餐預約的動作預

約時會員必須登入到系統系統要查驗登入資料的正確

如果在預約時使用者並非會員系統應該提供讓使用者登

錄為會員的機制

24

5 對於顧客所確認的預約系統必須在預約單成功之後自動

寄發一封 email 給顧客以做為預約的依據它有一點像是傳統

的預約明細表顧客可以利用它來查詢交易的狀態

6 系統必須要有管理會員資料的機制而使用者也應該可以在

任意時刻修改會員資料(系統不提供刪除會員的機制)

7 系統必須要提供查詢的功能查詢時顧客可以利用餐廳

或是地區等等來做分類查詢

8 除了顧客之外系統必須提供管理後端系統的維護只有系

統管理者有權對資料進行維護的動作菜單產品型錄資料存

放在資料庫中

由以上需求描述 可以歸納出以下幾個事件

1加入會員 2會員登入 3瀏覽餐廳 4預約訂位

5點餐 6定位確認 7查詢訂位 8取消訂位

9系統維護 10會員管理資料 11 更新資料 12顧客資料

25

表格 5 手機點餐預約流程事件表

事件名稱 觸發器 來源 活動 回應 目的地

加入會員 註冊 系統 新增 註冊成功 使用者

會員登入 登入 顧客 核對 登入成功 顧客

瀏覽餐廳 選項 顧客 查詢 餐廳呈現 顧客

預約訂位 預約 顧客 產生 預約成功 餐廳

點餐 送出 顧客 產生 訂單編號 餐廳

訂位確認 確認 系統 更新 顧客 餐廳

查詢訂位 查詢 系統 查詢 紀錄表單 系統

取消訂位 取消 顧客 取消 取消確認 系統

系統維護 維護 系統 更新 管理者 管理者

會員管理資料 自動化 系統 更新 資料排列 系統

更新菜單 自動化 餐廳 更新 更新成功 系統

顧客資料 送出 系統 產生 資料呈現 餐廳

菜單事件 送出 系統 產生 菜單表 餐廳

表格 6 手機點餐預約詞彙表(Glossary)

詞彙 解釋 附註

預約 預約包含有客戶資料預約菜單項目

客戶資料 姓名住址電話email 等

菜單 產品編號菜單名稱價格等

登入資料 帳號密碼

餐廳 餐廳類型價格風格

手機 預約瀏覽查詢

26

以下使用案例說明書為手機點餐預約流程的介紹

Use Case Specification 瀏覽

名稱(Name)瀏覽

簡述(Brief Description)顯示給一般民眾我們的系統介面

參與者(Actors)顧客

前提(Pre-Conditions)顯示給一般民眾如何我們系統介面

成功條件(Successful Post-Conditions)進入到介面的首頁

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 瀏覽首頁 2 提共顧客資訊

3 瀏覽餐廳 4 提供顧客熱門餐廳

5 點餐和定餐 6 提供餐廳基本資料

7 是否定位 8 登入會員畫面

27

Use Case Specification 加入會員

名稱(Name)加入會員

簡述(Brief Description)可以透過加入會員索取更多的資料

參與者(Actors)顧客

前提(Pre-Conditions)需要利用我們的系統的使用者

成功條件(Successful Post-Conditions)進入登入會員的登入畫面

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1加入會員 2顯示會員資料表

3填寫會員資料 4成功加入會員

5跳回首頁

4新增失敗

5跳回會員資料表

6 重新填寫會員資料 7成功加入會員

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 16: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

16

情境 1

今天也是客滿我們幾乎每天都客滿可是總覺得客滿歸客滿好像

沒有辦法接收更多的生意常常有客人上門卻因為沒有位子或是等太

久吃不到不開心該怎麼解決這個問題呢其實很簡單利用我們可

以先點餐的功能讓一些訂位的客人們先點餐就可以通知廚房事先

知道並且先進行準備動作等到客人就座便可以開始上菜 一次可以

解決上面兩個題

站在一般消費者的立場不管是一般的學生上班族能用餐的時

間不多以學生來說中午 12 點下課 1 個小時後可能要再趕回學校

上課或者有更重要的事情讓你不能好好的吃一頓飯有時就會有因

為中午吃飯等太久下午回去學校上課的時候遲到引起老師不滿被記

遲到甚至曠課吃飯等上菜等到不開心回到學校還要被老師擺臉色

心情一定不好

舉個例子學生們中午快到的時候透過我們的點餐預約系統裡面

的資料決定好要吃哪家餐廳以及哪種餐點直接透過手機上網的方式

預定好中午 12 點下課一到餐廳不用等太久就可以吃飯大大的減

少等待的時間不用匆匆忙忙得趕回學校上課也不怕說這家客滿找

下一家的麻煩更不用擔心遲到被罵

17

情境 2

有一天女朋友一大早對我說她中午休息時間想要吃很有名的

那家咖哩焗烤飯可是我中午十二點下班一點半就要上班不能等太

久hellip又想要滿足女朋友怎麼辦呢

這時候點餐服務系統就有很好的用處了

利用點餐預約系統事先預訂好位置十二點半到先進行點餐中

午一到就可以輕鬆的去接女朋友到餐廳不用花費太久的時間等待出

菜開心的吃完飯之後再送他回公司上班不但吃到了大餐滿足女朋友

也準時的回公司上班

18

獲取利潤

獲取利潤是跟店家合作不可或缺的內容系統必須可以為店家帶

來更多的消費者並讓店家滿意系統與我們合作讓店家賺錢同時

收取部分的利益並且永續經營先不以賺錢為目的系統可以帶來什

麼樣的滿意服務例如一家小有名氣店面在假日客滿是很平常的事

情但是周一到周五也要天天客滿不太容易可以利用打折優惠來吸引

消費者在人潮較低的時間來消費例如禮拜一到禮拜四的中午這個時

段免服務費禮拜一到禮拜日晚上 9 折這樣可以吸引更多人在低潮

時段前來用餐提升低潮時段的生意

(1)自己當老闆

自己當老闆的想法來看可以跟店家簽約一兩年的時間做為

調整以不會常客滿的店家使用點餐訂位系統可以獲得打折方式來

吸引消費者的注意以 9 折的方式吸引消費者上門達到一定的數量

例如 300 之類的再跟店家收取百分之幾的金額當作酬勞或者是

在禮拜一到禮拜四的冷門時段店家每天提供200個座位給我們跟店家

打 7 折用此系統以 95 折的優惠賣給玩家賺取中間的差額如果透

過我們系統完成 500 個以上的交易再多收部分獎金舉例來說原價

500 塊錢打 7 折 350 元再用 9 折 450 賣給消費者賺取中間 100 的

差額這種方式可以提升店家冷門時候的生意在周末假期的時候用

19

餐的人會比較多但是再多也不可能天天客滿可以送金美小贈品當

作使用我們系統的戰利品

如將來產品成功之後還可賺取廣告費用瀏覽本系統人數越多

代表使用人數也會越多也能幫助到餐廳大廣告從中去賺取費用

(2)賣斷

賣斷也是一種方法把整套系統都賣掉直接收取費用但是非

常低的機率會使用這種方法因為賣斷後必須重新想出一個系統但

是類似或是重複的機率很高

(3)技術入股

技術入股的方式就像 YOUTUBE 賣給 GOOGLE然後 GOOGLE

聘請 YOUTUBE 的老闆當執行長這樣我們可以賣給某企業然後進入

他們企業裡面當他們的執行長並且繼續開發跟維修

20

範例某 E 公司跟台南大億麗緻合作之後消費者直接去大億麗緻消

費和透過某 E 公司訂位消費在價格方面比較便宜以下圖表是使用

某 E 公司跟為使用的差別

圖 6 使用差別

表格 2 某 E 公司賺錢的方法階段性打折

使用E公司 未使用 E公司

平日午餐 610 715

平日下午茶 470 550

平日晚餐 700 825

假日午餐 610 715

假日下午茶 470 660

假日晚餐 700 825

0

100

200

300

400

500

600

700

800

900

使用EZTABLE

未使用 EZTABLE

21

消費者付費方式消費者利用點餐系統並不會付費給我們但

是我們有 VIP 會員的服務整體來說消費者原本只需要辦一個免

費的帳號就可以使用這套軟體但是服務不會比 VIP 會原來的多

VIP 會員可以享受更多優惠的服務

表格 3 有無 VIP 差別

VIP 會員 非 VIP 會員

VIP 消費券 有 無

最新訊息通知 有 無

累積紅利點數 有 無

停車位免費 有 無

季節限定贈品 有 無

以上是說明 VIP 會員的優惠方案當然隨著 VIP 功能的不同會

員價格上也會有所不同就像一般會員和白金會員的差別我們 VIP

的價格是 99 元不會有太貴的困擾隨著 VIP 的優惠功能越來越多

我們會有白金會員 299 元之類的若是已有一般會員的只要再多 200

自動升級成為白金會員

22

購買禮券是一種用更多折扣吸引消費者購買的方式可以在低潮

時段吸引更多金打細算的消費者消費下列的圖表是以某 E 公司跟餐

廳合作禮券的部分

表格 4 某 E 公司跟餐廳合作禮券的部分

餐廳名字 優惠方案 折扣現金

Isabati 義式料理 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

海王子鐵板燒 憑 VIP 禮券$1100 現場可抵

用 1500 元套餐(已含服務費) 400 元

絹絲谷 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

典藏藝術餐廳 憑 VIP 禮券$1000現場可抵用

$1200 消費金額 100 元

非常適合請客的時候使用同時按照購買禮券金額上面的不同

優惠也會有所不同例如1000 元禮券可抵 1100 消費2000 禮券可抵

2200 消費

23

五 系統分析

根據功能性需求(functional requirement)來描述系統並以統一塑模語

言(UMLUnified Modeling Language)呈現之

需求描述

1 顧客可以利用此系統來預約點餐

2 顧客可以利用網際網路查詢餐廳的菜色若有要訂位預約此

餐廳則會幫你篩選出該餐廳簡介及風格和價錢

3 對於菜單的種類系統必須提供連結讓顧客點取顯示菜單的

明細對於欲顧客點餐在顧客還沒確認預約之前顧客可

以將預約單中的菜色做刪除或是更新的動作顧客可以在任

何時刻檢視預約單中的內容顧客可以在確認訂單前之任何

時刻取消預約的動作

4 使用者必須是本站的會員才可以進行點餐預約的動作預

約時會員必須登入到系統系統要查驗登入資料的正確

如果在預約時使用者並非會員系統應該提供讓使用者登

錄為會員的機制

24

5 對於顧客所確認的預約系統必須在預約單成功之後自動

寄發一封 email 給顧客以做為預約的依據它有一點像是傳統

的預約明細表顧客可以利用它來查詢交易的狀態

6 系統必須要有管理會員資料的機制而使用者也應該可以在

任意時刻修改會員資料(系統不提供刪除會員的機制)

7 系統必須要提供查詢的功能查詢時顧客可以利用餐廳

或是地區等等來做分類查詢

8 除了顧客之外系統必須提供管理後端系統的維護只有系

統管理者有權對資料進行維護的動作菜單產品型錄資料存

放在資料庫中

由以上需求描述 可以歸納出以下幾個事件

1加入會員 2會員登入 3瀏覽餐廳 4預約訂位

5點餐 6定位確認 7查詢訂位 8取消訂位

9系統維護 10會員管理資料 11 更新資料 12顧客資料

25

表格 5 手機點餐預約流程事件表

事件名稱 觸發器 來源 活動 回應 目的地

加入會員 註冊 系統 新增 註冊成功 使用者

會員登入 登入 顧客 核對 登入成功 顧客

瀏覽餐廳 選項 顧客 查詢 餐廳呈現 顧客

預約訂位 預約 顧客 產生 預約成功 餐廳

點餐 送出 顧客 產生 訂單編號 餐廳

訂位確認 確認 系統 更新 顧客 餐廳

查詢訂位 查詢 系統 查詢 紀錄表單 系統

取消訂位 取消 顧客 取消 取消確認 系統

系統維護 維護 系統 更新 管理者 管理者

會員管理資料 自動化 系統 更新 資料排列 系統

更新菜單 自動化 餐廳 更新 更新成功 系統

顧客資料 送出 系統 產生 資料呈現 餐廳

菜單事件 送出 系統 產生 菜單表 餐廳

表格 6 手機點餐預約詞彙表(Glossary)

詞彙 解釋 附註

預約 預約包含有客戶資料預約菜單項目

客戶資料 姓名住址電話email 等

菜單 產品編號菜單名稱價格等

登入資料 帳號密碼

餐廳 餐廳類型價格風格

手機 預約瀏覽查詢

26

以下使用案例說明書為手機點餐預約流程的介紹

Use Case Specification 瀏覽

名稱(Name)瀏覽

簡述(Brief Description)顯示給一般民眾我們的系統介面

參與者(Actors)顧客

前提(Pre-Conditions)顯示給一般民眾如何我們系統介面

成功條件(Successful Post-Conditions)進入到介面的首頁

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 瀏覽首頁 2 提共顧客資訊

3 瀏覽餐廳 4 提供顧客熱門餐廳

5 點餐和定餐 6 提供餐廳基本資料

7 是否定位 8 登入會員畫面

27

Use Case Specification 加入會員

名稱(Name)加入會員

簡述(Brief Description)可以透過加入會員索取更多的資料

參與者(Actors)顧客

前提(Pre-Conditions)需要利用我們的系統的使用者

成功條件(Successful Post-Conditions)進入登入會員的登入畫面

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1加入會員 2顯示會員資料表

3填寫會員資料 4成功加入會員

5跳回首頁

4新增失敗

5跳回會員資料表

6 重新填寫會員資料 7成功加入會員

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 17: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

17

情境 2

有一天女朋友一大早對我說她中午休息時間想要吃很有名的

那家咖哩焗烤飯可是我中午十二點下班一點半就要上班不能等太

久hellip又想要滿足女朋友怎麼辦呢

這時候點餐服務系統就有很好的用處了

利用點餐預約系統事先預訂好位置十二點半到先進行點餐中

午一到就可以輕鬆的去接女朋友到餐廳不用花費太久的時間等待出

菜開心的吃完飯之後再送他回公司上班不但吃到了大餐滿足女朋友

也準時的回公司上班

18

獲取利潤

獲取利潤是跟店家合作不可或缺的內容系統必須可以為店家帶

來更多的消費者並讓店家滿意系統與我們合作讓店家賺錢同時

收取部分的利益並且永續經營先不以賺錢為目的系統可以帶來什

麼樣的滿意服務例如一家小有名氣店面在假日客滿是很平常的事

情但是周一到周五也要天天客滿不太容易可以利用打折優惠來吸引

消費者在人潮較低的時間來消費例如禮拜一到禮拜四的中午這個時

段免服務費禮拜一到禮拜日晚上 9 折這樣可以吸引更多人在低潮

時段前來用餐提升低潮時段的生意

(1)自己當老闆

自己當老闆的想法來看可以跟店家簽約一兩年的時間做為

調整以不會常客滿的店家使用點餐訂位系統可以獲得打折方式來

吸引消費者的注意以 9 折的方式吸引消費者上門達到一定的數量

例如 300 之類的再跟店家收取百分之幾的金額當作酬勞或者是

在禮拜一到禮拜四的冷門時段店家每天提供200個座位給我們跟店家

打 7 折用此系統以 95 折的優惠賣給玩家賺取中間的差額如果透

過我們系統完成 500 個以上的交易再多收部分獎金舉例來說原價

500 塊錢打 7 折 350 元再用 9 折 450 賣給消費者賺取中間 100 的

差額這種方式可以提升店家冷門時候的生意在周末假期的時候用

19

餐的人會比較多但是再多也不可能天天客滿可以送金美小贈品當

作使用我們系統的戰利品

如將來產品成功之後還可賺取廣告費用瀏覽本系統人數越多

代表使用人數也會越多也能幫助到餐廳大廣告從中去賺取費用

(2)賣斷

賣斷也是一種方法把整套系統都賣掉直接收取費用但是非

常低的機率會使用這種方法因為賣斷後必須重新想出一個系統但

是類似或是重複的機率很高

(3)技術入股

技術入股的方式就像 YOUTUBE 賣給 GOOGLE然後 GOOGLE

聘請 YOUTUBE 的老闆當執行長這樣我們可以賣給某企業然後進入

他們企業裡面當他們的執行長並且繼續開發跟維修

20

範例某 E 公司跟台南大億麗緻合作之後消費者直接去大億麗緻消

費和透過某 E 公司訂位消費在價格方面比較便宜以下圖表是使用

某 E 公司跟為使用的差別

圖 6 使用差別

表格 2 某 E 公司賺錢的方法階段性打折

使用E公司 未使用 E公司

平日午餐 610 715

平日下午茶 470 550

平日晚餐 700 825

假日午餐 610 715

假日下午茶 470 660

假日晚餐 700 825

0

100

200

300

400

500

600

700

800

900

使用EZTABLE

未使用 EZTABLE

21

消費者付費方式消費者利用點餐系統並不會付費給我們但

是我們有 VIP 會員的服務整體來說消費者原本只需要辦一個免

費的帳號就可以使用這套軟體但是服務不會比 VIP 會原來的多

VIP 會員可以享受更多優惠的服務

表格 3 有無 VIP 差別

VIP 會員 非 VIP 會員

VIP 消費券 有 無

最新訊息通知 有 無

累積紅利點數 有 無

停車位免費 有 無

季節限定贈品 有 無

以上是說明 VIP 會員的優惠方案當然隨著 VIP 功能的不同會

員價格上也會有所不同就像一般會員和白金會員的差別我們 VIP

的價格是 99 元不會有太貴的困擾隨著 VIP 的優惠功能越來越多

我們會有白金會員 299 元之類的若是已有一般會員的只要再多 200

自動升級成為白金會員

22

購買禮券是一種用更多折扣吸引消費者購買的方式可以在低潮

時段吸引更多金打細算的消費者消費下列的圖表是以某 E 公司跟餐

廳合作禮券的部分

表格 4 某 E 公司跟餐廳合作禮券的部分

餐廳名字 優惠方案 折扣現金

Isabati 義式料理 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

海王子鐵板燒 憑 VIP 禮券$1100 現場可抵

用 1500 元套餐(已含服務費) 400 元

絹絲谷 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

典藏藝術餐廳 憑 VIP 禮券$1000現場可抵用

$1200 消費金額 100 元

非常適合請客的時候使用同時按照購買禮券金額上面的不同

優惠也會有所不同例如1000 元禮券可抵 1100 消費2000 禮券可抵

2200 消費

23

五 系統分析

根據功能性需求(functional requirement)來描述系統並以統一塑模語

言(UMLUnified Modeling Language)呈現之

需求描述

1 顧客可以利用此系統來預約點餐

2 顧客可以利用網際網路查詢餐廳的菜色若有要訂位預約此

餐廳則會幫你篩選出該餐廳簡介及風格和價錢

3 對於菜單的種類系統必須提供連結讓顧客點取顯示菜單的

明細對於欲顧客點餐在顧客還沒確認預約之前顧客可

以將預約單中的菜色做刪除或是更新的動作顧客可以在任

何時刻檢視預約單中的內容顧客可以在確認訂單前之任何

時刻取消預約的動作

4 使用者必須是本站的會員才可以進行點餐預約的動作預

約時會員必須登入到系統系統要查驗登入資料的正確

如果在預約時使用者並非會員系統應該提供讓使用者登

錄為會員的機制

24

5 對於顧客所確認的預約系統必須在預約單成功之後自動

寄發一封 email 給顧客以做為預約的依據它有一點像是傳統

的預約明細表顧客可以利用它來查詢交易的狀態

6 系統必須要有管理會員資料的機制而使用者也應該可以在

任意時刻修改會員資料(系統不提供刪除會員的機制)

7 系統必須要提供查詢的功能查詢時顧客可以利用餐廳

或是地區等等來做分類查詢

8 除了顧客之外系統必須提供管理後端系統的維護只有系

統管理者有權對資料進行維護的動作菜單產品型錄資料存

放在資料庫中

由以上需求描述 可以歸納出以下幾個事件

1加入會員 2會員登入 3瀏覽餐廳 4預約訂位

5點餐 6定位確認 7查詢訂位 8取消訂位

9系統維護 10會員管理資料 11 更新資料 12顧客資料

25

表格 5 手機點餐預約流程事件表

事件名稱 觸發器 來源 活動 回應 目的地

加入會員 註冊 系統 新增 註冊成功 使用者

會員登入 登入 顧客 核對 登入成功 顧客

瀏覽餐廳 選項 顧客 查詢 餐廳呈現 顧客

預約訂位 預約 顧客 產生 預約成功 餐廳

點餐 送出 顧客 產生 訂單編號 餐廳

訂位確認 確認 系統 更新 顧客 餐廳

查詢訂位 查詢 系統 查詢 紀錄表單 系統

取消訂位 取消 顧客 取消 取消確認 系統

系統維護 維護 系統 更新 管理者 管理者

會員管理資料 自動化 系統 更新 資料排列 系統

更新菜單 自動化 餐廳 更新 更新成功 系統

顧客資料 送出 系統 產生 資料呈現 餐廳

菜單事件 送出 系統 產生 菜單表 餐廳

表格 6 手機點餐預約詞彙表(Glossary)

詞彙 解釋 附註

預約 預約包含有客戶資料預約菜單項目

客戶資料 姓名住址電話email 等

菜單 產品編號菜單名稱價格等

登入資料 帳號密碼

餐廳 餐廳類型價格風格

手機 預約瀏覽查詢

26

以下使用案例說明書為手機點餐預約流程的介紹

Use Case Specification 瀏覽

名稱(Name)瀏覽

簡述(Brief Description)顯示給一般民眾我們的系統介面

參與者(Actors)顧客

前提(Pre-Conditions)顯示給一般民眾如何我們系統介面

成功條件(Successful Post-Conditions)進入到介面的首頁

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 瀏覽首頁 2 提共顧客資訊

3 瀏覽餐廳 4 提供顧客熱門餐廳

5 點餐和定餐 6 提供餐廳基本資料

7 是否定位 8 登入會員畫面

27

Use Case Specification 加入會員

名稱(Name)加入會員

簡述(Brief Description)可以透過加入會員索取更多的資料

參與者(Actors)顧客

前提(Pre-Conditions)需要利用我們的系統的使用者

成功條件(Successful Post-Conditions)進入登入會員的登入畫面

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1加入會員 2顯示會員資料表

3填寫會員資料 4成功加入會員

5跳回首頁

4新增失敗

5跳回會員資料表

6 重新填寫會員資料 7成功加入會員

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 18: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

18

獲取利潤

獲取利潤是跟店家合作不可或缺的內容系統必須可以為店家帶

來更多的消費者並讓店家滿意系統與我們合作讓店家賺錢同時

收取部分的利益並且永續經營先不以賺錢為目的系統可以帶來什

麼樣的滿意服務例如一家小有名氣店面在假日客滿是很平常的事

情但是周一到周五也要天天客滿不太容易可以利用打折優惠來吸引

消費者在人潮較低的時間來消費例如禮拜一到禮拜四的中午這個時

段免服務費禮拜一到禮拜日晚上 9 折這樣可以吸引更多人在低潮

時段前來用餐提升低潮時段的生意

(1)自己當老闆

自己當老闆的想法來看可以跟店家簽約一兩年的時間做為

調整以不會常客滿的店家使用點餐訂位系統可以獲得打折方式來

吸引消費者的注意以 9 折的方式吸引消費者上門達到一定的數量

例如 300 之類的再跟店家收取百分之幾的金額當作酬勞或者是

在禮拜一到禮拜四的冷門時段店家每天提供200個座位給我們跟店家

打 7 折用此系統以 95 折的優惠賣給玩家賺取中間的差額如果透

過我們系統完成 500 個以上的交易再多收部分獎金舉例來說原價

500 塊錢打 7 折 350 元再用 9 折 450 賣給消費者賺取中間 100 的

差額這種方式可以提升店家冷門時候的生意在周末假期的時候用

19

餐的人會比較多但是再多也不可能天天客滿可以送金美小贈品當

作使用我們系統的戰利品

如將來產品成功之後還可賺取廣告費用瀏覽本系統人數越多

代表使用人數也會越多也能幫助到餐廳大廣告從中去賺取費用

(2)賣斷

賣斷也是一種方法把整套系統都賣掉直接收取費用但是非

常低的機率會使用這種方法因為賣斷後必須重新想出一個系統但

是類似或是重複的機率很高

(3)技術入股

技術入股的方式就像 YOUTUBE 賣給 GOOGLE然後 GOOGLE

聘請 YOUTUBE 的老闆當執行長這樣我們可以賣給某企業然後進入

他們企業裡面當他們的執行長並且繼續開發跟維修

20

範例某 E 公司跟台南大億麗緻合作之後消費者直接去大億麗緻消

費和透過某 E 公司訂位消費在價格方面比較便宜以下圖表是使用

某 E 公司跟為使用的差別

圖 6 使用差別

表格 2 某 E 公司賺錢的方法階段性打折

使用E公司 未使用 E公司

平日午餐 610 715

平日下午茶 470 550

平日晚餐 700 825

假日午餐 610 715

假日下午茶 470 660

假日晚餐 700 825

0

100

200

300

400

500

600

700

800

900

使用EZTABLE

未使用 EZTABLE

21

消費者付費方式消費者利用點餐系統並不會付費給我們但

是我們有 VIP 會員的服務整體來說消費者原本只需要辦一個免

費的帳號就可以使用這套軟體但是服務不會比 VIP 會原來的多

VIP 會員可以享受更多優惠的服務

表格 3 有無 VIP 差別

VIP 會員 非 VIP 會員

VIP 消費券 有 無

最新訊息通知 有 無

累積紅利點數 有 無

停車位免費 有 無

季節限定贈品 有 無

以上是說明 VIP 會員的優惠方案當然隨著 VIP 功能的不同會

員價格上也會有所不同就像一般會員和白金會員的差別我們 VIP

的價格是 99 元不會有太貴的困擾隨著 VIP 的優惠功能越來越多

我們會有白金會員 299 元之類的若是已有一般會員的只要再多 200

自動升級成為白金會員

22

購買禮券是一種用更多折扣吸引消費者購買的方式可以在低潮

時段吸引更多金打細算的消費者消費下列的圖表是以某 E 公司跟餐

廳合作禮券的部分

表格 4 某 E 公司跟餐廳合作禮券的部分

餐廳名字 優惠方案 折扣現金

Isabati 義式料理 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

海王子鐵板燒 憑 VIP 禮券$1100 現場可抵

用 1500 元套餐(已含服務費) 400 元

絹絲谷 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

典藏藝術餐廳 憑 VIP 禮券$1000現場可抵用

$1200 消費金額 100 元

非常適合請客的時候使用同時按照購買禮券金額上面的不同

優惠也會有所不同例如1000 元禮券可抵 1100 消費2000 禮券可抵

2200 消費

23

五 系統分析

根據功能性需求(functional requirement)來描述系統並以統一塑模語

言(UMLUnified Modeling Language)呈現之

需求描述

1 顧客可以利用此系統來預約點餐

2 顧客可以利用網際網路查詢餐廳的菜色若有要訂位預約此

餐廳則會幫你篩選出該餐廳簡介及風格和價錢

3 對於菜單的種類系統必須提供連結讓顧客點取顯示菜單的

明細對於欲顧客點餐在顧客還沒確認預約之前顧客可

以將預約單中的菜色做刪除或是更新的動作顧客可以在任

何時刻檢視預約單中的內容顧客可以在確認訂單前之任何

時刻取消預約的動作

4 使用者必須是本站的會員才可以進行點餐預約的動作預

約時會員必須登入到系統系統要查驗登入資料的正確

如果在預約時使用者並非會員系統應該提供讓使用者登

錄為會員的機制

24

5 對於顧客所確認的預約系統必須在預約單成功之後自動

寄發一封 email 給顧客以做為預約的依據它有一點像是傳統

的預約明細表顧客可以利用它來查詢交易的狀態

6 系統必須要有管理會員資料的機制而使用者也應該可以在

任意時刻修改會員資料(系統不提供刪除會員的機制)

7 系統必須要提供查詢的功能查詢時顧客可以利用餐廳

或是地區等等來做分類查詢

8 除了顧客之外系統必須提供管理後端系統的維護只有系

統管理者有權對資料進行維護的動作菜單產品型錄資料存

放在資料庫中

由以上需求描述 可以歸納出以下幾個事件

1加入會員 2會員登入 3瀏覽餐廳 4預約訂位

5點餐 6定位確認 7查詢訂位 8取消訂位

9系統維護 10會員管理資料 11 更新資料 12顧客資料

25

表格 5 手機點餐預約流程事件表

事件名稱 觸發器 來源 活動 回應 目的地

加入會員 註冊 系統 新增 註冊成功 使用者

會員登入 登入 顧客 核對 登入成功 顧客

瀏覽餐廳 選項 顧客 查詢 餐廳呈現 顧客

預約訂位 預約 顧客 產生 預約成功 餐廳

點餐 送出 顧客 產生 訂單編號 餐廳

訂位確認 確認 系統 更新 顧客 餐廳

查詢訂位 查詢 系統 查詢 紀錄表單 系統

取消訂位 取消 顧客 取消 取消確認 系統

系統維護 維護 系統 更新 管理者 管理者

會員管理資料 自動化 系統 更新 資料排列 系統

更新菜單 自動化 餐廳 更新 更新成功 系統

顧客資料 送出 系統 產生 資料呈現 餐廳

菜單事件 送出 系統 產生 菜單表 餐廳

表格 6 手機點餐預約詞彙表(Glossary)

詞彙 解釋 附註

預約 預約包含有客戶資料預約菜單項目

客戶資料 姓名住址電話email 等

菜單 產品編號菜單名稱價格等

登入資料 帳號密碼

餐廳 餐廳類型價格風格

手機 預約瀏覽查詢

26

以下使用案例說明書為手機點餐預約流程的介紹

Use Case Specification 瀏覽

名稱(Name)瀏覽

簡述(Brief Description)顯示給一般民眾我們的系統介面

參與者(Actors)顧客

前提(Pre-Conditions)顯示給一般民眾如何我們系統介面

成功條件(Successful Post-Conditions)進入到介面的首頁

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 瀏覽首頁 2 提共顧客資訊

3 瀏覽餐廳 4 提供顧客熱門餐廳

5 點餐和定餐 6 提供餐廳基本資料

7 是否定位 8 登入會員畫面

27

Use Case Specification 加入會員

名稱(Name)加入會員

簡述(Brief Description)可以透過加入會員索取更多的資料

參與者(Actors)顧客

前提(Pre-Conditions)需要利用我們的系統的使用者

成功條件(Successful Post-Conditions)進入登入會員的登入畫面

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1加入會員 2顯示會員資料表

3填寫會員資料 4成功加入會員

5跳回首頁

4新增失敗

5跳回會員資料表

6 重新填寫會員資料 7成功加入會員

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 19: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

19

餐的人會比較多但是再多也不可能天天客滿可以送金美小贈品當

作使用我們系統的戰利品

如將來產品成功之後還可賺取廣告費用瀏覽本系統人數越多

代表使用人數也會越多也能幫助到餐廳大廣告從中去賺取費用

(2)賣斷

賣斷也是一種方法把整套系統都賣掉直接收取費用但是非

常低的機率會使用這種方法因為賣斷後必須重新想出一個系統但

是類似或是重複的機率很高

(3)技術入股

技術入股的方式就像 YOUTUBE 賣給 GOOGLE然後 GOOGLE

聘請 YOUTUBE 的老闆當執行長這樣我們可以賣給某企業然後進入

他們企業裡面當他們的執行長並且繼續開發跟維修

20

範例某 E 公司跟台南大億麗緻合作之後消費者直接去大億麗緻消

費和透過某 E 公司訂位消費在價格方面比較便宜以下圖表是使用

某 E 公司跟為使用的差別

圖 6 使用差別

表格 2 某 E 公司賺錢的方法階段性打折

使用E公司 未使用 E公司

平日午餐 610 715

平日下午茶 470 550

平日晚餐 700 825

假日午餐 610 715

假日下午茶 470 660

假日晚餐 700 825

0

100

200

300

400

500

600

700

800

900

使用EZTABLE

未使用 EZTABLE

21

消費者付費方式消費者利用點餐系統並不會付費給我們但

是我們有 VIP 會員的服務整體來說消費者原本只需要辦一個免

費的帳號就可以使用這套軟體但是服務不會比 VIP 會原來的多

VIP 會員可以享受更多優惠的服務

表格 3 有無 VIP 差別

VIP 會員 非 VIP 會員

VIP 消費券 有 無

最新訊息通知 有 無

累積紅利點數 有 無

停車位免費 有 無

季節限定贈品 有 無

以上是說明 VIP 會員的優惠方案當然隨著 VIP 功能的不同會

員價格上也會有所不同就像一般會員和白金會員的差別我們 VIP

的價格是 99 元不會有太貴的困擾隨著 VIP 的優惠功能越來越多

我們會有白金會員 299 元之類的若是已有一般會員的只要再多 200

自動升級成為白金會員

22

購買禮券是一種用更多折扣吸引消費者購買的方式可以在低潮

時段吸引更多金打細算的消費者消費下列的圖表是以某 E 公司跟餐

廳合作禮券的部分

表格 4 某 E 公司跟餐廳合作禮券的部分

餐廳名字 優惠方案 折扣現金

Isabati 義式料理 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

海王子鐵板燒 憑 VIP 禮券$1100 現場可抵

用 1500 元套餐(已含服務費) 400 元

絹絲谷 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

典藏藝術餐廳 憑 VIP 禮券$1000現場可抵用

$1200 消費金額 100 元

非常適合請客的時候使用同時按照購買禮券金額上面的不同

優惠也會有所不同例如1000 元禮券可抵 1100 消費2000 禮券可抵

2200 消費

23

五 系統分析

根據功能性需求(functional requirement)來描述系統並以統一塑模語

言(UMLUnified Modeling Language)呈現之

需求描述

1 顧客可以利用此系統來預約點餐

2 顧客可以利用網際網路查詢餐廳的菜色若有要訂位預約此

餐廳則會幫你篩選出該餐廳簡介及風格和價錢

3 對於菜單的種類系統必須提供連結讓顧客點取顯示菜單的

明細對於欲顧客點餐在顧客還沒確認預約之前顧客可

以將預約單中的菜色做刪除或是更新的動作顧客可以在任

何時刻檢視預約單中的內容顧客可以在確認訂單前之任何

時刻取消預約的動作

4 使用者必須是本站的會員才可以進行點餐預約的動作預

約時會員必須登入到系統系統要查驗登入資料的正確

如果在預約時使用者並非會員系統應該提供讓使用者登

錄為會員的機制

24

5 對於顧客所確認的預約系統必須在預約單成功之後自動

寄發一封 email 給顧客以做為預約的依據它有一點像是傳統

的預約明細表顧客可以利用它來查詢交易的狀態

6 系統必須要有管理會員資料的機制而使用者也應該可以在

任意時刻修改會員資料(系統不提供刪除會員的機制)

7 系統必須要提供查詢的功能查詢時顧客可以利用餐廳

或是地區等等來做分類查詢

8 除了顧客之外系統必須提供管理後端系統的維護只有系

統管理者有權對資料進行維護的動作菜單產品型錄資料存

放在資料庫中

由以上需求描述 可以歸納出以下幾個事件

1加入會員 2會員登入 3瀏覽餐廳 4預約訂位

5點餐 6定位確認 7查詢訂位 8取消訂位

9系統維護 10會員管理資料 11 更新資料 12顧客資料

25

表格 5 手機點餐預約流程事件表

事件名稱 觸發器 來源 活動 回應 目的地

加入會員 註冊 系統 新增 註冊成功 使用者

會員登入 登入 顧客 核對 登入成功 顧客

瀏覽餐廳 選項 顧客 查詢 餐廳呈現 顧客

預約訂位 預約 顧客 產生 預約成功 餐廳

點餐 送出 顧客 產生 訂單編號 餐廳

訂位確認 確認 系統 更新 顧客 餐廳

查詢訂位 查詢 系統 查詢 紀錄表單 系統

取消訂位 取消 顧客 取消 取消確認 系統

系統維護 維護 系統 更新 管理者 管理者

會員管理資料 自動化 系統 更新 資料排列 系統

更新菜單 自動化 餐廳 更新 更新成功 系統

顧客資料 送出 系統 產生 資料呈現 餐廳

菜單事件 送出 系統 產生 菜單表 餐廳

表格 6 手機點餐預約詞彙表(Glossary)

詞彙 解釋 附註

預約 預約包含有客戶資料預約菜單項目

客戶資料 姓名住址電話email 等

菜單 產品編號菜單名稱價格等

登入資料 帳號密碼

餐廳 餐廳類型價格風格

手機 預約瀏覽查詢

26

以下使用案例說明書為手機點餐預約流程的介紹

Use Case Specification 瀏覽

名稱(Name)瀏覽

簡述(Brief Description)顯示給一般民眾我們的系統介面

參與者(Actors)顧客

前提(Pre-Conditions)顯示給一般民眾如何我們系統介面

成功條件(Successful Post-Conditions)進入到介面的首頁

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 瀏覽首頁 2 提共顧客資訊

3 瀏覽餐廳 4 提供顧客熱門餐廳

5 點餐和定餐 6 提供餐廳基本資料

7 是否定位 8 登入會員畫面

27

Use Case Specification 加入會員

名稱(Name)加入會員

簡述(Brief Description)可以透過加入會員索取更多的資料

參與者(Actors)顧客

前提(Pre-Conditions)需要利用我們的系統的使用者

成功條件(Successful Post-Conditions)進入登入會員的登入畫面

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1加入會員 2顯示會員資料表

3填寫會員資料 4成功加入會員

5跳回首頁

4新增失敗

5跳回會員資料表

6 重新填寫會員資料 7成功加入會員

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 20: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

20

範例某 E 公司跟台南大億麗緻合作之後消費者直接去大億麗緻消

費和透過某 E 公司訂位消費在價格方面比較便宜以下圖表是使用

某 E 公司跟為使用的差別

圖 6 使用差別

表格 2 某 E 公司賺錢的方法階段性打折

使用E公司 未使用 E公司

平日午餐 610 715

平日下午茶 470 550

平日晚餐 700 825

假日午餐 610 715

假日下午茶 470 660

假日晚餐 700 825

0

100

200

300

400

500

600

700

800

900

使用EZTABLE

未使用 EZTABLE

21

消費者付費方式消費者利用點餐系統並不會付費給我們但

是我們有 VIP 會員的服務整體來說消費者原本只需要辦一個免

費的帳號就可以使用這套軟體但是服務不會比 VIP 會原來的多

VIP 會員可以享受更多優惠的服務

表格 3 有無 VIP 差別

VIP 會員 非 VIP 會員

VIP 消費券 有 無

最新訊息通知 有 無

累積紅利點數 有 無

停車位免費 有 無

季節限定贈品 有 無

以上是說明 VIP 會員的優惠方案當然隨著 VIP 功能的不同會

員價格上也會有所不同就像一般會員和白金會員的差別我們 VIP

的價格是 99 元不會有太貴的困擾隨著 VIP 的優惠功能越來越多

我們會有白金會員 299 元之類的若是已有一般會員的只要再多 200

自動升級成為白金會員

22

購買禮券是一種用更多折扣吸引消費者購買的方式可以在低潮

時段吸引更多金打細算的消費者消費下列的圖表是以某 E 公司跟餐

廳合作禮券的部分

表格 4 某 E 公司跟餐廳合作禮券的部分

餐廳名字 優惠方案 折扣現金

Isabati 義式料理 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

海王子鐵板燒 憑 VIP 禮券$1100 現場可抵

用 1500 元套餐(已含服務費) 400 元

絹絲谷 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

典藏藝術餐廳 憑 VIP 禮券$1000現場可抵用

$1200 消費金額 100 元

非常適合請客的時候使用同時按照購買禮券金額上面的不同

優惠也會有所不同例如1000 元禮券可抵 1100 消費2000 禮券可抵

2200 消費

23

五 系統分析

根據功能性需求(functional requirement)來描述系統並以統一塑模語

言(UMLUnified Modeling Language)呈現之

需求描述

1 顧客可以利用此系統來預約點餐

2 顧客可以利用網際網路查詢餐廳的菜色若有要訂位預約此

餐廳則會幫你篩選出該餐廳簡介及風格和價錢

3 對於菜單的種類系統必須提供連結讓顧客點取顯示菜單的

明細對於欲顧客點餐在顧客還沒確認預約之前顧客可

以將預約單中的菜色做刪除或是更新的動作顧客可以在任

何時刻檢視預約單中的內容顧客可以在確認訂單前之任何

時刻取消預約的動作

4 使用者必須是本站的會員才可以進行點餐預約的動作預

約時會員必須登入到系統系統要查驗登入資料的正確

如果在預約時使用者並非會員系統應該提供讓使用者登

錄為會員的機制

24

5 對於顧客所確認的預約系統必須在預約單成功之後自動

寄發一封 email 給顧客以做為預約的依據它有一點像是傳統

的預約明細表顧客可以利用它來查詢交易的狀態

6 系統必須要有管理會員資料的機制而使用者也應該可以在

任意時刻修改會員資料(系統不提供刪除會員的機制)

7 系統必須要提供查詢的功能查詢時顧客可以利用餐廳

或是地區等等來做分類查詢

8 除了顧客之外系統必須提供管理後端系統的維護只有系

統管理者有權對資料進行維護的動作菜單產品型錄資料存

放在資料庫中

由以上需求描述 可以歸納出以下幾個事件

1加入會員 2會員登入 3瀏覽餐廳 4預約訂位

5點餐 6定位確認 7查詢訂位 8取消訂位

9系統維護 10會員管理資料 11 更新資料 12顧客資料

25

表格 5 手機點餐預約流程事件表

事件名稱 觸發器 來源 活動 回應 目的地

加入會員 註冊 系統 新增 註冊成功 使用者

會員登入 登入 顧客 核對 登入成功 顧客

瀏覽餐廳 選項 顧客 查詢 餐廳呈現 顧客

預約訂位 預約 顧客 產生 預約成功 餐廳

點餐 送出 顧客 產生 訂單編號 餐廳

訂位確認 確認 系統 更新 顧客 餐廳

查詢訂位 查詢 系統 查詢 紀錄表單 系統

取消訂位 取消 顧客 取消 取消確認 系統

系統維護 維護 系統 更新 管理者 管理者

會員管理資料 自動化 系統 更新 資料排列 系統

更新菜單 自動化 餐廳 更新 更新成功 系統

顧客資料 送出 系統 產生 資料呈現 餐廳

菜單事件 送出 系統 產生 菜單表 餐廳

表格 6 手機點餐預約詞彙表(Glossary)

詞彙 解釋 附註

預約 預約包含有客戶資料預約菜單項目

客戶資料 姓名住址電話email 等

菜單 產品編號菜單名稱價格等

登入資料 帳號密碼

餐廳 餐廳類型價格風格

手機 預約瀏覽查詢

26

以下使用案例說明書為手機點餐預約流程的介紹

Use Case Specification 瀏覽

名稱(Name)瀏覽

簡述(Brief Description)顯示給一般民眾我們的系統介面

參與者(Actors)顧客

前提(Pre-Conditions)顯示給一般民眾如何我們系統介面

成功條件(Successful Post-Conditions)進入到介面的首頁

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 瀏覽首頁 2 提共顧客資訊

3 瀏覽餐廳 4 提供顧客熱門餐廳

5 點餐和定餐 6 提供餐廳基本資料

7 是否定位 8 登入會員畫面

27

Use Case Specification 加入會員

名稱(Name)加入會員

簡述(Brief Description)可以透過加入會員索取更多的資料

參與者(Actors)顧客

前提(Pre-Conditions)需要利用我們的系統的使用者

成功條件(Successful Post-Conditions)進入登入會員的登入畫面

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1加入會員 2顯示會員資料表

3填寫會員資料 4成功加入會員

5跳回首頁

4新增失敗

5跳回會員資料表

6 重新填寫會員資料 7成功加入會員

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 21: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

21

消費者付費方式消費者利用點餐系統並不會付費給我們但

是我們有 VIP 會員的服務整體來說消費者原本只需要辦一個免

費的帳號就可以使用這套軟體但是服務不會比 VIP 會原來的多

VIP 會員可以享受更多優惠的服務

表格 3 有無 VIP 差別

VIP 會員 非 VIP 會員

VIP 消費券 有 無

最新訊息通知 有 無

累積紅利點數 有 無

停車位免費 有 無

季節限定贈品 有 無

以上是說明 VIP 會員的優惠方案當然隨著 VIP 功能的不同會

員價格上也會有所不同就像一般會員和白金會員的差別我們 VIP

的價格是 99 元不會有太貴的困擾隨著 VIP 的優惠功能越來越多

我們會有白金會員 299 元之類的若是已有一般會員的只要再多 200

自動升級成為白金會員

22

購買禮券是一種用更多折扣吸引消費者購買的方式可以在低潮

時段吸引更多金打細算的消費者消費下列的圖表是以某 E 公司跟餐

廳合作禮券的部分

表格 4 某 E 公司跟餐廳合作禮券的部分

餐廳名字 優惠方案 折扣現金

Isabati 義式料理 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

海王子鐵板燒 憑 VIP 禮券$1100 現場可抵

用 1500 元套餐(已含服務費) 400 元

絹絲谷 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

典藏藝術餐廳 憑 VIP 禮券$1000現場可抵用

$1200 消費金額 100 元

非常適合請客的時候使用同時按照購買禮券金額上面的不同

優惠也會有所不同例如1000 元禮券可抵 1100 消費2000 禮券可抵

2200 消費

23

五 系統分析

根據功能性需求(functional requirement)來描述系統並以統一塑模語

言(UMLUnified Modeling Language)呈現之

需求描述

1 顧客可以利用此系統來預約點餐

2 顧客可以利用網際網路查詢餐廳的菜色若有要訂位預約此

餐廳則會幫你篩選出該餐廳簡介及風格和價錢

3 對於菜單的種類系統必須提供連結讓顧客點取顯示菜單的

明細對於欲顧客點餐在顧客還沒確認預約之前顧客可

以將預約單中的菜色做刪除或是更新的動作顧客可以在任

何時刻檢視預約單中的內容顧客可以在確認訂單前之任何

時刻取消預約的動作

4 使用者必須是本站的會員才可以進行點餐預約的動作預

約時會員必須登入到系統系統要查驗登入資料的正確

如果在預約時使用者並非會員系統應該提供讓使用者登

錄為會員的機制

24

5 對於顧客所確認的預約系統必須在預約單成功之後自動

寄發一封 email 給顧客以做為預約的依據它有一點像是傳統

的預約明細表顧客可以利用它來查詢交易的狀態

6 系統必須要有管理會員資料的機制而使用者也應該可以在

任意時刻修改會員資料(系統不提供刪除會員的機制)

7 系統必須要提供查詢的功能查詢時顧客可以利用餐廳

或是地區等等來做分類查詢

8 除了顧客之外系統必須提供管理後端系統的維護只有系

統管理者有權對資料進行維護的動作菜單產品型錄資料存

放在資料庫中

由以上需求描述 可以歸納出以下幾個事件

1加入會員 2會員登入 3瀏覽餐廳 4預約訂位

5點餐 6定位確認 7查詢訂位 8取消訂位

9系統維護 10會員管理資料 11 更新資料 12顧客資料

25

表格 5 手機點餐預約流程事件表

事件名稱 觸發器 來源 活動 回應 目的地

加入會員 註冊 系統 新增 註冊成功 使用者

會員登入 登入 顧客 核對 登入成功 顧客

瀏覽餐廳 選項 顧客 查詢 餐廳呈現 顧客

預約訂位 預約 顧客 產生 預約成功 餐廳

點餐 送出 顧客 產生 訂單編號 餐廳

訂位確認 確認 系統 更新 顧客 餐廳

查詢訂位 查詢 系統 查詢 紀錄表單 系統

取消訂位 取消 顧客 取消 取消確認 系統

系統維護 維護 系統 更新 管理者 管理者

會員管理資料 自動化 系統 更新 資料排列 系統

更新菜單 自動化 餐廳 更新 更新成功 系統

顧客資料 送出 系統 產生 資料呈現 餐廳

菜單事件 送出 系統 產生 菜單表 餐廳

表格 6 手機點餐預約詞彙表(Glossary)

詞彙 解釋 附註

預約 預約包含有客戶資料預約菜單項目

客戶資料 姓名住址電話email 等

菜單 產品編號菜單名稱價格等

登入資料 帳號密碼

餐廳 餐廳類型價格風格

手機 預約瀏覽查詢

26

以下使用案例說明書為手機點餐預約流程的介紹

Use Case Specification 瀏覽

名稱(Name)瀏覽

簡述(Brief Description)顯示給一般民眾我們的系統介面

參與者(Actors)顧客

前提(Pre-Conditions)顯示給一般民眾如何我們系統介面

成功條件(Successful Post-Conditions)進入到介面的首頁

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 瀏覽首頁 2 提共顧客資訊

3 瀏覽餐廳 4 提供顧客熱門餐廳

5 點餐和定餐 6 提供餐廳基本資料

7 是否定位 8 登入會員畫面

27

Use Case Specification 加入會員

名稱(Name)加入會員

簡述(Brief Description)可以透過加入會員索取更多的資料

參與者(Actors)顧客

前提(Pre-Conditions)需要利用我們的系統的使用者

成功條件(Successful Post-Conditions)進入登入會員的登入畫面

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1加入會員 2顯示會員資料表

3填寫會員資料 4成功加入會員

5跳回首頁

4新增失敗

5跳回會員資料表

6 重新填寫會員資料 7成功加入會員

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 22: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

22

購買禮券是一種用更多折扣吸引消費者購買的方式可以在低潮

時段吸引更多金打細算的消費者消費下列的圖表是以某 E 公司跟餐

廳合作禮券的部分

表格 4 某 E 公司跟餐廳合作禮券的部分

餐廳名字 優惠方案 折扣現金

Isabati 義式料理 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

海王子鐵板燒 憑 VIP 禮券$1100 現場可抵

用 1500 元套餐(已含服務費) 400 元

絹絲谷 憑 VIP 禮券$1000現場可抵用

$1100 消費金 100 元

典藏藝術餐廳 憑 VIP 禮券$1000現場可抵用

$1200 消費金額 100 元

非常適合請客的時候使用同時按照購買禮券金額上面的不同

優惠也會有所不同例如1000 元禮券可抵 1100 消費2000 禮券可抵

2200 消費

23

五 系統分析

根據功能性需求(functional requirement)來描述系統並以統一塑模語

言(UMLUnified Modeling Language)呈現之

需求描述

1 顧客可以利用此系統來預約點餐

2 顧客可以利用網際網路查詢餐廳的菜色若有要訂位預約此

餐廳則會幫你篩選出該餐廳簡介及風格和價錢

3 對於菜單的種類系統必須提供連結讓顧客點取顯示菜單的

明細對於欲顧客點餐在顧客還沒確認預約之前顧客可

以將預約單中的菜色做刪除或是更新的動作顧客可以在任

何時刻檢視預約單中的內容顧客可以在確認訂單前之任何

時刻取消預約的動作

4 使用者必須是本站的會員才可以進行點餐預約的動作預

約時會員必須登入到系統系統要查驗登入資料的正確

如果在預約時使用者並非會員系統應該提供讓使用者登

錄為會員的機制

24

5 對於顧客所確認的預約系統必須在預約單成功之後自動

寄發一封 email 給顧客以做為預約的依據它有一點像是傳統

的預約明細表顧客可以利用它來查詢交易的狀態

6 系統必須要有管理會員資料的機制而使用者也應該可以在

任意時刻修改會員資料(系統不提供刪除會員的機制)

7 系統必須要提供查詢的功能查詢時顧客可以利用餐廳

或是地區等等來做分類查詢

8 除了顧客之外系統必須提供管理後端系統的維護只有系

統管理者有權對資料進行維護的動作菜單產品型錄資料存

放在資料庫中

由以上需求描述 可以歸納出以下幾個事件

1加入會員 2會員登入 3瀏覽餐廳 4預約訂位

5點餐 6定位確認 7查詢訂位 8取消訂位

9系統維護 10會員管理資料 11 更新資料 12顧客資料

25

表格 5 手機點餐預約流程事件表

事件名稱 觸發器 來源 活動 回應 目的地

加入會員 註冊 系統 新增 註冊成功 使用者

會員登入 登入 顧客 核對 登入成功 顧客

瀏覽餐廳 選項 顧客 查詢 餐廳呈現 顧客

預約訂位 預約 顧客 產生 預約成功 餐廳

點餐 送出 顧客 產生 訂單編號 餐廳

訂位確認 確認 系統 更新 顧客 餐廳

查詢訂位 查詢 系統 查詢 紀錄表單 系統

取消訂位 取消 顧客 取消 取消確認 系統

系統維護 維護 系統 更新 管理者 管理者

會員管理資料 自動化 系統 更新 資料排列 系統

更新菜單 自動化 餐廳 更新 更新成功 系統

顧客資料 送出 系統 產生 資料呈現 餐廳

菜單事件 送出 系統 產生 菜單表 餐廳

表格 6 手機點餐預約詞彙表(Glossary)

詞彙 解釋 附註

預約 預約包含有客戶資料預約菜單項目

客戶資料 姓名住址電話email 等

菜單 產品編號菜單名稱價格等

登入資料 帳號密碼

餐廳 餐廳類型價格風格

手機 預約瀏覽查詢

26

以下使用案例說明書為手機點餐預約流程的介紹

Use Case Specification 瀏覽

名稱(Name)瀏覽

簡述(Brief Description)顯示給一般民眾我們的系統介面

參與者(Actors)顧客

前提(Pre-Conditions)顯示給一般民眾如何我們系統介面

成功條件(Successful Post-Conditions)進入到介面的首頁

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 瀏覽首頁 2 提共顧客資訊

3 瀏覽餐廳 4 提供顧客熱門餐廳

5 點餐和定餐 6 提供餐廳基本資料

7 是否定位 8 登入會員畫面

27

Use Case Specification 加入會員

名稱(Name)加入會員

簡述(Brief Description)可以透過加入會員索取更多的資料

參與者(Actors)顧客

前提(Pre-Conditions)需要利用我們的系統的使用者

成功條件(Successful Post-Conditions)進入登入會員的登入畫面

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1加入會員 2顯示會員資料表

3填寫會員資料 4成功加入會員

5跳回首頁

4新增失敗

5跳回會員資料表

6 重新填寫會員資料 7成功加入會員

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 23: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

23

五 系統分析

根據功能性需求(functional requirement)來描述系統並以統一塑模語

言(UMLUnified Modeling Language)呈現之

需求描述

1 顧客可以利用此系統來預約點餐

2 顧客可以利用網際網路查詢餐廳的菜色若有要訂位預約此

餐廳則會幫你篩選出該餐廳簡介及風格和價錢

3 對於菜單的種類系統必須提供連結讓顧客點取顯示菜單的

明細對於欲顧客點餐在顧客還沒確認預約之前顧客可

以將預約單中的菜色做刪除或是更新的動作顧客可以在任

何時刻檢視預約單中的內容顧客可以在確認訂單前之任何

時刻取消預約的動作

4 使用者必須是本站的會員才可以進行點餐預約的動作預

約時會員必須登入到系統系統要查驗登入資料的正確

如果在預約時使用者並非會員系統應該提供讓使用者登

錄為會員的機制

24

5 對於顧客所確認的預約系統必須在預約單成功之後自動

寄發一封 email 給顧客以做為預約的依據它有一點像是傳統

的預約明細表顧客可以利用它來查詢交易的狀態

6 系統必須要有管理會員資料的機制而使用者也應該可以在

任意時刻修改會員資料(系統不提供刪除會員的機制)

7 系統必須要提供查詢的功能查詢時顧客可以利用餐廳

或是地區等等來做分類查詢

8 除了顧客之外系統必須提供管理後端系統的維護只有系

統管理者有權對資料進行維護的動作菜單產品型錄資料存

放在資料庫中

由以上需求描述 可以歸納出以下幾個事件

1加入會員 2會員登入 3瀏覽餐廳 4預約訂位

5點餐 6定位確認 7查詢訂位 8取消訂位

9系統維護 10會員管理資料 11 更新資料 12顧客資料

25

表格 5 手機點餐預約流程事件表

事件名稱 觸發器 來源 活動 回應 目的地

加入會員 註冊 系統 新增 註冊成功 使用者

會員登入 登入 顧客 核對 登入成功 顧客

瀏覽餐廳 選項 顧客 查詢 餐廳呈現 顧客

預約訂位 預約 顧客 產生 預約成功 餐廳

點餐 送出 顧客 產生 訂單編號 餐廳

訂位確認 確認 系統 更新 顧客 餐廳

查詢訂位 查詢 系統 查詢 紀錄表單 系統

取消訂位 取消 顧客 取消 取消確認 系統

系統維護 維護 系統 更新 管理者 管理者

會員管理資料 自動化 系統 更新 資料排列 系統

更新菜單 自動化 餐廳 更新 更新成功 系統

顧客資料 送出 系統 產生 資料呈現 餐廳

菜單事件 送出 系統 產生 菜單表 餐廳

表格 6 手機點餐預約詞彙表(Glossary)

詞彙 解釋 附註

預約 預約包含有客戶資料預約菜單項目

客戶資料 姓名住址電話email 等

菜單 產品編號菜單名稱價格等

登入資料 帳號密碼

餐廳 餐廳類型價格風格

手機 預約瀏覽查詢

26

以下使用案例說明書為手機點餐預約流程的介紹

Use Case Specification 瀏覽

名稱(Name)瀏覽

簡述(Brief Description)顯示給一般民眾我們的系統介面

參與者(Actors)顧客

前提(Pre-Conditions)顯示給一般民眾如何我們系統介面

成功條件(Successful Post-Conditions)進入到介面的首頁

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 瀏覽首頁 2 提共顧客資訊

3 瀏覽餐廳 4 提供顧客熱門餐廳

5 點餐和定餐 6 提供餐廳基本資料

7 是否定位 8 登入會員畫面

27

Use Case Specification 加入會員

名稱(Name)加入會員

簡述(Brief Description)可以透過加入會員索取更多的資料

參與者(Actors)顧客

前提(Pre-Conditions)需要利用我們的系統的使用者

成功條件(Successful Post-Conditions)進入登入會員的登入畫面

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1加入會員 2顯示會員資料表

3填寫會員資料 4成功加入會員

5跳回首頁

4新增失敗

5跳回會員資料表

6 重新填寫會員資料 7成功加入會員

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 24: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

24

5 對於顧客所確認的預約系統必須在預約單成功之後自動

寄發一封 email 給顧客以做為預約的依據它有一點像是傳統

的預約明細表顧客可以利用它來查詢交易的狀態

6 系統必須要有管理會員資料的機制而使用者也應該可以在

任意時刻修改會員資料(系統不提供刪除會員的機制)

7 系統必須要提供查詢的功能查詢時顧客可以利用餐廳

或是地區等等來做分類查詢

8 除了顧客之外系統必須提供管理後端系統的維護只有系

統管理者有權對資料進行維護的動作菜單產品型錄資料存

放在資料庫中

由以上需求描述 可以歸納出以下幾個事件

1加入會員 2會員登入 3瀏覽餐廳 4預約訂位

5點餐 6定位確認 7查詢訂位 8取消訂位

9系統維護 10會員管理資料 11 更新資料 12顧客資料

25

表格 5 手機點餐預約流程事件表

事件名稱 觸發器 來源 活動 回應 目的地

加入會員 註冊 系統 新增 註冊成功 使用者

會員登入 登入 顧客 核對 登入成功 顧客

瀏覽餐廳 選項 顧客 查詢 餐廳呈現 顧客

預約訂位 預約 顧客 產生 預約成功 餐廳

點餐 送出 顧客 產生 訂單編號 餐廳

訂位確認 確認 系統 更新 顧客 餐廳

查詢訂位 查詢 系統 查詢 紀錄表單 系統

取消訂位 取消 顧客 取消 取消確認 系統

系統維護 維護 系統 更新 管理者 管理者

會員管理資料 自動化 系統 更新 資料排列 系統

更新菜單 自動化 餐廳 更新 更新成功 系統

顧客資料 送出 系統 產生 資料呈現 餐廳

菜單事件 送出 系統 產生 菜單表 餐廳

表格 6 手機點餐預約詞彙表(Glossary)

詞彙 解釋 附註

預約 預約包含有客戶資料預約菜單項目

客戶資料 姓名住址電話email 等

菜單 產品編號菜單名稱價格等

登入資料 帳號密碼

餐廳 餐廳類型價格風格

手機 預約瀏覽查詢

26

以下使用案例說明書為手機點餐預約流程的介紹

Use Case Specification 瀏覽

名稱(Name)瀏覽

簡述(Brief Description)顯示給一般民眾我們的系統介面

參與者(Actors)顧客

前提(Pre-Conditions)顯示給一般民眾如何我們系統介面

成功條件(Successful Post-Conditions)進入到介面的首頁

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 瀏覽首頁 2 提共顧客資訊

3 瀏覽餐廳 4 提供顧客熱門餐廳

5 點餐和定餐 6 提供餐廳基本資料

7 是否定位 8 登入會員畫面

27

Use Case Specification 加入會員

名稱(Name)加入會員

簡述(Brief Description)可以透過加入會員索取更多的資料

參與者(Actors)顧客

前提(Pre-Conditions)需要利用我們的系統的使用者

成功條件(Successful Post-Conditions)進入登入會員的登入畫面

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1加入會員 2顯示會員資料表

3填寫會員資料 4成功加入會員

5跳回首頁

4新增失敗

5跳回會員資料表

6 重新填寫會員資料 7成功加入會員

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 25: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

25

表格 5 手機點餐預約流程事件表

事件名稱 觸發器 來源 活動 回應 目的地

加入會員 註冊 系統 新增 註冊成功 使用者

會員登入 登入 顧客 核對 登入成功 顧客

瀏覽餐廳 選項 顧客 查詢 餐廳呈現 顧客

預約訂位 預約 顧客 產生 預約成功 餐廳

點餐 送出 顧客 產生 訂單編號 餐廳

訂位確認 確認 系統 更新 顧客 餐廳

查詢訂位 查詢 系統 查詢 紀錄表單 系統

取消訂位 取消 顧客 取消 取消確認 系統

系統維護 維護 系統 更新 管理者 管理者

會員管理資料 自動化 系統 更新 資料排列 系統

更新菜單 自動化 餐廳 更新 更新成功 系統

顧客資料 送出 系統 產生 資料呈現 餐廳

菜單事件 送出 系統 產生 菜單表 餐廳

表格 6 手機點餐預約詞彙表(Glossary)

詞彙 解釋 附註

預約 預約包含有客戶資料預約菜單項目

客戶資料 姓名住址電話email 等

菜單 產品編號菜單名稱價格等

登入資料 帳號密碼

餐廳 餐廳類型價格風格

手機 預約瀏覽查詢

26

以下使用案例說明書為手機點餐預約流程的介紹

Use Case Specification 瀏覽

名稱(Name)瀏覽

簡述(Brief Description)顯示給一般民眾我們的系統介面

參與者(Actors)顧客

前提(Pre-Conditions)顯示給一般民眾如何我們系統介面

成功條件(Successful Post-Conditions)進入到介面的首頁

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 瀏覽首頁 2 提共顧客資訊

3 瀏覽餐廳 4 提供顧客熱門餐廳

5 點餐和定餐 6 提供餐廳基本資料

7 是否定位 8 登入會員畫面

27

Use Case Specification 加入會員

名稱(Name)加入會員

簡述(Brief Description)可以透過加入會員索取更多的資料

參與者(Actors)顧客

前提(Pre-Conditions)需要利用我們的系統的使用者

成功條件(Successful Post-Conditions)進入登入會員的登入畫面

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1加入會員 2顯示會員資料表

3填寫會員資料 4成功加入會員

5跳回首頁

4新增失敗

5跳回會員資料表

6 重新填寫會員資料 7成功加入會員

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 26: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

26

以下使用案例說明書為手機點餐預約流程的介紹

Use Case Specification 瀏覽

名稱(Name)瀏覽

簡述(Brief Description)顯示給一般民眾我們的系統介面

參與者(Actors)顧客

前提(Pre-Conditions)顯示給一般民眾如何我們系統介面

成功條件(Successful Post-Conditions)進入到介面的首頁

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 瀏覽首頁 2 提共顧客資訊

3 瀏覽餐廳 4 提供顧客熱門餐廳

5 點餐和定餐 6 提供餐廳基本資料

7 是否定位 8 登入會員畫面

27

Use Case Specification 加入會員

名稱(Name)加入會員

簡述(Brief Description)可以透過加入會員索取更多的資料

參與者(Actors)顧客

前提(Pre-Conditions)需要利用我們的系統的使用者

成功條件(Successful Post-Conditions)進入登入會員的登入畫面

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1加入會員 2顯示會員資料表

3填寫會員資料 4成功加入會員

5跳回首頁

4新增失敗

5跳回會員資料表

6 重新填寫會員資料 7成功加入會員

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 27: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

27

Use Case Specification 加入會員

名稱(Name)加入會員

簡述(Brief Description)可以透過加入會員索取更多的資料

參與者(Actors)顧客

前提(Pre-Conditions)需要利用我們的系統的使用者

成功條件(Successful Post-Conditions)進入登入會員的登入畫面

失敗條件(Unsuccessful Post-Conditions)無法進入手機介面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1加入會員 2顯示會員資料表

3填寫會員資料 4成功加入會員

5跳回首頁

4新增失敗

5跳回會員資料表

6 重新填寫會員資料 7成功加入會員

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 28: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

28

Use Case Specification 登入會員

名稱(Name)登入會員

簡述(Brief Description)透過會員取得更多的資訊和服務

參與者(Actors)顧客

前提(Pre-Conditions)必須先加入會員

成功條件(Successful Post-Conditions)進入會員專區

失敗條件(Unsuccessful Post-Conditions)回到登入畫面

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1會員登入 2成功登入

2登入失敗

3返回會員登入

4重新會員登入

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 29: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

29

Use Case Specification 預約訂位

名稱(Name)預約訂位

簡述(Brief Description)透過手機上網先行預定餐廳的座位

參與者(Actors)顧客

前提(Pre-Conditions)必須先登入會員專區

成功條件(Successful Post-Conditions)完成訂位相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1預約訂位 2預約訂位畫面

3選擇地點時間人數 4待確認畫面

5預約成功

5預約失敗

6返回預約畫面

7重新預約

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 30: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

30

Use Case Specification 點餐

名稱(Name)點餐

簡述(Brief Description)預約完座位可以先行點餐

參與者(Actors)顧客

前提(Pre-Conditions)預約完訂位

成功條件(Successful Post-Conditions)完成點餐相關手續並且成功

失敗條件(Unsuccessful Post-Conditions)預定失敗回到會員專區

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1點餐 2進入菜單

3選擇菜色 4點餐成功

4重新選擇菜色

5點餐成功

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 31: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

31

Use Case Specification 訂位資訊

名稱(Name)訂位資訊

簡述(Brief Description)查看訂位的資訊內容可做修改或是刪除

參與者(Actors)顧客

前提(Pre-Conditions)已訂完位置可查詢

成功條件(Successful Post-Conditions)顯示訂位資訊

失敗條件(Unsuccessful Post-Conditions)無法顯示訂位資訊

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1查詢訂位 2是否有訂位

3歷史訂位

4修改訂位 5確認修改

6取消訂位 7確認取消

8返回

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 32: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

32

Use Case Specification 修改菜單

名稱(Name)修改菜單

簡述(Brief Description)修改菜色內容

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有最新的菜色內容資料

成功條件(Successful Post-Conditions)讓整個菜單更加的淺顯易懂

失敗條件(Unsuccessful Post-Conditions)無法了解菜色內容

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 修改菜單 2 修改菜色內容

3 確認菜單使否修改 4 更新菜單成功

5 返回

hellip hellip

4更新失敗

5重新修改菜單 6更新成功

7返回

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 33: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

33

Use Case Specification 提供座位

名稱(Name)提供座位

簡述(Brief Description)由餐廳提供一些座位作為推銷

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者已經與我們簽署了合約

成功條件(Successful Post-Conditions)提供出合約上該有的座位

失敗條件(Unsuccessful Post-Conditions)不同意合約的內容無法提供

出座位

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 要求需要的座位 2 協商餐廳座位數量

3 是否滿意座位數量 4 確定座位數量

5再進行協商

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 34: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

34

Use Case Specification 新增菜單

名稱(Name)新增菜單

簡述(Brief Description)增加新的菜單到資料庫以及瀏覽介面

參與者(Actors)餐廳業者

前提(Pre-Conditions)有新的菜色需要增加

成功條件(Successful Post-Conditions)填寫完整的菜色內容

失敗條件(Unsuccessful Post-Conditions)沒有完整的菜色內容資料

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 新增菜單 2 餐廳提供新增菜單表

3 系統自動更新菜單 4 上次菜單新增於 XX 分 XX 秒

5 顯示菜單資料 6 菜單新增成功

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 35: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

35

Use Case Specification 餐廳註冊

名稱(Name)餐廳註冊

簡述(Brief Description)讓餐廳註冊成為我們的會員以便提供優惠

參與者(Actors)餐廳業者

前提(Pre-Conditions)已有相同的共識以及確認合約的認同

成功條件(Successful Post-Conditions)達成共識以及簽屬合約

失敗條件(Unsuccessful Post-Conditions)合約上無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 餐廳註冊 2 顯示餐廳會員資料申請表

3 填寫餐廳會員資料 4 成功加入餐廳會員

5跳回首頁

hellip

4新增失敗

5跳回餐廳會員資料表

6重新填寫餐廳會員資料 7成功加入餐廳會員

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 36: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

36

Use Case Specification 找餐廳

名稱(Name)找餐廳

簡述(Brief Description)尋找合作的餐廳業者

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳符合我們的需求

成功條件(Successful Post-Conditions)達成協議

失敗條件(Unsuccessful Post-Conditions)沒有共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 找廠商合作 2 是否願意合作

3 談合作內容 4 願意合作

hellip

5不願意合作

6重新尋找廠商

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 37: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

37

Use Case Specification 建立後端系統

名稱(Name)建立後端系統

簡述(Brief Description)建立一個後端系統以便管理

參與者(Actors)管理者

前提(Pre-Conditions)已有初步的構想以及藍圖

成功條件(Successful Post-Conditions)能夠順利執行

失敗條件(Unsuccessful Post-Conditions)無法執行

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 建立後端系統 2 新增資料庫

3 編寫程式 4 顯示程式

5 建立伺服器 6 顯示後端系統

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 38: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

38

Use Case Specification 新增手機元件

名稱(Name)新增手機元件

簡述(Brief Description)新增元件在手機界面上以便使用

參與者(Actors)管理者

前提(Pre-Conditions)設計圖

成功條件(Successful Post-Conditions)能夠在界面上執行

失敗條件(Unsuccessful Post-Conditions)無法在界面上使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1新增手機介面 2 增加元件

3 設定連結資料庫 4 顯示資料庫資料

5 設定餐廳和菜單 6 顯示菜單

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 39: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

39

Use Case Specification 管理手機介面

名稱(Name)管理手機介面

簡述(Brief Description)管理手接介面或者新增手機元件

參與者(Actors)管理者

前提(Pre-Conditions)介面出問題需要改進或者美化

成功條件(Successful Post-Conditions)讓整個介面更完整

失敗條件(Unsuccessful Post-Conditions)無法讓介面更加完整讓人看

不懂如何使用

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 管理手機介面 2 管理介面

3 新增刪除修改與整理 4 管理完畢

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 40: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

40

Use Case Specification 管理後端系統

名稱(Name)管理後端系統

簡述(Brief Description)主要是用來管理後端系統已達到更穩定

參與者(Actors)管理者

前提(Pre-Conditions)後端系統出問題或者需要更新的時候

成功條件(Successful Post-Conditions)讓整個系統更穩定

失敗條件(Unsuccessful Post-Conditions)後端崩潰

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 系統回應

1 管理後端系統 2 後端全功能介面

3 管理與維護 4 維護完畢

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 41: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

41

Use Case Specification 簽合約

名稱(Name)簽合約

簡述(Brief Description)達成共識

參與者(Actors)餐廳業者

前提(Pre-Conditions)餐廳業者了解整個合約內容

成功條件(Successful Post-Conditions)達成協議簽署合約

失敗條件(Unsuccessful Post-Conditions)無法達成共識

事件路徑(Flow of Events)基本路徑(Typical Course of Events)

動作 回應

1 簽合約 2 提共合約內容

3 是否滿意合約內容 4 簽約成功

hellip

5簽約失敗

6重新簽約

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 42: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

42

圖 7 手機點餐預約 UML 流程圖

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 43: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

43

六 開發工具

說到智慧型手機就會想到Apple的iOS與Google的Android由於

Android系統的使用者比較多所以我們選擇以Android來作為這次專題

的開發系統

講到Android就不得不要提到JAVAAndroid手機系統核心雖然是

LINUX的核心但基本上整個作業系統都是基於JAVA來開發的相對

的手機的應用程式開發也是由JAVA來開發

專題是利用MySQL這套免費的資料庫來當作後端系統使用JAVA

來撰寫我們的網頁至於為什麼不用PHP來寫而用JAVA來寫是因為手

機上的應用程式顯示出來的畫面PHP沒辦法完成需要用到JAVA的語

言來寫所以才選擇JAVA而捨棄PHP以下介紹一下PHP與JAVA跟兩

者加上MySQL的比較

PHP簡介

PHP是一種網頁語言主要用途是在於處理動態網頁也包含了

命令列執行介面或者產生圖形使用者介面PHP的應用範圍相當廣

泛尤其是在網頁程式的開發上一般來說PHP大多執行在網頁伺服

器上透過執行PHP程式碼來產生使用者瀏覽的網頁PHP可以在多

數的伺服器和作業系統上執行而且使用PHP完全是免費的根據

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 44: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

44

2007 年 4 月的統計資料PHP已經被安裝在超過 2000 萬個網站和 100

萬台伺服器上接下來我們來介紹一下PHP的一些特點

PHP特點

一 內嵌於HTML

這點當然是PHP的優點PHP 可以減少相當多處理HTML 的時間我

們只要在HTML 的適當位置寫程式即可

二 PHP 易學易用

PHP 語法類似C 語言因此PHP 本身並不難學也相當容易撰寫

三 應用程序介面(API)支援完整

這是讓PHP 容易使用的原因之一PHP 支援了多種資料庫管理系統

的應用程序介面(API)

四 PHP 與Apache 緊密結合

PHP與apache 這個全球佔有率第一的網頁伺服器有相當好的相容

JAVA簡介

JAVA是一種電腦程式設計語言擁有跨平台物件導向的特性

使用範圍相當廣泛早期如電視機電話鬧鐘烤麵包機等等但

由於近期網際網路發展的快速JAVA逐漸成為目前最重要的網路程式

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 45: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

45

語言

JAVA優點

一 JAVA 簡單

純物件導向的特性再加上眾多類別函式庫的支援使用JAVA開發

各式各樣的應用程式可以說是易如反掌

一 JAVA 可完全跨平台

JAVA 利用虛擬機器的觀念使得能在各平台上執行JAVA 程式更

換平台不但不必重新撰寫程式甚至也不必重新編譯程式

二 語言

JAVA使用萬國碼作為它的標準字元這項特性使得JAVA的程式能在

不同語言的平台上都能撰寫和執行

三 JAVA 是結構獨立的

和跨平台有類似的地方這邊強調的是JAVA 面對的是虛擬機器因

此可以假設JAVA 要執行的平台永遠是相同的因此只要寫一次程式

就可以在各種平台上執行

四 JAVA 安全

JAVA去除了CC++程式語言的「指標」因此降低了記憶體純取錯誤

的機會此外JAVA 在JVM (Java Virtual Machine)中也加入了許多安全

機制

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 46: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

46

這邊介紹一下MySQL這套免費的資料庫MySQL是一款小型的資

料庫管理系統他效能好成本低現在已經成為最為廣泛使用的資料

庫愈來愈多的大型網站如Google也使用這套資料庫系統

接下來用表格的方式來呈現PHP+MySQL與JAVA+MySQL在Android系

統上的差異性

表格 7 系統差異性

PHP+MySQL JAVA+MySQL

功能性 低 高

美化 普通 華麗

開發技術 低 高

開發成本 低 高

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 47: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

47

主要工具

圖 8eclipse 圖示

簡介Eclipse 是著名的跨平台的自由集成開發環境(IDE)最初是由

IBM 公司開發並被廣泛地使用在許多不同的領域可作為 JAVA

應用程式與 Android App 的開發環境

圖 9phpMyAdmin 圖示

簡介phpMyAdmin 是一個以 PHP 為基礎以 Web-Base 方式架構在網

站主機上 MySQL 的資料庫管理工具讓管理者可用 Web 介面管理

MySQL 資料庫建立修改刪除資料庫及資料表[8]

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 48: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

48

主要元件

圖 10JAVA 圖示

簡介JAVA Development Kit (JDK) 是Sun公司針對 JAVA開發人員發布

的免費軟體開發工具包自從 JAVA 推出以來JDK 已經成為使用最

廣泛的 JAVA SDK由於 JDK的一部分特性採用商業許可證因此2006

年 Sun 公司宣布將發布基於 GPL 協議的開源 JDK使 JDK 成為自由

軟體[9]

圖 11Google 應用服務引擎

簡介Google 應用服務引擎是一個開發託管網路應用程序的平台

使用了雲端計算技術它跨越多個伺服器和數據中心來虛擬化應用程

序 Google 應用服務引擎在用戶使用一定的資源時是免費的

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 49: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

49

圖 12Apache Tomcat 專屬圖示

簡介 Tomcat 最初是由 Sun 的軟體構架師詹姆斯middot鄧肯middot戴維森開發的

Tomcat 的 Servlet 引擎通常與 Apache 或者其他 Web 伺服器一起工作

由於 Tomcat 是使用 JAVA 開發的所以它可以運行在任何一個裝有

JVM 的不同作業系統之上[10]

圖 13Android 模擬器介面

簡介 Android 模擬器是 Android 官方所推出的可完整模擬 Android

手機或平板電腦軟硬體環境之模擬器軟體工具Android 模擬器是可

視開發需求自訂不同軟硬體規格的模擬器能協助開發者進行測

試工作支援除錯模式

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 50: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

50

七 工作流程

安裝環境元件 JAVA

1選取 JDK 7u3+JAVAEE

2選擇 Windows 版本下載安裝

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 51: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

51

安裝 eclipse372

1下載 eclipse372 選擇 windows 32bit 安裝 eclipse372

2開啟 eclipse372

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 52: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

52

安裝元件 GOOGLE SDK

1進入 eclipse372 選擇說明(H)rarr Install New PERLINK

httpdlgooglecomeclipseplugin37httpdlgooglecomeclipseplugin37

輸入完按下確定

2點選 Select All 之後下一步

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 53: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

53

4選擇我同意按下完成就安裝成功

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 54: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

54

安裝元件 Android SDK

1進入 eclipse372 選擇說明(H)rarr Install New Software

2 點選 Add

輸入 httpdl-sslgooglecomandroideclipse輸入完按下確定

3 點選 Select All 之後

下一步

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 55: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

55

4 選擇我同意按下完成即可安裝成功

5完成安裝之後會跳出重新開始建議選擇現在重開 eclipse

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 56: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

56

安裝 Tomcat

1 進入 httptomcatapacheorg選擇 Tomcat 70 下載 32-bit Windows zip

2 進入 httpwwweclipsetotalecomtomcatPluginhtml 下載

tomcatPluginV33zip

3解壓縮 tomcatPluginV33zip 放入 Eclipse 的 dropins 資料夾中重新啟動

Eclipse這樣就安裝完成

4解壓縮 32-bit Windows zip 放入 Eclipse 的資料夾中

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 57: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

57

5開啟 Eclipse 點選視窗(W)按下喜好設定

6

選擇 Tomcat

選取 Version 7X

設定路徑瀏覽剛解壓

縮檔案 apache-tomcat

-7026

選取 Context filse

選擇套用設定完成

[11]

注意事項

在開發 JSP 時常駐程式列中的 Tomcat 程式無須理會之不用在這

裡啟動或關閉開關 Tomcat 只須使用在 eclipse 中的三個 Tomcat 圖示

即可所以任何時候 Tomcat 在常駐程式的狀態都是 Stop service (呈

反白狀)

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 58: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

58

此時執行 eclipse外掛的 中最左邊的開啟鈕則會正常運作

而下方 Console 視窗也會顯示 Server startup in ms表示正常開啟運

作中

若是強制開啟常駐程式的 Start Service則會擾亂 JSP 的開發執行

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 59: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

59

安裝 WAMP 架設伺服器設定固定 IP(12011569130)

1 進入 httpwwwwampservercomen

下載 WAMP SERVEER22D(32BITS)

2選擇 download it directly (直接下載)

3開啟 wampserver22d-x32 安裝 4選擇指定路徑下一步

5 選擇 Install(安裝)即可安裝成功

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 60: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

60

開啟 phpMyAdmin

1開啟

startWampServer

2選擇在右下角工作列左鍵

選擇 Start All servces(啟動)

3正確啟動

為橘色

4新增使用者

5設定設帳號密碼主機選擇任意主機

6選擇全選建立使用者

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 61: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

61

7進入 wamp-gtapps-gtphpmyadmin34101 資料夾選擇 configinc 修改登

入畫面

8修改主機位址儲存

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 62: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

62

9重新登入登入帳號promis2011 密碼0955981448 進入 phpMyAdmin

10進入資料庫新增資料庫名稱promis

11新增資料表user

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 63: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

63

12 插入-gt新增資料-gt執行

13新增結果

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 64: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

64

安裝 JDBC 驅動程式

1 進入 httpwwwmysqlcom 下載 JDBC

2選擇 ConnectorJ

3Platform Independent (Architecture Independent) Compressed TAR

Archive

4點選 No thanks just take me to the downloads下載

5選起 HTTP 下載

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 65: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

65

6解壓縮 mysql-connector-java-5120tar 到 eclipse 資料夾中

7開啟 eclipse 選擇專案右件內容

8選擇

JAVA 建置路

新增外部 JAR

選取

mysql-connector

-java-5120-bin

開啟舊檔

確定

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 66: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

66

9JDBC 驅動安裝完成

安裝 UMLAmaterasUMLGEF

1進入

httpamaterassourceforgejpcgi-binfswiki_enwikicgipage=AmaterasUML

2點選 here 下載 AmaterasUML

3點選 AmaterasUML_133zip 下載

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 67: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

67

4點選 GEF

5點選 Download

6選擇 here

7點選 All-In-One SDK (Runtime Source Examples) 下載

8將 AmaterasUML_133zip 解壓縮到 eclipse 的 plugins 的目錄底下

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 68: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

68

9壓縮 GEF-runtime-360 到 eclipse 資料夾

安裝 UML 元件成功

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 69: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

69

JAVA 連線資料庫

使用 JAVA 連線伺服器

String driver = commysqljdbcDriver

String url = jdbcmysql12011569130promisuseUnicode=trueampcharacterEncoding=UTF-8

String user = promis2011

String password = 0955981448

Connection conn = null

try

ClassforName(driver)

conn = DriverManagergetConnection(url user password)

if (conn = nullampamp connisClosed())

Systemoutprintln(資料庫連線測試成功)

資料庫連線測試成功(連線成功)

使用 JAVA 查詢資料庫

Statement stmt = conncreateStatement()

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(查詢資料)

編號 1 帳號 498110101 密碼 0955981448

編號 2 帳號 498110102 密碼 0955981448

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 70: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

70

使用 JAVA 新增資料庫

Statement stmt = conncreateStatement()

執行insert語法

stmtexecuteUpdate( insert into user(uusernameupassed)values(+4981101030912493218))

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(新增第三筆資料)

編號 1帳號 498110101 密碼 0955981448

編號 2帳號 498110102 密碼 0955981448

編號 3帳號 498110103 密碼 0912493218

[12]

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 71: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

71

使用 JAVA 刪除資料庫

Statement stmt = conncreateStatement()

執行delete語法SID為5的同學刪除

stmtexecuteUpdate(Delete from user where uid=2)

執行 SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

資料庫連線測試成功(成功刪除第二筆資料)

編號 1 帳號 498110101 密碼 0955981448

編號 3 帳號 498110103 密碼 0912493218

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 72: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

72

使用 JAVA 修改資料庫

Statement stmt = conncreateStatement()

執行update語法將SID為4的同學改為電機工程系

stmtexecuteUpdate(update user set uusername =498110106 where uid=3) 執行

SQL 指令

ResultSetrs=stmtexecuteQuery(select from user)

取出資料庫中的資料

while (rsnext())

Systemoutprintln(

編號 +rsgetInt(1) + t +

帳號 +rsgetString(2) + t +

密碼 +rsgetString(3) + t

)

stmtclose()

connclose()

使用 JAVA 讓資料庫匯入到電腦成 EXCEL 檔

package database

import javaio

import javasql

public class ExportData

publicExportData()

Connection con =null

Statement stat = null

ResultSetrs = null

String sql = select aidanameaaddressacategorybLbD from company_all a left outer

join company b on aid = bid order by cast(aid as SIGNED)

File file = new File(ctools123456789csv)

try

BufferedWriter writer = new BufferedWriter(new FileWriter(file))

con = ImportdatagetConnection()

stat = concreateStatement()

rs = statexecuteQuery(sql)

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 73: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

73

while(rsnext())

String flag =

String tmp = rsgetString(address)

if(tmpindexOf(號)=(tmplength()-1))

flag = 有問題

writerwrite(rsgetString(1)++rsgetString(2)

++rsgetString(3)++rsgetString(4)++rsgetString(5)

++rsgetString(6)++flag+n)

writerflush()

writerclose()

writer = null

catch(SQLException e)

Systemoutprintln(e)

catch(IOException e)

Systemoutprintln(e)

public static void main(String args[])

newExportData()

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 74: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

74

圖 14GRN 應用程式處理概要

一開始進入首頁(indexjsp)瀏覽菜單再從菜單(ReadServltjava)新增

資料後會進入菜單處理(BlogControllerjava)更新菜單(PostSevletjsp)再

來會將結果分派(dispatch)到菜單(ReadServletjava)如果有輸入錯誤重

新載入到(readjsp)再一次重新更新菜單更新菜單時都將資料輸入到

資料庫裡面再從資料庫抓取透過(Topicjava)將資料完整顯示到

(readjsp)

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 75: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

75

八 網頁及手機呈現

表格 8 使用者所能使用的介面

使用者 後端 網頁 手機

顧客

餐廳

管理者

網頁的呈現上分為兩大部分前端及後端系統前端由顧客及餐

廳方面所能看到用來簡單的管理自己的會員資料及觀看自己的紀錄

而後端是由系統來做管理管理會員及餐廳所提供的資料和菜單等訊

息作為統整及整理

使用者即為顧客簡單的觀看公司介紹從網頁能下載手機點餐訂

位系統的 APP 程式從網頁上也能得知目前產品的更新項目訊息

資訊

顧客從網頁上取得 APP 程式安裝過後可以簡單預覽餐廳和會員

登入預覽餐廳方面從預設好的篩選方式或者關鍵字的搜尋來得知結

果搜尋完畫面呈現餐廳介紹觀看餐廳基本資料決定好餐廳之後加

以訂位時間人數輸入好送出資料即為訂位成功

餐廳從網頁上清楚的明白我們的產品目的能與系統來做合作

登記自己的餐廳資料與菜單來讓之後的使用者得知有這間餐廳可以

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 76: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

76

訂位

餐廳在網頁上能更新菜單也能得知系統整理好的統計資料顧

客使用率和統計人數結果方便讓餐廳可以知道使用系統去加以訂位

的顧客有多少人

系統即為管理者整頓網頁資料更新整理APP 程式更新優化顧

客餐廳的加入審核資料不定時的觀看顧客使用率意見回覆

製作公司網站的部分使用到的是 Google 的協作平台從協作平台

上製作有相當多的好處他也有設定好的介面及功能只需要把東西

給擺上去即可程式碼方面他都已有設定好的功能所以製作起來非

常容易接下來從網頁開始介紹 GO RIGHT NOW 所呈現在網站上的

畫面及功能

一開始所看的是我們 GO RIGHT NOW 的公司介紹

圖 15GO RIGHT NOW 公司首頁

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 77: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

77

然後是 GO RIGHT NOW 起源與創思

圖 16 創思簡介第一部分

圖 17 創思簡介第二部分

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 78: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

78

人員介紹的部分以下連結都是已經連到各個人員的 FB 網站

圖 18 人員介紹

接來可以從這邊連結到 GO RIGHT NOW 的產品網站

圖 19 產品網站連結

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 79: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

79

在來看的是未來公司所想達成的目標

圖 20 未來目標

最後的部分可以從這提供使用者最新訊息及消息

圖 21 最新訊息

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 80: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

80

以下所觀看的是產品網頁提供資料介紹

圖 22GO RIGHT NOW 產品網頁

圖 23 會員登入

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 81: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

81

圖 24 一般會員註冊

圖 25 餐廳會員註冊

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 82: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

82

圖 26 登入之後的畫面

圖 27 檔案下載

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 83: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

83

在未來手機上的呈現採用簡單易懂的方式來讓使用者操作第

一次使用就能清楚的知道功能有哪些不需要再花更多的時間來學習

如何使用從網站下載之後安裝完成即可馬上使用

第一步先從桌面看到產品的 ICON

圖 28 桌面顯示的 ICON 圖示

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 84: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

84

第二步點擊之後進去所呈現的畫面

圖 29 進去之後的畫面

第三步點擊的是瀏覽餐廳在畫面上是我們先有的 20 家餐廳

圖 30 瀏覽餐聽

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 85: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

85

第四步我們先從第一家點擊去觀看介紹

圖 31 比薩茶坊介紹

第五步可以經由旁邊的快速點即立即訂位

圖 32 訂位所需資料

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 86: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

86

第六步開始填寫資料

圖 33 地區的選擇

圖 34 種類的選擇

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 87: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

87

圖 35 價位的選擇

圖 36 需備註的填寫

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 88: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

88

第七步訂位成功傳上資料庫

圖 37 訂位成功

第八步查詢我們所訂位的資料

圖 38 查詢資料

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 89: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

89

九 結論與未來工作

這半學期來已初步構想為基礎陸續的研發及發展手機 APP 基礎

程式開發使用 Android 模擬器完整開發手機點餐系統在未來方面

編寫 JAVE 程式碼能夠透過 XML 連結 JSP 就能夠執行在網頁上

先從Android 模擬器成功之後上架置 GOOGLE PLAY 進行下載

一開始提供出幾項餐廳可供選擇在未來入續與廠商合作或選擇直接

面談餐廳配合

未來使用者可在手機上直接點選點餐系統方便讓使用者挑選出

想要預約的餐廳更可進一步登入會員資料以方便作為資料庫存取

更可方便管理會員資料庫

手機軟體一開始的題目從 3 個想法 5 種問題來為這次專題做準

備會遇到或學習到的東西甚至是團隊精神都包含在裡面打從我

們剛開始知道要做專題的時候我們就開始很積極的想要訂一個有意

義的專題題目在經過大家天馬行空的思考幾天之後我們最後決定

了以專題名為「Android」來開始著手

一開始只是五個人的想法很簡單沒有想太多就單純想為自己做

出一件專屬於自己的作品而已也時常開玩笑的說不一定我們能登上

下載軟體排行榜第一名喔討論時都非常的起勁每個人都是充滿了

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 90: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

90

一堆想法不管是現在已經有的技術還是現在還沒有的技術不過

這一切將暫時靜止於其實是需要有很多的技術以及知識的結合之後

才有辦法完全真正的實現

當初的構思跟想法到專題的開始我們都還是一樣目標沒有改變

由 Android 來寫出一套系統來使用但正式到了學習及上課開始才發

現到想像總是美好的那時憑空想像出來的東西要實際操作起來有很

大一段差距跟技術層面問題還有基礎並不是打的很好時常有一問三

不知道的情況發生導致必須從頭去複習過直到了解清楚才行程式

語言的組合用法用途都必須從頭來過才行真的很辛苦因為要去

複習舊的程式還必須學習新的程式兩種的關係又非常的相似跟密切

所以我們會好好努力秉持著不放棄的精神好好努力讓一些想法能

夠在往後實現而且還沒有專題分組之前時五個人就已經決定好未來

的專題能夠在一起因為都知道彼此的能力想法誰該負責什麼誰

能去做些什麼能把每個人能力所及的事情給做到做好因為彼此都

很信任彼此

一開始的工作都是一樣的就是安裝 eclipse還有裡面的需要用到的

元件最基本的安裝軟體就已經遇到了不少的瓶頸了安裝 eclipse

tomcat 過程我們都花了不少時間在安裝就連即使是安裝好了這些

軟體我們按照著課本實做有時候還是會出現了一些問題雖然在

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 91: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

91

安裝元件過程中也常常發生安裝錯誤不過我們也一個一個的慢慢克

服不過因為大家都住在同一棟屋子之下很快的就一起翻書一起

上網找資料一起埋首在電腦前研究然而把這些問題給解決了

這套軟體是不錯用的很多專題上需要寫的程式都可以在這套軟

體上編譯與執行Eclipse 編輯編譯執行與偵錯方面非常的方便

可增設許多功能強大的外掛並且支援多種作業系統 JAVA 是個難

題因為只聽過沒碰過平常的時間更不會去碰它只知道現在的手

機程式都是由 JAVA 寫出來的JAVA 真的很難寫JAVA 頭腦思緒

要很清楚英文也要有相當的程度以上不然會是一件相當苦惱的事

在資料庫這方面建立一個遠端資料庫讓在家裡就可以直接修

改資料庫而是使用了 WAMP 這套軟體雖然這個軟體在二年級的

時候有上過這門課不過現在所需要用到的技術方面那時候好像

都沒有完全的教到所以很積極的透過網路上的資料教學書本上的

講解大概略懂了一二現在學會了用 Eclipse 寫 JAVA 再利用 JAVA

去控制資料庫JAVA 連到資料庫可以在 JAVA 中做資料庫的修改

新增移除還有整個資料庫可以在 JAVA 中顯示一開始連資料庫

的過程中都不知道如何連上去原來是少裝 JAVA的 JDBC驅動程式

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 92: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

92

這一個驅動主要就是讓 JAVA可以連結上資料庫做新增和修改的動作

雖然看起來離專題完成的時間還很長遠但是想只要五人用心的吸取

主任每一次所給的東西想離完成的時間應該就可以大大的縮短

印象最深的是有一次只是要做最普通的資料庫連結從這一台

電腦連到另一台那麼簡單的事情兩台電腦明明就在隔壁而已要做出

能夠連結就花了 3 個小時的時間去到後面成功時肚子都餓壞了吃

飯的同時都還熱烈的討論著剛剛在做的事情那次的成功看似簡單對

我們來說可是意義重大的一步第一次只靠自己就能夠完成這表是

之後所遇到的問題只要有心也是能去突破的成功這一小步雖然很小

但是終於誇出的第一步一步接著一步目標也是離我們很近的

目標慢慢的接近時間長了也慢慢的累了而壓力也越來越大

有總倦怠感的出現壓力要承受的也越來越大一點一滴的冒了出一

推問題始終不知道自己該去做怎樣的成品出來好每個人都沒有一

個準確的目標去追隨這中間所學到的都只是為了 Android 的基礎給

做好而已專題都還沒做到一半就出現了難題要解決於是決定休息

一段時間跟準備下一次所要交的作業等下次開始就是該衝刺的時刻

趁這段時間沉澱一下休息夠了也都重新出發用最初的心情去面對

及挑戰跟學習

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 93: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

93

雖然我們這幾個都沒什麼基礎但相信只要肯努力多少都會有收

穫一定會有所成果的可以接受一再的挫折失敗但不能接受未

曾奮鬥過會好好努力的因為我們的精神就是「寧可失敗也不願

沒嘗試過就放棄」

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 94: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

94

參考文獻

1 羅智耀 et al 資訊系統於餐飲業之應用 2005

2 何明錚 全方位服務線上點餐系統創業企劃書 2009

3 陳明秀 智慧型手機對電腦媒介溝通之影響初探 2007 台灣圖書館管理

季刊

4 王鉅文 et al 網頁點餐系統 2009

5 張紹勳 網際網路行銷之成功模式中華管理評論 第三期第二卷 頁

2000 p 17-38

6 廖育群 et al 線上便當訂購系統 2006

7 張豔翠 損耗性商品買賣雙方的最佳折扣價與訂購政策 私立中原大學工

業工程研究所碩士論文 1995

8 吕律明 PHP+ MySQL 环境下论坛的搭建广东交通职业技术学院学报

2007 6(1) p 42-45

9 田原 SUN 公司免费 JAVA 开发工具mdash瞥

10 孙卫琴 Tomcat 与 Java Web 开发技术详解 2009 电子工业出版社

11 周婷 and 董海棠 Eclipse 平台架构及其插件甘肃科技纵横 2007 36(003)

p 16-16

12 刘丽珏 张龙祥 and 计算机软件 JDBC 与 Java 数据库程序设计 2001

人民邮电出版社

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 95: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

95

附錄 Eclipse 專案匯入過程

主要編輯 XML 手機介面及管理所需要的程式以下是操作流程

1第一步驟先打開 Eclipse

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 96: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

96

2之後點選 Use existing SDKs 然後點選 Browse 去選擇我們所要加掛的 SDKs 資

料夾就如下圖所示

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 97: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

97

3接下來我們要先把我們的工作區切換好切換到 D 曹如圖所示

4在黃色標示的地方將它改為 Dworkspace 然而按下確定即可更新完工作

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 98: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

98

5接下來我們要建立一個模擬器點選視窗之後選擇 AVD Manger

6按下 New

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 99: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

99

7我們接下來第一步驟要在 Name 這裡打上我們所要命名的模擬器名稱

接下來第二步驟在 Target 這裡是要選擇我們以後所建立的東西有沒有需要用到

Google 方面的服務如果有的話則要選擇 Google APIs 如果沒有的話選擇

Android 即可(如下圖所示)

8接下來我們可以看是否要增加 SD 卡如果有要使用到 SD 卡的話即可在 SD

Card中去選擇Size(如下圖所示)而在Skin方面則是用來選擇模擬器的畫面大小

皆可以試試看之後點選 Create AVD 即可完成模擬器的設定

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 100: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

100

9接下來我們點選剛剛設定好的模擬器點選 Start之後他會跳出一個視窗不

用動到設定預設即可然而點選 Launch 來完成啟動模擬器的動作(如下圖所

示)

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 101: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

101

10(第一次啟動模擬器時間會較長)

11這裡只要點選 Close 即可

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 102: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

102

12啟動完畢的模擬器畫面就如下圖所示這樣就代表我們已經成功建立了一個

模擬器環境我們可以在這裏操作各項功能

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 103: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

103

13接下來我們要匯入專案從工作區的檔案rarr匯入之後點選一般事項裡面的

匯入現有的專案至工作區然後下一步(如下圖所示)

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 104: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

104

14再來點選黃色標示的選取根目錄rarr瀏覽選擇在 ANDROID 底下的 FirstTest 資

料夾即可

這裡要特別的注意到建議要勾選「將專案複製到工作區」這選項否則資料

不見時會沒有備份可以使用

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 105: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

105

15接下來我們把剛剛匯進來的 FirstTest 專案點開我們只要點選 aabb 裡面任何

一個 Java 檔即可啟動模擬器來執行它

16然而點選執行即可開啟我們所點選的 FirstViewjava 檔到模擬器中執行

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 106: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

106

17匯入檔案時錯誤出現

[2012-08-15 210742 - Chapter09_Data_01] Unable to resolve target

android-3

18點選 Chapter09_Data_01 右鍵內容

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 107: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

107

20選取 Andorid 將 Andorid233 打勾點選套用選擇確定

21完成會出現 Android233 代表修改成功

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了

Page 108: 手機點餐預約系統 - mis.hwai.edu.twmis.hwai.edu.tw/IM/project101/p5.pdf · 隊等候的項目有一半都是願意等待美食的,可知如果成功達到預約效 果那就代表的商機將成正成長。

108

22點選 AndroidManifestxml 兩下選擇 AndroidManifestxml 將ltuses-sdk

androidminSdkVersion=3 gt改為ltuses-sdk androidminSdkVersion=10 gt修改完成

就可以直接執行程式

23這畫面就是我們剛剛點選 FirstViewjava 檔所開啟的畫面這樣就代表我們成

功的將檔案執行在模擬器上了