A.1         		The Vision Statement
            The vision statement is captured within a vision  		document and is a high-level overview of the purpose of the project and  		its purpose in improving the business [1]. 
            I run a successful restaurant in the business area  		of a large city. It is a very nice restaurant with high-class clientele  		and excellent food. 
            In the evenings we hire only the best staff and  		prepare the best food in its class. 
            During the day, we entertain all sorts of riff-raff  		from the area. These customers require fast food of average quality and  		the minimal service that satisfies their needs for a good lunch; ordered  		from our cut-down menu of smaller plates organized by categories. During  		the day we clear the restaurant of its fixtures to allow for more tables  		with the purpose of serving as many customers in as short a time as  		possible. The lunchtime customers do not require excellent waiter  		service, and so we employ cheap unskilled labour to wait the tables. As  		a result the lunchtime waiters, although cheap, make too many mistakes  		and are not to be trusted. The aim of this effort is to eliminate  		lunchtime wait staff to the largest extent possible, while satisfying  		customer needs, and replace them with an automated system suitable for  		ordering fast food from our excellent kitchens. 
             		 		A.2         		Business Model
            The business model describes the business as it is  		today. 
             		 		A.2.1   		Business Architecture
            The business architecture diagram shows the various  		departments of the business and the interactions between them. 
             		  
             		 		 		                                                                              		Figure 1:    		Business Architecture Diagram 
            Restaurant department is responsible for everything  		to do with serving customers. This includes: 
             		 		·         		Assigning  		tables, 
             		 		·         		Showing customers to an assigned table, 
             		 		·         		Holding customer belongings while in the  		restaurant, 
             		 		·         		Serving food, 
             		 		·         		Clearing tables, 
             		 		·         		Billing customers. 
            The kitchen is responsible for all food related  		activities of the restaurant, including: 
             		 		·         		Determining the menu items, 
             		 		·         		Preparing food, 
             		 		·         		Stocking ingredients, 
             		 		·         		Washing and cleaning kitchen and  		restaurant utensils. 
            Shipping and Receiving is responsible for incoming  		and outgoing restaurant items. These include: 
             		 		·         		Receiving food for the kitchen, 
             		 		·         		Receiving items for the restaurant, 
             		 		·         		Handling receipts for received items, 
             		 		·         		Garbage collection. 
            Stock Keeping is responsible for maintaining  		restaurant supplies. These include, managing kitchen stocks and ordering  		necessary items. 
            The Administration department is responsible for  		handling all incoming and outgoing restaurant finances. It receives  		receipts for bills from Shipping and Receiving, orders for items from  		Stock Keeping and receipts for taking from the Restaurant. 
             		 		A.2.2   		Business Use Cases
            The following use cases are derived from the business  		vision and verified by the business stakeholders that they capture the  		scope of the vision. Actors are those roles gaining ‘benefit' [2] from the business use case. 
             		  
             		 		 		                                                                                                		Figure 2:    		BUC Diagram 
            The above diagram does not contain a complete set  		of use cases, but includes those necessary to capture the functionality  		of the vision statement. All of the above use cases are candidates for  		automation. 
            Maintain Food Stocks – This use case is concerned  		with ensuring that the restaurant is properly stocked with food  		supplies. The Kitchen receives benefit from this use case. 
            Balance Books – This use case describes how  		finances are handled by the restaurant. The restaurant’s Bank receives  		benefit by ensuring that the restaurant remains solvent. 
            Handle Customer Requests – This use case handles  		complaints, queries and any general questions from a customer. The  		Customer is the actor receiving benefit from the use case. 
            Eat Food – This use case is concerned with seating,  		serving and billing the customer. The Customer is the actor receiving  		benefit from this use case. 
             		 		A.2.3   		Business Use Case Activity
            The following activity diagram shows the steps of the  		BUCs, the workers that perform each step and the business objects that  		are manipulated by each step. 
            For the purposes of this exercise, it has been  		determined that only the ‘Eat Food’ BUC needs to be detailed. 
             		 		A.2.3.1   		Eat Food Business Use Case Activity
             		  
             		 		 		                                                     		Figure 3:    		Eat Food BUC Activity Diagram With  		Business Objects 
            Notes: 
            Note 1 – This is the initial state ‘Restaurant Is  		Open’ (to customers) and the triggering event ‘Customer Enters  		Restaurant’ exits this state. 
            Note 2 – There are many ways that you may indicate  		the workers of each action in your activity diagram, without the use of  		swimlanes. These include adding stereotypes to the actions. (I.e. adding  		a waiter stereotype would indicate that this is a ‘waiter’ type of  		action.) In Figure 3: I have used color to  		indicate which worker performs what action. 
            Note 3 – Notice that every action includes an  		output flow to an object. You might argue that a ‘Request’ or a  		‘Greeting’ is not an artifact, but when we start modeling the  		application we may discover that this was a useful object to capture. 
            Note 4 – The seating chart is changed by the head  		waiter and as a result the table object has its status changed from  		‘Open’ to ‘Occupied’. 
            Note 5 – Try and make decisions into questions with  		Boolean answers (‘Y’ or ‘N’). It makes the activity diagram easier to  		maintain. 
            Note 6 – This is an example of an alternate  		workflow. Notice that the flow begins with a decision and ends with a  		merge. The decision asks the question, does the customer wish to make  		use of the cloakroom? 
            Note 7 – An example of an activity. In this  		instance the activity is being used to indicate that there are a lot of  		missing actions here. They are captured by the Order, Prepare and Serve  		Customer use case fragment [3]. 
            Note 8 – This is an example of an extended flow. We  		know that it is an extension to the use case, because it does not return  		to the basic flow. 
            Note 9 – This is an example of a fork. Notice how  		more elegant this notation is than trying to describe this activity with  		text. 
            Note 10 – This is the successful postcondition. 
            Note 11 – Retrieve Coat and Clean Table are use  		case fragments that are ‘included’ in the flow of this use case. 
            Note 12 – A non-successful postcondition. 
             		 		A.2.3.2   		Order, Prepare And Serve Customer use  		case Fragment
             		  
             		 		 		                                                                		Figure 4:    		Order, Prepare And Serve Customer  		Activity 
             
             
             		 		A.2.4   		Business Objects
            Business objects describe the artifacts that are  		manipulated by the business by normal business practices. 
            The objects that have been identified from the BUC  		activity diagrams are placed as business objects on a business objects  		diagram. 
             		  
             		 		 		                                                                              		Figure 5:    		The Business Objects Diagram 
            
                - Bill – A request for the customer to pay  		the cashier the amount indicated.
 
             
            
                - Cloakroom – Where a customer’s belongings  		are stored for the duration of their stay in the restaurant.
 
             
            
                - Cloakroom Request – An inquiry as to  		whether the customer wishes to make use of the restaurant’s cloakroom to  		stow their belongings.
 
             
            
                - Customer Belongings – That are exchanged  		for a cloakroom token.
 
             
            
                - Customer Request – A request for  		restaurant assistance from a customer.
 
             
            
                - Greeting – A welcome message to a  		customer entering the restaurant.
 
             
            
                - Kitchen – Where food is prepared.
 
             
            
                - Meal – Food served to a single customer  		at a single seating.
 
             
            
                - Menu – What the customer uses to order  		food.
 
             
            
                - Order – A combination of items from the  		menu for a single table.
 
             
            
                - Payment – Money handed to the cashier.
 
             
            
                - Restaurant – Where food is served to  		customers.
 
             
            
                - Seating Chart – Displays which tables are  		reserved and which are free, as well as their size and location in the  		restaurant.
 
             
            
                - Table – Reserved for customers in order  		that they may be served food.
 
             
            
                - Token – A unique identifier for customer  		items in the cloakroom.
 
             
              
             		 		A.3         		Candidate Use Case Model
            This is a throwaway model (i.e. it is not necessarily  		maintained) used to show how the business activity is to e automated for  		the project. 
            The following actions have been extracted from the  		BUC activity diagram as candidates for automation. 
             		  
             		 		 		                                                                               		Figure 6:    		Candidate Use Case Activities 
            Candidate use cases have been added to the activity  		diagram to indicate where automation is anticipated. 
              
             		 		A.3.1   		Candidate Use Cases
             		  
             		 		 		                                                                                		Figure 7:    		Candidate Use Case Diagram 
            The CUCs have been placed on a use case diagram and  		actors [4] have been added. 
              
             		 		A.4         		Application Model
            The application model contains diagrams that  		capture the functionality of the application. 
             		 		A.4.1   		Application Deployment Diagram
            The deployment diagram describes the existing [5] architecture to which the project will be deployed. 
             		  
             		 		 		                                                                         		Figure 8:    		Menu System Deployment Diagram 
            The ‘new’ menu system interfaces with 3 other  		systems. 
            
                - For future release (Each time a payment  		is accepted by the system, the banking system is updated with the amount  		received.)
 
             
            
                - Menu items and menu categories are  		selected from the system database. These are updated through the  		database entry screen, (which is not within the scope of this project).
 
             
            
                - For future release (The menu system needs  		to inform the ordering system of food items that have been served to  		customers.)
 
             
              
             		 		A.4.2   		Application Use Cases
            The candidate application use cases have been  		condensed into 3 use cases that will be implemented for the first  		release of the product. 
             		  
             		 		 		                                                                             		Figure 9:    		Application Use Cases Diagram 
             		Figure 8: shows that the Browsing  		Menu, Order From Menu and Fulfill Menu Order CUCs representing steps in  		the BUC, have been realized by the Serve Customer AUC. 
            The Maintain Restaurant use case was added at the  		request of the head waiter in order to be able to add or remove tables  		for lunch seating. 
            
                - The Request Assistance use case allows  		the customer to ask for ‘human’ help.
 
             
            
                - The Serve Customer use case is concerned  		with allowing the customer to order a meal from the restaurant menu.
 
             
            
                - The Maintain Restaurant use case is  		concerned with of the restaurant layout.
 
             
              
             		A.4.3   		Serve Customer Use Case Activity
             		  
             		 		 		                                                                          		Figure 10:   		Serve Customer Activity Diagram 
            Use Case Description
            
            The customer is seated at a table and the menu  		instructions are displayed. The customer selects menu items from menu  		categories until ready to order. The system displays a running total of  		selected items. When satisfied, the customer may order their meal. The  		kitchen is sent the order. The meal is prepared and delivered to the  		customer, who is then billed for their order. Once the meal is paid for  		the customer receives a receipt and the system is reset for the next  		customer. 
            
            Customer – The customer initiates the use case by  		selecting the menu system. 
            
            Kitchen – Provides the customer’s order. 
            
            The system is available, with the ‘Welcome’ screen  		displayed. 
            
             		 		1.      		New customer is selected [6] 
             		 		2.      		The system displays the menu  		instructions 
             		 		3.      		Menu is selected 
             		 		4.      		The system displays the menu  		categories 
             		 		5.      		The customer selects a menu category 
             		 		6.      		The system  		displays the category menu items 
             		 		7.      		The customer adds and removes menu  		items from the category until order is selected 
             		 		8.      		The system displays the customer order 
             		 		9.      		The customer confirms the order 
             		 		10.  		The system displays the confirmed  		order (with total cost) and displays the order to the kitchen 
             		 		11.  		The head waiter confirms that the  		order is delivered 
             		 		12.  		The system displays the bill to the  		customer 
             		 		13.  		The head waiter confirms that the bill  		is paid. 
             		 		14.  		The system displays the receipt 
             		 		15.  		The customer requests a printout of  		the receipt 
             		 		16.  		The system prints the receipt 
            The use case ends 
            
             		A.1   		Display more categories 
             		 		17.  		At step  		7, the customer  		selects a different category 
             		 		18.  		The system displays the selected  		category menu items 
            The use case continues from step  		7 
             		A.2   		Display menu item 
             		 		19.  		At step 7,  		the customer selects a menu item to display 
             		 		20.  		The system displays the menu item  		description 
             		 		21.  		The customer selects a menu category 
             		 		22.  		The system displays the selected  		category menu items 
            The use case continues from step  		7 
             		A.3   		The customer cancels the order 
             		 		23.  		At step  		9, the customer  		cancels the order. 
            The use case continues from step  		4 
            
             		E.1.           		The customer does not complete the order 
             		 		24.  		At step  		2,4,6,8,18,20,22, the customer is  		cancelled 
            The use case ends. 
            
             		1.      		The customer is served and the Welcome screen is  		displayed. 
             		2.      		The customer is cancelled and the Welcome screen  		is displayed. 
            Object Descriptions 
             		  
             		 		 		                                                                         		Figure 11:   		Serve Customer Impacted Objects 
            Customer – Represents a unique table  		seating at anytime the restaurant is open to customers. 
            Menu – Menu front page and a list of  		categories available to the customer. 
            Category – A list of menu items that are  		available to the customer. 
            MenuItem – A description of a menu item. 
            Order – A list of menu items that have  		been selected by a customer. 
            Kitchen – A display to the staff that  		prepare the order. 
            Bill – An itemized cost of the order. 
            Receipt – A display of the paper receipt  		that is given to the customer, in return for payment for the order. 
              
             		A.4.4   		Request Assistance Use Case
             		  
             		 		 		                                                                      		Figure 12:   		Request Assistance Use Case Activity 
            Use Case Description 
            
            This use case allows to customers obtain personal  		assistance from an employee of the restaurant. 
            
            Customer – Represents the table requesting  		assistance. 
            
            Restaurant – The restaurant staff that are informed  		of the request. 
            
            A customer is active at the table. 
            
             		 		1.      		The customer selects assistance  		required. 
             		 		2.      		The system displays the associated  		table to the head waiter. 
             		 		3.      		The head waiter cancels the assistance  		call. 
            The use case ends. 
            
            None. 
            
            None. 
            
            The system displays the menu screen. 
            Object Descriptions 
            Restaurant – An employee of the restaurant responsible for maintaining  		the restaurant. 
            Table –  		The customer table requesting assistance. 
              
             		A.4.5   		Maintain Restaurant Use Case Activity
             		  
             		 		 		                                                                               		Figure 13:   		Maintain Restaurant Activity 
            Use Case Description 
            
            This use case allows the restaurant staff to add or  		remove tables on the restaurant menu seating chart. 
            
            Head Waiter – Person with the ability to organize  		the restaurant. 
            
            None. 
            
            The system is active 
            
             		 		1.      		The system displays the restaurant  		layout to the head waiter. 
             		 		2.      		The head waiter makes an available  		table unavailable, or an unavailable table available. 
             		 		3.      		The system becomes unavailable. 
            The use case ends. 
            
            None. 
            
            None. 
            
            The system is unavailable. 
            Object Descriptions 
            Restaurant – A representation of the tables laid  		out in a restaurant seating plan. 
            Table – A selectable representation of a table in  		the restaurant seating plan. 
              
             		A.4.6   		Context Diagram
            This is a condensed version of the system and use  		case diagrams, showing the interfaces with the system. 
             		  
             		 		 		                                                                            		Figure 14:   		Menu System Context Diagram 
             
             
             		A.5         		Analysis Model
            The analysis model confirms the completeness and  		correctness of the use case model. 
             		 		A.5.1   		Application Classes
             		  
             		 		 		                                                               		Figure 15:   		Restaurant System Class Attributes  		Diagram 
            The following classes breakdown the system  		requirements into groups of related functionality. 
            
                - Bill – Is concerned with billing the  		customer. A bill is specific to a bill for a table and has an amount.
 
             
            
                - Category – Is concerned with organizing  		the menu items into categories. A category is identified by its name and  		the table that it is being displayed at. (The same category may be  		displayed at many tables.)
 
             
            
                - Customer – Represents functionality that  		may be performed by people at an active table. The customer(s) are  		identified by the table they are seated at.
 
             
            
                - Kitchen – Represents functionality  		performed by the kitchen. There is only the one kitchen.
 
             
            
                - Menu – Represents the display of  		instructions and categories to the customer. The menu is identified by  		the table that it is displayed at.
 
             
            
                - MenuItem – Represents the information and  		functionality around orderable menu items. Each menu item has a unique  		name within its category. The menu item has a description and a cost. It  		is identified by the table that it is being displayed at.
 
             
            
                - Order – Represents the functionality  		concerned with placing an order with the system. The order is specific  		to a table at a specific time period. The order contains many menu  		items, which have a total amount, captured by the order.
 
             
            
                - Receipt – Represents the confirmed  		receipt of a payment. The receipt is a direct response to a bill being  		paid.
 
             
            
                - Restaurant – Represents the restaurant  		layout plan.
 
             
            
                - Table – Represents an available  		restaurant space for a customer. Each table has a unique identifier, a  		location in the restaurant, a customer capacity, records the number of  		customers currently assigned to the table, and whether it is available  		or not.
 
             
              
             		 		A.5.1.1   		Bill States and Transitions
             		  
             		 		 		                                                                              		Figure 16:   		Bill State Transition Diagram 
            A bill is created when an order has been delivered.  		The bill is simply displayed to the customer and deleted once it has  		been paid. Deletion of a bill creates a receipt for the bill. 
              
             		 		A.5.1.2   		Category States and Transitions
             		  
             		 		 		                                                                         		Figure 17:   		Category State Transition Diagram 
            When the customer selects a category it is created  		and displayed. If another category is created this one is deleted and no  		longer displayed. 
              
             		 		A.5.1.3   		Customer States and Transitions
             		  
             		 		 		                                                                        		Figure 18:   		Customer State Transition Diagram 
            Once a customer has been assigned to a table, the  		customer is created. Once the customer exists an order is created for  		that customer. The customer orders items from the menu onto the order.  		When the order is delivered the bill is created and displayed to the  		customer. The customer is served, and may be eating or paying their  		bill. The customer may be deleted from the table anytime and the table  		becomes free. 
              
             		 		A.5.1.4   		Kitchen States and Transitions
             		  
             		 		 		                                                                          		Figure 19:   		Kitchen State Transition Diagram 
            The kitchen is created when an order is confirmed.  		The order is displayed to the kitchen until the kitchen confirms that  		the order is delivered. Once the order has been delivered the order is  		deleted from the kitchen display. 
              
             		 		A.5.1.5   		Menu States and Transitions
             		  
             		 		 		                                                                            		Figure 20:   		Menu State Transition Diagram 
            The menu is created once a customer has been  		assigned to a table and an order created. The menu class allows the  		customer to select menu items from menu categories. The menu allows the  		customer to display menu categories or items on the menu. The menu  		remains displayed until the customer places their order or is unassigned  		from the table. 
              
             		 		A.5.1.6   		Menu Item States and Transitions
             		  
             		 		 		                                                                        		Figure 21:   		MenuItem state Transition Diagram 
            The menu item is displayed when it is selected for  		display from the menu. When a category is selected the menu item display  		is deleted. 
              
             		 		A.5.1.7   		Order States and Transitions
             		  
             		 		 		                                                                            		Figure 22:   		Order State Transition Diagram 
            An order is created once a customer has been  		assigned to a table. The order creates the menu. While the menu class is  		active, the customer may add or remove items on the order. When the  		customer places the order the customer is asked to confirm their order.  		If the customer decides to change their order, the menu is displayed and  		the customer continues ordering. If the customer confirms the order, the  		kitchen is created, and the order is deleted. 
              
             		 		A.5.1.8   		Receipt States and Transitions
             		  
             		 		 		                                                                          		Figure 23:   		Receipt State Transition Diagram 
            The receipt is created and displayed to the  		customer. Once the customer prints a copy of the receipt it is deleted. 
              
             		 		A.5.1.9   		Restaurant States and Transitions
             		  
             		 		 		                                                                       		Figure 24:   		Restaurant State Transition Diagram 
            Whil the system is operational, 		 the status of each table is  		continually updated on the restaurant display. Tables may be assigned or  		reserved as unavailable. 
              
             		 		A.5.1.10Table  		States and Transitions
             		  
             		 		 		                                                                            		Figure 25:   		Table State Transition Diagram 
            Tables are made available by the restaurant. Once  		available a table may be assigned to a customer, in which case it  		becomes occupied. While occupied a customer may request assistance from  		the restaurant. The restaurant may cancel the assistance request at any  		time. Once the customer at the table has been canceled the table is made  		available. 
              
             		 		A.5.2   		Application Realizations
            The following diagrams show events that are triggered  		by operations between class instances. 
             		 		A.5.2.1   		System Event Sequence Diagram
            The system hierarchy indicates the sequence in which  		objects are activated. 
             		  
             		 		 		                                                                                            		Figure 26:   		Class Hierarchy 
            When the system is active, the restaurant is  		created and may be used for business. While active the restaurant may  		make tables available or unavailable. When a customer is assigned to a  		table the customer is created. The customer assignment creates an order  		and this in turn creates a menu with which to fulfill the order. The  		menu creates categories for display to the customer. Categories may  		create menu items for display to the customer. The customer places menu  		items on (or removes from) the order until they place the order. When  		the order is confirmed, a kitchen object is created. When the kitchen  		delivers the order, a bill is created. Once the bill is paid a receipt  		is created. 
             		 		A.5.2.2   		Serve Customer Realization
            How the Serve Customer use case is realized by the  		system objects. 
             		  
             		 		 		                                                                     		Figure 27:   		Serve Customer Use Case Realization 
             
             
            
                
                    
                        | 
                         Use Case Event 
                         | 
                        
                         Class Operations 
                         | 
                     
                    
                        | 
                         customerSeated 
                         | 
                        
                         displayInstructions 
                         | 
                     
                    
                        | 
                         menuSelected 
                         | 
                        
                         displayCategories 
                        removeFromOrder 
                         | 
                     
                    
                        | 
                         categorySelected 
                         | 
                        
                         selectCategory 
                        displayCategory 
                         | 
                     
                    
                        | 
                         updateOrder 
                         | 
                        
                         addToOrder 
                        removeFromOrder 
                         | 
                     
                    
                        | 
                         itemSelected 
                         | 
                        
                         selectItem 
                        displayMenuItem 
                         | 
                     
                    
                        | 
                         orderSelected 
                         | 
                        
                         displayOrder 
                         | 
                     
                    
                        | 
                         orderCanceled 
                         | 
                        
                         unconfirmOrder 
                         | 
                     
                    
                        | 
                         orderConfirmed 
                         | 
                        
                         displayConfirmOrder 
                        displayOrder 
                         | 
                     
                    
                        | 
                         orderDelivered 
                         | 
                        
                         deliverOrder 
                        displayBill 
                         | 
                     
                    
                        | 
                         orderPaid 
                         | 
                        
                         displayReceipt 
                        printReceipt 
                         | 
                     
                    
                        | 
                         orderComplete 
                         | 
                        
                         cancelCustomer 
                         | 
                     
                
             
             		 		 		                                                            		Figure 28:   		Table  		1:  		Use Case -> Class Operation Mapping 
             		 		A.5.2.3   		Maintain Restaurant Realization
            How the Maintain Restaurant use case is realized by  		the analysis objects. 
             		  
             		 		 		                                                                            		Figure 29:   		Maintain Restaurant Realization 
              
            
                
                    
                        | 
                         Use Case Event 
                         | 
                        
                         Class Operations 
                         | 
                     
                    
                        | 
                         restaurantDisplayed 
                         | 
                        
                         displayRestaurantLayout 
                         | 
                     
                    
                        | 
                         tableAvailable 
                         | 
                        
                         displayTable 
                        displayInstructions 
                         | 
                     
                    
                        | 
                         tableUnavailable 
                         | 
                        
                         removeTable 
                        displayOff 
                         | 
                     
                    
                        | 
                         restaurantDisplayUnavailable 
                         | 
                        
                         deleteAllTables 
                         | 
                     
                
             
            Table  		2:  		Use Case -> Class Operation Mapping 
              
             		 		A.5.2.4   		Request Assistance System Realization
            How the Request Assistance use case is realized by  		the system objects and their operations. 
             		  
             		 		 		                                                                  		Figure 30:   		Request Assistance Use Case Realization 
             
             
            
                
                    
                        | 
                         Use Case Event 
                         | 
                        
                         Class Operations 
                         | 
                     
                    
                        | 
                         assistanceRequested 
                         | 
                        
                         requestAssistance 
                        displayTable 
                         | 
                     
                    
                        | 
                         assistanceCancelled 
                         | 
                        
                         cancelAssistance 
                        displayTable 
                         | 
                     
                
             
             		 		 		                                                            		Figure 31:   		Table  		2:  		Use Case -> Class Operation Mapping 
             
             
             		A.6         		Class Diagram Operations
            The following operations are containers for the  		requirements for the system. 
             		  
             		 		 		                                                                                 		Figure 32:   		Class Operations Diagram 
            The following operations are derived from the  		events that pass between objects of the model [7]. 
            Create and Delete operations are added purely for  		execution of the model. 
            These are ordered by class, as follows: 
             		 		A.6.1   		Bill
             		 		A.6.1.1   		Display Bill
            Upon the kitchen selecting delivery of a table  		order, the bill for that order will be displayed to the customer at that  		table.[9] 
             		A.6.2   		Category
             		 		A.6.2.1   		Display Category
            Upon a category being selected the available menu  		items and category description as stored in the database, will be  		displayed to the customer. 
             		A.6.3   		Customer
             		 		A.6.3.1   		Cancel Customer
            Upon selection of the cancel customer command by  		the head waiter, the table will be made available on the restaurant  		display. 
             		A.6.4   		Kitchen
             		 		A.6.4.1   		Display Order
            Upon confirmation of an order by a customer, the  		order will be displayed to the kitchen. 
             		 		A.6.4.2   		Deliver Order
            Upon selection of delivery of an order by the  		kitchen, the order will be removed from the kitchen display. 
             		A.6.5   		Menu
             		 		A.6.5.1   		Display Menu Categories
            Upon a selecting the menu for a table the system  		will display categories that are set as available in the database, to  		the customer. 
             		A.6.6   		Menu Item
             		 		A.6.6.1   		Display Menu Item
            Upon a menu item being selected for display the  		menu item description, as stored in the database, will be displayed to  		the customer. 
             		A.6.7   		Order
             		 		A.6.7.1   		Display Order Total
            While a customer is ordering the total cost of the  		order will be displayed to the customer. 
             		 		A.6.7.2   		Display Confirm Order
            Upon a customer selecting order, the current order  		and its menu items will be displayed to the customer for confirmation. 
             		 		A.6.7.3   		Unconfirm Order
            Upon a customer unconfirming an order, the order  		will be removed from the display, and the menu displayed. 
             		 		A.6.7.4   		Add To Order
            When a menu item is selected for addition to the  		order the order will be updated with the menu item added. 
             		 		A.6.7.5   		Remove From Order
            When a menu item that is added to the order is  		selected for removal from the order the order will be updated with the  		menu item removed. 
             		A.6.8   		Receipt
             		 		A.6.8.1   		Display Receipt
            Upon confirmation of a bill being paid by the head  		waiter, the receipt for that bill will be displayed to the customer. 
             		 		A.6.8.2   		Print Receipt
            Upon a request from a customer to print a displayed  		receipt, the system will print the receipt at the customer table. 
             		A.6.9   		Restaurant
             		 		A.6.9.1   		Display Restaurant Layout
            When the restaurant system is available, the tables  		in the restaurant will be displayed, with an indication of whether they  		are currently available or unavailable, occupied or unoccupied. 
             		 		A.6.9.2   		Display Table
            Upon an unavailable table being selected as  		available, that table will be displayed as available. 
             		 		A.6.9.3   		Remove Table
            Upon an available table being selected, the table  		will be displayed as unavailable. 
             		 		A.6.10 		Table
             		 		A.6.10.1Request  		Assistance
            Upon receiving a requesting assistance message from  		the menu system display, the system will inform the restaurant display  		of the table requesting assistance. 
             		 		A.6.10.2Cancel  		Assistance
            Upon receiving a message from a menu display to  		clear the table assistance the system will remove the message from the  		restaurant display. 
             		 		A.6.10.3Display  		Instructions
            When a customer has been canceled from a table or  		the table has become available on the restaurant display, the table will  		display the instructions page. 
             		 		A.6.10.4Display  		Off
            When a table is made unavailable the customer  		display is turned off. 
             		A.6.11 		Supplementary Requirements
            For each requirement listed above, identify  		additional information that is needed by that requirement and reference  		the requirement. 
             		 		A.6.11.1Performance
             		A.6.1 to  		A.6.10 - All appropriate systems  		outputs will be displayed within 1 second of a command being entered. 
             		 		A.6.11.2Display
             		A.6.1.1 – The bill will be  		itemized by menu item costs, taxes and total. 
             		A.6.7.1 – The order will display  		each menu item ordered and its associated cost. 
             		A.6.8.1 – the receipt will include  		the total cost, taxes, tip and method of payment. 
             		 		A.6.11.3Internationalisation
             		A.6.6.1 – The display of menu item  		description will allow for characters from the English, French, Swedish  		and Italian alphabets. 
             		 		A.7         		Design Model
            The design model packages the analysis classes into  		subsystems, creates methods from the class operations and assigns code  		specific types to the class attributes. 
             		 		A.7.1   		Use Case Storyboards
            How the Serve Customer use case is realized by the  		user interface. 
             		  
             		 		 		                                                                       		Figure 33:   		Menu System Use Case Storyboard  
             		 		A.7.2   		Design Subsystems
            TBD. 
             		 		A.7.3   		Database Diagram
             		  
             		 		 		                                                                      		Figure 34:   		Potential Changes To The Database  
             
             
            NOTE: Full article at http://www.umllmu.com/pages/Blogs/Frames/AppendixA.htm 
             
             
            
            
              
            Author: Leslie Munday, Sr. IT Professional 
            Leslie is a Senior level Information Technology (IT) professional with expertise in Business and Systems Analysis, Process Analysis, Requirements Analysis and Project Management. 
              
             
              
            Footnotes:
            
             A vision may also be  				applied to an application – in this case its intention is to  				describe an objective for improving the application. 
             
            
             				 ‘Benefit’ is not a  				well-defined term. It should be a role outside of the use case  				worker roles. 
             
            
             				 Ivar Jacobson name for an  				included, but non-complete use case. This is called out purely  				for readability reasons. 
             
            
             				 Note that the actors have  				become the roles that ingratiate the use case. 
             
            
             				 Existing, meaning that  				components are not part of this development effort, although  				budget needs to be allocated for work performed on these  				components in order to deploy the application. 
             
            
             				 The format of the use  				case text is the default used by Rational RequisitePro 
             
            
             				 When designing the model,  				it might be prudent to combine these bill and receipt classes. 
             
            
             				 If the model is complete, consistent and can be verified by  				executing the model, then it implies that every functional  				requirement has been captured by an operation. [I have no proof  				for this statement.] 
             
            
             				 ‘Customer’ means the  				‘customer display’ for the sake of the requirements. 
             
            
             				 The storyboard is purely  				an example, and does not reflect the needs of the actual  				requirements for the menu system. 
             
            
             				 Not in scope for this  				project, but will require a change request for the database. 
             
             
             |