• 沒有找到結果。

系統類別圖 (Class Diagram)

第四章 系統設計

4.2 系統類別圖 (Class Diagram)

1. 美食搜尋類別圖 類別介紹:

a. searchResult class:美食搜尋介面,為美食尋的主要類別。

b. Main class:首頁類別,幫忙美食搜尋界面傳遞搜尋參數。

c. Search class:為 Main class 內部類別,是關鍵字的自定義資料型態。

d. DBStoreHelper class:店家資料庫類別,在此身分為幫忙讀取店家資 料。

e. DBFoodHelper class:美食資料庫類別,在此身分為幫忙讀取美食資料。

f. SearchParser class:解析搜尋類別,幫忙搜尋類別整合美食與店家資 料。

43 逢甲大學學生報告 ePaper(2014 年)

圖 3.3.2.A 美食搜尋類別圖

圖 3.3.2.A 為美食搜尋類別圖,每個使用者透過 Main 輸入關鍵字透過 onClick_Search()方法來傳遞關鍵字,Intent註 1到 searchResult(美食搜尋介面) 的 searchFood()方法來進行搜尋美食,系統會利用 SearchParser 類別的 parser() 方法去 DBFoodHelper(美食資料庫)尋找相關美食,並將結果回傳給

searchResult 類別。

2. 美食天堂類別圖 (1) 類別介紹:

a. FoodPlazaFragment class:美食天堂介面,為美食天堂主要類別。

b. DBFavoriteHelper class:我的最愛資料庫,提供美食天堂介面查詢美 食是否存放在該資料庫內。

c. DBFoodHelper class:美食資料庫類別,在此身分為幫忙讀取美食資料。

d. DBStoreHelper class:店家資料庫類別,在此身分為幫忙讀取店家資 料。

e. FoodParser class:食物解析類別,在此彙整我的最愛資料庫與美食資 料庫的美食資料。

f. StoreParser class:店家解析類別,在此彙整店家資料庫的資料。

(2) 類別圖解說:

圖 3.3.2.B 為美食天堂的類別圖,FoodPlazaFragment 類別為美食天堂介 面,透過 onCreateView()方法呈現美食資料。DBFoodHelper、DBStoreHelper、

DBFavoriteHelper,這些資料庫提供呈現頁面所需的資料。FoodParser、

StoreParser 物件透過 parser()方法來剖析美食或店家的資料,幫資料作整理。

44 逢甲大學學生報告 ePaper(2014 年)

圖 3.3.2.B 美食天堂類別圖

3. 美食推薦類別圖 (1) 類別介紹:

a. FoodRecFragment class:美食推薦介面,為美食推薦主要類別。

b. DBFavoriteHelper class:我的最愛資料庫,提供美食推薦介面查詢美 食是否存放在該資料庫內。

c. DBFoodHelper class:美食資料庫類別,在此身分為幫忙讀取美食資料。

d. DBStoreHelper class:店家資料庫類別,在此身分為幫忙讀取店家資 料。

e. FoodParser class:食物解析類別,在此彙整我的最愛資料庫與美食資 料庫的美食資料。

(2) 類別圖解說

圖 3.3.2.C 為美食推薦類別圖,FoodRecFragment 類別即為美食推薦平台,

45 逢甲大學學生報告 ePaper(2014 年)

透過 onCreateView()方法來呈現美食資料。DBFoodHelper、DBFavoriteHelper,

這些資料庫提供一些呈現頁面所需的資料。FoodParser 物件透過 parser()方法 來剖析美食資料,並整理出推薦指數大於 4 的資料,中間還需要 DBStoreHelper 類別來查詢所屬美食的店家,運用到資料庫關聯,關聯方式可參考本章第 2 節。

圖 3.3.2.C 美食推薦類別圖

4. 我的最愛類別圖 (1) 類別介紹:

a. FoodRecFragment class:我的最愛介面,為我的最愛主要類別。

b. DBFavoriteHelper class:我的最愛資料庫,提供我的最愛介面查詢美 食是否存放在該資料庫內。

c. DBFoodHelper class:美食資料庫類別,在此身分為幫忙讀取美食資料。

d. DBStoreHelper class:店家資料庫類別,在此身分為幫忙讀取店家資 料。

