d4 recommendation emenu_development

28
FOR DEVELOPMENT OF RESTAURANT E-MENU PROTOTYPE Project: Topic: Content: Created by Traitet Th. Created Date 16 Aug 2012 Revised Date 16 Aug 2012 Revision No. 0.9 Document Name A02-001 RECOMMENDATIONS OF E-MENU DEVELOPMENT E-menu on iPad for Thai restaurant Description of research & discussion of outcomes Artifact of description of research & discussion of outcomes

Upload: traitet-thepbandansuk

Post on 07-Nov-2014

347 views

Category:

Education


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: D4 recommendation emenu_development

FOR DEVELOPMENT OF

RESTAURANT E-MENU PROTOTYPE

Project:

Topic:

Content:

Created by Traitet Th.

Created Date 16 Aug 2012

Revised Date 16 Aug 2012

Revision No. 0.9

Document Name A02-001

RECOMMENDATIONS

OF

E-MENU DEVELOPMENT

E-menu on iPad for Thai restaurant

Description of research & discussion of outcomes

Artifact of description of research & discussion of outcomes

Page 2: D4 recommendation emenu_development

1) SOFTWARE DEVELOPMENT PROCESS

2

Based on

- RAD (Rapid Application Development)

- Prototyping

- Direct Observation

Page 3: D4 recommendation emenu_development

3

Observatio

n

at a

Thai Dining

Restaurant

in UK

Make list of requirements

Design Database using ER-diagram

Design UML Use Case Diagram

Design Class Diagram

Design Workflow Diagram

Make Recommendatio

ns

The users’ perception on the e-menu prototype

Recommendations of e-menu application development

SOFTWARE DEVELOPMENT PROCESSES FOR E-MENU APPLICATION

BASED ON RAD, PROTOTYING AND DIRECT OBSERVATION

Obse

rvatio

n th

roughout th

e d

evelo

pm

ent p

roce

ss

Develop the first prototype

Design & Develop web & web services for

the first prototype on .NET(ASP.NET Language)

Test System e.g. Web Services

Create the database

Present the first Prototype

Get feedbacks from the restaurant manager

Modify list of requirements & design document and Web

services

Develop the final Prototype

Create document to

test requirements

Develop the final prototype by Xcode on iPad

(Objective-C Language)

Develop web for back

office on .NET

Present the final Prototype

Interviews restaurant staff; restaurant manager, waiting

staffs and chefs

Present the final prototype by Videos, and Demo on iPad &

Web

Refine

docu

ments

Page 4: D4 recommendation emenu_development

2) SYSTEM ANALYSIS & DESIGN DOCUMENTS

4

Page 5: D4 recommendation emenu_development

2.1) USE CASE DIAGRAM5

Diagram

• Use Case Diagram

Description

- The use case diagram is an UML modeling tools for capturing business requirements

- It can describe what e-menu system does and the views of what users needs (Kendall 2011)

Benefit

• It enabled the learner to understand the scope and features of systems operated by external users.

Page 6: D4 recommendation emenu_development

2.2) CLASS DIAGRAM6

Diagram

• Class Diagram

Description

- Class diagram is data model of objected-oriented concept, which aims to enhance software quality (Revelle, Gethers and Poshvanyk 2011)

Benefit

• It enabled the learner to take advantages from an object-oriented design e.g. reusability, abstraction, module integration.

Page 7: D4 recommendation emenu_development

2.3) ER DIAGRAM7

Diagram

• ER Diagram

Description

- ER diagram is data modeling tool for linking between data object in the real-world and data modeling details (Rob, Coronel, and Crockett 2008).

Benefit

• ER modelling can reduce ambiguity of communication e.g. defining primary keys, foreign keys, relationships and cardinalities. (Connolly and Begg 2011)

Page 8: D4 recommendation emenu_development

2.3.1 RELATIONAL DATABASE8

Relational database was designed based on the ER-diagram

Page 9: D4 recommendation emenu_development

2.3.2 TABLES & COLUMNS IN DATABASE9

No TM_MENU Data Type TM_MENU_CATEGORY Data Type TM_TABLE Data Type TT_ORDER Data Type TT_ORDER_DETAIL Data Type TT_SERVICE_REQUEST Data Type

1 MenuNo nvarchar(10) MenuCategoryNo nvarchar(10) TableNo nvarchar(10) OrderNo nvarchar(10) OrderDetailNo nvarchar(10) ServiceNo nvarchar(10)

