1 دولـــــــــــــــة Palestine An-Najah National University Faculty of Information Technology Computerized Information Systems فلســـــــــــــطين الـوطنـيـة النـجـاح جامعة المعلومات تكنولوجيا كليـة قسم نظم المعلومات المحوسبة MELON (POS) Students: Malak Abu-thraa 11314943 Anwar Qashoo 11316481 Abdallah Habib 11316792 Hamza Abu-Sabra 11317051 Osama Khalaf 11316028 Rudab Abu Yaqoub 11317437 Supervisor: Dr.Emad Saadah A project report submitted in partial fulfillment of the requirements for Software Engineering course in Computer Information Systems department. An-Najah National University 2015 / 2016 2 Table of Contents Table of Contents Abstract ii ix CHAPTER ONE INTRODUCTION 5 1.1 Introduction 1.2 Project Scope 1.3 Problem Specification 1.4 Goals and Objectives 1.5 Motivation 1.6 System Requirement 1.7 Project Plan and Schedule 1.8 Outline of the Project 5 6 6 7 7 8 8 10 CHAPTER TWO LITERATURE AND METHODOLOGY 11 2.1Introduction 2.2 Proposed System 2.3 Advantages and Disadvantages 2.4 Feasibility Study 2.5Methodology 11 12 12 13 17 CHAPTER THREE SYSTEM ANALYSIS AND DESIGN 20 3.1 Requirements discovery 3.2 Requirements classification and organization 3.3 Requirements prioritization and negotiation 3.4 Requirements specification 3.5 Requirements validation 3.6 Requirements management 20 25 27 28 28 29 3 CHAPTER FOUR: SYSTEM DIAGRAMS 30 4.2 Use Case Diagram 4.7 Class Diagram 31 49 Appendix A: Use cases and scenarios 52 52 References 66 4 Abstract Melon is a restaurant Point of sale, web application module integrated with “Shamel Lite” that can be used by different types of restaurants. The software provides services for two types of actors: first the customers of the restaurant and second the workers inside the restaurant. Melon enable the users to determine different process, these process include manager, admin, waiters, cashier and also customer process. Melon is user friendly, helps clearly to accelerate the sales process, pay the bills and give accurate results providing better and faster overall services. This application can be used on PC’s and touch screen devices (Android, IOS). 5 CHAPTER 1 INTRODUCTION Cafes, Tabletops, takeaways, traditional restaurants and all types of restaurant which need a guiding application or set of instructions to accelerate the work, traditional papers and calculator aren’t efficient and it’s hard to deal with them especially in traffic hours in big Restaurants. In “Melon”, we propose a new restaurant POS as a new application to help its customers easily facilitate restaurant workflow only by using their devices. 1.1 Introduction The proposed restaurant POS discussed here, will be designed and implemented for small restaurants as a phase one. The plan is to develop and upgrade it to fit medium and large restaurant as a second Phase. Melon will enable the restaurant manager to be able to keep an eye on his employees, products, activities, profit and expenses. Then, the application will automatically take the order and display it immediately to the kitchen chef. Moreover, the manager will have the ability to run reports monitor inventory and sales about every process besides, system admin can control user’s privileges that he could give or withdraw. 6 1.2Project Scope Melon is a computerized POS module that will automate the major restaurants operations. The system processes the orders, Reservation System for tables and receiving requests from customers and the completion of the customer service process and eventually close order and receives payment. The Melon POS module objective is to provide a system to manage restaurants with ease and efficiency. The system provides integration with “Shamel” financial system providing daily, monthly and annual reports. The system will be able to handle many services to take care of all customers in a quick manner. The system is secure, user appropriate, easy to use, helps prevention of common mistakes and has an overall high end user satisfaction. The customer here is the restaurant owners. 1.3Problem Specification Have you ever waited in line to order your food or even pay for it? Yeah waiting is not a very pleasant feeling especially when you’re hungry! One of the critical points of any restaurant business is the order process and cash register. The ability to process transactions with no errors and receive payment is essential to the efficient operation of restaurants. If you have a lot of cash transactions, replacing the cash registers with a Point-Of-Sale (POS) system save you money, time, and resources. The reason Melon POS comes to replace, obsolete conventional POS’s and cash registers available in the market is because it doesn't just bring up sales. It collects vital, real-time information about your inventory and customers. In the shape of reports and notifications, to help you to keep an overall and detailed look on your business. guiding you always towards the right decisions. 7 1.4 Goals and Objectives Facilitate and speed up the process of requesting orders for both the restaurant and the customer, save time, resources and money. Simple, Beautiful and uncluttered system reflects a positive image for the restaurant utilizing it, Easy decision-making and management of the restaurant through reports and information system that can notify the manager, a high-performance system built to meet the previous points in addition to Shamel financial system integration. 1.5 Motivation your passion is making your business better , ours is helping you to do it , melon let you instantly send orders straight from the table to the kitchen , helping you to run your restaurant , and see how well you are doing with ondemand reports , also give you the knowledge you need to track your success and adopt your menu, also melon allow credit card payment , taking orders quickly , online-offline power reliability , because it works offline , you don’t have to worry about network connection loss .Finally, you can create your menu online , build every item on your menu , complete with photos , descriptive names , and prices . 8 1.6 Development system technical Requirement 1. ASP.NET Framework ● Dev express ver 15.0 ● Ajax Toolkit ● HTML5 ● CSS3 ● JavaScript ● boot strap 2. MS-SQL server 3. Visual studio 1.7Project Plan and Schedule This project starts at the end of January, 2014 and should be completed by the beginning of May, 2014. In addition most of the project processes are run concurrently to achieve maximum optimization and quality 9 1. Task Start date Finish date Status analysis 22 Jan,2014 1 Feb,2014 completed 2 Feb,2014 14 Feb,2014 completed 5 Feb, 2014 1 March,2014 Completed 7 March,2014 Completed 1.1 SRS Analysis 1.2SWOT Analysis 1.3Project Planning 1.4 Interface designing 2. gathering information 2.1 Customers Surveys 2.2 Market study 3. selecting the right media 3.1 determine the platform 3.2 OS environment 3.3 needed tools and programs 4. Writing 16 Feb,2014 4.1 Documentation 5. implementation 1 March,2014 20 March,2014 Completed 5.1 building DB 5.2 constructing modules 5.3 modules integration 5.4 QA testing 6. Distribute the final product 6.1 Feedback 6.2 Maintain 1 March,2014 Until end Completed 10 1.8Outline of the Project The Melon project consists of six Chapters: Chapter One is an introduction that talks about project scope, system requirements, goals and project plan. Chapter Two discuss literature and methodology, explain a difference between current systems and proposed system, and discuss feasibility study. Chapter Three is a stage that discusses system analysis, system design and requirements such as requirement collection, requirement study and requirement structure. Chapter Four is a stage that focuses on system UML design. Chapter Five present the conclusion and future work of the system. 11 CHAPTER TWO LITERATURE AND METHODOLOGY 2.1 Introduction Most of the restaurant owners are using the traditional way (manual) to control their restaurant , from getting the customer's order (the customer choose from the menu and the waiter write it down into a paper and send it to the kitchen) to the accounting purposes and other business transactions . Manual system may have some advantage such as there is no need for internet services in the restaurant but disadvantages are much more. Disadvantage of the current system: 1- Limited collaboration Collaboration on documents is extremely hard when working with paper versions. If several managers need to confer on a document, they must have multiple copies printed, make amendments separately and then share their version with each other before pursuing further changes. 2- Human Error In crest of crisis waiters cannot keep the focus on taking orders and moving between a large numbers of tables. 3- When using the menu it could contain some foreign names, which some customers cannot say so they don't order it because they fear of embarrassment and it is possible that they don't recognize this meal because there isn't any photo. 12 2.2 The proposed software system Melon is a new module integrated with “Shamel Lite”, to add the restaurant POS functionalities needed by customers, and for “Shamel Lite” to become a full business's accounting solutions package in the market, the module is built upon a new market study and research survey, to fill the gaps competitors left open. 2.3 The advantages and disadvantages of the proposed software system Isra’s POS is a platform of Shamel lite which is currently used in many restaurants with a lot of customer satisfaction - but there are renewable customer needs which we are now working to meet. The company developed Melon as a special platform for restaurants, has a lot of advantages like: 1- User friendly. 2- Easy to remember. 3- Reliable, because of user trust that Shamel lite built in the market before . 4- Speed. 5- Gives accurate results. 6- Maintainable. Despite the previous advantages the company still faces system problems, for example: 1. Not only the program cost but also its hardware tools . 2. Electricity dependency. 3. Network dependency. 4. It required from the user to know how to deal with the technology. However, there is no new technology without needs, and no limitation for these needs. 13 2.4 Feasibility Study A: - preliminary feasibility study (Operational) POS restaurants is a commodity service-substitute doing a lot of services that facilitate and manage the restaurant , for the market type it is a competitive market where many competitors, in general, for the company the possibility of producing such a project is not as difficult because of the availability of cofactors fully, providing time effort on administration and has many other benefits In addition, customers are going to make everything on the equipment and technology of modern, so the production process of the POS operation will be feasible and great benefit and the good demand from customers and the market. B: - Market feasibility study With the increasing demand for software products and their use in many areas of life, the production of POS restaurants system will be a successful project Initially if it caters to the needs of customers and the market in spite of the small size of the market because of the situation of politics, not great openness to external markets, but the size of the market for the product may take a large share on this market with few competitors exist. C: - Technical study of the project The project needs in order to produce many of the supplies, which consists of programmers, software engineer and project manager, analysts and Hardware and the level of excellent knowledge of programming language that will be worked on and is available in the company's additional equipment is required in order to accomplish this software plus the time it would take for the project. 14 D:-Economic feasibility study Benefits: For customer: Tangible Cost Reduce the number of staff 5000 $ y/1 Emp The provision of supplies in Office 1500 $ y Speed up the production process 6000 $ y Possibility to request via the Internet 2000 $ y Intangible Cost Facilitate decision-making 2000 $ y Customer satisfaction 1500 $ y Facilitate and speed things up on the staff 1000 $ y Total 19,000 $ y The Benefits from the System for the next 5 year from the restaurant life cycle is : 19,000 * 5 = 95,000 $ per 5 year. 15 The project costs for customer Fixed costs Price Point Of Sale 500$ Screen / Printer / Cash / Barcode 1850$ PC/Laptop 400$ Printer/ Screen Kitchen 340$ Printer USB 270$ Router 40-80$ Tablet 80$ Server 400$ Total 3920 $/y 19600 $/5y Periodically costs Price Internet (4-8)MB 30$ / Per month = 360 $ yearly Salaries 300-500$/Person per month=5000$ y Maintenance 200$ / Per year Other running cost 3000$ / Per year Total 8560/y 42,800 $/5y 16 For the company: As we mentioned the project requires programmers, software engineers, analysts, project cost of these costs with other operating costs such as electricity, equipment and after completion of the project, needs a salesman in addition to earnings, forecast period will recover capital and profits during this period Requirements Costs Programmer 1000$ / m software engineer 1500$ / m Salesman 700$ / m Running costs 1000$ / m Profit 22,600$ e.x: Project Life 6 month , Selling price for product =500$ Total 4 prog = 1000*4*6=24,000 1 swe = 1500*6=9000 2 salesman = 700*2*6=8400 RC = 1000*6=6000 Profit 22,600 total cost =70,000/500=140 * *According to the results, it must undertake the sale of 140 customer in order to recover the paid-up capital and expected profits during the period determined by the owner of the project, for example, let's say two years. 17 2.5 Methodology (SDLC) Software’s projects need specific methodology ,are based on iterative approach development, flexible plan, quick changing requirements response , that's why Scrum was chosen , it's an Agile implementation for completing complex projects , management and control process that cuts through complexity to focus on building software that meets business needs. Management and teams are able to get their hands around the requirements and technologies, never let go, and deliver working software, incrementally and empirically. 18 Short plan: Product Backlog id Features 1 State Blocking priority release number select table , orders approved from menu , select order type and send it to the kitchen 1 release 1 2 every ordered item are in the bill with quantities ,prices , and discounts , and select payment way approved 2 release 1 3 ability modify the order , edit table , delete the order approved 3 release 1 4 see all orders in each table , and view last orders , approved 4 release 1 5 add new meals in my menu not yet 2 release 2 6 check the inventory , and how much each meal consume , give notification if any component is missing not yet 3 release 2 19 Release 1 Backlog priority feature ID working hours deadline sprint 1 1 20 1/10/2015 1 2 5 15 5/10/2015 1 2 2 15 9/10/2015 2 3 3 12 12/10/2015 2 4 4 12 14/10/2015 3 - collecting the work 10 16/10/2015 4 Release Date 17/10/2015 20 CHAPTER THREE REQUIREMENTS ELICITATION AND ANALYSIS In later sections we present the processes we went through for requirement finding and elicitation. 3.1 Requirements discovery During the requirements discovery process, the team members used these techniques to gain a better understanding of the requirements of the system. Requirements discovery activities included: ● Research: we searched online for existing systems and came across, www.Hiba-express.co.uk (Portal), www.revelsystems.com (POS) we analyzed and studied the available services and extracted facts and operation requirements that match our system. ● Interviews: we visited a couple of restaurants, such as Aram restaurant, and met the potential owners of the system and their customers and asked them about their needs and suggestions, e.g. the booking mechanism they prefer to use, the delivery service they currently offer and how they would like to modernize through online delivery services and asked the customers about the booking and delivery service features that would suit them. 21 ● Observation of the work environment: During the restaurant visits we talked to their staff and observed the process and stages that each order goes through starting from taking the customer order by the waiter to kitchen and serving...etc. ● Brainstorming: we arranged multiple sessions where we sat down and gathered thoughts and suggestions on the main actors and listed each roles in the restaurant and their reflections on the system requirements. The following are the system’s main actors: 1. Manager: is the restaurant real life manager or owner he is responsible for reflecting the restaurant's details to the system e.g. add the table’s categories and items to the system and monitor the other users and restaurant status through periodical reports. 2. Waiter: responsible for opening a table initiating the order and input it’s details from the customer and send them to kitchen. 3. Chef: his role is to receive the orders through the system and notify the waiter when they are ready for serving. 4. Portal Customer: his part is summarized by being able to book a table and order online through the portal. In the later section is a list of the functional requirements grouped by actors, for the POS and its portal as follows: 22 Functional Requirements: Manager: 1. Can edit the menu. 2. Receives the customer feedback through the manger page. 3. Be able to see all of the received orders. 4. See who approved on orders and bookings. 5. Edit table numbers and location. 6. Have reports about sales, purchases and staff logins. 7. Identify which waiter served each table. 8. Define items, categories, table and users. Waiters: 1. Can open a table. 2. Able to add an order, update, cancel, append and save it. 3. Add notes to specific order. 4. Send orders to the kitchen. 5. Keep track of the order status. 6. Add urgent alert. 7. Change the customer table. 8. Merge two tables together. 9. Exchange tables service between each other’s. Chef: 1. Add purchase Requests. 2. View the orders. 3. Notify that packing a delivery is done. 4. approve orders Cashier: 23 1. Approves the bookings. 2. Select orders and edit them. 3. Add notes to specific order. 4. Select customer. 5. Change table status. 6. Close order. 7. Check table. 8. Add discount. 9. Receive payment (Cash/Credit card): it could be more than one currency. 10. Will be notified via SMS, in case there is a new order or booking made. Portal Customer (Online): 1. Table booking: the customers are able to book a table at a specific time/date/location. 2. Select items from menu and order them as a delivery. 3. Mobile notification when the delivery is approved and ready to be send. 4. Have a reminder of his/her booking time through the SMS/mobile application. 5. Send feedback through the website. 6. pay for the order. Nonfunctional Requirements: 24 1. Usability: the POS System design should be simple, clear, easy to understand and use by everyone with no previous background of how to use one. 2. Reliability: gives the results on time (orders when it is booked then when it's being ready to serve). 3. Dependability: system passes the QA with minimal errors and crashes, the portal will deliver the notifications in time to both sides, the customer and the restaurant employee with very low latency (< 1 sec) ,via mobile app or SMSs. 4. Portability: compatible and can run on different browsers (or all of them if possible), Platforms: website portal and mobile application.. 5. Availability: the portal will be available to the customers through the website and mobile app. 6. Maintainability: backup file contains the full data. 25 3.2 Requirements classification and organization The Point of sale and the website Portal are divided into the 3 increments as follows: 1- First increment (POS Ordering): This increment includes all the functionalities to create a new order, process it and serve the customer. 1. The ability to open, add, update, cancel, append and save orders . 2. Send orders to the kitchen. 3. Change the customer table. 4. Edit the menu, table numbers and location. 5. Receive payment (Cash/Credit card) by cashier. 6. Define items, categories, table and users. 7. Give, define and update Access rights for users. 8. Notify that packing a delivery is done by chef. 9. Add notes, alert to specific order. 10. Keep track of the order status. 11. Select orders and edit them. 12. Change table status 13. Add discount 2-Second increment (Reporting and monitoring): Adds the reporting and monitoring features to the manager, allowing him to monitor the system transactions and provide periodic reports to help him take decisions. 1. See who approved on orders and bookings. 2. Merge two tables together. 3. Have reports about sales, purchases and staff logins. 4. Identify which waiter served each table. 5. Export reports in excel, word and pdf. 6. Print reports. 7. Search and filter reports. 8. View all of the received orders. 9. Review purchase requests and give authorization to buy. 26 3-Third increment (Portal): Adds the online booking, delivery and feedback to the restaurant website providing the service anywhere, anytime. 1. Manager page: 1. Manager receives the customer feedback. 2. Manager able to see all of the received orders and table booking. 3. The online menu can be edited. 4. Manager able to see who approved on orders or bookings. 5. Will be notified via SMS, in case there is a new order or booking made. 2. Customer page: 1. Table booking, customers are able to book a table at a specific time/date/location. 2. Customer able to send feedback through the website 3. Can find the information about restaurant and the recent offers on the website. 4. Customer can select items from the menu and order them as a delivery. 5. Visa card number/SMS required to continue booking or delivery process 6. Mobile notification when the delivery is approved and ready to be send 7. Have a reminder of his/her booking time through the SMS/mobile application. 3. Casher page : 1. The cashier approves the bookings. 2. The cashier confirms the orders and sends them to kitchen. 3. will be notified via SMS, in case there is a new order or booking made. 27 3.3 Requirements prioritization and negotiation As we noted from above, this system divided into 3 increments, Ordering, customer feedback and management report, delivery & booking 1. Ordering: includes all the functionalities needed to create a new order, process it and serve the customer. 2. Customer feedback and management report: customer able to send feedback through the website or the mobile application, manager able to receive reports of this feedback through the manger page. 3. Ordering delivery : customer able to send order through the website , use his/her visa card number to confirm the order , cashier able to approve the order and send it to the kitchen , manager able to see all the received orders and who approve it , manager able to edit the menu 3.1. Booking a table : customers are able to book a table at a specific time/date/location use his/her visa card number to confirm the booking ,the cashier approves the bookings, manager able to see who approved the book, manger able to edit table numbers and location 3.2. Mobile application integration: website connected with mobile application with extra features, customer able to have notification when the delivery is approved and ready to be send, also able to have a reminder of his/her booking time, at least 3 employees in the restaurant will be notified via SMS or mobile application, in case there is a new order or booking made. 28 3.4 Requirements specification See Appendix A: Use cases and scenarios The requirements specifications are 10 Structured English and 5 of them are supplied with scenarios. 3.5 Requirements validation Through the validation process we used the following techniques: 1. Group Session: we arranged meeting and interview with the stakeholders and proposed the requirements that resulted in the previous process to gain feedback. 2. Walkthroughs: checking the feasibility, opinion and approval on each requirement from sector specialists. 3. Perspective-based reading: each single use case is reviewed independently by all team members. The validation process resulted in the following conflicts. Conflicts: ● Exchanging tables between waiters: there was a conflict between the manager requirement and what the waiters requested to be able to swap tables with each other, the manager want to identify the waiter who served each table, to solve this conflict the system will simply store the waiter who opened the table and a list of all the waiters that served each order. ● Not all the customers have a visa card: so it would be better if we connect the application with a SMS service, in this service the customer would pay a small refundable fee(after completes the checkout) in order to confirm his order/booking. 29 3.6 Requirements management Melon was developed using Agile method , so any changing in requirements has three possibilities , first , requirements change before release was developed , in this case no need for any plan because it's easy to change them , second requirements change while the development process , and after module has been released , in this case the whole module should be change according to what actors asking for . 30 CHAPTER FOUR SYSTEM UML DESIGN 1. Use case diagram 1- Packages 31 2- Reports 3-Item 32 4- Orders 33 34 5- Tables 35 36 2. Class diagram -– 37 38 APPENDIX Appendix A: Use cases and scenarios: 1- Book a table / Portal Use Case Specification Document HR Module Use Case Name: Book a table / Portal Use Case ID: 1.1.1 Component: Booking Panel Brief Description: This use case shows how can the customer book a table from the portal website Purpose: Actors: Trigger Stimulus: Preconditions: Customer through the booking page from menu "make a Reservation" Portal/System Idle Diagrams Links: UC UC1 Use Cases Accessed By this use case: ID Name UC(1.1.1) Normal website access Description Multiplicity UC2 MC Main Course Steps Step Description Data from the booking page customer select tables to MC.1 book a new one a new popup window will be displayed to allocate MC.2 table MC.3 system will check if this table is valid or not system will display: please chose another one if it MC.3.1 is not valid MC.3.2 4 EX1 Branches Req/Rul/Is/Fe pay for the booking transaction system will display: table is valid and allocate it Post Conditions Exception1: Step Description back to the Manger Panel, waiting the user to select another action Image error Data Branches Req/Rul/Is/Fe 39 EX1.1 System display "Transaction failed, error if customer does not pay" EX1.2 EX1.P Post Conditions EX2 Exception2: Step Description AC1 Data EX2.1 System display "Transaction failed, error Wrong input in one of the fields" EX2.P Post Conditions AC1 AC1.2 Alternate Course 1: Step Description Data The System detects invalid input in fields and highlight it with red star The System prompts the user to enter valid input AC1.P Post Conditions R Rules AC1.1 Name R1 Input error Branches Req/Rul/Is/Fe AC1 Transaction Failed Error Branches Req/Rul/Is/Fe MC.2 Importance Access Permission Description Release The manger(user) has permission to access the manager panel Update History Author Date Anwar Qashoo 11/19/2015 Ver Description of Change 40 2- Add a new item / POS HR Module Use Case Specification Document Use Case Name: Add a new item / POS Use Case ID: 1.1.1 Component: Brief Description: Manager Panel the use case shows how to add a new item to one of the categories Purpose: Actors: Manager Trigger Stimulus: through the manager panel with permission from menu Add new item Preconditions: System is running, System in idle state Diagrams Links: UC UC1 Use Cases Accessed By this use case: ID Name UC(1.1.1) Description Multiplicity Manger Panel access UC2 MC Main Course Steps Step Description MC.1 Data MC.2.1 from the manger panel user selects Add new item a new popup window will be displayed with fields for user to be filled user inputs item name , price, expire date MC.2.2 select category from drop down menu MC.2.3 user is prompted to browse device files to select item image to be uploaded MC.2.4 when finished user press submit MC.2 MC.3 MC.4 ,System checks if the fields input is proper ,system checks image file format and size not exceed max size Branches Req/Rul/Is/Fe EX1 EX2 41 MC.5 MC.P EX1 EX1.1 EX1.2 system save input and displays message, “transaction success Post Conditions back to the Manger Panel, waiting the user to select another action Exception1: Step Description Data System display "Transaction failed, error Image size exceeds the max size" System display "Transaction failed, error image format is not compatible size" EX1.P Post Conditions EX2 Exception2: Step Description AC1 Data EX2.1 System display "Transaction failed, error Wrong input in one of the fields" EX2.P Post Conditions AC1 AC1.2 Alternate Course 1: Step Description The System detects invalid input in fields and highlight it with red star The System prompts the user to enter valid input AC1.P Post Conditions R Rules AC1.1 Name R1 Image error Branches Req/Rul/Is/Fe Input error Branches Req/Rul/Is/Fe AC1 Data Transaction Failed Error Branches Req/Rul/Is/Fe MC.2 Importance Access Permission Description Release The manger(user) has permission to access the manager panel Update History Author Date Abdallah Habib 11/19/2015 Ver Description of Change 42 3-Create an order/POS HR Module Use Case Specification Document Use Case Name: Use Case ID: Create an order 1.1.5 Component: Brief Description: Purpose: POS Home page The use case shows how the cashiers and waiters can select, edit and delete the orders Actors: Trigger Stimulus: cashier and waiters through the Home page with permission from menu new order Preconditions: Normal Access to POS Diagrams Links: UC Use Cases Accessed By this use case: ID Name Description Multiplicity UC1 UC2 MC Main Course Steps Step Description MC.1 cashiers and waiters select open a new table :from the menu panel cashiers or waiters new MC.2 Order MC.2.1 choose the items from categories MC.2.2 identifying the quantity and the price for each item a new page will be displayed with menu of MC.3 restaurant items with its price cashiers or waiters choose the item and add them MC.3.1 to order panel MC.3.2 when finished he press submit cashiers or waiters can add or delete an MC.4 item from order open the order from the order panel and modifying MC.4.1 the items there Data Branches Req/Rul/Is/Fe 43 MC.5 cashier or waiter choose payment via MC.5.1 visa card number MC.5.2 MC.6 Cash enter the discounts to calculate the total price MC.7 MC.P system check if the credit number is valid system save data and displays message, “transaction success Post Conditions EX1 Exception1: MC.8 input error Step Description EX1.1 AC2 back to the home page Data Branches Req/Rul/Is/Fe System display "Transaction failed, if there is a disconnection in the system" EX1.2 EX1.P Post Conditions EX2 Exception2: Step Description AC1 Data EX2.1 System display "Transaction failed, error Invalid visa card number" EX2.P Post Conditions AC1 Alternate Course 1: Step Description visa erorr Branches Req/Rul/Is/Fe AC1 Data AC1.1 The System prompts the user to enter valid input AC1.2 The System detects invalid visa card number AC1.P Post Conditions Transaction Failed Error Branches Req/Rul/Is/Fe MC.2 Rule Name R1 Importance Access Permission Description Release The cashier or waiter has permission to access the order panel Update History Author Date Anwar Qashoo 11/21/2015 Ver Description of Change 44 4- Edit previous order / POS HR Module Use Case Specification Document Use Case Name: Use Case ID: Edit previous order / POS 10 Component: panel cashier Brief Description: the use case shows how to make update for the previous orders Purpose: Actors: cashier Trigger Stimulus: through the major POS panel with permission from menu update orders Preconditions: System is running, System in idle state Diagrams Links: UC UC1 Use Cases Accessed By this use case: ID Name UC(1.1.1) Description Multiplicity POS Panel access UC2 MC Main Course Steps Step Description MC.1 MC.2 MC.3 Data Branches Req/Rul/Is/Fe from the POS panel user selects Update orders a new popup window will be displayed the Previous orders ordered by Date user selects the order that needs updating MC.5 user then updates the required field item, count ,price ,item type…etc. when finished user press update MC.6 ,System checks if the fields input is proper EX1 MC.7 system saves the change to the database system save input and displays message,” update success" EX2 MC.4 MC.8 45 MC.P Post Conditions EX1 back to the POS Panel, waiting the user to select another action Exception1: data consistency Step Description Data Branches Req/Rul/Is/Fe System display "Update failed, error The updated date is un Credible" System display "Transaction failed, error input format is EX1.2 not compatible" EX1.1 EX1.P Post Conditions AC1 AC1 Alternate Course 1: Step Description The System detects invalid input in fields and AC1.1 highlight it with red star AC1.2 The System prompts the user to enter valid input Data Transaction Failed Error Branches Req/Rul/Is/Fe AC1.P Post Conditions R Rules Name R1 N/A Importance Access Permission Description Release The user has permission to update orders Update History Author Date Hamza abu sabra 11/19/2015 Ver Description of Change 46 5- New Delivery Order / Portal HR Module Use Case Specification Document Use Case Name: Use Case ID: New Delivery Order / Portal 1.1.2 Component: Brief Description: Order a delivery page The use case shows how to create new delivery order and collect order items through the online menu via the portal website Purpose: Actors: Customer Trigger Stimulus: from the menu panel customer selects "Order online Preconditions: Normal Access to website Diagrams Links: UC Use Cases Accessed By this use case: ID Name Description Multiplicity UC1 UC2 MC Main Course Steps Step Description Data from the menu panel customer selects Order MC.1 online a new page will be displayed with online menu , MC.2 item with its price the customer choose the item and add them to MC.2.1 cart the customer input name ,email ,phone ,telephone MC.2.2 ,address MC.2.3 when finished, customer press submit MC.2.4 system check if the field input is proper Branches Req/Rul/Is/Fe EX1 47 MC.3 :the customer choose authentication via MC.3.1 -visa card number MC.3.2 -sms message system check if the credit number or sms code is valid system save data and displays message, “transaction success Post Conditions Exception1: MC.4 MC.5 MC.P EX1 Step Description EX1.1 AC2 EX2 back to the home page input error Data Branches Req/Rul/Is/Fe System display "Transaction failed, error Wrong input in one of the fields" EX1.2 EX1.P Post Conditions EX2 Exception2: Step Description AC1 Data EX2.1 System display "Transaction failed, error Invalid visa card number" EX2.P Post Conditions AC1 Alternate Course 1: Step Description AC1 Data AC1.1 The System prompts the user to enter valid input AC1.2 The System detects invalid visa card number AC1.P Post Conditions AC1 Alternate Course 2: Step Description Data The user sends a sms message to the system AC2.2 The System replies with confirmation code The user enter the received confirmation code to the specific field to confirm the order AC1.P R1 Post Conditions Name Transaction Failed Error Branches Req/Rul/Is/Fe MC.2 AC2.1 AC2.3 visa erorr Branches Req/Rul/Is/Fe Transaction Failed Error Branches Req/Rul/Is/Fe MC.5 Importance Access Permission Description Release The customer has permission to access the order page Update History Author Date Ver Description of Change 48 Osama Khalaf 11/19/2015 6-Make a reservation / Portal Use Case Specification Document HR Module Use Case Name: Use Case ID: Make a reservation / Portal 2.2.2 Component: Reservation page Brief Description: the use case shows how to book a table online Purpose: Actors: Customer Trigger Stimulus: through the website menu to "book a table" tab Preconditions: Normal Access to website Diagrams Links: UC Use Cases Accessed By this use case: ID Name Description Multiplicity UC1 UC2 MC Main Course Steps Step Description Data from the website menu panel user selects book a MC.1 table a new popup window will be displayed with fields for MC.2 user to be filled MC.2.1 user chooses the date ,time ,table ,number of people MC.2.2 Branches Req/Rul/Is/Fe when finished user press submit The system makes sure of the validity of the date and time system save input and displays a form for the user to MC.2.4 fill MC.3 user inputs name , visa card number or send a sms MC.2.3 MC.4 system checks if the fields input is proper MC.5 system save input and displays message EX1,AC1 AC2 EX2 49 MC.P ,"transaction success , please wait the confirming " Post Conditions waiting for the confirmation from the restaurant EX1 Exception1: Input error Step Description Data EX1.1 System display " No tables are available within the date and time request." EX1.P Post Conditions EX2 Exception2: Step Description AC1 Data EX2.1 System display "Transaction failed, enter a valid visa card number " EX2.P Post Conditions AC1 Alternate Course 1: Step Description The System displays a list of valid tables with date and time The System prompts the user to select one of the available appointments AC1.1 AC1.2 AC1.P Post Conditions AC1 Alternate Course 2: Data Transaction Failed Error Branches Req/Rul/Is/Fe MC.2.4 Transaction Failed Error Data AC2.1 The user sends a sms message to the system AC2.2 The System replies with confirmation code The user enter the received confirmation code to the specific field to confirm the order Post Conditions Rules Name Input erorr Branches Req/Rul/Is/Fe MC.3 Step Description AC2.3 AC1.P R Branches Req/Rul/Is/Fe Importance Branches Req/Rul/Is/Fe Description R1 Update History Author Date Ver Description of Change MC.5 Release 50 Rudab Abu Yaqoub 22/11/2015 7-Customer order status notification / Portal HR Module Use Case Name: Use Case ID: Use Case Specification Document Customer order status notification / Portal 1.1.3 Component: Brief Description: Notification for customer order The use case show that customer receive sms message or Facebook notification to notify them about order status if order accept , ready to deliver , duration of delivery Purpose: Actors: Trigger Stimulus: Preconditions: Customer order status change The customer either ordered or made a reservation online Diagrams Links: 8-Send Customer Feedback/Portal HR Module Use Case Specification Document Use Case Name: Use Case ID: Component: Brief Description: Send Customer Feedback/Portal 9 Portal the use case shows how the customer can give feedback about the restaurant from the portal Purpose: Actors: Trigger Stimulus: Preconditions: Diagrams Links: Customer "? through the portal website from menu "tell us what you think None/Normal access to portal website 51 9-Add a new table / POS HR Module Use Case Specification Document Use Case Name: Use Case ID: Add a new table / POS 1.1.1 Component: Manager Panel Brief Description: the use case shows how to add a new table Purpose: Actors: Trigger Stimulus: Manager through the manager panel with permission from menu Add new table Preconditions: System is running, Manager is Logged in to the portal website Diagrams Links: 10-Approval of the reservation HR Module Use Case Specification Document Use Case Name: Approval of the reservation Use Case ID: 3.3.3 Component: Manager/Cashier page Brief Description: the use case shows how the cashier give a approval for the customer reservation Purpose: Actors: cashier Trigger Stimulus: the cashier give his approval through a sms or the portal webpage Preconditions: the cashier is Logged in to the portal 52 REFERENCES Books: Ian Sommerville, SOFTWARE ENGINEERING, 6th Edition.2010. Pascal Roques, “UML in Practice: The Art of Modeling Software Systems Demonstrated through Worked Examples and Solutions”, 1st Edition, Wiley, 2004.