46 逢甲大學學生報告 ePaper(2014 年)

料庫的美食資料。

(2) 類別圖解說:

圖 3.3.2.D 為我的最愛類別圖,FoodFavoriteFragment 類別即為我的 最愛介面,透過 FavoritePraser 類別的 parser()方法去讀取

DBFavoriteHelper 我的最愛資料庫的資料,並加以剖析與整理,最後再回 傳 List 到我的最愛介面而食物的店家是透過 DBStoreHelper 類別的 getStoreData()方法取得。

圖 3.3.2.D 我的最愛類別圖

47 逢甲大學學生報告 ePaper(2014 年)

5. 會員中心類別圖 (1) 類別介紹:

a. MemberCenterFragment class:會員中心介面,為會員中心主要類別。

b. DBMemberHelper class:會員中心資料庫,將登入成功的會員資料儲存 在此資料庫。

c. MyMemberHlp class:會員幫手類別,提供會員中心介面的自定義資料 型態。

d. UserFunctions class:使用者函式類別,與伺服器溝通的類別。

圖 3.3.2.E 會員中心類別圖

(2) 類別圖解說:

圖 3.3.2.E 為會員中心類別圖,MemberCenterFragment 類別即為會員中心

48 逢甲大學學生報告 ePaper(2014 年)

類別傳遞資訊到 php 達成會員註冊、會員登入、會員登出、修改會員資料…等目 的,資料傳遞方式皆是先將資料轉換成 JSON 物件再經由 php 傳達到美食資料庫。

若使用者透過 MemberCenterFragment 來登入會員,若登入成功,會員資料會透 過再 DBMemberHelper 類別中的 addUser()方法來儲存會員資訊。若使用者進行 會員登出作業,則會使用 DBMemberHelper 類別中的 resetTables()的方法來移 除手機資料庫的會員資料,達成登出作業。

6. 系統資訊類別圖 (1) 類別介紹:

a. InformationFragment class:系統資訊介面,為系統資訊主要類別。

b. DBFoodHelper class:美食資料庫,輔助系統儲存、修改、刪除美食。

c. DBStoreHelper class:店家資料庫,輔助系統儲存、修改、刪除店家。

d. DBMemberHelper class:會員資料庫,讓系統判斷是否有會員登入。

e. DBSystemHelper class:系統資料庫,儲存版本資訊、更新日期。

f. DBSearchHelper class:搜尋資料庫,記錄使用者輸入的搜尋關鍵字。

g. UserFunctions class:使用者函式,在此判斷使用者是否登入。

h. SystemFunctions class:系統函式,提供系統與遠端伺服器溝通的類 別。

i. FavoriteFunctions class:我的最愛函式,提供系統與伺服器備份或 還原。

j. JSONParser class:JSON 格式解析類別,將伺服器回傳的 JSON 格式解 析成系統所需的資料。

49 逢甲大學學生報告 ePaper(2014 年)

圖 3.3.2.F 系統資訊類別圖

(2) 類別圖解說:

圖 3.3.2.F 為系統資訊類別圖,InformationFragment 為系統資訊介面圖,

InformationFragment 類別中的主要方法有:

checkUpdate():檢查更新,透過 SystemFunctions 類別的 checkNeedUpdate() 方法來向遠端伺服器提出檢查更新要求。

backupFavorite():備份我的最愛,透過 FavoriteFunctions 類別的 backupFavorite()方法向遠端伺服器提出備份我的最愛的要求;

restoreFavorite():取得我的最愛、透過 FavoriteFunctions 類別的 restoreFavorite()方法向遠端伺服器提出備份我的最愛的要求;

cleanHistorySearch():清除搜尋資料,透過 DBSearchHelper 類別的 resetTable()方法來完成清除資料庫。

resetDatabase():重置資料庫。重置資料庫必須要用到美食資料庫的物件:

dbFoodHlp、店家資料庫的物件:dbStoreHlp、會員資料庫的物件:dbMemberHlp 與系統資料庫的物件:dbSystemHlp,利用這些物件使用 resetTable()方法來完 成重置。

50 逢甲大學學生報告 ePaper(2014 年)

相關文件