2 MenuCategoryNo nvarchar(10) MenuCategoryName nvarchar(255) TableDescription nvarchar(255) OrderTableNo nvarchar(10) OrderNo nvarchar(10) ServiceOrderNo nvarchar(10)

3 MenuName nvarchar(255) MenuCategoryType nvarchar(50) TableSeatQty int OrderStatus nvarchar(50) OrderDetailMenuNo nvarchar(10) ServiceTableNo nvarchar(10)

4 MenuDescription nvarchar(MAX) MenuCategoryDescription nvarchar(999) TableStatus nvarchar(10) OrderCustomerQty int OrderDetailMenuDesc nvarchar(MAX) ServiceRequestTi

me datetime

5 MenuPrice float MenuCategoryComment1 nvarchar(255) TableComment

1 nvarchar(255) OrderOpenedTime datetime OrderDetailQty float ServiceType nvarchar(50)

6 MenuTasteStatus nvarchar(50) MenuCategoryComment2 nvarchar(255) TableComment

2 nvarchar(255) OrderCalledMainCourse datetime OrderDetailPrice float ServiceStatus nvarchar(25

5)

7 MenuRecommendStatus nvarchar(50) MenuCategoryComme

nt3 nvarchar(255) TableComment3 nvarchar(255) OrderBilledTime datetime OrderDetailStatus nvarchar(255) ServiceComment1 nvarchar(25

5)

8 MenuStatus nvarchar(50)         OrderClosedTime datetime OrderDetailedTime datetime ServiceComment2 nvarchar(255)

9 MenuComment1 nvarchar(255)         OrderBookingNo nvarchar(255) OrderDetailCookedTime datetime ServiceComment3 nvarchar(25

5)

10 MenuComment2 nvarchar(255)         OrderMemberNo nvarchar(255) OrderDetailDeliveriedTime datetime ServiceComment4 nvarchar(25

5)

11 MenuComment3 nvarchar(255)         OrderComment1 nvarchar(255) OrderDetailBy nvarchar(255)    

12 MenuComment4 nvarchar(255)         OrderComment2 nvarchar(255) OrderDetailComment1 nvarchar(255)    

13 MenuComment5 nvarchar(255)         OrderComment3 nvarchar(255) OrderDetailComment2 nvarchar(255)    

14 MenuComment6 nvarchar(255)         OrderComment4 nvarchar(255) OrderDetailComment3 nvarchar(255)    

15 MenuLastUpdatedTime datetime             OrderDetailComment4 nvarchar(255)    

16 MenuCreatedBy nvarchar(50)                    

Tables and columns were designed based on the ER diagram

Page 10: D4 recommendation emenu_development

2.4) WORKFLOW DIAGRAM10

Diagram

• Workflow diagram

Description

- Work flow diagram describes processes when customers come until they leave from restaurant.

Benefit

• The work flow enabled the learner be able to confirm the business process with the restaurant manager.

• It also was used to design statuses of ordering and requesting services as shown in the next slide.

Page 11: D4 recommendation emenu_development

11

Table TT_ORDER_DETAIL

Description

Table TT_ORDER

Description

Table TM_MENU_CATEGORY

Description

Field OrderDetailStatus Field OrderStatus Field MenuCategoryType

1 10_ORDERING Customer is ordering 1 10_OPENNED Order or table is opened 1 10_STARTER Starter

2 11_CONFIRMED Order is confirmed 2 90_COMPLETED Order or table is closed 2 20_MAIN_DISHESMain course / Main dishes

4 30_COOKINGAn menu item is cooking

    4 30_DRINK Drinks

5 40_SERVINGAn menu item is serving

    5 40_SWEET Sweet

6 41_SERVEDAn Menu item is already served.

       

Table TM_MENUDescription

Table TM_MENUDescription

Field MenuTasteStatus Field MenuRecommend

1 1 Little Hot & spicy 1 01_TOP_SELLING This item is a top selling menu.

2 2 Medium hot and spicy 2 02_CHEF_RECOMMENDED This item is a chef's recommended menu.

  3 Extreme hot and spicy      

Table TT_SERVICE Description Table TT_SERVICEDescription

Field ServiceType   Field ServiceStatus

1 10_REQUEST_WAITER Request Waiter 1 OPENNED Service is being requested.

220_REQUEST_MAIN_COURSE

Request main course 2 COMPLETED Service is completed.

3 30_REQUEST_BILLING Request billing      

2.4.1) STATUSES OF ORDERING

AND REQUESTING SERVICES

