D4 recommendation emenu_development


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • UAT: User acceptanceRAD: Rapid Application Development
  • See original file in Folder 10_ANALYSIS_DESIGN_DOC
  • See original file in Folder 10_ANALYSIS_DESIGN_DOC
  • ER: Entity Relationship
  • With regards to business requirements, the main features on iPad are selecting menu categories, showing details of food and drinks, confirming order, checking order status and requesting services. Moreover, the main features on web application are making table, operating order and operating service requests.
  • Images are saved in iPad because of performance reasons e.g. improve speed.DBMS: SQL ServerWeb Services: ASP.NetXcode: iPad applicationE-menu website: http://aces-web.aces.shu.ac.uk/students/b0043132/03_emenu/default.aspxE-menu on iPad (Video Demo): http://www.youtube.com/watch?v=bCsFiMHuG80E-menu web services: http://aces-web.aces.shu.ac.uk/students/b0043132/03_emenu/service.asmx
  • https://developer.apple.com/library/mac/#documentation/General/Conceptual/DevPedia-CocoaCore/MVC.htmlhttp://www.asp.net/mvc/tutorials/older-versions/overview/asp-net-mvc-overview(Microsoft ASP.NET Team 2009)
  • Protocol for exchanging information in implementation of Web services: SOAP (Simple Object Access Protocol)
  • See example of screens in the next slide
  • Storyboard contains a hierarchy of objects for each unique screen that an application is going to display. The objects could be interface elements such as buttons, toggle switches (Ray 2012)
  • Application preferences for iPad application is a relatively straightforward process. It involves add a resource called Settings Bundle, configuring a property the list file, and then deploying in the application. After the application is deployed, the application preferences are automatically created in the Settings application (Lee 2012)
  • D4 recommendation emenu_development

    1. 1. RECOMMENDATIONS REGARDING TO E-MENU DEVELOPMENT F O R D EVEL O PM EN T O F RESTAURANT E - MENU PROTOTYPE Created by Traitet Th.Project: E-menu on iPad for Thai restaurant Created Date 16 Aug 2012Topic: Description of research & discussion of outcomes Revised Date 7 Sep 2012 Revision No. 1.0Content: Artifact of description of research & discussion of Document Name D04-001 outcomes
    2. 2. 1 ) SO F T WA R E DEV EL O P MEN T P R O C ESS Based on - RAD (Rapid Application Development) - Prototyping - Direct Observation 2
    3. 3. SOFTWARE DEVELOPMENT PROCESSES FOR E-MENU APPLICATION BASED ON RAD, PROTOTYING AND DIRECT OBSERVATION Design the Make list of Design UML Design database Design Class requirements Use Case Workflow Observation throughout the development process using ER- Diagram Diagram Diagram diagram Refine documents Design & develop e-menu web Test SystemDevelop the first Create the and Web services for e.g. Web prototype database the first prototype on .NET Services (ASP.NET Language) Observation Modify list of requirements &Present the first Get feedbacks from design documents, at a Prototype the restaurant manager and Web services Thai Dining Create Develop the final prototype by DevelopDevelop the final document to Xcode on iPad web for back Prototype test (Objective-C Language) office on .NET requirements Restaurant Interview restaurant staff; in UKPresent the final Present the final prototype by restaurant manager, waiting staff Prototype Videos, and Demo on iPad & Web and chefs Make The users’ perceptions Recommendations of e-menuRecommendation on the e-menu prototype application development s 3
    4. 4. 2 ) SYST EM A N A LY SIS & DESIG N DO C U MEN T S 4
    5. 5. 5 2 .1 ) USE C A SE DIA G RA M 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.
    6. 6. 6 2 .2 ) C L A SS DIA G RA M 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.
    7. 7. 7 2 .3 ) ER DIA G RA M 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)
    8. 8. 8 2 . 3 . 1 R E L AT I O N A L D ATA B A S E Relational database was designed based on the ER-diagram
    9. 9. 9 2 .3 .2 TA B L ES & C O L UMN S IN DATA BASE TT_SERVICE_REQNo TM_MENU Data Type TM_MENU_CATEGORY Data Type TM_TABLE Data Type TT_ORDER Data Type TT_ORDER_DETAIL Data Type Data Type UEST1 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) MenuCategoryDescriptio4 MenuDescription nvarchar(MAX) nvarchar(999) TableStatus nvarchar(10) OrderCustomerQty int OrderDetailMenuDesc nvarchar(MAX) ServiceRequestTime datetime n MenuCategoryComment5 MenuPrice float nvarchar(255) TableComment1 nvarchar(255) OrderOpenedTime datetime OrderDetailQty float ServiceType nvarchar(50) 1 MenuCategoryComment6 MenuTasteStatus nvarchar(50) nvarchar(255) TableComment2 nvarchar(255) OrderCalledMainCourse datetime OrderDetailPrice float ServiceStatus nvarchar(255) 2 MenuCategoryComment7 MenuRecommendStatus nvarchar(50) nvarchar(255) TableComment3 nvarchar(255) OrderBilledTime datetime OrderDetailStatus nvarchar(255) ServiceComment1 nvarchar(255) 38 MenuStatus nvarchar(50) OrderClosedTime datetime OrderDetailedTime datetime ServiceComment2 nvarchar(255)9 MenuComment1 nvarchar(255) OrderBookingNo nvarchar(255) OrderDetailCookedTime datetime ServiceComment3 nvarchar(255) OrderDetailDeliveriedTim10 MenuComment2 nvarchar(255) OrderMemberNo nvarchar(255) datetime ServiceComment4 nvarchar(255) e11 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
    10. 10. 10 2 .4 ) WO RKF L OW DIA G RA M 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.
    11. 11. 11 2 .4 .1 ) STAT U SES O F O R DER IN G A N D R EQ U EST IN G SERV IC ES TM_MENU_CATEGORTable TT_ORDER_DETAIL Table TT_ORDER Table Y Description Description DescriptionField OrderDetailStatus Field OrderStatus Field MenuCategoryType 1 10_ORDERING Customer is ordering 1 10_OPENNED Order or table is opened 1 10_STARTER Starter Main course / Main 2 11_CONFIRMED Order is confirmed 2 90_COMPLETED Order or table is closed 2 20_MAIN_DISHES dishes 4 30_COOKING An menu item is cooking 4 30_DRINK Drinks 5 40_SERVING An menu item is serving 5 40_SWEET Sweet An Menu item is already 6 41_SERVED served. Table TM_MENU Table TM_MENU Description Description Field MenuTasteStatus Field MenuRecommend 1 1 Mild 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 chefs recommended menu. 3 Extreme hot and spicy Table TT_SERVICE Description Table TT_SERVICE Description Field ServiceType Field ServiceStatus 1 10_REQUEST_WAITER Request Waiter 1 OPENNED Service is being requested. 20_REQUEST_MAIN_COURS 2 Request main course 2 COMPLETED Service is completed. E 3 30_REQUEST_BILLING Request billing Status of ordering and requesting services generated from workflow diagram were used to design the database and e-menu application.
    12. 12. 3 ) T EC HN IC A L DESIG N F O R E - MEN U Content • Initial e-menu Design • MVC (Model-View-Controller) Design • Communication between .NET & iOS Platforms 12
    13. 13. T HIS SEC T IO N F O C U S13 O N T EC HN IC A L SY ST EM DESIG N Technical system design 1. E-menu application on iPad for restaurant customers 2. E-menu Web services 3. E-menu Website for restaurant staff (Back office)
    14. 14. 1 ) IN IT IA L DESIG N 14 O F E - MEN U P R O TO T YP E Main Features on iPad for E-MENU WEB E-MENU APP customers E-MENU SERVICES ON IPAD 1. Select menu categories DATABASE USING ASP.NET USING XCODE 2. Show details of food and drinks 3. Confirm order 4. Check order status 5. Request services • Request a waiter • Request main course E-MENU WEBSITE • Request a payment FOR RESTAURANT STAFF USING ASP.NET Main features on website for staffSQL Server 2005 ASP.NET iOS Platform 1. Manage tables Platform 2. Operate orders 3. Operate service requests Develop using ASP.NET and Xcode
    15. 15. 2) MODEL-VIEW-CONTROLLER (MVC) DESIGNDatabase Model Model Physical Model Classes Web services Model Classes DB Web Service Manager Accessing data Provide - Generate SOAP message (Create XML in the database Web Services to other platforms data) Provide data logic Microsoft - Translate SOAP message (Parse XML e.g. selecting, Including data and SQL Server deleting, updating, data) business logic e.g. inserting data from GetMenuList - Encapsulate communication with Web the database Services Controller & View Controller & View Controller View Controller View DBMS: Database Provide business Provide UI for Provide business Provide UI forManagement logic for UI (User restaurant logic for UI (User restaurant System Interfaces) Staff Interfaces) customers DBMS Platform PlatformSQL Server ASP.NET Platform Apple’s iOS Platform 2005 (Developing tool: Visual Studio 2010) (Developing Tool: Xcode) (Microsoft ASP.NET Team 2009; Mac Developer Library 2012)
    16. 16. 3 ) C O M M U N I C AT I O N B E T W E E N 16 AS P. N E T & I O S P L AT F O R M S U S I N G W E B S E RV I C E S Platform Platform iOS (Xcode) ASP.NET VIEW & MODEL CONTROLLEWeb Services R Class: WebServiceManager Class: ServiceUtils Classes for UI (ASP.NET) Purposes Purposes: Purposes SOAP • To convert Request Request Generator - To generate communication with • To provide (Based on SOAP message Web Service from application to request asynchronous to Function User Interface XML XML) Parameters consuming Web synchronous (UI) for services • To combine all restaurant functions provided by customers - To receive Web Services SOAP message Respons SOAP Parser or response from Benefits: Respons e (Based on Web services • Make it easy to e XML) and translate to communicate with XML Function Xcode variables Web Services Return Value (encapsulation)
    17. 17. 4 ) X C O DE DEV EL O P MEN T 17
    18. 18. 18 4 . 1 ) C L AS S E S D E V E L O P E D I N X O C D E No Folder Name Class Description The classes in this folder are used for communication with Web Services e.g. generating & 1 10_WebServices All classes parsing XML, and converting data types between Web services and Xcode This Class contains all web services functions, which are easy to use. The main objectives of this class is ServiceUtils to encapsulation using web services and to convert communication with web services from asynchronous to synchronous. 3 20_Utils This class contains static variables, such as Order, SharedClass TableNo and ArrayMenuByCategory, to use as public variables. This class collects general reusable functions e.g. GettingStringDataFromSettingFile, ServiceUtils ConvertTableNoToNo and ConvertNoToTableNo functions. Classes in Folder 10_WebServices are used for communication with Web Services (ASP.Net)
    19. 19. 19 4 .2 ) VIEW C ON TR OLLER IN XC OD E No Folder Name Class Description Controls user interfaces of the "Menu Class01_MenuDetail Detail" screen Controls user interfaces of the table in Class02_EmenuCell "Main Menu" screen 30_ViewContro Controls user interfaces of the "Confirm 1 Class10_ConfirmOrder ller Order" screen Controls user interfaces of the "View Class11_ViewOrder Order" screen (Confirm Order) Controls user interfaces of the "Service Class13_ServiceRequest Request" screen Control user interfaces of the "List of MasterViewController categories" screen 2 NMENU29 Control user interface of the "Main DetailViewController Menu" screen View Controller Classes are used for display and controlling user interfaces on iPad.
    20. 20. 4 .3 ) VIEW C O N T R O L LER IN XC O D E20 ( C O N T.) Main Menu Menu Detail Service Request Menu Categories Confirm Order View Order Example of user interfaces on iPad
    21. 21. 21 4 .4 ) STORY B OA R D Main menu screen Menu Detail Screen Service Request Screen Service Request View Order Screen Screen (Confirm Order) Storyboard contains a hierarchy of objects for each unique screen that an application is going to display (Ray 2012).
    22. 22. 4.5) APPLICATION SETTING 22 PREFERENCESSetting Bundle The list file Setting preferences on iPad Design of Setting preferences on iPad
    24. 24. 24 LIST OF WEB SERVICESNo Web Services Description1 AddOrderDetail Add an order item2 AddServiceRequest Add an service request e.g. Call a waiter3 CloseOrderByTable Close order by table no4 DeleteOrderDetail Detail an order item5 FindAvailableOrderByOrderTableNo Find available order by a table no6 FindOrder Find order info. by an order no7 FindOrderByCondition Find order info. by a condition e.g. Order Status = ’90_COMPLETED’8 FindOrderDetail Find order item info. by an order item no Find order item info. by a condition e.g. Order item status =9 FindOrderDetailByCondition ’11_CONFIRMED’10 FindServiceRequest Find service request info. by a service request no Find service request info. by a condition e.g. service status =11 FindServiceRequestByCondition ‘COMPLETED’12 GetCategoryTypeList Get types of menu categories e.g. 01_STARTER, 02_MAIN_DISHES13 GetHelloWorld Get Hello world string. (For the first test)14 GetMenuCategoryList Get list of menu categories15 GetMenuCategoryNameList Get names of menu categories16 GetMenuList Get list of menu
    25. 25. 25 LIST OF WEB SERVICESNo Web Services Description17 GetOrderDetailListForStarter Get list of order item info. of starter18 GetOrderDetailListToCheckStatus Get list of order items to check order status19 GetOrderDetailListToConfirmOrder Get list of order items to confirm order20 GetOrderList Get list of all order items21 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 UpdateOrderDetailStatusFromOrderingToConfirm Update order details status from ordering to confirmed by order29 edByOrderNo no30 UpdateOrderStatusFromClosedToOpenned Update order status from closed to opened31 UpdateOrderToRecordCallingMainCourseTime Update order status to record calling main course time
    26. 26. REFERENCES 26
    27. 27. 27 REFERENCES • 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. • MAC DEVELOPER LIBRARY (2012). Model-View-Controller. [online]. Last accessed on 8 September 2012 at: https://developer.apple.com/library/mac/#documentation/General/Conceptual/DevPedia- CocoaCore/MVC.html. • 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.