Home
Project Databases Report Pizzeria Ordering System
Contents
1. Query Goal Query Code Query Parameters 1 Insertion of a Insert into ingredient name price imageurl Name Ingredient name new Ingredient employee values name price imageurl Price Ingredient Price employeeid ImageUrl The path to the image belonging to the ingredient Employeeid The employee which added this ingredient to the database 2 Check if login select count as Count from Employee Username the desired username is good or bad where Username username and Password the desired password Password password 3 Register at site insert into Employee Username Password Username the desired username values username and password Password the desired password 4 Check order SELECT count FROM Order where Orderstatus The completed orders OrderStatus New Query Goal Query Code Query Parameters 5 Insert new insert into nonpizza name price imageurl Name nonpizza name nonpizza employeeid values Price nonpizza Price name price imageurl employeeid ImageUrl The path to the image belonging to the nonpizza Employeeid The employee which added this nonpizza to the database 6 Insert new insert into ingredients name price Name Ingredient name ingredient imageurl employeeid values Price Ingredient Price name price 1Imageurl employeeid ImageUrl The path to the image belonging to the ingredient
2. Click on the pencil of the Non Pizza you want to modify Change the information and press Submit iv Deleting a Non Pizza Under the admin menu click on View Change Delete Non Pizza Click on the red cross of the Non Pizza you want to delete c Employees i Adding an employee Under the admin menu click on Employees Click on New Employee fill in username and password press Submit ii Removing an employee Under the admin menu click on Employees Click on the red cross of the Employee you want to delete
3. A DIFFERENT DATE AND TIME PLEASE ENTER THE DESIRED DATE AND TIME We petiver 24 7 DD MM HH SS Totac 22 15 Screenshot 3 Delivery Information Screenshot 3 shows the delivery information tab Customers can fill in their first name last name street name house number city and phone number Optionally if they want the order to be delivered on another date or time they can specify it too On all pages under the order list there is a clearly visible button available to confirm the order However to confirm an order there must be products on the order list and customer information must be filled in When Confirm Order is pressed and there are no products ordered a text message will notify the user that he has to order something first When Confirm Order is pressed and the customer information page is not filled in the system will show the Delivery Info page for users to fill in When Confirm Order is pressed and all the information is entered a confirmation page will show the delivery information and the order details The user can click on OK to confirm the order or Cancel to continue ordering 3 3 Function implementation queries This paragraph contains a table which list all the needed functions with steps that the scripts needs to take and what DB steps are required Another table contains the actual DB queries Create new order View ingredients Select ingredient remove_ingre
4. Employeeid The employee which added this ingredient to the database 7 modify update nonpizza name price imageurl Name nonpizza name nonpizza employeeid values Price nonpizza Price name price imageurl employeeid ImageUrl The path to the image belonging to the nonpizza Employeeid The employee which added this nonpizza to the database 8 modify update ingredients name price imageurl Name Ingredient name ingredient employeeid values Price Ingredient Price name price imageurl employeeid ImageUrl The path to the image belonging to the ingredient Employeeid The employee which added this ingredient to the database 9 Delete nonpizza delete from nonpizza where nonpizzaid Nonpizzzaid the id that is given to a nonpizzaid nonpizza product 10 Delete delete from ingredients where ingredientid Ingredientid the id that is given to a ingredient ingredientid ingredient added to the database Customer Queries Query Goal Query Code Query Parameters Make the select distinct p pizzaid as pizzaid from pizzaid pizza name pizzaid match to the current pizza gt Add ingredient to pizza pizza p inner join pizzaingredients p2 on p pizzaid p2 pizzaid where p sessionid sessionid and p finished pizza pizza name of current pizza in making pizzaindgredients The ingredients belonging to the customization of pizza s sessionid The session which added this pizza order to the databa
5. GUI layer The GUI layer allows users to access the system All the functionalities of the system must be available through the GUI There are two separate GUI s One is for the customers to create orders and one is for employees for processing orders and administration purposes With scripts user input will be used to invoke queries from the storage and query manager layer to provide the user with various pages The GUI should prevent input errors and in case of errors that could not be prevented provide clear error messages Nowadays people have usernames and passwords for a lot of websites and services It is not practical to have users to remember information for a pizzeria Itis much easier for customers to type in their name and address than to have to remember the username and password Therefore customers do not have accounts to log on to However customer information will be stored into the system to allow employees view previous orders by customers The GUI for employees is on a separate URL Users need a username and a password to gain access to the system The administrator has access to add users to the system to give them access Storage and query manager layer The storage and query manager layer is responsible for information storage retrieval authorizations and error checking This layer allows selecting adding updating deleting entities and relations in the database by using different queries Some instructions are limit
6. custom pizzas a customer will have to know the ingredients he can choose from and how choosing ingredients will influence the total price Customers pick ingredients for their pizza and sometimes they want a double portion of specific ingredients When a customer is done choosing his pizza he may want to order several pizzas of the same configuration A customer may also want to order non pizza side orders such as drinks and salads Also the customer will have to provide his name address and telephone number A customer can also pick another delivery date and time if they wish for the order to be delivered on a later date and time Customers can order up to two weeks in advance Order processing When an order has been confirmed by a customer order processing begins Throughout the order processing the order status will be updated and the customer will be notified New orders will show up in a list for the employees in the kitchen They need to state which products are ordered and which ingredients are chosen for the custom pizzas The kitchen employees have to look at the order and decide if they can prepare the order or not When the decision is made the order status will change and the customer will be notified After preparing the order the order status will be updated and the delivery employees will take over They will look up the name and address and deliver the order The customer will also be notified when the order is prepared and ready t
7. graphic design has been done using Macromedia Fireworks This because we already had good experience using this tool combined with Macromedia Dreamweaver To sum it up Database Managing System MySQL Tool to access the database phpmyadmin Programming paradigm PHP Tool used to edit php Macromedia Dreamweaver Tool used for graphics design Macromedia Fireworks Chapter 3 Results Contains the information architecture in the form of ERD and relational schema 3 5 includes the GUI specification and finally 3 6 contains a list of functions with implementation steps 3 1 Architecture Information Architecture This paragraph describes the information architecture for the database system The data model consists of an Entity Relationship Diagram ERD and relational schemas amp a O 1 Diagram 1 ERD We chose for a separate Non Pizza and Pizza table because it is far more clear to program If we would combine both the tables we would get confusing situations because Pizza records are being created by the customers and non pizza records are being created by the administrators The attributes might be very similar but a pizza record is always connected to a bunch of ingredient records where this is not the case for the non pizza records The price of a pizza is based on the individual ingredient prices Upon completing the pizza the price is being inserted in the Pizza table Diagram 1 sho
8. list of available ingredients 1 2 2 The user must be able to add an ingredient to a custom pizza 1 2 3 The user must be able to remove an ingredient from a custom pizza 1 2 4 The user must be able to get graphical feedback from selecting ingredients A photo of a pizza will contain the newly selected ingredient combined with previous selected ingredients 1 3 The user must be able to add a custom pizza to an order 1 4 The user must be able to view a list of available non pizza products 1 5 The user must be able to add non pizza products to an order 1 6 The user must be able to see a list of custom pizzas and non pizza products that are added to the order 1 7 The user must be able to change the amount of a custom pizza 1 8 The user must be able to change the amount of a non pizza product 1 9 The user must be able to delete a custom pizza from an order 1 10 The user must be able to delete a non pizza product from an order 1 11 The user must be able to see the total price of an order 1 12 The user must be able to choose a delivery date and time that is up to two weeks ahead 1 13 The user must be able to add the name and address of the customer 1 14 The user must be able to clear the current order to start a new one 1 15 The user must be able to confirm the order 2 Employees 2 1 The employee must be able to log in and out 2 2 The employee must be able to view a list of available orders and their custom pizzas 2 3 The employee must b
9. ordering system that separates ordering pizzas from ordering the side dishes non pizza products in an intuitive way The ordering system provides the user with three tabs one for customizing pizzas one for side orders and one for delivery details Customers can switch to any tab any time Hence the system will decrease workload of the employees and benefit the pizzeria due to the database information system Information will be stored in the system and can be viewed at any time The system will be able to guide a user through the website and make then complete their pizza order When they are done with filling in all information regarding their order they can complete the order to send it to the pizzeria Technical constraints The constraints of this case are the network connectivity which is required and a website located on the internet Customers will have to be able to customize their pizzas However there is a limit to the customization of the pizza technical constraints functions of the database and user interface The system should make use of open source software since the pizzeria does not want an expensive system 1 2 Use Cases Three main use cases are identified ordering order processing and administration The following paragraphs describe each use case in more detail Ordering The first use case is ordering To order a potential customer must first know what he can choose from What s on the menu For ordering
10. takes time of employees to answer the phone and is more work consuming than necessary They want to allow customers to customize and order their pizzas online The pizzeria also aims to increase the sales due to the easy to use order online website The system will give the employees more time to work rather then to accept orders by phone also the potential increase in customers are enough reason for the pizzeria to accept the change website where customers can order their customized pizzas Goal Our goal is to deliver a database with a user interface website where customers can select various ingredients for their own pizza and place their order The order will be sent to the kitchen where the pizza will be made The focus is to create an easy to use website which will allow a first time customer to complete their order with ease Existing solutions There are many different web based ordering systems Those systems do not offer all the functionality that is needed for a pizzeria Ordering systems usually allow people to add products and separate them in different categories and subcategories Pizzeria sells pizzas and most of them also offer clients to customize their own pizzas by picking their own ingredients At the same time they offer other products that do not need customization like the side orders That does not fit into the general category subcategory differentiation Our solution Our solution is to make an
11. user as employee who changed it YES R V Validation Point R Remarks Delivery Information Steps Actions l Click on Delivery Info 2 Type in Customer Information and pick a different delivery date and time 3 Select another tab 4 Go back to Delivery Info 5 Check if data remains the same V Are the changes being processed correctly and does the new record correct delivery date and other info YES V Validation Point R Remarks Confirm Order N ao O go n Actions Click on Confirm Order Check the error message Select an ingredient Add to Order Click on Confirm Order Check if Delivery Info is shown Fill in Delivery Info Click on Confirm Order sal 00 Pasa Pl Pad a o Pd a See if confirmation page is shown Click on Cancel Click on Confirm Order Click on OK Are the changes being processed correctly and does the new record show the order that is confirmed YES V Validation Point R Remarks Chapter 5 Conclusion After reviewing our work the conclusion is that after many adjustments the system works As good as it is now there can still be made many adjustments improvements However in the time was given that three persons can work on this project the overall results are satisfactory in our opinion The report covers the entire course of the project and results are there were n
12. Chapter 4 Evaluation Performance and usability tests The tests used come from www usabilitynet org Performance testing is a rigorous usability evaluation of a working system under realistic conditions to identify usability problems and to compare measures such as success rate task time and user satisfaction with requirements The benefits from the tests are Major usability problems are identified that may not be revealed by less formal testing including problems related to the specific skills and expectations of the users Measures can be obtained for the users effectiveness efficiency and satisfaction The performance of the system depends on the user s connection to the internet the query and system performance overall is excellent All test scenario s were completed with success The overall complexity of the system is quite low with that in mind the system was made so first time users can make use of all the options which are available The customer is able to complete the order that he she wants which includes pizza non pizza products and the contact information for the order TESTING TEMPLATES Ingredient Management Add and Change Ingredient Steps Actions l Add ingredient 2 Logout 3 Login Different user 4 Change Ingredient V Are the changes being processed correctly and does the new record show the different user as employee who changed it YES R The change h
13. Project Databases Report Pizzeria Ordering System Teachers Jos de Bruin Dr Hamideh Afsarmanesh Assistant Simon Msanjila Students Tyrone Vriesde TvriesdeOscience uva nl 0588067 Tony Cheong W T T Cheong O student uva nl 0477400 Ivan Joghi IvanJoghi O gmail com 0564974 Executive Summary A custom pizza online website was created for customers of a pizzeria to create their orders online The pizzeria has been taking orders by phone for a long time and they wanted to add the option for customers to create orders online Existing webshop solutions involves putting products in categories Such a division is not suitable for ordering custom pizzas There is a need to allow users to pick ingredients for a pizza ability to configure multiple custom pizzas and the ability to order other products besides pizzas Our solution separates the ordering of products in Non pizza products and Custom Pizzas which consists of a selection of ingredients for pizzas The website runs on Open Source software it is written in PHP and uses MySQL as the database manager The website allows customers to create custom pizzas pick non pizza products and enter delivery information Employees can process accept or deny orders and update the status as processing orders continues The customer will be kept up to date by e mail notification when the order status changes The administrator can add and edit ingredients non pizza products and he can also add Empl
14. agram to describe the entities and the relations between the entities From the E R diagram we will derive a relational schema which will be used for the final database design The E R diagram will be made in Visio GUI prototypes will follow using screen mockups in the form of images These mockups will be created using Photoshop To support implementation a list of functions will be created describing what actions these functions need to perform The list will also include the SQL statements that are needed to perform these actions During implementation test scripts will be created After implementation is complete the test scripts will be run by a few people to detect implementation errors The project will end when the implementation errors are fixed Project planning and Workload distribution Tyrone Ivan Tony Deadline Week Actual Delivery Week Use cases 2 2 1 37 System 2 2 37 specification Requirements 2 2 1 37 39 E R diagram 1 2 2 38 38 Relational 1 2 2 39 39 schema GUI prototypes 2 2 1 39 40 Function list 2 1 2 40 40 Implementation 2 2 40 41 Test scripts 2 1 2 41 41 Testing 2 1 2 41 41 Manual 2 1 2 42 42 1 Main Responsibility 2 Takes Part in Tracked for reflection purposes 2 1 Technical Approach During the process of selecting the tools and methods to be used during the process we took a look at our current expertise and the requirements of
15. di ent Show_pizza create_new_or der view_ingredien ts select_ingredie nt remove_ingred ient show_pizza Description The user has opened the start page of the ordering system and is ready to create a new order The customize pizza page shows a list of available ingredients for the pizzas The user can add an ingredient to the custom pizza The user can remove an ingredient from the custom pizza by unticking a tick box next to the ingredient A user can only untick a ticked boxed A photo of a pizza will be shown in the customize pizza page to reflect the custom pizza Adding ingredients will update the photo with a new photo with all the ingredients on User opens the start page of the ordering system Create new custom pizza Query database for data Show the list of ingredients Add selected ingredient to the custom pizza User Clicks on a ticked tick box next to ingredient Remove ingredient from the custom pizza Get URL s from ingredients Show selected ingredients New sessionId New Pizza Pizzald New ContainsNonPizza ContainsNonPizzald Set Pizza amount to 1 Select IngredientId Name Price from Ingredients table New Pizzalngredients PizzaingredientId Store Ingredients IngredientId as Pizzalngredients IngredientId Store Pizza Pizzald as Pizzalngredients Pizzald Remove rec
16. e able to mark orders as prepared 2 4 The employee must be able to mark order as delivered 2 5 The employee must be able to mark order as failure to deliver 2 6 Only users with respective rights employee must be able to use all these Employees features 3 Administrators 3 1 The administrator must be able to log in and out 3 2 The administrator must be able to add delete edit orders 3 3 The administrator must be able to add delete edit ingredients 3 4 The administrator must be able to add delete edit non pizza products 3 5 The administrator must be able to add delete edit other users 3 6 The administrator must be able to view an order log 3 7 Only users with respective rights administrators must be able to use all these Administrators features Non functional requirements As an operational requirement the system will run as a database with a website as user interface As performance requirement the system must be accessible 24 hours a day seven days a week Due to the nature of the system as an ordering website the system must have a low response time preferably shorter than second with a maximum of five seconds The exception is viewing order logs which could have a higher response time of seconds as the log increases in size over time Due to the low complexity of the system no problems with response time are expected Customers who visit the website to order will get a sessionID for thei
17. ed to users with authorization such as deleting data from the database which should only be allowed by the administrator Database layer The database layer contains all the data of entities and their relationships 1 4 Requirements This section describes different types of users of the system in 3 3 1 In the following paragraph 3 3 2 the functional requirements for each type of user are listed 3 3 3 Lists the non functional requirements of the system Users Three types of users should be able to use the system customer employee and administrator Customers are users who visit the website and can create orders by customizing pizzas selecting products and entering customer details Employees are the group of users that work with the ordering system on a daily basis Employees will have their own accounts to log on to They are the ones responsible for processing orders Since Customer users do not need a log in employees who process telephone orders can use the system as a Customer and enter the telephone order directly into the system as they take the order from the calling customer The administrator or super user has the ultimate control of the system he can add change or delete ingredients and products as well as add change or delete employee accounts Functional requirements 1 Customers 1 1 The user must be able to create a new order 1 2 The user must be able to customize a pizza by 1 2 1 The user must be able to view a
18. eeded This conclusion chapter is more a description of the process rather than a summary to give all results and facts The first weeks the work progressed slower than expected in the last weeks the pace was increased to finish on time At several moments the progress and pace was commented on that the progress was not good The results of this report should be sufficient evidence that work was done properly In chapter 1 the problem description is given the main goal is to give a clear understanding what we are doing Together with the given problems The approach in chapter 2 gives the explanation how we are going to work with the problems that arised in chapter 1 and future planning Chapter 3 is about the results that derived from chapter 1 and 2 problems and issues In chapter 3 the system how we make it is discussed and specified Various specifications of the system but also the users are specified In chapter 4 we evaluate the system this is done with testing templates and making people work with the system other than us We did not perform interviews or step by step evaluation with the people other than us we just showed the system and asked for feedback Basically we treated people who we asked to give feedback as customers questions like what do u think if the design and such The final chapter 5 is our conclusion as said before the conclusion in this report is not a summary of results and facts In the report all aspects are giv
19. en clear explanation hence the conclusion would just be a simple summary of our previous reports The conclusion as it is now hopefully gives a understanding in the steps taken to make the report Appendix A User manual Table of contents 1 Order placement a Customizing pizzas i Choosing ingredients ii Removing ingredients iii Changing amount Deleting of a pizza v Adding another pizza b Picking Non Pizza products i Viewing a Non Pizza product description ii Adding a Non Pizza product iii Changing amount Deleting of a Non Pizza product c Checkout i Viewing an order ii Entering delivery information iii Confirming an order 2 Order processing a Viewing Orders b Accepting Orders c Rejecting Orders d Completing Orders 3 Administration a Ingredients i Viewing ingredient list ii Adding a new ingredient iii Modifying an ingredient iv Deleting an ingredient b Non Pizza i Viewing Non Pizza list ii Adding a new Non Pizza iii Modifying a Non Pizza iv Deleting a Non Pizza c Employees i Adding an employee ii Removing an employee 1 Order placement Order placement involves three steps customizing pizzas picking non pizza products and entering customer information These pages are accessible by clicking on the corresponding tab a Customizing pizzas To customize pizzas click on the Pizza tab and use the following functions i Choosing ingredients Under Choose your ingredient click on the name of
20. ere means the add or change of any ingredient V Validation Point R Remarks Delete Ingredients Steps Actions l Delete ingredient 2 Logout 3 Login Different user 4 Delete other Ingredient V Are the changes being processed correctly and does the new record show the different user as employee who changed it YES The change here means deletion of any ingredient V Validation Point R Remarks Modify Ingredients Steps Actions l Modify ingredient 2 Logout 3 Login Different user 4 Modify other Ingredient V Are the changes being processed correctly and does the new record show the different user as employee who changed it YES The change here means modification to the ingredient V Validation Point R Remarks Non pizza Management View Non Pizza Product Steps Actions l View Non Pizza Product 2 Logout 3 Login Different user 4 View other Non Pizza Product V Are the changes being processed correctly and does the new record show non pizza products YES R The non pizza product which was viewed remains the same V Validation Point R Remarks Add Non Pizza Product Steps Actions l Add Non Pizza Product 2 Logout 3 Login Different user 4 Add other Non Pizza Product V Are the changes being processed correctly and does the new record show the other
21. ers Employee marks orders Employee deletes order from the database Employee edits order from the database Employee views confirm order View orders Marks orders Delete order Edit order View ingredients The user can confirm the order when he is done ordering Employee logs in the system to view all orders Employee marks orders as done Employee deletes order from the database Employee edits order from the database Employee views Store order information Employee logs in Employee goes to orders Employee views orders Employee logs in Employee goes to orders Employee marks orders as done Employee logs in Employee goes to orders Employee deletes orders Employee logs in Employee goes to orders Employee edits orders Employee logs in Employee goes to This is actually the procedure of inserting a customer record and an order record Select UserName Password from table Employee Select Ingredients Ingredientld Ingredients Name from Ingredients table Select NonPizzald Name from NonPizza table Select Orderld DeliveryDateTime PlaceDataTime Pizzald NonPizzald from Order Pizza ContainersNonPizza tables Where OrderStatus new Order Orderld Pizza Orderld Order Orderld ContainsNonPizza Orderld For every Pizzald found in the previous data Select Ingredientld from Pizzalngredients P
22. escribe several pages from the system Customize Pizza CURRENT ORDER My custom pizzal M E 9 95 CHoosE YOUR TOPPINGS 9 Coca CoLa 1 51 1 My custom Pizzal Price 995 Ano to Orver gt gt Ef Totac 22 15 Screenshot 1 Customize Pizza screen Screenshot 1 shows the first page for customers In the middle of the screen are all the available toppings for custom pizzas Next to each ingredient are two checkboxes This allows users to select zero one or double portions of the ingredient which corresponds to how pizzas are generally ordered A big pizza is shown on the left The image will be updated every time the user selects or removes an ingredient The image will show the selected ingredients on the pizza and it looks like a photo of an actual pizza The realism will increase the appetite of the user when he is creating his order The total price will update every time an ingredient is selected There is a button that allows the user to create a new pizza On the right there is a list of currently ordered pizzas and products For every item the user can adjust the amount by clicking on the or buttons and users can also delete the item from the order by clicking on the red cross On top of the screen there is a tab like interface The first tab is Customize Pizza the middle tab is Side Orders for drinks salads and deserts the last tab is Delivery Information where delivery informatio
23. hows the relational schemas of the database It is derived from the ERD UserName CreateDate Password Diagram 2 Relational schemas As visible in the Relational schema a new attribute has seen the light This attribute is named Sessionid The sessionid is a random id which is assigned to a user when he enters the website during the visit he will have the same sessionid This enables multiple users to place orders at the same time If we would not have used a sessionid the users could see and change the process of other customers causing a lot of inconvenience System Architecture As one of the constraints of the project the database system will run on Open Source software A powerful solution for a database system such as the pizza ordering website is LAMP LAMP is a software bundle which enables running dynamic websites with an underlying database This acronym stands for Linux Apache MySQL and PHP A server will run on Linux as the OS Apache is the web server The database will run on MySQL and PHP serves as the programming language This combination is cheap and provides all the functionality which is needed This combination is also offered by a large portion of the hosting companies making it easy to find a place to put the system on 3 2 GUI Specification The GUI is web based and will use web based technologies such as HTML JavaScript and PHP in combination with images to display pages The following paragraphs will d
24. ith a list of pending orders Of each order the ordered products and pizzas must be shown together with the amount of each product For each custom pizza the selected ingredients must also be shown The kitchen employees will first view the order and decide if they are going to process the order or not The decision will be entered by changing the status of the order to the respective status An e mail will be sent to customer to keep him informed of the ordering status After the order is prepared the order will be passed to the delivery employees who will use the system to retrieve the customer details The status of the order will change to being delivered and an new e mail will be sent to the customer When the order is delivered the delivery employee can mark the order as delivered or in case he failed to deliver 1t he will make it as failed to deliver Administration includes adding editing and deleting available ingredients non pizza products and employees and viewing previous orders The system will be able to show a list of ingredients and a list of products For each ingredient and non pizza product a name price and picture can be specified The system also needs a function to show previous orders Technical specification The system is made up of three layers At the top there is the GUI Graphical User Interface layer the middle layer is the storage and query manager the bottom layer is the underlying database
25. izza Where Pizza Pizzald Pizzalngredients Pizzald Update Order OrderStatus Done Delete Order Pizza ContainsPizza Pizzalngredients Where Orderld is the selected Order to be deleted Select Order Pizza ContainsPizza Pizzalngredients Where Orderld is the selected Order to be edited Update Order Pizza ContainsPizza Pizzalngredients Where Orderld is the selected Order to be edited Select Ingredients 29 ingredients from the database Employee adds ingredients to the database Employee deletes ingredients from the database Employee edits ingredients from the database Employee views non pizza products from the database Employee adds non pizza products to the database Add ingredients Deletes ingredients Edits ingredients Views non pizza products Adds non pizza products ingredients from the database Employee adds ingredients to the database Employee deletes ingredients from the database Employee edits ingredients from the database Employee adds non pizza products to the database Employee adds non pizza products to the database ingredients Employee views ingredients Employee logs in Employee goes to ingredients Employee adds ingredients Employee logs in Employee goes to ingredients Employee deletes ingredients Employee logs in Employee goes to ingredients Employee edits ingredients Employee logs in Emplo
26. lect ContaintsNonPizzald where sessionld is current sessionId and ContainsNonPizza NonPizzald NonPizza NonPizzald If record exist increase amount by 1 Else create such a record with amount 1 Select all from Pizza where Sessionld is current Sessionld Query database for data Show ordered products Select Price from Ingredients where Ingredients IngredientId Pizzalngredients IngredientId and Pizzalngredients Pizzald Pizza Pizzald Calculate total price Change Pizza amount Update Pizza Amount where Pizza Sessionld is current Sessionld Change NonPizza Update amount ContainsNonPizza Amount where delete_pizza Delete nonpizza Delivery date Add customerinfo delete nonpizz a total price delivery date add customeri nfo Clear order clear order is added to the order the amount can be changed After a pizza is added to the order the pizza can be deleted After a non pizza product is added to the order it can be deleted The total price is part of view order showing the total price of the order Delivery details This opens the delivery details page where the user can specify a delivery date if the user wants the order delivered on another day or time The user fills in his name address telephone number The user can clear the order and start a new one Delete Pizza Confirm deletion Delete NonPiz
27. n such as name address and time is entered A tabbed interface allows users to browse through several in the order they want to An example a user adds pizzas picks side orders enters customer information and then decides he wants to order another pizza He can do it by clicking on the Customiza Pizza tab and add a new pizza In a wizzard interface the user would need to click Next and Back buttons to find the page he was looking for Another alternative was to have a menu of three hyperlinks under each other A tabbed interface is the better choice with only three tabs it shows clearly that there are three different pages corresponding to the three steps of ordering Sipe ORDER Sue smes Desci CURRENT ORDER EY LASAGNA 5 50 My custom Pizza x ES Spachern 5 25 PEPPERONI SWEET Coan 2x ES Macaroni amp Cheese 2 25 Gattn P Drinks Coca CoLa El Coca Cora 0 5L 1 50 1 51 Ef Coca Cota 1 5L 2 25 ES LL 225 Tora 22 15 Screenshot 2 Side Order Screenshot 2 shows the Side Order tab This page shows non pizza products ordered by category Clicking on the shopping cart will add the product to the order list Just like the previous page tabs are shown on top of the page and the order list is shown on the right DELIVERY INFO ES inian CURRENT ORDER My CUSTOM PIZZA x RONI SWEET an 2x First Name Last Name STREETNAME House NuMBER City Coca Cota PHONENUMBER LS 1 IF YOUR WANT YOUR ORDER DELIVERED ON
28. n the order Select another Ingredient Press Add to Order IO Check if the new pizza was added correctly si DL Do a AS iS E a Are the changes being processed correctly and does the new record show the YES w V Validation Point R Remarks Add Non pizza Steps Actions l Click on Side Order Ze Click on the shopping cart next to a non pizza product 3 Click on the shopping cart next to another non pizza product 4 Click on the shopping cart next to the in step 2 chosen non pizza product de Check if the first product has amount 2 and the other product amount 1 V Are the changes being processed correctly and does the new record show the different user as employee who changed it YES V Validation Point R Remarks Current Order Steps Actions l Select Ingredient 2 Press Add to Order 3 Press on the under the pizza to remove it from the order list 4 Select Ingredient 5 Press Add to Order 6 Press on the under the pizza to increase the amount by 1 7 Press on the under the pizza to increase the amount by 1 8 Check if Price and Total Price are updated correctly 9 Press on the under the pizza to decrease the amount by 1 10 Click on the red X to remove the pizza from the order list V Are the changes being processed correctly and does the new record show the different
29. o be delivered When delivery has been completed or failed the order status will be changed once more Administration Custom pizzas are made by selecting several ingredients the list of available ingredients and their prices are administrated by an employee for instance the manager Administration includes added editing and deleting ingredients Besides the administration of ingredients the non pizza side orders must also be administrated Administrators also need to have logs of previous orders 1 3 System specification Functionality specification The functionality specification is closely related to the use cases The three main functions are ordering order processing and administration A description of each of the functionality will follow It includes the output of the system and the input it expects from the users Ordering involves customizing pizzas selecting products and entering customer information The system will have to provide the user with data about the ingredients and the non pizza products such as name and price Users will provide an order which consists of custom pizzas by selecting ingredients non pizza products and customer information like name address and telephone number For every custom pizza and non pizza product users can also specify an amount if they wish to order more than one of them Order processing is involved in preparing and delivering orders The system needs to provide the kitchen employees w
30. or new non pizza products YES R V Validation Point R Remarks Modify Non Pizza Product Steps Actions l Modify Non Pizza Product 2 Logout 3 Login Different user 4 modify other Non Pizza Product V Are the changes being processed correctly and does the new record show the different user as employee who changed it YES R The modification here can be the adjustment in the price V Validation Point R Remarks Order Management View Order Steps Actions l View Order 2 Logout 3 Login Different user 4 View another Order V Are the changes being processed correctly and does the new record show the order as employee who changed it YES R V Validation Point R Remarks Removal Management Delete Pizza Steps Actions Delete Pizza Logout Login Different user lt A Delete other Pizza Are the changes being processed correctly and does the new record show the updated pizza list YES The deleted item should not be in the system anymore V Validation Point R Remarks Delete Non Pizza Steps Actions l Delete Non Pizza 2 Logout 3 Login Different user 4 Delete another Non Pizza V Are the changes being processed correctly and does the new record show the updated non nonpizza list YES R The deleted item should not be in the s
31. ord where Pizzalngredients IngredientId current IngredientId and Pizza Pizzald Pizzalngredients Pizzald Select Ingredients ImageUrl where Pizzalngredients Pizzald is current Pizzald and Pizzalngredients IngredientId Ingredients IngredientId add_pizza Add_pizza View_nonpizza Add_nonpizza Change Amount pizza view_nonpizza add_nonpizza view_order change_amoun t_ pizza a Amount a change_amoun t_ nonpizza top of it On the customize pizza page the user can add the pizza as it 1s customized to the order When the user starts creating another pizza the previous pizza is being completed A list of all available non pizza will be shown The user add the product to the order If it is already added it will increase the amount by 1 with each click From all the pages the current order can be viewed It contains a list of pizzas non pizza products the amount of each product the price of each product and the total price of the order When a pizza is added to the order the amount can be changed When a non pizza product Add pizza update pizza set Finished T where sessionid sessionid and finished F Select NonPizzald Name Price from NonPizza table Query database for data Show non pizza products Query database for data Add Nonpizza product to the order or increase the amount Se
32. oyee accounts so the employees can log in to process the orders Table of Contents EXEC Summary se id e TA Octet Sone tdi aoe le ea E 2 Table OF Contents laico Aa Da 3 Chapter 1 Problem description sssessssesssesesssesseeeseeessrtsserssseesseesseressersseresseesseesseeeseee 4 LIO UCA EEE RR tree net ant ee emer tte DOC PP RO E eer try 4 A O A NA NERO ON E se gates 4 Existing Solutions di DR 4 QUESO dd 4 TEAM EA constraints A lia ais 4 A A E O 5 Dd ia 5 Order Procesan onan da poa 5 ARS A a ER E A A tsa ech 5 1 3 Syst m specification sas caenas dan diia 5 Funcionales peca A SD a 5 Technical POCA Ad 6 LRC QUILCIMEN ES a Ed OR T USES nairt a te ean pais e waite e i a a E i E 7 Functional requirements ereen e n ne a E E eae qu apa 7 Non functional equi ment Aa 8 Chapter 2 Approach assi od apena dados beta ns alemao Nadando E ana 9 A e 10 Chapter 3 Resulta tdt A mea dada 11 E ack as AU E a wih RAD DA RD ns AS Sad 11 Information Architecture pla R Rina 11 System Architecture AA a sled phos tng doi nO 13 3 2 GUL SPEAR Saara anna 13 3 3 Function implementation queries c e crerecerererereranerrannos 16 Chapter 4 Evaluati n e A AAA 23 Chapter Sx Conclusi n q o ita datada 33 Append A A RR CREED ID on Treen te 34 UM a 34 Chapter 1 Problem description 1 1 Introduction A pizzeria specialized in custom made pizzas is currently taking orders by phone The current system where the customer calls the pizzeria
33. r visit which is used to identify them while using the system For every action they take a timestamp is stored From time to time a service on the server will scan sessionID s and timestamps SessionID s which have not been active for more than three hours will be deleted along with the corresponding ordering information Chapter 2 Approach Our solution to make the pizzeria more efficient will be a website to create orders online which should be come with a good user interface Also it should be fast as in the customer will be able to order his pizza in a matter of minutes We stress the importance of easy to use user interface here because some customers will leave 1f the website is too complicated In the case of a website where a user goes to for personal interest a less user friendly interface is not a big problem since he will try and try to get the information due to his interest in the site To create the website we will first analyze the current processes of the pizzeria This will be recorded in the use cases From the use cases we derive the system specification which describes what the system should be able to do It will contain the needed functionalities and the technical specification Then we will analyze the different users and list their functional requirements and non functional requirements for the system in detail With all the specification and requirements we will create an information model using an E R di
34. rders Click on an Order number to see the details of that order b Accepting Orders While viewing an order under Change Status Into click on In Delivery c Rejecting Orders While viewing an order under Change Status Into click on Cancel d Completing Orders While viewing an order under Change Status Into click on Completed 3 Administration To gain access to the following functionalities an Administrator needs to log in to the admin page using his username and password a Ingredients i Viewing ingredient list Under the admin menu click on View Change Delete Ingredient ii Adding a new ingredient Under the admin menu click on New Ingredient Fill in the information pick an image and press Submit iii Modifying an ingredient Under the admin menu click on View Change Delete Ingredient Click on the pencil of the ingredient you want to modify Change the information and press Submit iv Deleting an ingredient Under the admin menu click on View Change Delete Ingredient Click on the red cross of the ingredient you want to delete b Non Pizza i Viewing Non Pizza list Under the admin menu click on View Change Delete Non Pizza ii Adding a new Non Pizza Under the admin menu click on New Non Pizza Fill in the information pick an image and press Submit iii Modifying a Non Pizza Under the admin menu click on View Change Delete Non Pizza
35. se add non pizza product to nonpizzaorder table gt Add non pizza products to order insert into ordernonpizza NonPizzald Amount Sessionld values sessionid NonPizzald The nonpizza id for the product example coca cola drink Amount The price of the product selected SessionId The session which the customer is working ordering Remove pizza from order list delete from pizza where pizzaid not in select pizzaid from pizzaingredients and sessionid sessionid pizzaid pizza name pizza pizza name of current pizza in making SessionId The session which the customer is working ordering Show created pizza s of user session select pizzaid price amount from pizza where sessionid sessionid pizzaid pizza name pizza pizza name of current pizza in making Price Price of products pizza s Amount Number of products pizza s SessionId The session which the customer is working ordering Total price of order select sum n price o amount as price from ordernonpizza o inner join nonpizza n on o nonpizzaid n nonpizzaid where o sessionid sessionid sum total amount which is the price of products times the amount Price nonpizza price or pizza price NonPizzald The nonpizza id for the product example coca cola drink Pizzald The pizza id for the product example customized pizza with x ingredients SessionId The session which the customer is working ordering
36. the ingredient ii Removing ingredients Under Current Pizza Creation click on the red cross next to the ingredient you want to delete iii Changing amount of a pizza Under Pizza Creations click on the or button of a pizza increase or decrease the amount iv Deleting a pizza Under Pizza Creations click on the red cross of a pizza v Adding another pizza Under Current Pizza Creation click on the Create new pizza button b Picking Non Pizza products To pick Non Pizza product click on the Non Pizza tab and use the following functions i Viewing a Non Pizza product description Under Choose your product click on the name of the Non Pizza ii Adding a Non Pizza product When viewing a Non Pizza product click on Add to order iii Changing amount of a Non Pizza product Under Chosen Products click on the or button of a Non Pizza increase or decrease the amount iv Deleting a Non Pizza product Under Chosen Products click on the red cross of a Non Pizza c Checkout To Checkout click on the Checkout tab and use the following functions i Entering delivery information Click on Complete Order and enter the delivery information ii Confirming an order After entering delivery information click on Submit 2 Order processing To process orders employees have to log in to the admin page using their username and password a Viewing Orders Click on Orders to see a list of O
37. the project As a programming paradigm ASP NET would have been the best choice at first but the fact that this is not an open source environment forced us to start looking for a different approach Because the database was going to be a mysql driven database php showed to be the right choice Php has an excellent integration with mysql Because php is an open source system there are a huge amount of hosts available For managing the mysql database phpmyadmin was used This was the logical choice because it is free and it integrates so well Creating the code the program Macromedia Dreamweaver was used This is a multipurpose xhtml editor supporting a lot of different syntax languages We used this program because we already had experience using it The system is divided into two main parts The smaller administration area and the larger customer area Both parts have their own folders for example localhost pizza is the folder containing the customer site and localhost pizza admin is the folder containing the admin page Both parts have been designed around the index php page This page is dynamically being changed based on values in the POST and the html Query String Different types of pages are being included when needed We divide the include pages by library pages and include pages Library pages are pages which only execute code but do not write html code Include pages execute code and write html Finally some of our limited
38. ws the Entity Relationship Diagram ERD In this paragraph every relation between entities is described Customer Places Order A customer can place several orders the customer entity holds attributes describing properties concerning the customer The order entity holds attributes such as OrderStatus to track the status of the order new prepared delivered failed to deliver Employee finalizes Order An employee is responsible for the multiple or one order By tracking this it is possible to look up which employee finalized which order Employee Adds New Non Pizza Through this relationship it is possible to track which non pizza product has been added to the database by which employee Employee Adds New Ingredients Through this relationship we track which ingredient has been added by which employee Pizza Pizzalngredients Ingredients This relation describes which ingredients belong to the pizza creations created by customers during their shopping process A pizza can have 1 or multiple ingredients It is impossible for a pizza to have zero ingredients Order OrderNonPizza Non Pizza This tracks which non Pizza products have been selected by the customer during the shopping process An Order can have 1 multiple or none Non Pizza products Order Has Pizza This relation tracks the pizza s which belong to an order created by a customer Relational schema Diagram 2 s
39. yee goes to non pizza products Employee views non pizza products Employee logs in Employee goes to non pizza products Add new Ingredient Delete Ingredient Where IngredientId is Ingredient to be deleted Update Ingredient Where IngredientId is Ingredient to be edited Select NonPizza Employee deletes non pizza products from the database Employee edits non pizza products from the database Employee views other users from the database Employee must be able to view order log Deletes non pizza products Edits non pizza products View users from the database View order log Employee deletes non pizza products from the database Employee Edits non pizza products from the database Employee view users from the database Employee views order log from the database Employee adds non pizza products Employee logs in Employee goes to non pizza products Employee deletes non pizza products Employee logs in Employee goes to non pizza products Employee edit non pizza products Employee logs in Employee goes to non user section Employee views users from the database Employee logs in Employee goes to view order log Employee views order log Add NonPizza Delete NonPizza Where NonPizzald is NonPizza product to be deleted Edit NonPizza Where NonPizzald is NonPizza product to be edit Select Employee Select Order Admin Queries
40. ystem anymore V Validation Point R Remarks Information Management Delivery Date Steps Actions l Check Delivery Date 2 Logout 3 Login Different user 4 Check the Delivery Date of another Order V Are the changes being processed correctly and does the new record show the different Delivery Date of the new order another order YES R V Validation Point R Remarks Add Customer info Steps Actions l Add Customer Info 2 Logout 3 Login Different user 4 Add other Customer info V Are the changes being processed correctly and does the new record show the different user as the correct customer information YES R A new user will have a clean form to fill in always V Validation Point R Remarks Clear Order Steps Actions Clear Order Logout Login Different user Clear another Order LI RADE Are the changes being processed correctly and does the new login show a clean order YES V Validation Point R Remarks Ordering Add Custom Pizza N ao O go n Actions Select Ingredient Check if Photo is updated check if Price changes correctly Select another Ingredient Type a name Select another Ingredient Remove one of the previously selected ingredients Press Add to Order Check if the ingredients are listed correctly i
41. za product from the Order Query database Calculate price for each pizza Calculate total price for Pizza s and NonPizza s Store date Store time Store name Store address Store telephone number Delete current order ContainsNonPizza Sessionld is current Sessionld delete from pizza where pizzaid not in select pizzaid from pizzaingredients and sessionid sessionid Delete record where ContainsNonPizza Sessionld is current Sessionld and NonPizzald is to be deleted product For each Pizzald where the Sessionld is the current Sessionld get all the Ingredients and the price of each ingredient For each NonPizzald with the current Sessionld get the NonPizza Price Right after the creation of an customer record we will create an order record insert into order TotalPrice OrderStatus Customerld PlaceDateTime values totalprice desired delivery date time new customerid currentdatetime insert into customer Firstname LastName City HouseNumber Street PhoneNumber sessionid Email values firstname lastname city housenumber street phonennumber sessionid email Delete PizzaIngredients records where Pizzald Pizza Pizzald and sessionld is current sessionld Delete Pizza records where sessionId is current sessionId 19 21 22 2 Confirm order Employee views ord
Download Pdf Manuals
Related Search
Related Contents
Progress Lighting P3944-77 Installation Guide ダウンロード Fujitsu ESPRIMO P2760 1-copertina 56-retro copertina TNS400 - Toyota Operating Instructions Journal de l`ARA n°2 Copyright © All rights reserved.
Failed to retrieve file