Page 12: D4 recommendation emenu_development

3) TECHNICAL DESIGN FOR E-MENU

12

Content

• Initial e-menu Design

• MVC (Model-View-Controller) Design

• Communication between .NET & iOS

Platforms

Page 13: D4 recommendation emenu_development

FOCUS ON TECHNICAL DESIGN13

Technical system design

1. E-menu application on iPad

for restaurant customer

2. E-menu Web services

3. E-menu Website for

restaurant staff (Back office)

Page 14: D4 recommendation emenu_development

141) INITIAL DESIGN

OF E-MENU PROTOTYPE

E-MENU APP

ON IPAD

USING XCODE

E-MENU DATABASE

E-MENU WEB

SERVICES

USING ASP.NET

E-MENU WEBSITE

FOR RESTAURANT

STAFF

USING ASP.NET

Main Features on iPad for

customers

1. Select menu categories

2. Show details of food and drinks

3. Confirm order

4. Check order status

5. Request services

• Request a waiter

• Request main course

• Request a payment

Main features on website for

staff

1. Manage tables

2. Operate orders

3. Operate service requestsDevelop using ASP.NET and Xcode

SQL Server 2005

ASP.NET Platform

iOS Platform

Page 15: D4 recommendation emenu_development

Microsoft SQL Server

Accessing data in the database

Provide data logic e.g. selecting,

deleting, updating,

inserting data from the database

Provide Web Services

to other platforms

Including data and business logic e.g.

GetMenuList

Web servicesModel Classes

Model

DBMS: Database

Management System

ModelDatabase

2) MODEL-VIEW-CONTROLLER (MVC) DESIGN

DBMS

SQL Server 2005

Web Service Manager- Generate SOAP message (Create XML

data)

- Translate SOAP message (Parse XML

data)

- Encapsulate communication with Web

Services

Model ClassesPhysical DB

(Microsoft ASP.NET Team 2009; Mac Developer Library 2012)

Apple’s iOS Platform(Developing Tool: Xcode)

Platform

Controller

Controller & View

Provide business logic for UI (User

Interfaces)

ViewProvide UI

for restaurant customers

Platform

ASP.NET Platform(Developing tool: Visual Studio 2010)

Controller

Controller & View

Provide business logic for UI (User

Interfaces)

ViewProvide UI

for restaurant

Staff

Page 16: D4 recommendation emenu_development

3) COMMUNICATION BETWEEN

ASP.NET & IOS PLATFORMS

USING WEB SERVICES

16

Web Services

(ASP.NET)

SOAP Parser

(Based on XML)

Platform iOS (Xcode)PlatformASP.NET

Response

Request SOAP Generator (Based on

XML)

Purposes

- To generate SOAP message to request consuming Web services

- To receive SOAP message or response from Web services and translate to Xcode variables

Purposes:• To convert

communication with Web Service from asynchronous to synchronous

• To combine all functions provided by Web Services

Benefits:• Make it easy to

communicate with Web Services (encapsulation)

MODEL

Class: WebServiceManager Class: ServiceUtils

Request

Response

VIEW & CONTROLLE

R

Purposes

• To provide application User Interface (UI) for restaurant customers

Classes for UI

XML

XML

Function Parameters

Function Return Value

Page 17: D4 recommendation emenu_development

4) XCODE DEVELOPMENT

17

Page 18: D4 recommendation emenu_development

4.1) CLASSES DEVELOPED IN XOCDE18

No Folder Name Class Description

1 10_WebServices All classes

The classes in this folder are used for communication with Web Services e.g. generating & parsing XML, and converting data types between Web services and Xcode

3 20_Utils

ServiceUtils

This Class contains all web services functions, which are easy to use. The main objectives of this class is to encapsulation using web services and to convert communication with web services from asynchronous to synchronous.

SharedClassThis class contains static variables, such as Order, TableNo and ArrayMenuByCategory, to use as public variables.

ServiceUtils

This class collects general reusable functions e.g. GettingStringDataFromSettingFile, ConvertTableNoToNo and ConvertNoToTableNo functions.

Page 19: D4 recommendation emenu_development

4.2) VIEW CONTROLLER IN XCODE19

No Folder Name Class Description

130_ViewContr

oller

Class01_MenuDetailControls user interfaces of the "Menu Detail" screen

Class02_EmenuCellControls user interfaces of the table in "Main Menu" screen

Class10_ConfirmOrderControls user interfaces of the "Confirm Order" screen

Class11_ViewOrderControls user interfaces of the "View Order" screen (Confirm Order)

Class13_ServiceRequest

Controls user interfaces of the "Service Request" screen

2 NMENU29

MasterViewControllerControl user interfaces of the "List of categories" screen

DetailViewControllerControl user interface of the "Main Menu" screen

Page 20: D4 recommendation emenu_development

4.3) VIEW CONTROLLER IN XCODE

(CONT.)20

Main Menu Menu Detail

Confirm Order

Service Request

Menu Categories View Order

Page 21: D4 recommendation emenu_development

4.4) MAIN STORY BOARD21

Service Request Screen

Service Request Screen

View Order Screen (Confirm Order)

Main menu screen Menu Detail Screen

Page 22: D4 recommendation emenu_development

4.5) APPLICATION SETTING

PREFERENCES22

Setting Bundle

The list file Setting preferences on iPad

Page 23: D4 recommendation emenu_development

APPENDIX

23

Page 24: D4 recommendation emenu_development

LIST OF WEB SERVICES

24

Page 25: D4 recommendation emenu_development

LIST OF WEB SERVICES25

No Web Services Description

1 AddOrderDetail  Add an order item

2 AddServiceRequest Add an service request e.g. Call a waiter

3 CloseOrderByTable Close order by table no

4 DeleteOrderDetail Detail an order item

5FindAvailableOrderByOrderTableNo

Find available order by a table no

6 FindOrder Find order info. by an order no

7 FindOrderByConditionFind order info. by a condition e.g. Order Status = ’90_COMPLETED’

8 FindOrderDetail Find order item info. by an order item no

9 FindOrderDetailByCondition Find order item info. by a condition e.g. Order item status = ’11_CONFIRMED’

10 FindServiceRequest  Find service request info. by a service request no

11 FindServiceRequestByCondition Find service request info. by a condition e.g. service status = ‘COMPLETED’

12 GetCategoryTypeList Get types of menu categories e.g. 01_STARTER, 02_MAIN_DISHES

13 GetHelloWorld  Get Hello world string. (For the first test)

14 GetMenuCategoryList  Get list of menu categories

15 GetMenuCategoryNameList  Get names of menu categories

16 GetMenuList  Get list of menu

Page 26: D4 recommendation emenu_development

LIST OF WEB SERVICES26

No Web Services Description

17 GetOrderDetailListForStarter  Get list of order item info. of starter

18 GetOrderDetailListToCheckStatus  Get list of order items to check order status

19 GetOrderDetailListToConfirmOrder  Get list of order items to confirm order

20 GetOrderList  Get list of all order items

21 GetTotalOrderItem  Get number of order items (All order items)

22 GetTotalOrderItemToConfirmOrder  Get number of order items (Only new order items)

23 GetTotalOrderPrice  Get total order price (All order items)

24 GetTotalOrderPriceToConfirmOrder  Get total order price (Only new order items)

25 IsRequestBilling  Check that a particular table whether bill is requested.

26 IsRequestMainCourse Check that a particular table whether main course is requested.

27 IsRequestWaiter Check that a particular table whether a waiter is requested.

28 OpenOrderByTable  Open new order by table no

29UpdateOrderDetailStatusFromOrderingToConfirmedByOrderNo

 Update order details status from ordering to confirmed by order no

30 UpdateOrderStatusFromClosedToOpenned  Update order status from closed to opened

31UpdateOrderToRecordCallingMainCourseTime

 Update order status to record calling main course time

Page 27: D4 recommendation emenu_development

REFERENCES

27

Page 28: D4 recommendation emenu_development

REFERENCES28

CONNOLLY, Thomas M. and BEGG, Carolyn E. (2010). Database systems: A

practical approach to design, implementation, and management. 5th ed., United

States of America, Addison Wesley.

LEE, Wei-Meng (2012). Beginning iOS 5 Application Development, USA, John

Wiley & Sons, Inc.

KENDALL, Kenneth E. and KENDALL, Julie E. (2011). System analysis and design.

8th ed., United Kingdom, Pearson Education.

RAY, John (2012). iOS 5 Application Development in 24 Hours, USA, Pearson

Education, Inc.

REVELLE, Meghan, GETHERS, Malcom and POSHYVANYK, Denys (2011). Using

structural and textual information to capture feature coupling in object-oriented

software. Empirical software engineering, 16(6), 773-811.

ROB, Peter, CORONEL and Carlos, CROCKETT (2008). Database systems: design,

implementation & management. United Kingdom, Tom Rennie.